Skip to content

踩坑GitHub unitreerobotics/unitree_rl_mjlab6 个月前

G1实机部署剧烈动作断电:误用base_lin_vel观测致脏数据输入 ​

本文由 AI 根据公开内容整理,可能有误,请以原文为准:g1的Veloity任务实机部署问题(GitHub unitreerobotics/unitree_rl_mjlab #33)

状态:有绕过办法

问题 ​

使用最新版mjlab训练的G1行走策略在仿真play正常,但实机部署后机器人出现剧烈动作并断电保护。用户发现新版mjlab Actor观测包含base_lin_vel,而unitree_rl_mjlab将其置于Critic中,怀疑真机无法读取该传感器导致异常。此外deploy.yaml中lin_vel_y和ang_vel_z被置0导致无法转向。

环境 ​

机型:Unitree G1;软件:unitree_rl_mjlab、mjlab最新版、unitree_mujoco;部署文件:policy.onnx、deploy.yaml、agent.yaml、env.yaml。

解决办法 ​

  1. 确认训练框架差异:最新版mjlab Actor观测含base_lin_vel及motion_anchor_pos_b,这些状态估计量在真机无法获取,deploy不支持此类模型,会导致脏数据输入引发抽搐,严禁直接使用mjlab自带任务部署。
  2. 切换至unitree_rl_mjlab默认配置:该项目Velocity任务Actor观测不含base_lin_vel,仅在有状态估计的动作模仿任务中使用,实机部署必须以unitree_rl_mjlab代码为准。
  3. 检查deploy.yaml配置:确保lin_vel_y和ang_vel_z等关键观测映射正确且非零,避免因参数屏蔽导致控制失效。
  4. 强制仿真验证流程:实机部署前必须在unitree_mujoco或simulate环境中完整测试policy.onnx输出,确认观测维度与顺序与训练一致。
  5. 提供完整日志排查:若问题持续,需提供logs目录下agent.yaml、`en…

讨论原作者:@qiaomu-shen 等,版权归原作者所有。

来源

本页事实对应的公开页面,以原文为准。

  1. GitHub unitreerobotics/unitree_rl_mjlab #33:g1的Veloity任务实机部署问题访问 2026-10-26