1. 搭建MoveIt2开发环境

搭建MoveIt2开发环境 学习卡片

任务目标

在本案例中,你将完成ROS2与MoveIt2开发环境的搭建,并验证安装结果。最终目标是在你的Ubuntu 22.04系统中,能够成功启动MoveIt2的示例机器人(Panda机械臂)并看到RViz可视化界面,为后续100个实战案例提供可运行的软件基础。

环境要求与依赖

  • 操作系统:Ubuntu 22.04 LTS(64位)
  • ROS发行版:ROS2 Humble(与Ubuntu 22.04对应)
  • MoveIt2版本:Humble分支(与ROS2 Humble配套)
  • Python版本:≥3.8(Ubuntu 22.04自带3.10)

安装步骤

以下命令按顺序在终端中执行。若已安装ROS2 Humble基础环境,可直接从第2步开始。

# 1. 安装ROS2 Humble(若未安装)
sudo apt update && sudo apt install -y curl gnupg lsb-release
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
sudo apt update && sudo apt install -y ros-humble-desktop python3-argcomplete

# 2. 安装MoveIt2及相关依赖
sudo apt install -y ros-humble-moveit ros-humble-moveit-visual-tools ros-humble-moveit-resources-panda-moveit-config

# 3. 安装编译工具与测试依赖
sudo apt install -y python3-colcon-common-extensions python3-rosdep

# 4. 初始化rosdep(首次使用需执行)
sudo rosdep init
rosdep update

# 5. 设置环境变量(建议写入~/.bashrc)
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
source ~/.bashrc

验证安装

执行以下命令启动MoveIt2的Panda机械臂示例。该命令会加载Panda机器人的URDF/SRDF配置,并启动RViz可视化界面。

ros2 launch moveit_resources_panda_moveit_config demo.launch.py

通过条件:

  • 终端无报错,显示“You can start planning now!”字样。
  • RViz窗口正常打开,左侧面板显示MotionPlanning插件。
  • RViz中央显示红色Panda机械臂模型,且可通过拖拽交互标记(InteractiveMarker)移动机械臂末端。
MoveIt2环境验证流程 步骤1 安装ROS2 Humble sudo apt install 步骤2 安装MoveIt2 ros-humble-moveit 步骤3 启动Panda示例 ros2 launch 验证结果检查 终端显示 "You can start planning now!" RViz打开,左侧有 MotionPlanning 面板 红色Panda机械臂模型可见且可交互 ✓ 通过

常见问题排查

  • 找不到软件包:执行 sudo apt update 后重试;确认Ubuntu版本为22.04。
  • RViz启动失败:检查是否已source ROS2环境(source /opt/ros/humble/setup.bash)。
  • MoveIt2插件未加载:在RViz中点击左侧“Add”按钮,选择“MotionPlanning”面板手动添加。
  • 机械臂模型不显示:在MotionPlanning面板的“Robot Description”下拉框中选择robot_description。

环境搭建完成后,你的系统已具备运行MoveIt2全部核心功能的能力。后续案例将在此基础上进行运动学求解、轨迹规划、碰撞检测等实战操作。