建模 【双臂冗余机器人solidworks转URDF】用solidworks画好机器人模型
文章图片
#添加辅助坐标系和辅助轴
文章图片
辅助轴线可以直接点圆柱面,即可选出该圆柱轴线,作为辅助轴线。
建辅助坐标系前,先建辅助点,再将辅助坐标系建在该点处,选好坐标系方向。
(第一次是把机械臂装配好后,在机械臂上建的辅助坐标系和辅助轴线,但是把机械臂装在底座上后,发现有的坐标系飞了,不知道什么情况。这个时候导出的URDF模型在Rviz里也是飞的,不过TF坐标是对的,不知道具体错误原因。没办法,之后把整个机器人装配好,再在总装图里建辅助坐标系和辅助轴线,问题基本解决了。)
用export of urdf插件在solidworks里生成URDF
文章图片
这里基本没什么问题,在需要选择坐标系和轴线的地方,按实际情况选择之前建好的坐标系和轴线。有一个小问题是,我在base_link处选了三个零件组成机器人的身体,但是导出的URDF显示后发现只有底座一个零件显示,另外两个机械臂底座不见了(像下图那样),但是整个机器人各部分连接关系是对的,所以我就没再改这一块。以后知道原因了再回来改。
文章图片
文章图片
之前步骤确定好了各关节连接关系,和旋转轴情况。这一步主要是设置关节限位,力和速度等限制情况。因为我现在不知道机器人电机什么的参数,所以先不设置,等知道了再在URDF文件里直接改。设置完点next。可以设置Link的各参数。同样可以在生成的URDF文件里再改。设置完点finish,选择URDF文件保存路径,文件名设置成小写字母形式。(不要大写)
#URDF在ROS里修改
生成的URDF文件需要修改几个地方。
1.在XML文件里把作者邮箱改一下,改成任意一个真实邮箱,或者自己的邮箱。
2.在Launch文件夹下的display.launch里,把textfile="(find …)"这一句的文件路径改成自己保存的文件路径。把gui的default项改成True。
接下来就可以编译工作空间,运行roslaunch 生成的URDF包名 display.launch命令。
在打开的rviz中,把fixed frame项设置成base_link。调出机器人模型就可以看到转好的机器人模型了。如下
文章图片
#不明所以的问题
整个流程走下来,机器人模型基本没什么大问题了。但是右臂四轴以后的转动并没有按预想的来。奇怪,跟左臂做的流程是一样的呀!没找到原因。观察发现,出问题的部分,位置都是对的,就是转轴不对,所以在URDF文件里直接改了Joint的转轴,结果就好了。
改成
axis
xyz=“0 0 1”/
之前这里三个数都是小数,按照我建的坐标系和转轴来看,显然是不对的。