1.1.1 ROS2发展历程
1.起源
2007年,一家名为柳树车库(Willow Garage)的机器人公司发布了ROS,ROS集开源、免费、高复用、低耦合、工具丰富等等诸多优势于一身,一经推出便迅速吸引了大量的开发者、科研人员、硬件供应商的加入,形成了稳定且多样的机器人生态,水到渠成的ROS也成为了机器人领域的主流软件框架并流行至今。
但是自ROS诞生的十几年来,不管是机器人相关软件、硬件还是ROS社区都发生了天翻地覆的变化,加之ROS1存在一些设计上的先天性缺陷,各种内外因素叠加下,导致ROS1在许多应用场景下都已经显得力不从心了。此背景下,官方于2017正式推出了新一代机器人操作系统——ROS2,ROS2基于全新的设计框架,保留了ROS1的优点并改进其缺陷,ROS2的目标是适应新时代的新需求。
2.发行版本
ROS发行版是一组版本化的ROS功能包,它类似于Linux发行版(例如 Ubuntu)。ROS发行版的目的是让开发人员可以在一个相对稳定的代码库上工作,直到新的发行版推出。
以下列表为ROS2各不同发布版本的简单说明。
发行版 | 发布日期 | 标识 | 停止维护日期 |
---|---|---|---|
Iron Irwini | 2023 年 5 月 23 日 | 待定 | 2024 年 11 月 |
Humble Hawksbill | 2022 年 5 月 23 日 | 2027 年 5 月 | |
Galactic Geochelone | 2021 年 5 月 23 日 | 2022 年 11 月 | |
Foxy Fitzroy | 2020 年 6 月 5 日 | 2023 年 5 月 | |
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 月 |
ROS2版本发布特点:
- 发布版本与Ubuntu版本对应,生命周期也有Ubuntu保持一致,正常情况下偶数年份发布长支持版(5年),奇数年份发布短支持版(2年);
- 版本名称由形容词+名词的格式组成,这一点与Ubuntu版本名称规则一致;
- 正常情况下,每年的5月23日,世界海龟日发布新版本。
需要另外说明的是:
官方于2020年发布了ROS1的最终版本,并将于2025年终止ROS1的维护。而早在2017年就已经推出了ROS2的第一个正式版本,并且随着ROS2的不断完善,于2022年又推出ROS2的第一个5年长支持版。对于ROS而言,这是一个里程碑式的事件,这意味着自此开始,ROS2将全面取代ROS1。