ROS2 MoveIt2 机械臂运动规划与控制实战
MoveIt2 是 ROS2 生态中最核心的机械臂运动规划与控制框架,专为工业及多关节机器人设计。它支持运动规划、路径优化、碰撞检测及实时伺服控制,是实现机械臂自主运动和抓取作业的关键工具。本教程面向 ROS2 新手,聚焦实操落地,从环境搭建到仿真案例,逐步引导掌握核心用法。
适用前提:具备 Ubuntu 系统操作能力(终端命令、文件管理),了解 ROS2 核心概念(节点、话题、服务、Launch 文件)。无需真实硬件,可通过仿真完成全部实操。
环境搭建
前置准备
MoveIt2 依赖 ROS2 运行,需先安装 ROS2,再配置 Gazebo 仿真工具,最后部署 MoveIt2。
ROS2 安装
推荐 Ubuntu 20.04 + ROS2 Foxy 或 Ubuntu 22.04 + ROS2 Humble。安装步骤参考官方文档,也可使用社区提供的一键脚本简化操作。
验证安装:打开终端输入 ros2 run turtlesim turtlesim_node,若能启动小海龟仿真即成功。
Gazebo 安装
Gazebo 用于模拟机械臂运动与场景碰撞。根据版本选择:
- Gazebo 11(兼容 Foxy/Humble):
sudo apt-get install gazebo11 ros-foxy-gazebo-ros-pkgs - Gazebo Harmonic(兼容 Jazzy):参考官方流程,启动命令为
gz sim。
验证:终端输入 gazebo 或 gz sim,能打开窗口即成功。
MoveIt2 安装
优先推荐二进制安装,源码编译仅针对有定制需求的场景。
-
二进制安装:
- Foxy:
sudo apt-get install ros-foxy-moveit - Humble:
sudo apt-get install ros-humble-moveit
- Foxy:
-
源码编译(解决依赖冲突):
- 创建工作空间:
mkdir -p ~/ws_moveit/src && cd ~/ws_moveit - 下载源码:克隆官方仓库
git clone https://github.com/ros-planning/moveit2_tutorials.git - 安装依赖:
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 - 配置环境:
echo "source ~/ws_moveit/install/setup.bash" >> ~/.bashrc && source ~/.bashrc
- 创建工作空间:
验证:输入 ros2 launch moveit2_tutorials demo.launch.py rviz_tutorial:=true,RViz 显示模型即成功。
常见问题排查
- rosdep 失败:替换为
rosdepc安装依赖。 - 编译卡死:加
-j2限制核心数,或安装ccache。 - 未找到 tutorials:检查工作空间是否 source,或重新克隆样例程序。
- Anaconda 冲突:删除 Anaconda 中的
libcurl.so.4,指向系统 ROS 版本。


