2、开发环境搭建:Ubuntu 22.04 + ROS2 Humble + MoveIt2 安装与验证

说实话,搭建开发环境这件事,看着简单,但坑是真不少。我见过太多同学卡在安装这一步,折腾一整天连个节点都跑不起来。所以这一章,咱们就踏踏实实把环境搞定。

我个人习惯用 Ubuntu 22.04 搭配 ROS2 Humble,这套组合目前最稳定。你想想看,如果系统都不稳,后面做运动规划那不是给自己找麻烦吗?

2.1 系统要求与版本选择

先说说硬件。你不需要多好的电脑,但有些底线得守住:

项目 最低要求 推荐配置
操作系统 Ubuntu 22.04 LTS Ubuntu 22.04 LTS
CPU 双核 x86_64 四核及以上
内存 4 GB 8 GB 以上
磁盘 20 GB 空闲 40 GB SSD
GPU 无要求 NVIDIA 显卡(可选)

为什么选 Humble?因为它是 ROS2 的长期支持版本,支持到 2027 年。我在项目里吃过版本不兼容的亏,从那以后就只认 LTS 了。

注意: 千万别用 Ubuntu 24.04 或者 ROS2 Rolling,很多 MoveIt2 的包还没适配,你会哭的。

2.2 ROS2 Humble 安装

安装过程其实就几步,但顺序很重要。我建议你严格按照下面的来:

  1. 设置 locale —— 确保系统支持 UTF-8
  2. 添加 ROS2 源 —— 用官方 apt 仓库
  3. 安装核心包 —— 选 desktop 版本,别省空间
  4. 配置环境变量 —— 加到 .bashrc 里

直接上命令吧:

# 1. 设置 locale
sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8

# 2. 添加 ROS2 源
sudo apt install software-properties-common
sudo add-apt-repository universe
sudo apt update && sudo apt install curl -y
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 $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

# 3. 安装 ROS2 Humble Desktop
sudo apt update
sudo apt install ros-humble-desktop python3-argcomplete -y

# 4. 配置环境变量
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
source ~/.bashrc
小技巧: 安装完成后,打开一个新终端,输入 ros2 --version,如果看到版本号,说明装好了。我曾经遇到一个同学,装完没 source 环境变量,折腾了半天才发现。

2.3 MoveIt2 安装

MoveIt2 的安装有两种方式:二进制安装和源码编译。我建议你第一次用二进制,省时间。等后面需要定制功能了,再考虑源码。

二进制安装很简单:

sudo apt install ros-humble-moveit -y

嗯,就这一行。但别高兴太早,安装过程中可能会遇到依赖冲突。我记得有一次,系统里之前装过 ROS1,结果和 ROS2 的包冲突了。解决办法是:

# 如果遇到依赖问题,先清理旧包
sudo apt autoremove
sudo apt --fix-broken install
# 然后再装 MoveIt2
sudo apt install ros-humble-moveit -y
核心依赖: MoveIt2 会自动安装以下关键包:
  • moveit_core —— 核心运动规划库
  • moveit_ros_planning —— ROS 接口层
  • moveit_ros_warehouse —— 场景存储
  • moveit_visual_tools —— 可视化工具

2.4 工作空间创建与编译测试

环境装好了,咱们得建个工作空间。我个人习惯把项目都放在 ~/ros2_ws 下,这样好管理。

# 创建工作空间
mkdir -p ~/ros2_ws/src
cd ~/ros2_ws
colcon build

# 测试编译是否成功
echo "source ~/ros2_ws/install/setup.bash" >> ~/.bashrc
source ~/.bashrc

这里有个坑:第一次 colcon build 可能会报错,说缺少某些 Python 包。别慌,装上就行:

pip install setuptools==58.2.0

为什么会这样?因为 Ubuntu 22.04 自带的 setuptools 版本太高,和 ROS2 不兼容。我当初查这个 bug 查了半小时,后来发现是版本问题。

2.5 验证安装:运行 Demo 示例

环境搭好了,咱们跑个 Demo 验证一下。MoveIt2 自带了一个 Panda 机器人的示例,直接就能用。

# 启动 Panda 机器人仿真
ros2 launch moveit2_tutorials demo.launch.py

如果一切正常,你会看到 Rviz 界面弹出来,里面有一个 Panda 机械臂。你可以用交互工具拖动它,看看运动规划是否正常工作。

验证清单:
  • Rviz 是否正常启动?
  • Panda 模型是否显示?
  • 拖动末端执行器时,是否有规划轨迹?
  • 终端是否有报错信息?

我记得第一次跑通这个 Demo 时,心里还是挺激动的。虽然只是拖动了一下机械臂,但那种「我能控制它了」的感觉,真的很棒。

2.6 知识体系总览

下面这张图,把咱们这一章的核心逻辑串起来了。你仔细看看,心里就有数了:

开发环境搭建核心流程 Ubuntu 22.04 LTS ROS2 Humble MoveIt2 Panda Demo 验证 系统基础层 通信中间件 运动控制框架 功能验证

说白了,整个搭建过程就是「搭积木」。底层系统稳了,上层才能跑得顺。你想想看,如果 Ubuntu 没装好,后面 ROS2 和 MoveIt2 装得再漂亮也没用。

2.7 常见问题与避坑指南

最后,我把自己踩过的坑整理一下,你遇到了直接对照着查:

  • colcon build 报错: 检查 Python 版本,确保是 3.10。用 python3 --version 查看。
  • Rviz 启动黑屏: 多半是显卡驱动问题。试试 export LIBGL_ALWAYS_SOFTWARE=1 强制软件渲染。
  • 找不到 moveit 包: 确认 source /opt/ros/humble/setup.bash 已经执行。
  • Demo 加载失败: 检查网络,有些模型文件需要在线下载。
曾经我遇到过: 一个同学在虚拟机里装 ROS2,结果 Rviz 怎么都跑不起来。折腾了两天,最后发现是虚拟机没开 3D 加速。所以,如果你用虚拟机,记得在设置里把「启用 3D 加速」勾上。

好了,环境搭好了,咱们就可以开始真正的运动控制之旅了。记住,这一步虽然枯燥,但基础打牢了,后面学起来会快很多。