简洁版本:

  • ROS Noetic + Gazebo 11 (ubuntu 20.04)
  • ROS Jazzy + Gazebo Harmonic (ubuntu 24.04)

其他版本搭配也可以学习和研究但是成本过高。

如何贯穿从ROS kinetic到ROS Jazzy的教程。

如何实现旧新的平滑过度。

ROS/ROS2版本和Gazebo版本_发行版


ROS Noetic文档

http://wiki.ros.org/ROS/Tutorials

ROS Jazzy文档

https://docs.ros.org/en/jazzy/

 Gazebo harmonic文档

https://gazebosim.org/docs/harmonic/getstarted/



ROS 1 发行版

ROS 1 的发行版遵循一定的命名规则和发布周期。以下是一些历史上和当前的ROS 1发行版示例:

  • Indigo Iguana:这是较早的一个ROS 1发行版,发布于2014年。它包含了当时稳定的ROS软件包和工具,适用于需要稳定开发环境的开发者。
  • Jade Turtlebot:紧随Indigo之后发布,提供了更多功能和改进。
  • Kinetic Kame:于2016年发布,是ROS 1中一个广泛使用的发行版,支持Ubuntu 16.04 LTS。
  • Melodic Morenia:发布于2018年,支持Ubuntu 18.04 LTS,提供了进一步的性能提升和新特性。
  • Noetic Ninjemys:是ROS 1的较新发行版,发布于2020年,支持Ubuntu 20.04 LTS,并包含了对Python 3的全面支持。

ROS 2 发行版

ROS 2 的发行版采用了不同的命名规则和更短的发布周期,通常每年发布一个新的稳定版本。以下是一些ROS 2的发行版示例:

  • Ardent Apalone:ROS 2的早期发行版之一,主要用于测试和验证ROS 2的新特性。
  • Dashing Diademata:第一个官方支持的ROS 2发行版,提供了稳定的核心功能和API。
  • Eloquent ElusorFoxy FitzroyGalactic GeocheloneHumble HawksbillIron IrwiniJazzy Jalisco:这些是按顺序发布的ROS 2发行版,每个版本都带来了性能提升、新特性和对旧版本的修复。

发行版的特点

  • 稳定性:每个发行版都经过测试,确保核心软件包的稳定性和兼容性。
  • 支持周期:每个发行版都有一个支持周期,期间会接收安全更新和关键修复。
  • 向后兼容性:ROS努力保持向后兼容性,但某些新特性可能仅在较新的发行版中可用。
  • 依赖关系:安装ROS发行版时,会自动安装所需的依赖软件包,简化了安装过程。

如何选择ROS发行版

选择ROS发行版时,应考虑以下因素:

  • 项目需求:根据项目需求选择合适的ROS发行版。例如,如果需要Python 3支持,则应选择Noetic或更新的发行版。
  • 操作系统兼容性:确保所选ROS发行版与您的操作系统版本兼容。
  • 社区支持:考虑发行版的社区支持情况,包括可用的教程、文档和第三方软件包。
  • 未来规划:关注ROS的未来规划和发行版路线图,以便为项目选择合适的长期支持方案。

综上所述,ROS发行版是ROS软件平台的特定版本,包含了稳定的ROS软件包和工具。选择合适的ROS发行版对于机器人应用的开发至关重要。



在您提供的文本中,“分布(Distribution)”是ROS(Robot Operating System)中用于描述一组具有特定版本号的ROS软件包的概念。为了与常见的术语保持一致,并将“分布”更准确地称为“发行版”,我们可以对文本进行如下修改:


ROS 发行版详解

什么是发行版(Release)?
在 ROS(Robot Operating System)中,发行版是指一组具有特定版本号的 ROS 软件包。这与 Linux 发行版(如 Ubuntu)类似。ROS 发行版的目的是让开发者能够在相对稳定的代码库上进行工作,直到他们准备好将所有内容向前推进。因此,一旦发行版发布,我们尽量限制对核心软件包(即 ros-desktop-full 下的所有内容)的更改,仅限于修复错误和非破坏性改进。这一原则通常适用于整个社区,但对于更高级别的软件包,规则较为宽松,因此避免破坏性更改的责任落在了特定软件包的维护者身上。

