
一文读懂Decoupled WBCGR00T-WholeBodyControl中下肢RL上肢IK的解耦设计与GR00T N1.5/N1.6实现【免费下载链接】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-WholeBodyControlGR00T-WholeBodyControl 是 NVIDIA 开源的人形机器人全身控制Whole-Body ControlWBC统一平台其中的Decoupled WBC采用「下肢 RL 上肢 IK」的解耦控制架构正是 GR00T N1.5 与 N1.6 所搭载的人形机器人控制器核心。本文带你快速读懂这套解耦设计的原理、代码结构与上手方法。一、Decoupled WBC 解耦架构是什么下肢 RL 与上肢 IK 各司其职人形机器人本文以 Unitree G1 为主有 29 个以上自由度让「行走」和「操作」共用一个端到端策略训练难度极高。Decoupled WBC 的解决思路非常直白下肢Legs Waist用强化学习RL策略负责站立、行走、转向等运动控制输入导航速度指令输出腿部与腰部的关节目标上肢Arms Hands用逆运动学IK 轨迹插值把 VR 设备如 Pico 手柄或高层规划器给出的腕部姿态映射为手臂关节角统一入口一个策略对象把两条链路的输出「缝合」成完整的全身关节指令再下发给机器人或仿真器。这套代码位于仓库的 decoupled_wbc/ 目录官方参考文档见 docs/source/references/decoupled_wbc.md。二、核心代码走读两条控制链路如何拼接整个解耦策略的入口只有三个类阅读顺序建议如下角色类说明缝合入口G1DecoupledWholeBodyPolicy组合上肢策略与下肢 RL 策略输出全身关节角下肢 RLG1GearWbcPolicy加载 ONNX 格式的 RL 运动策略legged-gym 训练产物推理频率 50 Hz上肢 IKTeleopPolicyInterpolationPolicyVR 遥操作 IK 重定向 关节轨迹插值限速缝合入口g1_decoupled_whole_body_policy.py下肢 RL 策略g1_gear_wbc_policy.py策略工厂按配置组装上下肢策略wbc_policy_factory.pyG1GearWbcPolicy内部会维护观察历史缓冲把机体关节角/速度、角速度、重力方向、导航指令等拼成固定维度向量送入 ONNX 模型见 g1_gear_wbc_policy.py 的compute_observation并内置步态时钟相位用于左右脚交替。三、关节分组配置腰部归属决定上下肢边界「上肢」和「下肢」具体包含哪些关节由 G1 的关节分组信息定义lower_body waist legs 腰部 双腿 upper_body arms hands 双臂 双手定义位置g1_supplemental_info.py。 关键点腰部默认划归下肢。因为腰在行走中承担平衡与躯干稳定交给 RL 策略更可靠而手臂与手负责操作交给 IK。实例化机器人模型时waist_location参数也允许把腰部切给上肢见 g1.py便于不同任务重新划分边界。四、信息单向流动上肢姿态如何驱动下肢行走在每一帧控制循环中get_action的执行顺序是精心设计的g1_decoupled_whole_body_policy.py先算上肢由插值策略输出目标手臂关节角target_upper_body_pose前向运动学根据手臂姿态计算躯干相对腰部的朝向仅保留 yaw 分量再算下肢把手臂关节角 底盘高度指令 躯干朝向 导航指令一起喂给下肢 RL 策略合并输出若骨盆同时属于上下肢分组以下肢策略的输出为准。这种「上肢姿态 → 下肢策略」的单向信息流让机器人可以在保持任意手臂姿势的同时稳定行走——这正是 GR00T N1.5/N1.6 边操作边移动的基础。️ 安全性方面遥操作模式下若 1 秒内没收到新的目标指令策略会自动注入安全目标并回退到保守姿态g1_decoupled_whole_body_policy.pyG1 环境层还内置了关节安全监控JointSafetyMonitorg1_env.py。五、快速上手一键启动 G1 控制循环与 VR 遥操作5.1 环境准备前置要求Ubuntu 22.04 NVIDIA GPU Docker。克隆仓库git clone https://gitcode.com/gh_mirrors/gr/GR00T-WholeBodyControl cd GR00T-WholeBodyControl/decoupled_wbc ./docker/run_docker.sh --install --root5.2 启动控制循环# 仿真 python decoupled_wbc/control/main/teleop/run_g1_control_loop.py # 真机 python decoupled_wbc/control/main/teleop/run_g1_control_loop.py --interface real键盘快捷键终端内]激活策略、o关闭策略、9释放/保持机器人、w/s/a/d前后左右移动、q/e转向、z清零导航指令、1/2升降底盘。5.3 启动 VR 遥操作上肢 IK 链路python decoupled_wbc/control/main/teleop/run_teleop_policy_loop.py \ --hand_control_devicepico --body_control_devicepicoPico 端按 XR Robotics 规范配置后手柄的左右扳机控制夹爪、摇杆控制移动。IK 重定向的核心实现在 teleop_retargeting_ik.py它将 VR 腕部位姿通过身体 IK 求解器映射到 G1 的 7 自由度手臂上。六、数据采集工作流为 GR00T 模型导出遥操作数据Decoupled WBC 不止是控制器更是 GR00T 系列 VLA 模型的数据工厂。一条命令即可拉起完整采集栈python decoupled_wbc/scripts/deploy_g1.py --interface sim \ --simulator robocasa --env_name PnPBottle \ --hand_control_devicepico --body_control_devicepico它会创建 tmux 多窗格会话主控循环 遥操作策略、相机转发、相机预览与数据导出器。Pico 上按A键开始/停止录制B键丢弃轨迹数据由 exporter.py 打包仿真环境可对接 RoboCasaasync_env_server.py。七、Decoupled WBC vs GEAR-SONIC如何选择维度Decoupled WBCGEAR-SONIC架构下肢 RL 上肢 IK解耦统一端到端全身基础模型定位GR00T N1.5 / N1.6 的部署控制器、数据采集底座最新一代通用人形控制器支持动作跟踪、规划与多模态输入入口目录decoupled_wbc/gear_sonic/ gear_sonic_deploy/简单说要快速上手人形全身控制、理解 RLIK 解耦原理、采集遥操作数据选 Decoupled WBC要体验最先进的全身基础模型看 GEAR-SONIC。两者共享 G1 机器人模型定义与数据导出组件。小结Decoupled WBC 用三个类讲清了一个优雅的设计RL 管「腿」IK 管「手」G1DecoupledWholeBodyPolicy管「缝合」腰部归属与单向信息流划清边界安全超时兜底。理解了这套解耦架构你就掌握了 GR00T N1.5/N1.6 的人形机器人控制内核也为后续深入 GEAR-SONIC 打下了基础。【免费下载链接】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),仅供参考