1. ROS2 Rolling 版源码编译指南
作为一名长期从事机器人开发的工程师,我经常需要从源码构建ROS2环境。相比二进制安装,源码编译能让你更灵活地定制功能、调试底层代码,特别适合参与ROS2核心开发或需要深度定制的场景。本文将详细介绍从零开始获取和编译ROS2 Rolling版本的全过程。
Rolling是ROS2的持续更新版本,相当于Ubuntu中的"滚动发行版"。它包含所有最新功能但稳定性相对较低,适合开发测试环境。整个源码由上百个独立Git仓库组成,官方通过vcs工具提供了一键式管理方案。下面我会分步骤说明如何搭建完整的编译环境。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备与依赖安装
2.1 系统要求
推荐使用Ubuntu 22.04或20.04 LTS版本,这是ROS2官方主要支持的系统。虽然理论上其他Linux发行版也能编译,但需要自行解决大量依赖问题。我的测试环境是Ubuntu 22.04.3 LTS,内核版本5.15.0-76-generic。
注意:ROS2 Rolling对系统要求较高,建议至少分配4GB内存和30GB磁盘空间。完整编译过程会产生大量中间文件,小容量SSD可能会遇到存储不足的问题。
2.2 基础工具链安装
首先更新软件源并安装必要的开发工具:
bash复制sudo apt update && sudo apt upgrade -y
sudo apt install -y \
git \
python3-vcstool \
python3-rosdep \
build-essential \
cmake \
python3-colcon-common-extensions
这些工具的作用分别是:
- git:版本控制,用于克隆源码仓库
- vcstool:批量管理多个Git仓库
- rosdep:自动处理系统依赖
- build-essential:GCC编译工具链
- cmake:项目构建系统
- colcon:ROS2的构建工具
我建议在全新系统中先执行sudo apt update && sudo apt upgrade -y更新所有已安装包,避免潜在的版本冲突问题。
3. 源码获取与管理
3.1 创建工作空间
遵循ROS开发惯例,我们先创建专用工作空间:
bash复制mkdir -p ~/ros2_rolling/src
cd ~/ros2_rolling
这种结构将源码(src)、构建文件(build)和安装文件(install)分离,是ROS社区的标准做法。我通常在用户主目录下创建ros2_rolling目录,你也可以根据喜好选择其他位置。
3.2 获取仓库清单
ROS2 Rolling由数百个独立仓库组成,官方提供了仓库清单文件:
bash复制wget https://raw.githubusercontent.com/ros2/r
