1. 项目概述
在机器人开发领域,MoveIt作为ROS生态中最强大的运动规划框架,为机械臂控制提供了完整的解决方案。然而在实际应用中,当我们需要将SolidWorks设计的机械臂模型导入ROS2环境时,往往会遇到工具链不兼容的问题——官方提供的SW2URDF插件仅支持ROS1格式输出。本文将详细介绍如何从SolidWorks模型开始,经过一系列适配和配置,最终在ROS2 Humble环境下实现完整的MoveIt2路径规划功能。
这个流程涉及多个关键技术环节:
- SolidWorks模型到URDF的转换与验证
- ROS1到ROS2的URDF文件适配
- MoveIt2配置包的生成与调试
- 运动规划的实际测试
整个过程需要处理模型单位、坐标系、关节约束等多个细节问题,任何一个环节出错都可能导致后续步骤失败。下面我将结合自己三次完整实施的经验,分享其中的关键步骤和避坑指南。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备与工具安装
2.1 基础环境要求
在开始之前,请确保已准备好以下环境:
- Ubuntu 22.04 LTS(ROS2 Humble的官方支持系统)
- 已安装ROS2 Humble桌面完整版
- SolidWorks 2018或更高版本(本文使用2022版演示)
- 约20GB的可用磁盘空间(用于存放模型和编译中间文件)
提示:建议使用物理机而非虚拟机运行ROS2,因为后续的3D可视化对图形性能要求较高。如果必须使用虚拟机,请确保已启用3D加速并分配至少4GB显存。
2.2 SW2URDF插件安装
-
从GitHub仓库下载最新版插件:
bash复制
wget https://github.com/ros/solidworks_urdf_exporter/releases/download/v1.0.0/sw2urdfSetup.exe -
在Windows环境下运行安装程序,注意:
- 安装路径不要包含中文或特殊字符
- 安装完成后需重启SolidWorks
-
验证插件是否加载成功:
- 打开SolidWorks,查看菜单栏是否出现"File > Export as URDF"选项
- 如果未出现,需手动启用插件:Tools > Add-Ins > 勾选"SW2URDF"
2.3 ROS2相关工具安装
在Ubuntu终端中执行以下命令安装必要组件:
bash复制sudo apt update
sudo apt install ros-humble-moveit ros-humble-moveit-setup-assistant \
ros-humble-controller-manager ros-humble-joint-trajectory-controller \
ros-humble-joint-state-broadcaster
3. SolidWorks模型处理与URDF导出
3.1 机械臂模型准备
在SolidWorks中准备模型时,需特别注意以下要点:
-
层级结构组织:
- 每个运动关节应作为单独的子装配体
- 连杆和关节的命名要有明确含义(如"link1", "joint1")
- 使用"Rigid Body"约束定义固定连接
-
坐标系定义:
- 每个关节必须包含正确的坐标系
- Z轴始终指向关节旋转/移动方向
- 使用"Mate"功能对齐相邻关节的坐标系
-
单位系统:
- 在"Document Properties"中确认单位系统为"MMGS"(毫米、克、秒)
- 所有尺寸参数建议以米为单位输入(即1000mm=1m)
3.2 URDF导出详细步骤
-
在SolidWorks中打开完整装配体,选择"File > Export as URDF"
-
在插件界面中配置:
- Base Link:选择机械臂的固定基座
- Joint Type:为每个关节选择正确类型(revolute/prismatic/fixed)
- Axis Definition:确保每个关节的旋转/移动轴与
