环境

  • 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打不开,重新从工具打开。

生成后,发现自动生成的坐标系位置不太对,好几个坐标系都重合到底部了。没办法,还是自己设置坐标系位置,谁让咱这是非标的结构。在这里插入图片描述
按照改进DH的方法建立各个轴的坐标系。

https://blog.csdn.net/woshigaowei5146/article/details/123636453?spm=1001.2014.3001.5502

在这里插入图片描述

平移副的轴方向应该选为运动方向

https://answers.ros.org/question/77561/sw2urdf-how-to-generate-linear-axis/

平移副的坐标系应该选在其所在轴的轴线上,而不要选在随Link移动的坐标系。

下图是Link1和Link2两个平移副的坐标系和轴选择。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
其余旋转副类似。点击Preview and Expert.

检查并输入量程,力,速度。注意:量程一定要输入,否则后面没有滚动条。
在这里插入图片描述
自动计算惯性矩的参数
在这里插入图片描述
export and mesh,最后生成的文件如下:文件夹命名为:solid_urdf
在这里插入图片描述
导入到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

再次编译

cd ~/ws_moveit
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成功了。Add Robot Model滚动条可以显示转动移动效果。(此时,仅可移动滚动条)
在这里插入图片描述

故障问题解决

导出到ROS后零件散落一地:
原因是零件重名了,需要重新复制并替换,用UR3实测确实有效果。

https://blog.csdn.net/weixin_45422543/article/details/126276118
在这里插入图片描述

在这里插入图片描述
不用管,重新打开。

fixed frame 无法选择
把rosrun关掉,奇怪。

[ERROR] [1675234408.083210061]: Robot semantic description not found. Did you forget to define or remap ‘/robot_description_semantic’?
[ WARN] [1675235168.740292992]: The root link base_link has an inertia specified in the URDF, but KDL does not support a root link with an inertia. As a workaround, you can add an extra dummy link to your URDF.
警告可通过:https://blog.csdn.net/just_do_it567/article/details/111592800解决
错误可通过:在launch文件添加:

  <param name="robot_description_semantic" textfile="$(find solid_urdf6)/urdf/solid_urdf6.urdf" />

https://ipab-slmc.github.io/exotica/Setting-up-ROSlaunch.html

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

CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): Compatibility with CMake < 2.8.12 will be removed from a future version of CMake.
打开CMakeLists.txt,把cmake_minimum_required(VERSION 2.8.3)改为cmake_minimum_required(VERSION 2.8.12)

CMake Error at CMakeLists.txt:5 (find_package): By not providing “Findcatkin.cmake” in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by “catkin”, but CMake did not find one.

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