前言
MoveIt2 是 ROS2(Robot Operating System 2)生态中最核心的机械臂运动规划与控制框架,专为工业机械臂、人形机械臂等多关节机器人设计,支持运动规划、路径优化、碰撞检测、实时伺服控制等核心功能,是实现机械臂自主运动、抓取作业的必备工具。本教程面向 ROS2 新手及机械臂控制入门者,聚焦'实操落地',从环境搭建到实战案例,逐步引导大家掌握 MoveIt2 的核心用法,同时整合常见坑点与解决方案,帮助大家高效上手。
适用前提:具备基础的 Ubuntu 系统操作能力(终端命令、文件管理),了解 ROS2 核心概念(节点、话题、服务、Launch 文件),无需机械臂硬件(可通过仿真完成全部实操)。
教程环境:Ubuntu 20.04 + ROS2 Foxy(兼容 Ubuntu 22.04 + ROS2 Humble,关键步骤会标注差异)、Gazebo 11(仿真)、MoveIt2 对应版本。
第一章:环境搭建(核心步骤,避坑重点)
1.1 前置环境准备
MoveIt2 依赖 ROS2 运行,需先完成 ROS2 安装,再安装仿真工具 Gazebo,最后安装 MoveIt2。
1.1.1 ROS2 安装
优先选择 Ubuntu 20.04 + ROS2 Foxy(生态成熟、教程资源多),或 Ubuntu 22.04 + ROS2 Humble(较新稳定版本)。安装步骤参考 ROS2 官方文档,或使用社区提供的一键安装脚本(简化操作,避免依赖冲突)。
验证 ROS2 安装成功:打开终端,输入 ros2 run turtlesim turtlesim_node,能正常启动小海龟仿真即视为成功。
1.1.2 Gazebo 安装
Gazebo 是 ROS2 常用的机器人仿真工具,用于模拟机械臂运动、场景碰撞等,分为两个主流版本,根据系统和 ROS2 版本选择:
- 方案一:Gazebo 11(经典版本,兼容 ROS2 Foxy/Humble/Iron),安装命令:
sudo apt-get install gazebo11 ros-foxy-gazebo-ros-pkgs(Foxy 版本,Humble 替换为 ros-humble-gazebo-ros-pkgs)。 - 方案二:Gazebo Harmonic(新一代版本,推荐 Ubuntu 24.04 + ROS2 Jazzy),安装命令参考官方流程,启动命令为
gz sim。
验证安装:终端输入 gazebo(Gazebo 11)或 gz sim(Harmonic),能正常打开仿真窗口即成功。
1.1.3 MoveIt2 安装
MoveIt2 支持二进制安装(简单快捷,适合新手)和源码编译(灵活,适合自定义功能),优先推荐二进制安装,源码编译仅针对有定制需求的场景。
- 二进制安装(推荐):
ROS2 Foxy 版本:
sudo apt-get install ros-foxy-moveitROS2 Humble 版本:sudo apt-get install ros-humble-moveit - 源码编译(可选,解决依赖冲突):
若二进制安装出现依赖冲突(如类似 ROS Melodic 中'未满足依赖关系'的问题),可通过源码编译解决,步骤如下:
① 创建工作空间:
mkdir -p ~/ws_moveit/src && cd ~/ws_moveit② 下载源码:使用 wstool 工具下载 MoveIt2 相关源码(参考官方 rosinstall 文件),或直接克隆官方稳定源码仓库:git clone https://github.com/ros-planning/moveit2_tutorials.git③ 安装依赖:推荐使用 rosdepc(解决 rosdep 下载慢的问题),命令:rosdepc install -r --from-paths src --ignore-src --rosdistro $ROS_DISTRO -y④ 编译工作空间:colcon build --event-handlers desktop_notification- status- --cmake-args -DCMAKE_BUILD_TYPE=Release(可加 -j2/-j4 控制编译核心数,避免系统卡死) ⑤ 配置环境:echo "source ~/ws_moveit/install/setup.bash" >> ~/.bashrc && source ~/.bashrc
验证 MoveIt2 安装:终端输入 ros2 launch moveit2_tutorials demo.launch.py rviz_tutorial:=true,能启动 RViz 并显示机械臂模型,即视为安装成功。


