Rviz中如何导入自定义障碍物 | 从建模到导出urdf到导入rviz | Ros中如何导入障碍物 | sw2urdf的下载和使用 | MeshLa的下载和使用

配置:
Ubuntu20.04
Solidworks2016
sw2urdf1.5.1(GitHub下载链接)
MeshLab(GitHub下载链接

目标

本文希望在Solidworks中自己完成障碍物建模,并且导入Rviz中,进行机械臂运动的碰撞分析等探索。
|-----------------------------------------------------------------------------------------------
总的来说可以分为:模型导出+导出文件优化+导入Rviz 三大步骤。
|-------------------------------------------------------------------------------------------------
最简化的来说,我们只要获得模型的dae文件就可以了。但这里尽量将过程做的更标准些,方便后来者学习和理解。

模型导出

建模

  • 先看下我的模型,注意我是假设机器人就在原点,x向前,z向上的坐标关系,并将模型直接建立在我希望放置的位置,这会使得后续的步骤更加方便。
  • 在这里插入图片描述

转轴和坐标系标注

机器人描述urdf格式中最不可缺的就是转轴axis和坐标系coordinate,所以我们在模型导出前先进行这些参数的标注。

  • 转轴:我们可以通过 特征-参考几何体-基准轴 来进行标注。我这里为了方便,先在草图上画了点划线,然后直接把这个点划线作为基准轴,方便不少。
    在这里插入图片描述
  • 坐标系:我这里就是希望和建模的坐标系一致就可以了,于是我通过模型上的边线确定方向。
    在这里插入图片描述
  • 成品如下。记得最好坐标系和转轴改为英文名。
    在这里插入图片描述

导出

我使用的sw2urdf是1.5.1版本,貌似特性和网上看的一些教程不太一样,只有最基础的导出功能,但也够用。后期升级下solidworks顺便更新下sw2urdf。

  • 简单说下sw2urdf怎么用:下载对应的版本后直接安装,重启solidworks后先在插件栏添加这个插件。然后就可以用了
    在这里插入图片描述
    在这里插入图片描述
  • 点击 工具-File-Expert as URDF中,进行导出。这里我取消了勾选。
    在这里插入图片描述
  • 导出成品
    在这里插入图片描述

导出文件优化

优化的话主要是将stl转化为最重要的dae文件,以及修改一下urdf文件。

.stl->.dae (核心)

  • 打开MeshLab软件,先导入生成的air_door.stl文件, 最好将.STL改为.stl
    在这里插入图片描述
  • File-Export Mesh as ,选择.dae即可导出dae文件
    在这里插入图片描述

urdf文件修改(这里用不到urdf文件,看看就行)

  • 打开这个urdf发现有两个.STL却没有.dae
  • 要注意的是 visual标签下的应该是.dae ; 而 collision 标签下的应该是.stl。(.dae ,即COLLADA文件,是一种用于3D模型和动画的开放标准,它支持复杂的纹理和材质效果。.stl,即Stereolithography文件,是一种简单的3D模型,因为不包含纹理颜色和材质,所以在碰撞检测中性能较高。)
  • 所以这里做了三个步骤,一个是将标签里的.stl修改为.dae文件;然后我这里texture材质是空的,直接加载会有问题,所以直接删掉;还有大写的.STL改为.stl。
    在这里插入图片描述

这些步骤完成后,我一般习惯把生成的整个导出的包放到自己workspace目录src文件夹下,作为一个package,虽然这里没有package.xml。

导入Rviz

  • 导入Rviz用的其实就是dae文件。

  • 首先启动rviz
    在这里插入图片描述

  • 打开Scene Objects,将Box类型换选为Mesh from File,导入自己生成的.dae文件,调整位置,并点击发布,即可看到我们的障碍物。
    在这里插入图片描述

在这里插入图片描述

好文推荐

操作的过程中参考了这几篇文章,写的很不错,但并不完全适用自己的情况。结合这些文章和自己的探索,最终完成了自定义障碍物的导入。
文章一
文章二
文章三

  • 4
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
操作流程如下: 1. 在SolidWorks,安装插件SolidWorks to URDF Exporter,该插件可以将SolidWorks模型导出为URDF(Universal Robot Description Format)文件。 2. 在导出URDF文件之前,需要为SolidWorks模型添加必要的约束和关节,以便在URDF文件正确表示模型的运动。可以使用SolidWorks的“运动学”选项卡来添加这些约束和关节。 3. 使用SolidWorks to URDF Exporter插件导出URDF文件。在导出时,请确保选择正确的选项以保证URDF文件的正确性。 4. 在ROS2使用ROS2 URDF parser将URDF文件转换为ROS2的格式。可以使用以下命令来安装ROS2 URDF parser: ``` sudo apt-get install ros-<distro>-urdfdom-py ``` 其,<distro>是ROS2的发行版名称,例如“foxy”或“galactic”。 5. 将URDF文件转换为ROS2格式。使用以下命令将URDF文件转换为ROS2格式: ``` ros2 run robot_state_publisher robot_state_publisher /path/to/urdf/file ``` 其,“/path/to/urdf/file”是URDF文件的路径。 6. 启动ROS2节点,以便可以使用ROS2控制机器人模型。可以使用以下命令来启动ROS2节点: ``` ros2 run <node_name> ``` 其,“<node_name>”是要启动的ROS2节点的名称。 7. 使用ROS2的控制器来控制机器人模型的运动。可以使用ROS2的控制器来控制模型的运动,例如使用ROS2的JointStateController来控制机器人模型的关节状态。 以上就是SolidWorks导出URDF导入ROS2的操作流程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乘风会落雨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值