Solidworks转URDF零件错位的解决

使用Solidworks2018+sw2urdf插件V1.5,该插件似乎有一些bug。

在使用solidwork转urdf的插件中,发现如果装配图有多个重复的零件,那么只有其中一个是正常的,其他的都是错位的,如图。
Solidworks转URDF零件错位的解决_第1张图片

解决方法一:

1.用零件图导出规定坐标系的stl文件

复制一副错位的零件的零件图,在复制出来的零件图中设置一个参考坐标系,这个坐标系设置在这个零件的Joint的位置。(如果不用备份出来的零件图设置以下操作,在导出STL文件时会把原零件图的坐标系给弄乱,导致装配图坐标也发生混乱,如果发生这种情况可以按照原点设置一个坐标系重新导出)
Solidworks转URDF零件错位的解决_第2张图片

然后另存为导出为STL文件。选择你画图用到的单位,勾选“不要转换…”和“在单一文件…”,设置输出坐标系为选定的坐标,如图所示:

Solidworks转URDF零件错位的解决_第3张图片

2.在装配图中重新设置joint的参考坐标:

在装配图中设置一个参考坐标,其坐标位置、各个坐标轴都要和刚刚在零件图里设置的坐标系一致,如下图。最后再使用插件导出urdf文件,注意设置该零件的Joint的参考坐标系。
Solidworks转URDF零件错位的解决_第4张图片

3.修改urdf文件

在错位零件的link部分的里设置第一步导出的stl文件,如图。

Solidworks转URDF零件错位的解决_第5张图片

4.在rviz中显示,现在就一切正常了

Solidworks转URDF零件错位的解决_第6张图片

解决方法二:

可以发现,只有重复的零件才会发生坐标混乱,而且有一个是坐标没问题的。可以在装配图中设置好坐标混乱的零件,使其Joint的参考系和没有混乱的那个零件参考系一致。比如link1坐标正常,link1_1坐标混乱。设置 joint1_1的坐标系与link1_1的相对位置 和 joint1的坐标系与link1的相对位置 一致,然后再用link1的stl文件代替link1_1的stl文件也可以。

你可能感兴趣的:(ROS)