用Solidworks导出ROS需要的urdf

说明:本人采用solidworks2019建立三维模型,再用UG10.0进行零件归类分组,最后再用solidworks插件SW2URDF导出需要的urdf格式描述文件。

准备:solidworks、UG、三维模型

参考:

1.【从零开始的ROS四轴机械臂控制】(一)- 实际模型制作、Solidworks文件转urdf与rviz仿真_Stan Fu的博客-CSDN博客

2.ROS学习笔记(1)6轴机器臂的URDF文件的生成并用rviz和moveit显示_pathfinder1987的博客-CSDN博客

3.https://www.jianshu.com/p/8c47d078339f

目录

一、用UG划分link部件

 二、用solidworks导出urdf


一、用UG划分link部件

1.将已画好的solidworks三维装配体另存为parasolid(*.x_t)格式。

2.打开UG,任意新建模型,在导入中选择parasolid,然后选择相应的 (.x_t)文件。

3. 在UG命令栏空白处单击右键,选择最底部的“定制”,在搜索框中输入“新建组”,并将其拖到上边命令栏中,方便之后的操作。

 4.框选需要的零件作为base_link,点击“新建组”进行分组,并取名base_link

 5.结果如下所示,去掉可隐藏组内零件,方便继续框选,若有多选或少选,在“组 xxx”位置右键,点击“编辑组”。

 6.其余如法炮制,直到选完所有link,本人是四自由度机械臂,所有刚好到link4。

 7.选择分好的组,点击右上角装配命令栏中的“新建”,把link们单独保存出来。

 8.建好的模型如下图所示,随后用solidworks打开UG的装配体part文件,并进行保存。

 二、用solidworks导出urdf

 1.根据D-H法建立坐标,不懂的自行看《机器人学导论》,简单来说就是制定每个link的坐标系,Z轴指向旋转副的旋转中心,X轴指向两个关节连线的方向,如下图所示(全是旋转副,无平移副);然后创建旋转副的旋转中心轴线

装配体功能栏——>参考几何体

 2.确保以及下载SW2URDF插件,若没下载参考:

【从零开始的ROS四轴机械臂控制】(一)- 实际模型制作、Solidworks文件转urdf与rviz仿真_Stan Fu的博客-CSDN博客

 点击solidworks顶部工具栏,再点击底部三角形,看到File->Export as URDF

3.选择link、对应坐标系、对应三维模型,形成机械臂连接,然后点击下边的Empty_link,如法炮制,直到最后一个link;注意第二个关节开始还要选择关节名字(Joint Name)关节参考轴(Reference Axis)关节类型(Joint Type)

 

 4.点击Preview and Export...,设置关节限位Limit,点击左框的link,如法炮制,然后点击Next

 5.最后点击右下角的Export URDF and Meshes,大功告成,将文件拷贝复制到Ubuntu(本人使用)工作空间下的src目录。

操作流程如下: 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
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值