news 2026/9/26 13:47:38

如何把GR00T-WholeBodyControl部署到G1板端JetPack 6?Orin刷机与TensorRT 10.7完全指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何把GR00T-WholeBodyControl部署到G1板端JetPack 6?Orin刷机与TensorRT 10.7完全指南

如何把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 资源页下载:

  1. .tar文件:Jetpack_6.2_nx.tar.bz2(用于给 Orin 模块刷系统)
  2. 系统镜像: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

  1. 用 5 mm T 型内六角扳手,拧下机器人尾部把手附近的两颗螺丝;
  2. 用 2 mm 六角工具拧下固定泡沫和塑料后盖的四颗螺丝,掀开后盖;
  3. 用十字螺丝刀拧下 Orin NX 上固定 NVMe SSD 的单颗螺丝;
  4. 小心抽出 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 进入刷机模式

这是新手最容易卡住的一步,按键顺序务必记牢:

  1. 开机,等三个电源指示灯常亮;
  2. 用 USB-C 线把机器人连到电脑;
  3. 同时按住两个白色按键2 秒;
  4. 保持下键不动,先松开上键,继续按住下键 2 秒,直到三颗绿灯变为两颗绿灯;
  5. 新开终端执行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 性能模式

  1. 关机,把 SSD 装回 G1 并拧紧螺丝;
  2. 复原后盖与把手螺丝;
  3. 重新开机,设置 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):

  1. 从 NVIDIA 开发者页面下载TAR 包(约 10 GB,不要用 DEB 包),板端选10.7;
  2. 解压到~/TensorRT:
sudo apt-get install -y pv pv TensorRT-*.tar.gz | tar -xz -f - echo 'export TensorRT_ROOT=$HOME/TensorRT' >> ~/.bashrc source ~/.bashrc
  1. 安装 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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/26 13:46:31

语音验证码接口接入实战:从鉴权签名到返回码与回调避坑全指南

语音验证码接口文档看一遍容易,用起来全是坑。接口地址拼错一个斜杠,请求参数漏了被叫号码,返回码100006在线上挂半天排查不出来——这些我全遇到过。以前做客服系统加语音通知模块,我把好几家云通信平台的语音验证码接口反复调了…

作者头像 李华
网站建设 2026/9/26 13:43:12

Python上下文管理器详解:with语句背后的协议原理与自定义实战

写Python写久了,你会发现一个有意思的现象:那些被大家公认“写得真Pythonic”的代码,往往离不开一个看似不起眼的关键字——with。很多人会用with open(...) as f读写文件,会用with lock:保护临界区,但你要是追问他上下…

作者头像 李华
网站建设 2026/9/26 13:42:50

AI架构评审还在胡说八道?用TaoToken给Codex接上证据链的配置实录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/26 13:42:27

STM32 SBUS解析:DMA+IDLE+状态机三合一方案

1. 项目概述:为什么SBUS解析必须用DMAIDLE状态机这套组合拳?SBUS协议是FPV航模、机器人遥控系统里最硬核的串口通信标准之一——它不像普通UART那样发完一帧就歇着,而是以固定25字节帧长、100kHz波特率、负逻辑电平持续狂喷数据流。我第一次在…

作者头像 李华