选择正确的 ROS 2 发行版
ROS 2 的每个发行版都对应特定的 Ubuntu 版本。对于 Ubuntu 24.04 (Noble),我们需要安装 Jazzy Jalisco 版本。
| ROS 2 发行版 | 发布日期 | EOL 日期 | 推荐的 Ubuntu 版本 | 支持类型 |
|---|---|---|---|---|
| Ardent Apalone | 2017 年 12 月 | 2018 年 12 月 | Ubuntu 16.04 (Xenial) | 标准 |
| Bouncy Bolson | 2018 年 7 月 | 2019 年 7 月 | Ubuntu 18.04 (Bionic) | 标准 |
| Dashing Diademata | 2019 年 5 月 | 2021 年 5 月 | Ubuntu 18.04 (Bionic) | 标准 |
| Foxy Fitzroy | 2020 年 6 月 | 2023 年 6 月 | Ubuntu 20.04 (Focal) | LTS |
| Galactic Geochelone | 2021 年 5 月 | 2022 年 12 月 | Ubuntu 20.04 (Focal) | 标准 |
| Humble Hawksbill | 2022 年 5 月 | 2027 年 5 月 | Ubuntu 22.04 (Jammy) | LTS |
| Iron Irwini | 2023 年 5 月 | 2024 年 12 月 | Ubuntu 22.04 (Jammy) | 标准 |
| Jazzy Jalisco | 2024 年 5 月 | 2029 年 5 月 | Ubuntu 24.04 (Noble) | LTS |
| Kilted Kaiju | 2025 年 5 月 | 2026 年 12 月 | Ubuntu 24.04 (Noble) | 标准 |
开始安装
1. 确保系统支持 UTF-8
首先检查当前 locale 设置,并安装必要的语言包:
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
export LANG=en_US.UTF-8
locale
2. 启用 Universe 存储库
ROS 2 依赖 Ubuntu 的 Universe 仓库,需确认已开启:
sudo apt install software-properties-common
sudo add-apt-repository universe
3. 配置 ROS 2 APT 源
使用 ros-apt-source 包自动管理密钥和源配置,这样后续更新时会自动同步:
sudo apt update && sudo apt install curl -y
export ROS_APT_SOURCE_VERSION=$(curl -s https://api.github.com/repos/ros-infrastructure/ros-apt-source/releases/latest | grep -F "tag_name" | awk -F\" '{print $4}')
curl -L -o /tmp/ros2-apt-source.deb "https://github.com/ros-infrastructure/ros-apt-source/releases/download/${ROS_APT_SOURCE_VERSION}/ros2-apt-source_${ROS_APT_SOURCE_VERSION}.$(. /etc/os-release && echo $VERSION_CODENAME)_all.deb"
sudo dpkg -i /tmp/ros2-apt-source.deb
注意:如果是 Ubuntu 衍生版,可能需要手动指定
$UBUNTU_CODENAME。
4. 安装开发工具(可选)
如果需要编译 ROS 包或进行二次开发,建议提前安装开发工具集:
sudo apt update && sudo apt install ros-dev-tools
5. 更新缓存与系统
在正式安装前,务必刷新 apt 缓存并确保系统处于最新状态,避免依赖冲突:
sudo apt update
sudo apt upgrade
6. 选择安装模式
根据需求选择桌面版或基础版:
- 桌面安装(推荐):包含 RViz、演示节点及教程。
sudo apt install ros-jazzy-desktop - ROS-Base 安装:仅包含通信库、消息包和命令行工具,无 GUI。
sudo apt install ros-jazzy-ros-base
设置环境变量
1. 临时生效
在当前终端会话中激活环境:
source /opt/ros/jazzy/setup.bash
2. 永久生效
编辑 ~/.bashrc 文件,将上述命令追加到末尾:
sudo vim ~/.bashrc
# 或在文件末尾添加以下行
source /opt/ros/jazzy/setup.bash
保存退出后,执行 source ~/.bashrc 使配置立即生效。
验证安装
打开两个独立的终端窗口进行测试:
- 发送端(C++)
ros2 run demo_nodes_cpp talker - 接收端(Python)
ros2 run demo_nodes_py listener
若第一个终端持续输出话题信息,第二个终端能正常接收,即表示 ROS 2 安装成功且通信链路正常。

