随笔——ROS Ubuntu版本变化详解

从Ubuntu 18.04到24.04,ROS经历了从ROS 1末期到ROS 2全面成熟的技术换代。核心变化包括:通信架构去中心化、底层全面转向DDS标准、原生支持Python 3、工具链和API全面革新,以及安全性和实时性大幅增强。

📜 ROS & Ubuntu 版本全景图

下表详细列出了从Ubuntu 18.04到24.04各个主要ROS版本的对应关系、发布时间及官方支持状态。

Ubuntu 版本 代号 ROS 版本 代号 发布时间 EOL (支持结束) 备注
18.04 LTS Bionic ROS 1 Melodic Morenia 2018.05 2023.05 ROS 1 重要的 LTS 版本之一
ROS 2 Dashing Diademata 2019.05 2021.05 ROS 2 首个官方 LTS 版本
ROS 2 Eloquent Elusor 2019.11 2020.11 ROS 2 短期支持版本
20.04 LTS Focal ROS 1 Noetic Ninjemys 2020.05 2025.05 ROS 1 最终版本,官方推荐
ROS 2 Foxy Fitzroy 2020.06 2023.06 ROS 2 首个3年LTS版本,应用广泛
ROS 2 Galactic Geochelone 2021.05 2022.12 ROS 2 短期支持版本,优化了性能
22.04 LTS Jammy ROS 2 Humble Hawksbill 2022.05 2027.05 ROS 2 首个5年LTS版本,主流选择
ROS 2 Iron Irwini 2023.05 2024.11 ROS 2 短期支持版本,引入新API
24.04 LTS Noble ROS 2 Jazzy Jalisco 2024.05 2029.05 最新ROS 2 LTS版本,适配新系统
24.04 LTS Noble ROS 2 Rolling Ridley 持续更新 持续支持 滚动开发版,用于体验最新特性

注意 :ROS 1 Noetic 的官方支持已于 2025年5月 结束。

🚀 从18.04到24.04:ROS版本选型路线图

下图清晰地展示了从Ubuntu 18.04到24.04,你应该如何选择ROS版本。
Ubuntu 18.04

Bionic
选择路径
ROS 1 路线
ROS 2 路线
ROS 1 Melodic

LTS 至 2023.05
ROS 2 Dashing

LTS 至 2021.05
迁移至 Ubuntu 20.04
迁移至 Ubuntu 20.04
Ubuntu 20.04

Focal
选择路径
ROS 1 Noetic

最后一个 ROS 1 版本

LTS 至 2025.05
ROS 2 Foxy

ROS 2 首个 LTS

LTS 至 2023.06
建议转向 ROS 2
Ubuntu 22.04

Jammy
ROS 2 Humble

首个 5 年 LTS 版本

LTS 至 2027.05
Ubuntu 24.04

Noble
ROS 2 Jazzy

最新 LTS 版本

LTS 至 2029.05

⚙️ 关键变化:从ROS 1到ROS 2的深度革新

从Ubuntu 18.04到24.04,ROS版本的变化背后是ROS 2对ROS 1的全面重构

  • 核心架构 :从依赖中心节点的集中式,变为去中心化的分布式架构,通过DDS自动发现,从根本上解决了单点故障问题。
  • 底层通信 :全面转向工业级的 DDS(数据分发服务) 标准,带来了可配置的QoS策略和更好的安全性。
  • 语言与标准 :全面转向 Python 3 ,并将C++标准从C++11提升至C++14/17,代码更现代高效。
  • 构建与工具 :编译系统从catkin_make变更为**colcon build**,几乎所有命令行工具都从ros*变为了 ros2 * 的格式,更加清晰统一。
  • 安全与实时性 :安全方面,ROS 2通过SROS2 提供了节点加密通信、权限控制等工业级功能。实时性方面,通过Preempt_RT补丁和DDS的调优,ROS 2能实现微秒级(µs)的确定性延迟,远超ROS 1的毫秒级(ms)。

🎯 选型建议

面对如此多的版本,如何进行选择呢?

  • 维护旧项目 :若你的旧项目基于ROS 1,可继续使用Ubuntu 20.04 + ROS 1 Noetic组合,但建议尽快规划向ROS 2的迁移。
  • 新项目首选 :建议直接采用成熟的Ubuntu 22.04 + ROS 2 Humble组合,社区资源丰富,生态兼容性好,足以满足绝大多数新项目的需求。
  • 尝鲜新技术 :如果你想第一时间体验ROS 2的最新特性,可以选择Ubuntu 24.04 + ROS 2 Jazzy
相关推荐
爱学习的小囧2 小时前
ESXi CPU 使用率高怎么排查?esxtop 一键定位占用高的虚拟机与进程
java·linux·运维·服务器·网络·虚拟化
Fanfanaas2 小时前
Linux 进程篇 (四)
linux·运维·服务器·开发语言·c++·学习
发发就是发2 小时前
触摸屏驱动调试手记:从I2C鬼点到坐标漂移的实战录
linux·服务器·驱动开发·单片机·嵌入式硬件
boss-dog2 小时前
3D视觉机器人中手眼标定的精度提升方法记录——ICP算法
算法·3d·机器人·手眼标定·icp
Jacob程序员2 小时前
Linux 下启动达梦数据库 Manager 图形化客户端
linux·运维·服务器
IMPYLH2 小时前
Linux 的 pwd 命令
linux·运维·服务器·bash
sanzk2 小时前
astra pro稠密建图
ubuntu·ros·3d相机
网络安全许木2 小时前
自学渗透测试第18天(Powershell与远程连接)
linux·网络安全·渗透测试·kali linux
SPC的存折2 小时前
在Alpine 搭建 WordPress
linux·运维·服务器·数据库·php