# Unitree R1仿真腿关节armature=0.01致Sim2Real动态偏差过大

> 原文链接：https://robotics.hellobike.com/pitfalls/2026-11-04-unitree-rl-mjlab-51
> 频道：pitfalls | 更新日期：2026-11-04 | 标签：auto, github-issue, unitree_rl_mjlab
> 核心摘要：R1默认配置腿关节armature=0.01导致仿真过阻尼不足，需按实测值修正腿部及腰部参数以消除Sim2Real差距。

# Unitree R1仿真腿关节armature=0.01致Sim2Real动态偏差过大

::: v-pre
> 本文由 AI 根据公开内容整理，可能有误，请以原文为准：[I'd like to ask, in the configuration file for the Unitree R1, is it reasonable to set the armature of each joint motor to 0.01?](https://github.com/unitreerobotics/unitree_rl_mjlab/issues/51)（GitHub unitreerobotics/unitree_rl_mjlab #51）

**状态**：有绕过办法

## 问题

Unitree R1官方RL配置中所有关节`armature`设为0.01，导致仿真中髋关节阶跃响应超调量达30%（真机仅2%），增量步长增益为1.0（真机0.68-0.95）。仿真表现为欠阻尼且近乎无摩擦，虽看似策略问题实为动力学参数失配，造成显著Sim2Real Gap。

## 环境

机型：Unitree R1；软件：unitree_rl_mjlab；配置类：`BuiltinPositionActuatorCfg`；测试条件：空载悬挂、阶跃响应与多频正弦扫频、约82万条`lowstate`样本拟合。

## 解决办法

1. 修改`R1_ACTUATOR_LEG`与`R1_ACTUATOR_WAIST`配置，将`armature`由0.01调整为0.05，`frictionloss`设为2.5。
2. 修改`R1_ACTUATOR_ANKLE`配置，将`armature`调整为0.10，`frictionloss`设为1.5。
3. 保持`R1_ACTUATOR_ARM`（肩pitch/roll）的`armature=0.01`与`frictionloss=2.5`不变。
4. 保持`R1_ACTUATOR_WRIST`（肩yaw/肘/腕roll）的`armature=0.01`，将`frictionloss`调整为0.2。
5. 在训练或仿真中对`joint_friction`引入1.0至2.0倍的向上随机化，以补偿空载测量导致的摩擦下界偏差。
6. 建议基于自有真机进行空载背驱阶跃与正弦扫频测试，重新拟合各关节组动力学参数，勿直接沿用默认值。

讨论原作者：@KevinXFG 等，版权归原作者所有。
:::

## 原始参考来源 (Sources)

- [GitHub unitreerobotics/unitree_rl_mjlab #51：I'd like to ask, in the configuration file for the Unitree R1, is it reasonable to set the armature of each joint motor to 0.01?](https://github.com/unitreerobotics/unitree_rl_mjlab/issues/51)