其他分享
首页 > 其他分享> > Solidworks生成URDF文件并在Rviz显示时模型分离

Solidworks生成URDF文件并在Rviz显示时模型分离

作者:互联网

Solidworks生成URDF文件并在Rviz显示时模型分离

作者最近在学习ROS,面对的一个问题就是,如何将机械臂模型在ROS下的RViz里面显示,自己借鉴了前辈的一些经验,也踩了很多坑,一直想写懒得总结,最近不想科研了,简单记录一下吧,有可能的话给后面的学习者提供一些经验,想来也是甚好的,好了,废话少说,上干货!

首先,我是根据前辈的帖子一步步学的,帖子写的很详细,上链接,看这里哈!

接下来,简要介绍,
1.在Solidworks里面安装sw2urdf插件,Here(点击此处下载)!
2.在sw2urdf里面按照自己规定的模型,设置link,Joint类型和坐标轴等,具体操作见1的链接;
3.生成package文件;
4.修改package,在这里作者只修改了两处:
(1)package.xml里的的作者邮箱;
(2)将display.launch里的一个参数改成“True”
将URDF包名改为robots这一步我没有进行,有需要的同学可以试一试
注意:生成的package文件要放在工作空间下进行编译检查无错后才可以,不会的可以看ros官网
5.打开终端运行roscore,打开另一个终端进行roslaunch
roslaunch 包名 display.launch 例如:roslaunch manipulator display.launch
6.ROS下测试

最后,也是最重要,避坑

1.加载模型错位分离的问题:给模型命名时最好使用英文,并且首字母小写,例如:arm_left2
2.每个零部件的名称不要一样,如果还出错,可以将相同零部件的尺寸微调一下,变动个零点几毫米,在不影响后续操作的情况下
3.在sw2urdf中进行坐标轴选择时,可以根据自己选择生成,系统自动生成的可以的话,就不用自定义了。

后面逆运动学的求解测试作者也进行了,根据是这篇,当然还有很多,网上可以搜很多,这里也有些问题:

1.Self-collisions加载100%完成后,右侧生成不了模型,
在这里插入图片描述

①解决方法,在启动配置文件之前,在终端里面定位到你的URDF所在的工作空间,例如:cd ~/catkin_ws (注意:这里的catkin_ws要换成你自己的工作空间)
②然后再在终端输入:source devel/setup.bash,刷新一下,
③再启动配置文件:在终端输入:
roslaunch moveit_setup_assistant setup_assistant.launch
应该就可以加载了,右边就能看见模型了

2.最后一个生成配置文件
在这里插入图片描述

需要注意的是,这里需要自己新建一个文件夹,放在和你生成package文件所放的地方的同意等级下,然后在Browse的时候选择这个文件夹,配置完成后就可以了

时间比较长了,记住的基本上就这些,有什么问题可以留言交流

标签:roslaunch,URDF,Rviz,package,模型,Solidworks,生成,launch
来源: https://blog.csdn.net/IsaBig_tree/article/details/112547182