当前和历史发行版列表
以下是当前和历史上的 ROS 2 发行版列表。表中用绿色标记的行表示当前支持的发行版。

  • Jazzy Jalisco:2024年5月23日发布,预计支持到2029年5月。
  • Iron Irwini:2023年5月23日发布,预计支持到2024年11月。
  • Humble Hawksbill:2022年5月23日发布,预计支持到2027年5月。
  • Galactic Geochelone:2021年5月23日发布,已于2022年12月9日结束支持。
  • Foxy Fitzroy:2020年6月5日发布,已于2023年6月20日结束支持。
  • Eloquent Elusor:2019年11月22日发布,已于2020年11月结束支持。
  • Dashing Diademata:2019年5月31日发布,已于2021年5月结束支持。
  • Crystal Clemmys:2018年12月14日发布,已于2019年12月结束支持。
  • Bouncy Bolson:2018年7月2日发布,已于2019年7月结束支持。
  • Ardent Apalone:2017年12月8日发布,已于2018年12月结束支持。
  • beta3 至 alpha8:这些是最早的ROS 2开发版本,现已结束支持。

未来发行版
每年5月23日(世界海龟日)都会发布新的 ROS 2 发行版。下一个发行版是 Kilted Kaiju,预计于2025年5月发布,支持到2026年11月。

滚动发行版(Rolling Release)
ROS 2 Rolling Ridley 是 ROS 2 的滚动开发发行版。它首次于2020年6月引入,旨在作为未来稳定发行版的试验场,并集合最新的开发版本。滚动发行版会不断更新,并且可能包含破坏性更改。因此,建议大多数人使用最新的稳定发行版(见发行版列表)。

发布到滚动发行版的软件包将自动发布到未来的 ROS 2 稳定发行版中。将 ROS 2 软件包发布到滚动发行版的程序与其他 ROS 2 发行版相同。


通过上述修改,我们将“分布”更准确地称为“发行版”,以与ROS社区和文档中的常见术语保持一致。


ROS 分布详解

什么是分布(Distribution)?

在 ROS(Robot Operating System)中,分布是指一组具有特定版本号的 ROS 软件包。这与 Linux 分布(如 Ubuntu)类似。ROS 分布的目的是让开发者能够在相对稳定的代码库上进行工作,直到他们准备好将所有内容向前推进。因此,一旦分布发布,我们尽量限制对核心软件包(即 ros-desktop-full 下的所有内容)的更改,仅限于修复错误和非破坏性改进。这一原则通常适用于整个社区,但对于更高级别的软件包,规则较为宽松,因此避免破坏性更改的责任落在了特定软件包的维护者身上。

当前和历史分布列表

以下是当前和历史上的 ROS 2 分布列表。表中用绿色标记的行表示当前支持的分布。

  • Jazzy Jalisco:2024年5月23日发布,预计支持到2029年5月。
  • Iron Irwini:2023年5月23日发布,预计支持到2024年11月。
  • Humble Hawksbill:2022年5月23日发布,预计支持到2027年5月。
  • Galactic Geochelone:2021年5月23日发布,已于2022年12月9日结束支持。
  • Foxy Fitzroy:2020年6月5日发布,已于2023年6月20日结束支持。
  • Eloquent Elusor:2019年11月22日发布,已于2020年11月结束支持。
  • Dashing Diademata:2019年5月31日发布,已于2021年5月结束支持。
  • Crystal Clemmys:2018年12月14日发布,已于2019年12月结束支持。
  • Bouncy Bolson:2018年7月2日发布,已于2019年7月结束支持。
  • Ardent Apalone:2017年12月8日发布,已于2018年12月结束支持。
  • beta3:2017年9月13日发布,已于2017年12月结束支持。
  • beta2:2017年7月5日发布,已于2017年9月结束支持。
  • beta1:2016年12月19日发布,已于2017年7月结束支持。
  • alpha1 - alpha8:从2015年8月31日开始,已于2016年12月结束支持。
未来分布

每年5月23日(世界海龟日)都会发布新的 ROS 2 分布。下一个分布是 Kilted Kaiju,预计于2025年5月发布,支持到2026年11月。

滚动分布(Rolling Distribution)

ROS 2 Rolling Ridley 是 ROS 2 的滚动开发分布。它首次于2020年6月引入,并在 REP 2002 中有详细描述。

ROS 2 的滚动分布有两个目的:

  1. 作为未来稳定分布的试验场。
  2. 集合最新的开发版本。

顾名思义,滚动分布会不断更新,并且可能包含破坏性更改。因此,建议大多数人使用最新的稳定分布(见分布列表)。

发布到滚动分布的软件包将自动发布到未来的 ROS 2 稳定分布中。将 ROS 2 软件包发布到滚动分布的程序与其他 ROS 2 分布相同。

以上内容是对 ROS 分布及其相关信息的详细中文总结。