sw2urdf导出的urdf文件中的惯性参数(inertial)错误的问题

现象描述

有时候,当我们使用solidworks建好我们的模型,然后利用【sw2urdf】导出后,发现其中的惯性参数,似乎不正确,ixx、izz这些参数都是很接近0的:
sw2urdf导出的urdf文件中的惯性参数(inertial)错误的问题_第1张图片

资料查找

其实这个不是我们设置的问题,而算是sw2urdf的bug:【 Wrong inertia values in the exported URDF #117 】
sw2urdf导出的urdf文件中的惯性参数(inertial)错误的问题_第2张图片据参与讨论的人的回答,大概是说只有当一个link都是一个独立的零件时,导出的惯性参数才是正确的;一旦你的link是装配体,那就不行了。
而我的,所有link都是装配体:
sw2urdf导出的urdf文件中的惯性参数(inertial)错误的问题_第3张图片
所以自然不行了。

解决方案

检查你的link是否是装配体,是的话,可以利用SolidWorks自己的质量工具得到惯性量,然后自己填到urdf里面。
操作流程:选中你的link部件后,选择 工具–》评估–》质量属性,就可以得到惯性量了。要注意坐标和单位,urdf中用的是千克平方米,而质量属性中默认显示的是克平方毫米,而1克每平方毫米=1e-9千克每平方。
不过你可以通过设置“质量属性”中的选项来选定单位:
sw2urdf导出的urdf文件中的惯性参数(inertial)错误的问题_第4张图片

sw2urdf导出的urdf文件中的惯性参数(inertial)错误的问题_第5张图片

你可能感兴趣的:(ros,ROS2)