Solidworks导出urdf模型以及各种奇奇怪怪的问题
啊,我死了,鼓捣了一天解决了各种各样的问题,结果模型有点畸形了,问题稍后解决,先记录一下
机械臂模型采用的是珞石XMate3p(模型官网下载),solidworks2019,ubuntu18.04
**
问题1
**
根据古月居的B站视频学习,在机械臂配置完成后导出预览urdf模型时出现问题
原因是,在配置导出模型的时候只是设置了旋转轴,而坐标系采用的是默认的坐标系,默认的坐标系中,每个关节坐标系的z轴与关节旋转旋转方向不一致,从而出现了以上问题,解决方法是,手动建立每一个关节的坐标系,确保z轴与关节旋转方向一致。
**
问题2
**
成功导出机械臂的urdf模型后,将urdf的文件夹拷贝到ubuntu下,在工作空间进行编译,遇到问题
百度后发现是由于python编码的问题,解决方法如下:
进入/etc/python2.7
sudo gedit siteccustomize.py
在文件开头加上
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
再次编译,该问题解决
**
问题3
**
上述问题解决后,再次编译发现新问题
由于模型下时,默认名称即为“XM3p 简化模型”一直没有更改名称,故出现命名不规范的问题,解决方法是将所有文件夹中命名中的汉字 和空格删掉,并设置文件夹中的文件目录,涉及到的文件包括package.xml ,CMakeKists.txt ,launch文件,urdf文件
如果你的模型旋转轴,坐标系都没啥问题的话,现在运行
roslaunch XM3p display.launch
就可以正常显示了,并可以手动调节关节角度
然而
**
问题4
**
经过以上步骤,我的模型:
这么一看是不是虽然除了它是躺下的,其他的问题还是看不出来的,问题不大
然而
当它稍微一旋转,我的模型就 截肢 了
大概是因为我在生成urdf文件时太着急了,没有注意默认的基坐标系的z轴是躺着的,在设置关节坐标系的时候,只是注意了z轴的方向,忽略了坐标系原点的位置导致其旋转轴发生了偏差,才会有这种截肢的效果。
回炉重造,第二遍不敢偷懒了,认真画了坐标系
在solidworks中选取旋转轴2,4,6和旋转轴1(1,3,5,7旋转轴重合)的交点作为坐标系原点,再次重新生成urdf模型
然而,我的机械臂畸形了
长这样,初步判断应该是第二个坐标系选取错误,才导致的一些问题,等我解决了再回来更…
---------------------------------------------------分割线---------------------------------------------------------------
问题解决了,原谅我错误的坐标系,重新研究坐标系的建立后
perfect!
总结
虽然是一块很基础的,也不难的点,网络上也有各种各样详细的教程,但是只有自己做前前后后用了两天的时间才完成,遇到各种各样的问题,碰见的时候以为是大问题,但是解决后才发现都不算什么(狗头)也是一个积累经验的过程,毕竟
慢慢来,比较快