时间:2026-03-16 07:00
人气:
作者:admin
目录
0.1 什么是 GR00T-WholeBodyControl?
3.2.2.1 终端 1 — MuJoCo 模拟器(主机,从仓库根目录开始):
3.2.2.2 终端 2 — 部署(主机或 Docker,来自 gear_sonic_deploy/):
欢迎阅读 GR00T 全身控制(WBC)的官方文档!这是一个用于开发和部署先进人形机器人控制器的统一平台。
该代码库是以下内容的基础:
SONIC 是一个类人行为基础模型,它为机器人提供了一套从大规模人类动作数据中学习而来的核心运动技能。与为每个动作单独构建控制器不同,SONIC 将动作追踪作为可扩展的训练任务,因此单一套统一策略即可产生自然的全身运动,并支持多种多样的行为。
???? 主要特点:
在将代码部署到真实硬件之前,先在 MuJoCo 中快速测试 SONIC 部署栈。

所有配置均需满足:
从 NVIDIA 开发者网站下载 TensorRT:
|
Platform |
TensorRT Version |
|---|---|
|
x86_64 (Desktop) |
10.13 |
|
Jetson / G1 onboard Orin |
10.7 (requires JetPack 6 ) |
提示
请下载 TAR 包(而非 DEB 包),这样您就可以将 TensorRT 解压到任意位置。该压缩包大小约为 10 GB;建议使用 pv 命令监控下载进度:
警告:
上述版本均为经过测试的版本。使用其他版本的 TensorRT 可能会导致推理问题。如果您打算使用其他版本,请先在模拟环境中进行测试。
sudo apt-get install -y pv
pv TensorRT-*.tar.gz | tar -xz -f -
将解压后的 TensorRT 移动到 ~/TensorRT(或类似路径),并在 ~/.bashrc 中添加以下内容:
export TensorRT_ROOT=$HOME/TensorRT
git clone https://github.com/NVlabs/GR00T-WholeBodyControl.git
cd GR00T-WholeBodyControl
git lfs pull # make sure all large files are fetched
优点:直接系统安装,构建速度更快,可直接投入生产。
警告
对于 G1 板载部署,我们需要将板载 Orin 升级至 Jetpack 6 以支持 TensorRT。请按照刷写指南进行升级!
cd gear_sonic_deploy
chmod +x scripts/install_deps.sh
./scripts/install_deps.shsource scripts/setup_env.sh
安装脚本将自动:
配置 TensorRT 环境
设置所有必要的路径
为了方便起见,您可以将环境配置添加到您的 shell 配置文件中:
echo "source $(pwd)/scripts/setup_env.sh" >> ~/.bashrcjust build我们提供了一个基于 ROS2 Humble 的统一 Docker 环境,支持 x86_64 和 Jetson 平台。
# 1. Add user to docker group (one-time setup)
sudo usermod -aG docker $USER
newgrp docker
# 2. Set TensorRT path (add to ~/.bashrc for persistence)
export TensorRT_ROOT=/path/to/TensorRT
# 3. Launch container
cd gear_sonic_deploy
./docker/run-ros2-dev.sh
./docker/run-ros2-dev.sh # Standard build (fast)
./docker/run-ros2-dev.sh --rebuild # Force rebuild
./docker/run-ros2-dev.sh --with-opengl # Include OpenGL for visualization (RViz, Gazebo)
source scripts/setup_env.sh # set up dependency
just build # Build
just --list # Show all commands
预训练的 GEAR-SONIC 检查点(ONNX 格式)托管在 Hugging Face 上:
pip install huggingface_hub
在仓库根目录下,运行:
python download_from_hf.py
这将把最新的策略编码器、解码器和运动规划器下载到 gear_sonic_deploy/ 目录下,并保留与部署二进制文件所期望的相同目录结构。
|
Flag |
Description |
|---|---|
|
|
跳过运动学规划器下载 |
|
|
覆盖目标目录 |
|
|
HF 令牌(huggingface-cli 登录的替代方案) |
# Policy + planner (default)
python download_from_hf.py
# Policy only
python download_from_hf.py --no-planner
# Download into a custom directory
python download_from_hf.py --output-dir /data/gear-sonic
如果您更倾向于使用 Hugging Face CLI:
pip install huggingface_hub[cli]
# Policy only
huggingface-cli download nvidia/GEAR-SONIC \
model_encoder.onnx \
model_decoder.onnx \
observation_config.yaml \
--local-dir gear_sonic_deploy
# Everything (policy + planner)
huggingface-cli download nvidia/GEAR-SONIC --local-dir gear_sonic_deploy
from huggingface_hub import hf_hub_download
REPO_ID = "nvidia/GEAR-SONIC"
encoder = hf_hub_download(repo_id=REPO_ID, filename="model_encoder.onnx")
decoder = hf_hub_download(repo_id=REPO_ID, filename="model_decoder.onnx")
config = hf_hub_download(repo_id=REPO_ID, filename="observation_config.yaml")
planner = hf_hub_download(repo_id=REPO_ID, filename="planner_sonic.onnx")
print("Policy encoder :", encoder)
print("Policy decoder :", decoder)
print("Obs config :", config)
print("Planner :", planner)
nvidia/GEAR-SONIC/
├── model_encoder.onnx # Policy encoder
├── model_decoder.onnx # Policy decoder
├── observation_config.yaml # Observation configuration
└── planner_sonic.onnx # Kinematic planner
该下载脚本会将它们放置到部署二进制文件所期望的布局中:
gear_sonic_deploy/
├── policy/release/
│ ├── model_encoder.onnx
│ ├── model_decoder.onnx
│ └── observation_config.yaml
└── planner/target_vel/V2/
└── planner_sonic.onnx
该仓库为公开仓库——下载无需令牌。
如果您触发了速率限制或需要访问私有分支:
# Option 1: CLI login (recommended — token is saved once)
huggingface-cli login
# Option 2: environment variable
export HF_TOKEN="hf_..."
python download_from_hf.py
# Option 3: pass token directly
python download_from_hf.py --token hf_...
请访问 huggingface.co/settings/tokens 获取免费令牌。
下载完成后,请按照《快速入门指南》的说明,在 MuJoCo 仿真环境或真实硬件上运行部署堆栈。
几分钟内即可开始使用 SONIC!
首先,请确保您已完成安装指南。
安全警告
机器人可能具有危险性。请确保安全区域畅通无阻,安排一名安全操作员在键盘前方待命以触发紧急停止,并自行承担使用本软件的风险。作者和贡献者对因使用或误用本项目而造成的任何损害、伤害或损失概不负责。
即将推出!
要在 MuJoCo 模拟器中进行测试,请在不同的终端中分别运行模拟循环和部署脚本。
注意
MuJoCo 模拟器(终端 1)在主机的 Python 虚拟环境中运行——它不在 Docker 容器内。部署二进制文件(终端 2)既可以在主机上原生运行,也可以在 Docker 容器内运行。若使用 Docker,请在主机上运行终端 1,并在容器内运行终端 2。
在主机(Docker 外部)的仓库根目录(GR00T-WholeBodyControl/)下,运行:
bash install_scripts/install_mujoco_sim.sh
这将创建一个轻量级的 .venv_sim 虚拟环境,其中仅包含模拟器所需的包(MuJoCo、Pinocchio、Unitree SDK2 等)。
我们强烈建议您在将代码部署到真实硬件之前,先完整运行此流程,并在模拟环境中熟悉各项控制操作。
source .venv_sim/bin/activate
python gear_sonic/scripts/run_sim_loop.py
bash deploy.sh sim
启动控制:
要在真实的 G1 机器人上部署,请运行:
./deploy.sh real
启动可视化工具,并连接到正在运行的 g1_deploy 可执行文件:
python visualize_motion.py --realtime_debug_url tcp://localhost:5557
注:
有关离线运动 CSV 可视化和日志记录的详细信息,请参阅《部署代码与程序流程》。
本页面介绍 PICO VR 全身遥操作的一次性软硬件设置。完成这些步骤后,请继续阅读 ZMQ Manager 教程,以在模拟环境或真实硬件上运行遥操作。
XRoboToolkit由PC服务(在您的工作站上运行)和PICO应用程序(在头显上运行)组成,用于传输身体追踪数据。
sudo dpkg -i gear_sonic_deploy/thirdparty/roboticsservice_1.0.0.0_arm64.deb

在仓库根目录下:
bash install_scripts/install_pico.sh
这将创建一个名为 .venv_teleop 的虚拟环境(Python 3.10),其中包含:
使用以下命令激活它:
source .venv_teleop/bin/activate # prompt: (gear_sonic_teleop)


