URDF 文件转 XML 文件
在使用 MuJoCo Playground 进行三维模型导入时,SolidWorks 导出的文件大多为 URDF 格式,但 MuJoCo 仿真核心更倾向于支持 XML 文件。官方提供了转换脚本,不过需要单独下载 MuJoCo 的工程源码,这与之前下载的 Playground 包并不相同。
1. 获取 MuJoCo 工程文件
首先需要下载对应版本的 MuJoCo 源码包。注意版本兼容性,以下以 Linux x86_64 为例:
https://mujoco.org/download/mujoco210-linux-x86_64.tar.gz
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/.mujoco/mujoco210/bin
2. 修改 URDF 文件头部
在 URDF 文件中添加 MuJoCo 特定的配置头信息。这行代码必须放在文件最顶层,与 标签平级。
<mujoco compiler="meshdir=\"../meshes/\"" balanceinertia="true" discardvisual="false"/>
其中几个关键属性说明如下:
compiler:包含meshdir设置,指定 STL 网格文件的存放路径。balanceinertia="true":启用惯量平衡,让物理仿真更接近真实。discardvisual="false":保留视觉几何体,方便调试时观察模型外观。
3. 执行转换命令
进入 bin 目录后,使用 compile 命令将 URDF 转为 XML。可以直接传入绝对路径。
cd ~/.mujoco/mujoco210/bin
./compile /path/to/model.urdf /path/to/model.xml
转换完成后,可以用 simulate 命令快速验证模型加载是否正常:
./simulate /path/to/model.xml
4. 配置执行器(Actuator)
MuJoCo 对动力学的定义比较严谨,每个关节都需要明确指定 actuator(相当于电机)才能产生动力。这与 Legged Gym 等封装库不同,后者可能自动映射关节数量。
Actuator 支持位置、力矩、速度等多种模式。对于强化学习控制,常用位置模式。如果是六足机器人,共有 18 个活动关节,可以批量添加。为了避免重复代码,推荐使用 class 属性来统一设置 kp、damping 和 force range 等参数。
<actuator>
<position class="hexapod" name="RF_HAA" =/>


