环境
- Solidwoks2018 SP0 / Solidwoks2021 SP5;
- Ubuntu20.04;
- ROS1 Noetic;
Solidwoks2018 SP0对于平移副有问题,显示不出来,Solidwoks2021 SP5没有问题。
官网有段话:
There is a known STL export bug with SolidWorks 2018 that exists up to Service Pack 4 that renders this add-in unusable. If you are using 2018, please update to service pack 5 or use SolidWorks 2019 or later. 2017 and below may also work
我原来装的Solidwoks2018 SP0,非要试一下,发现确实有点问题,最后换成了Solidwoks2021 SP5。
准备
百度sw_urdf_exporter或https://github.com/ros/solidworks_urdf_exporter/releases下载插件;
我下载了1.5.1 (SolidWorks 2019 and 2018 SP 5)
不过有一些兼容性问题:
sw2urdf_1.6版本安装在solid works2012、2014、2016、2017、2020上会闪退
sw2urdf_1.5版本安装在solid works2017、2020上可以正常运行
sw2urdf插件安装提示
创建每一个link的点/基准轴/坐标系
网上的教程一般都是旋转副,我这里有2个平移副。
精简装配体为5个轴(根据实际机械臂的情况),这个需要一定工作量(如果模型很乱的话)。
也可以不简化,后面可以手动选取,不过建议还是简化的好,特别是零件乱的时候。
创建每一个link的点和坐标系,要与ROS中坐标系方向一致。
选择工具,然后在下拉菜单中找到File,选择Export as urdf。分别选择基座和各个轴,命名连杆和轴的名称。注意选择关节的类型,我这里有2个平移轴,三个旋转轴。
点击Preview and export,出现如下:
应该是末端执行器没有设置坐标系的原因。加上坐标系。
发现双击URDF Export Configuration打不开,重新从工具打开。
生成后,发现自动生成的坐标系位置不太对,好几个坐标系都重合到底部了。没办法,还是自己设置坐标系位置,谁让咱这是非标的结构。
平移副的方向应该选为运动方向
https://answers.ros.org/question/77561/sw2urdf-how-to-generate-linear-axis/
按照改进DH的方法建立各个轴的坐标系。
https://blog.csdn.net/woshigaowei5146/article/details/123636453?spm=1001.2014.3001.5502
检查并输入量程,力,速度
自动计算惯性矩的参数
export and mesh,最后生成的文件如下:
导入到Ubuntu20.04中。拷贝到/home/gw2/ws_moveit/src
直接用catkin build
source devel/setup.bash
roslaunch solid_urdf display.launch
有错误并散落了一地。
修改/launch/display.launch文件中的 robot_state_publisher节点的 type为“robot_state_publisher”
https://blog.csdn.net/weixin_44525754/article/details/113773085
再次编译
catkin build -DCATKIN_WHITELIST_PACKAGES="solid_urdf" 或者catkin_make -DCATKIN_WHITELIST_PACKAGES="solid_urdf"
source devel/setup.bash
roslaunch solid_urdf display.launch
只能看到单个零件并且报错:
Errors loading geometries:
• for link 'Hand':
Could not load mesh resource 'package://solid_urdf/meshes/Hand.STL'
Could not load mesh resource 'package://solid_urdf/meshes/Hand.STL'
发现是实体之间没有连接。 修改后还是无效,可能是手爪太小了,网络不好划,先把手爪删除。
考虑把装配体组合成零件。
试了很多次发现只有旋转副可以完整显示,平移副无法显示。弄了两天一直有问题。教训,官网的话不听非要以身试险。
最后换成了Solidwoks2021 SP5成功了。滚动条可以显示转动移动效果。
故障问题解决
导出到ROS后零件散落一地:
原因是零件重名了,需要重新复制并替换,用UR3实测确实有效果。
https://blog.csdn.net/weixin_45422543/article/details/126276118
不用管,重新打开。
参考
https://www.bilibili.com/video/BV1Tx411o7rH/?spm_id_from=333.337.search-card.all.click&vd_source=b4c4429584a0519633ca5725bcfc1888
https://blog.csdn.net/m0_46325898/article/details/124955142
https://blog.csdn.net/qq_34935373/article/details/88647161