Skip to main content

Environment Setup

1. Quick Download

# Clone the repository code
git clone git@github.com:UBTECH-Robot/GlobalHumanoidRobotChallenge_2026_Baseline.git

# Switch to the working directory (replace workspace with your own workspace)
cd workspace/GlobalHumanoidRobotChallenge_2026_Baseline

# Install huggingface-cli
pip install huggingface-hub

# Get simulation assets (Git submodules are recommended)
git submodule update --init --recursive

# Or manually download the assets to ./assets
# hf download UBTECH-Robotics/challenge2026_assets --local-dir ./assets --repo-type model

# Download the training dataset
hf download UBTECH-Robotics/challenge2026_dataset --local-dir ./datasets --repo-type dataset

If network issues occur during download, please download the simulation assets and training dataset from the official website manually.

2. Build the Environment

This project builds the runtime environment using the Dockerfile in the repository root directory. The base image is:

nvcr.io/nvidia/isaac-sim:5.1.0

The image installs common dependencies required by Isaac Sim and copies the project into the following container path:

/workspace/GlobalHumanoidRobotChallenge_2026_Baseline

2.1 Preparation Before Building

  • Docker is installed
  • NVIDIA Container Toolkit is installed
  • The host machine can use the NVIDIA GPU properly
  • The repository code, assets/ submodule, datasets/, challenge2026_baseline/, and other resources have been obtained

Run the following commands in the project root directory:

# Download through the Tsinghua mirror (preferred)
docker build --build-arg PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple/ -t ghrc_2026:v0 -f Dockerfile .

# Download through the Alibaba Cloud mirror
docker build --build-arg PIP_INDEX_URL=https://mirrors.aliyun.com/pypi/simple/ -t ghrc_2026:v0 -f Dockerfile .

It is recommended to build the Docker container with the Tsinghua mirror command first.

If you need to specify another image name, you can override it through build parameters:

# Build the Docker image
# -t image_name:version
# . indicates that the Dockerfile in the current directory is used
docker build \
-t your-images-name:latest \
.

2.2 Find the evdev Path Corresponding to the Keyboard

Before using keyboard teleoperation, you need to determine the evdev device path corresponding to the keyboard:

/dev/input/eventX

By default, the system automatically scans all:

/dev/input/event*

devices.

Method 1: Find by device ID (recommended)

ls -la /dev/input/by-id/
# Find the device link that contains the word keyboard, for example:
# usb-046D_C328-if01-event-kbd -> /dev/input/event2

Method 2: View all input devices

cat /proc/bus/input/devices | grep -A 3 -i keyboard
# Find eventX in the handlers line

Method 3: Use the evtest tool (interactive test)

apt install evtest
evtest
# Select the event device corresponding to the keyboard, then press keys to test whether it matches

When running inside a Docker container, make sure the input devices have been mounted correctly.