MuJoCo 核心功能与关键配置
三、核心功能与关键配置
求解器与积分器
| 配置 | 取值 | 适用 |
|---|---|---|
| 求解器 | PGS | 默认的投影高斯赛德尔,通用性好 |
| 求解器 | CG | 共轭梯度,某些场景更平滑 |
| 求解器 | Newton | 收敛更快、精度更高,代价是速度 |
| 积分器 | Euler | 最快,刚性系统下需要较小时同步长 |
| 积分器 | RK4 | 精度高,计算量大 |
| 积分器 | implicit / implicitfast | 隐式积分,适合含阻尼与高刚度的系统,是多数机器人模型的常用选择 |
| 时间步 | 通常取 1 到 2 毫秒 | 接触越硬、速度越快,步长要越小 |
接触与几何参数
| 参数 | 含义 | 调参建议 |
|---|---|---|
| friction | 滑动、扭转、滚动三个方向的摩擦系数 | 抓取场景必须按实测设置,否则会「粘住」或「滑掉」 |
| solref | 接触约束的刚度与阻尼时间常数 | 数值越大越软,仿真越稳但接触越「橡皮」 |
| solimp | 接触约束的阻抗参数 | 影响穿透允许量与收敛性 |
| condim | 接触维度 | 需要扭转摩擦时提高到 4 或 6 |
| margin / gap | 接触检测的余量 | 加大可以提前建立约束,但会引入虚假接触 |
| damping | 关节阻尼 | 真机上一定存在,不建模会导致仿真过于「灵活」 |
| armature | 转子惯量 | 减速比大的关节必须加,否则数值上很容易振荡 |
驱动器类型
| 类型 | 输入 | 用途 |
|---|---|---|
| motor | 力矩 | 最底层,适合做力矩控制与 RL |
| position | 目标位置 | 带内置伺服,快速搭原型 |
| velocity | 目标速度 | 轮式底盘常用 |
| general | 可自定义传动 | 需要肌腱、齿轮耦合时用 |
传感器与可微分能力
| 能力 | 说明 |
|---|---|
| 内置传感器 | 关节位置/速度、加速度计、陀螺、力/力矩、触觉、距离等,结果存在 data.sensordata 里 |
| 有限差分求导 | 用有限差分接口计算状态转移的雅可比,用于控制器设计与轨迹优化 |
| MJX | 基于 JAX 的实现,可以把模型放到 GPU 上做大规模并行 |
| 接触信息 | data.contact 里可以拿到接触点、法向与受力 |

