您好,
会员登录 快速注册
退出 ( 条未读消息)
关于本站 意见反馈 首页

公告:小宅博客网可以开发票了,需要发票的,去群里找群主哈!!
全部文章分类
  • 人工智能 >

  • 编程语言 >

  • WPF系列 >

  • ASP.NET系列 >

  • Linux >

  • 数据库 >

  • 嵌入式 >

  • WEB技术 >

  • PLC系列 >

  • 微服务与框架 >

  • 艺术与DIY >

  • 学习资料 >

OpenCv基础 ANN车牌识别 yolov5车牌识别 指针式仪表识别 ROS系列 YOLO Halcon Detectron2 昇腾AI ChatGPT在线体验 英伟达JETSON ChatGLM ChatTTS FunASR 地平线 ByteTrack 魔搭社区 LangChain SOLIDWORKS
C C# C++ Python Java Go
WPF
ASP.NET小功能 GPS定位系统-MVC GPS定位系统-VUE ASP.NET WebRTC
Linux Linux内核 Shell MakeFile
MySql SqlServer Oracle
STM8 STM32 51单片机
VUE入门 HTML JavaScript CSS layui镜像网站 ElementUi中文官网 element-plus 图标 Vue - Ant Design官方
三菱 欧姆龙 西门子 施耐德 松下 台达
IOTSharp IOTGateway ABP FRAMEWORK Docker
亚克力音响 编程仙途:智驭万法 书画艺术
面试题与技巧 Python入门技能树 微软C#教程
首页 编程之美 工具下载 全国就业 流量地图 文心一言
SOLIDWORKS
SOLIDWORKS 导出ROS URDF仿真模型流程
激萌の小宅 小宅博客 SOLIDWORKS

文章作者:激萌の小宅

促销:¥0

价格:¥0

配送方式: 购买后立即生效(如购买异常,请联系站长)
付款之后一定要等待自动跳转结束,否则购买可能会失败
  • 0 天

    有效期

  • 0

    总销量

  • 0

    累计评价

SOLIDWORKS 导出ROS URDF仿真模型流程

当前版本:SOLIDWORKS 2024

前言

    博主最近在搞机械臂,所以需要仿真测试一下


下载插件

下载地址:sw2urdfSetup

或者使用源码安装:solidworks_urdf_exporter


博主使用的是源码安装,等安装完了,才发现这个视频,可以exe一键安装

安装视频


按照视频的流程,先把插件安装好


安装完之后,打开SOLIDWORKS,就可以在工具栏下找到转换插件了

工具->Tools->Export as URDF

ScreenShot_2026-05-08_192310_070.jpg


配置模型

设置机械臂的参考几何,学着视频里面的操作来,设置参考几何体

注意:URDF Export Configuration (v1.4)文件是后面配置Export as URDF的时候自动生成的

ScreenShot_2026-05-08_192519_812.jpg


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

ScreenShot_2026-05-08_192735_788.jpg ScreenShot_2026-05-08_192901_007.jpg


关于Joint Type的含义

1.Automatically Detect 自动选择,一般为默认为固定关系

2.continuous  转动副,旋转角度无限制

3.revolute 转动副,旋转角度有限制

4.prismatic 移动副,沿基准轴移动,有限位

5.fixed 固定


配置完成之后,就可以导出了

ScreenShot_2026-05-08_193428_577.jpg


跳出下面页面

ScreenShot_2026-05-08_193528_056.jpg


必须填的部分(其他留空也不影响基础仿真)

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

ScreenShot_2026-05-08_194039_088.jpg


ScreenShot_2026-05-08_194145_462.jpg


这里要注意了,导出的文件名就是我们ros节点的工程名,导出完之后,最好不要随意改动,不然后面加载模型的时候会提示找不到文件

导出来的工程是下面这个样子,这里要注意了:导出的是ROS1的工程,ROS2不能用,后面会说,怎么在ROS2中加载这个模型

