问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

ROS1与ROS2:机器人操作系统的演进之路

创作时间:
作者:
@小白创作中心

ROS1与ROS2:机器人操作系统的演进之路

引用
CSDN
1.
https://blog.csdn.net/xiaojinger_123/article/details/139680356

简介

ROS1(Robot Operating System 1)是一个开源的元操作系统框架,专为机器人软件开发设计。它提供了一套丰富的工具和库,允许开发者创建复杂的机器人行为和功能。ROS1以其灵活性和模块化设计而受到广泛欢迎,它允许开发者通过节点(nodes)来构建系统,这些节点可以是传感器驱动器、数据处理单元或其他任何类型的组件。节点之间的通信通过话题(topics)、服务(services)和动作(actions)来实现。

ROS2(Robot Operating System 2)是ROS的下一代版本,它在ROS1的基础上进行了重大改进和重新设计,以满足更广泛的应用需求,包括但不限于实时性、安全性、跨平台支持和多机器人系统。ROS2支持跨多个操作系统运行,包括Linux、Windows、macOS,甚至嵌入式系统。它采用了数据分发服务(DDS)作为其通信中间件,以支持节点之间的自发现和通信,从而提高了系统的可扩展性和鲁棒性。此外,ROS2还提供了改进的API和工具链,以及对现代编程语言如Python 3和C++ 14的支持。

总的来说,ROS2相较于ROS1,引入了更多现代化的特性,以适应当今机器人应用的需求,例如:

  • 操作系统支持:ROS1仅支持Linux系统,而ROS2支持Linux、Windows、MacOS和实时操作系统RTOS。
  • 系统架构:ROS2采用基于DDS的分布式架构,取消了ROS1中的Master节点,节点之间通过DDS进行通信。
  • 产品化:ROS2不仅可以用于机器人研发阶段,还可以直接搭载在产品中,走向消费市场。
  • 安全性:ROS2引入了更多的安全机制,可以对通信进行加密和认证。
  • API升级:ROS2结合C++最新标准和Python 3语言特性,设计了更具通用性的API。
  • 编译系统:ROS2使用ament和colcon作为编译系统,替代了ROS1中的rosbuild和catkin。

版本

OS1和ROS2各自拥有多个版本,每个版本都有特定的代号、发布日期和支持周期。以下是一些主要的ROS1和ROS2版本:

ROS1版本:

  • Indigo Igloo:2014年7月22日发布,已于2019年4月结束支持。
  • Kinetic Kame:2016年5月23日发布,已于2021年4月结束支持。
  • Melodic Morenia:2018年5月23日发布,支持将于2023年5月结束。
  • Noetic Ninjemys:2020年5月23日发布,是ROS1的最后一个版本,支持将持续到2025年5月。

ROS2版本:

  • Foxy Fitzroy:2020年6月5日发布,是一个长期支持(LTS)版本,支持将持续到2023年5月。
  • Galactic Geochelone:2021年5月23日发布,是一个非LTS版本,支持已于2022年11月结束。
  • Humble Hawksbill:2022年11月18日发布,是另一个LTS版本,支持将持续到2027年5月。
  • Iron Irwini:2023年5月23日发布,支持将持续到2024年11月。
  • Jazzy Jalisco:预计2024年5月23日发布,将是ROS2的下一个版本,官方推荐使用,支持将持续到2029年11月。

ROS 存在的问题

ROS 与 ROS2 架构对比

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号