外观
踩坑GitHub unitreerobotics/unitree_rl_mjlab6 个月前
unitree_rl_mjlab自定义动作训练后Deploy效果差及deploy.yaml配置不一致
本文由 AI 根据公开内容整理,可能有误,请以原文为准:lafan1(GitHub unitreerobotics/unitree_rl_mjlab #36)
状态:已解决
问题
使用unitree_rl_mjlab训练LaFAN1数据集自定义动作(如舞蹈、跌倒站立)时,仿真Play正常但真机Deploy效果极差。根本原因是示例dance1_subject2目录下的deploy.yaml不能直接使用,其default_joint_pos和offset参数与训练代码env_cfgs.py中调用的get_g1_robot_cfg配置不一致,导致Sim-to-Real迁移失败。
环境
Unitree G1机器人,unitree_rl_mjlab框架,LaFAN1数据集,涉及src/tasks/tracking/config/g1/env_cfgs.py与src/assets/robots/unitree_g1/g1_constants.py配置文件。
解决办法
- 参考GitHub Issue #23 引入自动导出
deploy.yaml的逻辑,确保部署配置文件由训练环境参数自动生成,避免手动复制导致的default_joint_pos和offset偏差。 - 检查训练配置
env_cfgs.py中get_g1_robot_cfg返回的init_state,确认其与生成的deploy.yaml完全对齐,消除mjlab.asset_zoo.robots与g1_constants.py之间的定义差异。 - 忽略非训练生成的
policy.onnx.data文件,直接将训练产出的policy.onnx放置于部署文件夹即可运行。 - 在配置对齐基础上,进一步优化奖励函数与课程学习策略以提升自定义动作的鲁棒性。
讨论原作者:@hp-boop 等,版权归原作者所有。
来源
本页事实对应的公开页面,以原文为准。
- GitHub unitreerobotics/unitree_rl_mjlab #36:lafan1访问 2026-10-26