随笔——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
相关推荐
wljy19 小时前
二、进制状态转换
linux·运维·服务器·c语言·c++
week@eight9 小时前
Linux - Doris
linux·运维·数据库·mysql
平行云9 小时前
实时云渲染预启动技术解析:UE数字孪生应用的延迟优化机制(二)
linux·unity·ue5·webgl·实时云渲染·云桌面·像素流
看到代码头都是大的9 小时前
CentOS环境下手动升级openssl、openssh
linux·运维·centos
浮生若城9 小时前
Linux——Ext系列文件系统
linux·运维·服务器
枳实-叶10 小时前
【Linux驱动开发】第16天:按键中断完整实战
linux·运维·驱动开发
杨云龙UP11 小时前
Oracle Recycle Bin 回收站详解:DROP TABLE 后还能找回吗?
linux·运维·数据库·sql·mysql·oracle
又熟了13 小时前
乌班图Ubuntu安装
linux·运维·ubuntu
peixiuhui13 小时前
RK3506 ubuntu22.04系统编译
ubuntu·开发板·核心板·工控机·ubuntu22.04·瑞芯微·rk3506
Cat_Rocky13 小时前
Linux-ansible之Playbook简单应用
linux·网络·ansible