方法是利用Mujoco自带的comiple
官方下载的版本,compile并没有编译出来,所以在bin里面找不到,compile的代码在sample里面,可以自己编译出来
语法
./compile robot.urdf mujoco_model.xml
可能会遇到的问题
报错1
Error: inertia must satisfy A + B >= C; use 'balanceinertia' to fix
Object name = inertial_link, id = 3
解决方法:
其他tag可以参考链接http://www.mujoco.org/book/XMLreference.html#compiler。meshdir是必须的,如果编译时有以下bug,则需要添加balanceinertia。
在urdf文件里面加入下面的节点
<mujoco>
<compiler
meshdir="../meshes_mujoco/"
balanceinertia="true"
discardvisual="false" />
</mujoco>
2 报错2:生成了一个空白的模型文件:
< mujoco model="MuJoCo Model" >
< compiler angle="radian" meshdir="../meshes/" / >
< size njmax="500" nconmax="100" / >
< worldbody / >
< /mujoco >
reference
[1]https://zhuanlan.zhihu.com/p/99991106
[2] https://github.com/openai/mujoco-py/issues/484
[3] https://github.com/wangcongrobot/dual_ur5_husky_mujoco