如何把GR00T-WholeBodyControl部署到G1板端JetPack 6?Orin刷机与TensorRT 10.7完全指南
【免费下载链接】GR00T-WholeBodyControlWelcome to GR00T Whole-Body Control (WBC)! This is a unified platform for developing and deploying advanced humanoid controllers. This includes: Decoupled WBC models used in NVIDIA Isaac-Gr00t, Gr00t N1.5 and N1.6 and GEAR-SONIC项目地址: https://gitcode.com/gh_mirrors/gr/GR00T-WholeBodyControl
本文带你把GR00T-WholeBodyControl的人形机器人控制器完整部署到Unitree G1 板端:先为 Orin NX 刷机升级JetPack 6,再安装TensorRT 10.7,最后用 C++ 推理栈在 50 Hz 下跑起 GEAR-SONIC 全身控制策略。全程命令都已给出,新手照着做即可。
为什么必须升级到 JetPack 6?
G1 出厂自带的 JetPack 版本过低,无法支持 GEAR-SONIC 推理所需的 TensorRT 版本。官方对板端部署有硬性要求:
| 平台 | 必须的 TensorRT 版本 |
|---|---|
| x86_64 桌面开发机 | 10.13 |
| G1 板端 Orin(Jetson) | 10.7(依赖 JetPack 6) |
⚠️ 官方特别警告:必须使用上表中的精确版本。版本不匹配会导致推理结果错误——planner 会输出错误动作,可能引发机器人危险行为。
整个板端部署流程可以概括为 6 步:下载镜像 → 拆卸 SSD → 写盘 → 进刷机模式 → 刷机 → 装环境跑部署。
第一步:下载 JetPack 6.2 刷机镜像
你需要两个文件,从官方提供的 JetPack 6.2 资源页下载:
.tar文件:Jetpack_6.2_nx.tar.bz2(用于给 Orin 模块刷系统)- 系统镜像:
g1-nx-j6.2.img.bz2(写入 G1 的 NVMe SSD)
准备好工具:5 mm T 型内六角扳手、2 mm 六角工具(Fanttik 工具包自带)、十字螺丝刀、USB-C 数据线、NVMe 硬盘盒(从笔记本写盘时需要)。
完整步骤可对照官方刷机指南:docs/source/references/jetpack6.md。
第二步:拆下 G1 的 NVMe SSD
- 用 5 mm T 型内六角扳手,拧下机器人尾部把手附近的两颗螺丝;
- 用 2 mm 六角工具拧下固定泡沫和塑料后盖的四颗螺丝,掀开后盖;
- 用十字螺丝刀拧下 Orin NX 上固定 NVMe SSD 的单颗螺丝;
- 小心抽出 SSD 卡。
第三步:用硬盘盒把镜像写入 SSD
把 SSD 装进 NVMe 硬盘盒,插到写盘电脑上(Ubuntu/Debian 系):
# 1. 确认外置SSD未挂载(未挂载则跳过) sudo umount /dev/sda* # 2. 进入镜像所在目录,写入系统镜像(约需十几分钟) bzip2 -dc g1-nx-j6.2.img.bz2 | sudo dd of=/dev/sda bs=4M status=progress conv=fsync # 3. 安全弹出 sudo sync sudo udisksctl power-off -b /dev/sda写完后把 SSD 先放在一边——它已经不需要了,接下来刷的是 Orin 模块。
第四步:让 G1 进入刷机模式
这是新手最容易卡住的一步,按键顺序务必记牢:
- 开机,等三个电源指示灯常亮;
- 用 USB-C 线把机器人连到电脑;
- 同时按住两个白色按键2 秒;
- 保持下键不动,先松开上键,继续按住下键 2 秒,直到三颗绿灯变为两颗绿灯;
- 新开终端执行
lsusb,看到NVIDIA Corp. APX字样即成功进入刷机模式。
第五步:执行 Orin 刷机(约8分钟)
确认lsusb出现 APX 后执行:
sudo tar -xjvf Jetpack_6.2_nx.tar.bz2 cd Jetpack_6.2_nx/Linux_for_Tegra sudo ./flash_nx_module.sh耐心等待约8 分钟,看到 success 提示即刷机完成。
第六步:装机并开启 MaxN 性能模式
- 关机,把 SSD 装回 G1 并拧紧螺丝;
- 复原后盖与把手螺丝;
- 重新开机,设置 Orin 到MaxN满血模式(推理性能关键):
sudo nvpmodel -m 0 sudo jetson_clocks sudo jetson_clocks --show # 确认已是 MaxN💡 提示:后续每次构建/部署时,项目的环境脚本 gear_sonic_deploy/scripts/setup_env.sh 会在检测到 Jetson 时自动执行
jetson_clocks,无需手动重复。
安装 TensorRT 10.7 与 JetPack 依赖
先装 TensorRT(官方文档强调 Install this first):
- 从 NVIDIA 开发者页面下载TAR 包(约 10 GB,不要用 DEB 包),板端选10.7;
- 解压到
~/TensorRT:
sudo apt-get install -y pv pv TensorRT-*.tar.gz | tar -xz -f - echo 'export TensorRT_ROOT=$HOME/TensorRT' >> ~/.bashrc source ~/.bashrc- 安装 DLA 编译相关包(gear_sonic_deploy/scripts/setup_env.sh 会自动补 DLA 库路径与
libcudla符号链接):
sudo apt-get install -y nvidia-l4t-dla-compiler libcudla-dev-12-6克隆仓库、安装依赖并构建 C++ 推理栈
git clone https://gitcode.com/gh_mirrors/gr/GR00T-WholeBodyControl.git cd GR00T-WholeBodyControl git lfs pull # 拉取模型等大文件板端依赖安装脚本会自动识别 Jetson(aarch64),安装 build-essential、cmake、just、ONNX Runtime、CUDA 开发包等:
cd gear_sonic_deploy chmod +x scripts/install_deps.sh ./scripts/install_deps.sh source scripts/setup_env.sh # 配置 TensorRT / DLA / CUDA 路径 just build # 构建 C++ 部署程序再下载推理所需的 ONNX 模型与 planner:
python download_from_hf.py详细前提条件见官方安装文档:docs/source/getting_started/installation_deploy.md,依赖脚本源码:gear_sonic_deploy/scripts/install_deps.sh。
一键部署:deploy.sh 与 g1_deploy_onnx_ref
项目提供的一键部署脚本 gear_sonic_deploy/deploy.sh 会自动完成四步:检查 TensorRT 与模型文件 → 装缺失依赖 →source setup_env.sh && just build→ 启动部署。
# 真机模式:自动寻找 192.168.123.x(Unitree 机器人网段)接口 ./deploy.sh real # 或 MuJoCo 仿真联调(自动禁用 CRC 校验) ./deploy.sh sim它实际执行的命令等价于(见 docs/source/references/deployment_code.md):
just run g1_deploy_onnx_ref enP8p1s0 policy/release/model_decoder.onnx reference/example/ \ --obs-config policy/release/observation_config.yaml \ --encoder-file policy/release/model_encoder.onnx \ --planner-file planner/target_vel/V2/planner_sonic.onnx \ --input-type manager --output-type all其中--input-type支持keyboard / gamepad / zmq / ros2 / manager等模式,manager可在键盘、手柄、ZMQ、ROS2 间动态切换,最适合真机调试。
常见问题排查清单
| 症状 | 原因与解决 |
|---|---|
TensorRT_ROOT is not set | 把export TensorRT_ROOT=$HOME/TensorRT写入~/.bashrc后重新source |
| DLA 链接/运行报错 | 执行sudo apt-get install -y nvidia-l4t-dla-compiler libcudla-dev-12-6,再source scripts/setup_env.sh |
| 推理速度不达标 | 检查sudo nvpmodel -m 0与sudo jetson_clocks是否已生效 |
| planner 动作异常 | 九成是 TensorRT 版本不对,板端必须 10.7,桌面必须 10.13 |
| 模型文件缺失 | 重新执行git lfs pull或python download_from_hf.py |
| 找不到机器人网络接口 | 机器人网段应为192.168.123.x,可显式指定接口名如./deploy.sh enP8p1s0 |
编译期可用tegrastats监控板载资源占用。
延伸阅读
- 官方 JetPack 6 刷机指南:docs/source/references/jetpack6.md
- 部署安装文档:docs/source/getting_started/installation_deploy.md
- C++ 部署程序说明与日志参数:docs/source/references/deployment_code.md
- 一键部署脚本:gear_sonic_deploy/deploy.sh
- 依赖安装与环境配置脚本:gear_sonic_deploy/scripts/
刷完机、装好 TensorRT 10.7 后,你的 G1 就能在板端 50 Hz 实时跑起 GEAR-SONIC 全身控制策略了——从行走、爬行到 VR 遥操作,全部由这块 Orin NX 独立完成。
【免费下载链接】GR00T-WholeBodyControlWelcome to GR00T Whole-Body Control (WBC)! This is a unified platform for developing and deploying advanced humanoid controllers. This includes: Decoupled WBC models used in NVIDIA Isaac-Gr00t, Gr00t N1.5 and N1.6 and GEAR-SONIC项目地址: https://gitcode.com/gh_mirrors/gr/GR00T-WholeBodyControl
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考