欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > 【MuJoCo仿真】开源SO100机械臂导入到仿真环境

【MuJoCo仿真】开源SO100机械臂导入到仿真环境

2025/4/30 9:31:06 来源:https://blog.csdn.net/imwaters/article/details/147617434  浏览:    关键词:【MuJoCo仿真】开源SO100机械臂导入到仿真环境

主要参考:https://github.com/jpata/gym-so100/tree/integration/gym_so100/assets/trs_so_arm100

参考:(八)lerobot开源项目扩展so100的仿真操控(操作记录)_so100机械臂 仿真-CSDN博客

下载:lerobot_so100_sim: lerobot_so100_sim - Gitee.com背景

URDF是Unified Robot Description Format,主要用于ROS中描述机器人的结构、关节、连杆、传感器等。

MJCF是MuJoCo(Multi-Joint dynamics with Contact)的模型格式,用于物理仿真,更注重动力学和接触计算。

 so100模型来源(在solidword画好后导出):https://github.com/TheRobotStudio/SO-ARM100/blob/4e9c5588d8a8415b6a6c2142a0ce8c32207cf3e9/URDF/SO_5DOF_ARM100_8j_URDF.SLDASM/urdf/SO_5DOF_ARM100_8j_URDF.SLDASM.urdf

下载so100的xml,并拖入MuJoCo

git clone https://gitee.com/mrqiguan/lerobot_so100_sim.git

调节右侧的参数可以动 

完整界面


​为什么不能直接将 URDF 导入 MuJoCo?​

虽然 MuJoCo 支持导入 URDF,但 URDF 格式与 MuJoCo 的仿真需求存在显著差异,直接导入可能导致以下问题:

  1. ​视觉与碰撞模型分离​
    URDF 的 <visual> 和 <collision> 标签通常使用不同的几何体(例如高精度网格与简化凸包)。MuJoCo 默认会丢弃 <visual> 几何体(通过 discardvisual="true"),导致模型不可见。因此需要通过 <compiler discardvisual="false"> 显式保留视觉模型。

  2. ​物理参数缺失​
    URDF 缺乏对摩擦、执行器动态特性(如 impratiocone="elliptic")等仿真关键参数的描述,这些需手动添加以确保逼真的物理交互。

  3. ​碰撞优化不足​
    URDF 的碰撞模型可能过于复杂或缺少必要优化。例如:

    • 需要手动提取 ​​凸包碰撞网格​​(如夹爪的凸包化)以提高计算效率。
    • 添加 ​​额外碰撞几何体​​(如夹爪的辅助碰撞盒)以增强接触检测。
  4. ​关节与执行器配置​
    URDF 不定义关节的阻尼、执行器控制模式(如位置/速度控制)等,需在 MJCF 中通过 <default> 和 <actuator> 明确指定。

  5. ​模型层级与命名冲突​
    URDF 的复杂嵌套结构可能导致 MuJoCo 解析时的路径错误(例如材质或网格引用失效),需通过 strippath="false" 保留完整路径。


​转换步骤的必要性​

  1. ​保留视觉模型​

    <mujoco><compiler discardvisual="false" strippath="false"/></mujoco>

    强制保留视觉网格,避免模型在仿真中不可见。

  2. ​统一默认属性​
    将重复的材质、关节属性提取到 <default> 中,简化模型并确保一致性。

  3. ​优化碰撞模型​

    • 将伺服电机网格分离为独立文件,减少内存占用。
    • 为夹爪创建 ​​凸包碰撞网格​​(例如 gripper_collision.stl),替代原始非凸网格以加速碰撞检测。
  4. ​增强物理交互​

    • 添加 impratio="10" 提高接触力的各向异性,模拟非弹性碰撞。
    • 使用 cone="elliptic" 替代默认的圆锥摩擦模型,更贴近真实摩擦行为。
  5. ​避免自碰撞干扰​
    通过 <exclude> 阻止基座(Base)与俯仰关节(Rotation_Pitch)的错误接触检测。

  6. ​执行器与控制​
    添加 <position> 执行器并设置 kp(刚度系数),使关节能响应位置控制指令。


​总结​

URDF 是面向机器人描述的标准格式,而 ​​MJCF 是专为物理仿真优化的格式​​。直接导入 URDF 可能导致模型在 MuJoCo 中表现异常(如穿透、抖动、控制失效)。通过上述转换步骤,可确保:

  • 视觉与碰撞模型的完整性
  • 物理参数符合仿真需求
  • 计算效率与稳定性提升

最终生成的 MJCF 模型在 MuJoCo 中能实现逼真的动态行为,而未经处理的 URDF 可能仅适用于可视化,无法满足仿真精度要求。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词