关于Ubuntu和ROS2版本的选择问题

你好!这是一个非常好的问题,因为选择正确的版本对于后续的开发和学习至关重要。

对于你的 Ubuntu 20.04 (Focal Fossa) 系统,情况有些特殊,我们来详细分析一下。

结论先行:你的最佳选择

  1. 强烈推荐:升级系统到 Ubuntu 22.04,然后安装 ROS 2 Humble Hawksbill。
    这是最省心、最稳定、支持最长久的方案。ROS 2 Humble 和 Ubuntu 22.04 都是 LTS (长期支持) 版本,它们的生命周期完美匹配,社区支持和预编译的软件包也最丰富。

  2. 次优选择(如果不能升级系统):使用 Docker。
    在你的 Ubuntu 20.04 系统上,通过 Docker 运行一个包含 Ubuntu 22.04 + ROS 2 Humble 的容器。这样你既不用更改主系统,又能享受到最新的、受支持的 ROS 2 版本。

  3. 不推荐的选择(仅限特殊情况):安装已停止支持的版本。
    Ubuntu 20.04 官方支持的 ROS 2 版本是 Foxy FitzroyGalactic Geochelone但请注意:这两个版本现在均已停止支持(EOL - End of Life)。这意味着它们不会再有安全更新和bug修复,很多新的软件包可能也不再支持它们。


各版本之间的关系与详解

ROS 2 的发布策略和 Ubuntu 非常相似,有长期支持版(LTS)和普通版。通常每年5月份发布一个新版本。

1. 版本类型
  • LTS (Long-Term Support) 版本: 长期支持版。提供长达5年的支持(包括bug修复和安全更新),非常稳定,是企业开发和长期项目的首选。Humble Hawksbill 就是一个LTS版本。之前的LTS是 Foxy Fitzroy。
  • 普通版本 (Standard Release): 提供大约1.5年的支持。它们在两个LTS版本之间发布,用于引入新的功能和API,可以看作是下一个LTS的“试验田”。Galactic Geochelone 就是一个普通版本。
  • Rolling Release (滚动版): 这是ROS 2的“开发主干”。它会持续不断地更新,包含最新的、甚至还未正式发布的功能。它适合想体验最前沿技术、为ROS 2贡献代码的开发者,但不稳定,不适合新手或生产环境。它的代号是 Rolling Ridley
2. 版本与 Ubuntu 的对应关系

这是理解问题的关键。每个ROS 2版本都主要针对一个特定的Ubuntu版本进行构建和测试。

ROS 2 版本名称 发布日期 支持类型 支持截止 (EOL) 主要目标 Ubuntu 版本
Foxy Fitzroy 2020年6月 LTS 2023年5月 (已结束) Ubuntu 20.04 (Focal)
Galactic Geochelone 2021年5月 普通版 2022年11月 (已结束) Ubuntu 20.04 (Focal)
Humble Hawksbill 2022年5月 LTS 2027年5月 Ubuntu 22.04 (Jammy)
Iron Irwini 2023年5月 普通版 2024年11月 Ubuntu 22.04 (Jammy)
Rolling Ridley 持续更新 开发版 - 通常是最新的Ubuntu LTS

从上表可以清晰地看到:

  • 你的 Ubuntu 20.04 系统,其官方原生支持的ROS 2版本是 Foxy 和 Galactic。
  • 但是,这两个版本都已经过了支持周期 (EOL)。继续使用它们意味着你将独自面对所有问题,无法获得官方的任何帮助和更新。
  • 目前主流且受支持的LTS版本 Humble,其主要目标平台是 Ubuntu 22.04

给你的具体行动建议

方案一:升级系统(最推荐)

这是最一劳永逸的办法。

  1. 备份你的重要数据。
  2. 将 Ubuntu 20.04 升级到 22.04。可以通过系统自带的软件更新器完成,或者制作一个 22.04 的启动盘进行全新安装(更干净)。
  3. 根据 ROS 2 官方文档,在 Ubuntu 22.04 上安装 ROS 2 Humble

优点

  • 系统和ROS 2都是LTS,可以稳定使用到2027年。
  • 可以获得最广泛的社区支持和最新的软件包。
  • 安装过程是官方标准流程,简单直接。
方案二:使用 Docker(很灵活)

如果你因为某些原因不能升级主机操作系统(比如有其他软件依赖于20.04)。

  1. 在你的 Ubuntu 20.04 上安装 Docker。
  2. 从 Docker Hub 拉取官方的 ROS 2 Humble 镜像:docker pull ros:humble
  3. 运行一个 ROS 2 Humble 容器。你可以在容器里进行所有的ROS 2开发工作。

优点

  • 不影响你现有的 Ubuntu 20.04 系统。
  • 可以使用最新的、受支持的 ROS 2 Humble。
  • 环境隔离,干净且可复现。

缺点

  • 需要学习一些基本的 Docker 命令。
  • 与硬件(如摄像头、LIDAR)和图形界面(如 RViz)的交互会比原生安装稍微复杂一些(但都有成熟的解决方案)。
方案三:从源码编译(不推荐给新手)

你也可以尝试在 Ubuntu 20.04 上从源码编译安装 ROS 2 Humble。但这非常复杂,你会遇到大量的依赖问题(比如需要更高版本的编译器、Python库等),整个过程非常耗时且容易出错,极不推荐新手尝试。


总结:为了你的学习和开发体验,强烈建议你花点时间将系统升级到 Ubuntu 22.04,然后安装 ROS 2 Humble。如果实在无法升级,那么使用 Docker 是第二好的选择。尽量避免使用已经停止支持的 Foxy 或 Galactic。

你可能感兴趣的:(Ubuntu,ubuntu,linux,ros,ros2)