外观
踩坑GitHub unitreerobotics/unitree_rl_lab17 天前
Unitree G1 rl_lab速度策略外部评测0%得分系模型低速死区所致
本文由 AI 根据公开内容整理,可能有误,请以原文为准:unitree_rl_lab velocity policy scored 0/0 % in an external G1 benchmark - probably my Isaac-to-MuJoCo mapping(GitHub unitreerobotics/unitree_rl_lab #145)
状态:已解决
问题
在外部C++基准测试(60秒12航点巡回、50Hz控制、随机600N冲击)中,unitree_rl_lab导出的policy.onnx得分为0%,位置误差78cm,偏航误差73°且无任务完成记录。提问者怀疑是Isaac与MuJoCo间的关节索引映射错误或观测历史布局(term-major vs frame-major)配置不当导致策略失效。
环境
机型:Unitree G1 (29-DOF);软件:unitree_rl_lab (commit 4960b84), Isaac Sim 5.1.0, Isaac Lab 2.3.0, MuJoCo;
解决办法
- 验证观测历史布局:确认导出模型的观测为term-major格式(即先排布所有帧的同一特征项),且首步所有历史槽位均填充当前帧数据,这与
policies/rl_lab/policy.cpp实现一致。 - 核对关节映射与增益:确认29关节置换矩阵与
deploy.yaml中joint_ids_map完全匹配;注意KPS/KDS需按电机SDK顺序索引而非Isaac训练顺序。 - 诊断策略本体特性:通过独立运行器验证发现该策略存在显著低速死区,前向速度<0.20m/s或横向<0.25m/s时保持静止,原地转向响应极弱(0.2rad/s指令仅产生0.02rad/s响应),且无法承受300-600N冲击,这解释了航点任务失败原因。
- 跨仿真器交叉验证:在Isaac Lab原生环境中复现了相同的低速死区与跌倒现象,排除外部部署Harness的代码错误。
- 修正部署增益配置:发现
UNITREE_G1_29DOF_CFG中手臂阻尼(1.0)与`deploy.yaml…
讨论原作者:@adamrhoyn 等,版权归原作者所有。
来源
本页事实对应的公开页面,以原文为准。