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 了。
2.2 ROS2 Humble 安装
安装过程其实就几步,但顺序很重要。我建议你严格按照下面的来:
- 设置 locale —— 确保系统支持 UTF-8
- 添加 ROS2 源 —— 用官方 apt 仓库
- 安装核心包 —— 选 desktop 版本,别省空间
- 配置环境变量 —— 加到 .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
- 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 没装好,后面 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 加载失败: 检查网络,有些模型文件需要在线下载。
好了,环境搭好了,咱们就可以开始真正的运动控制之旅了。记住,这一步虽然枯燥,但基础打牢了,后面学起来会快很多。