SOLIDWORKS 导出ROS URDF仿真模型流程
当前版本:SOLIDWORKS 2024
前言
博主最近在搞机械臂,所以需要仿真测试一下
下载插件
下载地址:sw2urdfSetup
或者使用源码安装:solidworks_urdf_exporter
博主使用的是源码安装,等安装完了,才发现这个视频,可以exe一键安装
安装视频
按照视频的流程,先把插件安装好
安装完之后,打开SOLIDWORKS,就可以在工具栏下找到转换插件了
工具->Tools->Export as URDF

配置模型
设置机械臂的参考几何,学着视频里面的操作来,设置参考几何体
注意:URDF Export Configuration (v1.4)文件是后面配置Export as URDF的时候自动生成的

配置完之后,打开Export as URDF,配置如下图

关于Joint Type的含义
1.Automatically Detect 自动选择,一般为默认为固定关系
2.continuous 转动副,旋转角度无限制
3.revolute 转动副,旋转角度有限制
4.prismatic 移动副,沿基准轴移动,有限位
5.fixed 固定
配置完成之后,就可以导出了

跳出下面页面

必须填的部分(其他留空也不影响基础仿真)
1. Limit(关节限位,必填)
单位是弧度 (rad),别填成角度了!
lower (rad):关节最小角度,比如 -3.14(对应 - 180°)
upper (rad):关节最大角度,比如 3.14(对应 180°)
velocity (rad/s):关节最大转速,填 3.14(对应 180°/s,常规机械臂速度)
effort (N-m):关节最大扭矩,填一个合理值,比如 10(根据你的电机扭矩调整,不影响基础仿真)
2. Axis(关节旋转轴)
x=0, y=0, z=1 表示绕 Z 轴旋转。
3. Origin(关节原点)
插件会根据你选的 frame_J1 自动填充 x/y/z 坐标。
Orientation (rad) 全部填 0 即可。
可选部分(不填也能跑,仿真时用默认值)
Calibration(校准):不用填,留空
Dynamics(动力学):可以填 friction=0.1、damping=0.1,让关节运动更平滑,也可以留空
Safety Controller(安全限制):不用填,留空
导出
全部配置好之后,直接下一步,然后啥也不改,直接导出URDF


这里要注意了,导出的文件名就是我们ros节点的工程名,导出完之后,最好不要随意改动,不然后面加载模型的时候会提示找不到文件
导出来的工程是下面这个样子,这里要注意了:导出的是ROS1的工程,ROS2不能用,后面会说,怎么在ROS2中加载这个模型

这里还需要对urdf/robot.urdf做些修改
修改1
删除第一行的
<?xml version="1.0" encoding="utf-8"?>
将
package://robot
全部替换成ROS工程路径
file:///home/grb/ros2_ws/src/robot
运行工程
将整个robot文件夹扔到你的ros环境中

注意:博主最开始是打开使用Gazebo来加载模型的,但是虚拟机环境加载Gazebo 很卡,后面只能换成rviz2了
打开三个窗口,分别运行下面命令
窗口1
这个是ROS2 自带的「机械臂关节滑块控制面板」
source /opt/ros/humble/setup.bash
ros2 run joint_state_publisher_gui joint_state_publisher_gui
窗口2
运行rviz2
rviz2
窗口3
运行模型
cd ~/ros2_ws/src/robot
ros2 run robot_state_publisher robot_state_publisher urdf/robot.urdf
打开 RViz2 后:
1、左下角 Add
2、选择 RobotModel
3、左边把 Description Topic 改成 /robot_description
4、把 Fixed Frame 改成 base_link
然后你就可以用 joint_state_publisher_gui 的滑块控制关节转动了


效果如下