ScreenShot_2026-05-08_194416_117.jpg


这里还需要对urdf/robot.urdf做些修改

修改1

删除第一行的

<?xml version="1.0" encoding="utf-8"?>


将

package://robot

全部替换成ROS工程路径

file:///home/grb/ros2_ws/src/robot


运行工程

将整个robot文件夹扔到你的ros环境中

ScreenShot_2026-05-08_194852_775.jpg


注意:博主最开始是打开使用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 的滑块控制关节转动了

ScreenShot_2026-05-08_200039_513.jpg

ScreenShot_2026-05-08_200015_084.jpg


效果如下
robot.gif

友情链接: CSDN激萌の小宅 95知识库 自考题库 罗分明个人网络博客 精益编程leanboot

小宅博客  www.bilibili996.com All Rights Reserved. 备案号: 闽ICP备2024034575号

网站经营许可证  福建省福州市 Copyright©2021-2026 版权所有

小宅博客
首页 智能家居 地图定位
公告:小宅博客网可以开发票了,需要发票的,去群里找群主哈!!

文章作者:激萌の小宅

促销:¥0

价格:¥0

配送方式: 购买后立即生效(如购买异常,请联系站长)
付款之后一定要等待自动跳转结束,否则购买可能会失败
  • 0 天

    有效期

  • 0

    总销量

  • 0

    累计评价

SOLIDWORKS 导出ROS URDF仿真模型流程

当前版本:SOLIDWORKS 2024

前言

    博主最近在搞机械臂,所以需要仿真测试一下


下载插件

下载地址:sw2urdfSetup

或者使用源码安装:solidworks_urdf_exporter


博主使用的是源码安装,等安装完了,才发现这个视频,可以exe一键安装

安装视频


按照视频的流程,先把插件安装好


安装完之后,打开SOLIDWORKS,就可以在工具栏下找到转换插件了

工具->Tools->Export as URDF

ScreenShot_2026-05-08_192310_070.jpg


配置模型

设置机械臂的参考几何,学着视频里面的操作来,设置参考几何体

注意:URDF Export Configuration (v1.4)文件是后面配置Export as URDF的时候自动生成的

ScreenShot_2026-05-08_192519_812.jpg


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

ScreenShot_2026-05-08_192735_788.jpg ScreenShot_2026-05-08_192901_007.jpg


关于Joint Type的含义

1.Automatically Detect 自动选择,一般为默认为固定关系

2.continuous  转动副,旋转角度无限制

3.revolute 转动副,旋转角度有限制

4.prismatic 移动副,沿基准轴移动,有限位

5.fixed 固定


配置完成之后,就可以导出了

ScreenShot_2026-05-08_193428_577.jpg


跳出下面页面

ScreenShot_2026-05-08_193528_056.jpg


必须填的部分(其他留空也不影响基础仿真)

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

ScreenShot_2026-05-08_194039_088.jpg


ScreenShot_2026-05-08_194145_462.jpg


这里要注意了,导出的文件名就是我们ros节点的工程名,导出完之后,最好不要随意改动,不然后面加载模型的时候会提示找不到文件

导出来的工程是下面这个样子,这里要注意了:导出的是ROS1的工程,ROS2不能用,后面会说,怎么在ROS2中加载这个模型

ScreenShot_2026-05-08_194416_117.jpg


这里还需要对urdf/robot.urdf做些修改

修改1

删除第一行的

<?xml version="1.0" encoding="utf-8"?>


将

package://robot

全部替换成ROS工程路径

file:///home/grb/ros2_ws/src/robot


运行工程

将整个robot文件夹扔到你的ros环境中

ScreenShot_2026-05-08_194852_775.jpg


注意:博主最开始是打开使用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 的滑块控制关节转动了

ScreenShot_2026-05-08_200039_513.jpg

ScreenShot_2026-05-08_200015_084.jpg


效果如下
robot.gif