现象描述
有时候,当我们使用solidworks建好我们的模型,然后利用【sw2urdf】导出后,发现其中的惯性参数,似乎不正确,ixx、izz这些参数都是很接近0的:
资料查找
其实这个不是我们设置的问题,而算是sw2urdf的bug:【 Wrong inertia values in the exported URDF #117 】
据参与讨论的人的回答,大概是说只有当每一个link都是一个独立的零件时,导出的惯性参数才是正确的;一旦你的link是装配体,那就不行了。
而我的,所有link都是装配体:
所以自然不行了。
解决方案
检查你的link是否是装配体,是的话,可以利用SolidWorks自己的质量工具得到惯性量,然后自己填到urdf里面。
操作流程:选中你的link部件后,选择 工具–》评估–》质量属性,就可以得到惯性量了。要注意坐标和单位,urdf中用的是千克平方米,而质量属性中默认显示的是克平方毫米,而1克每平方毫米=1e-9千克每平方。
不过你可以通过设置“质量属性”中的选项来选定单位: