ROS系统简介

Ros系统简介

关联:ROS 2

要点

摘录

01 Ros 系统简介
Ros(Robot Operation Syste m, 机器人操作系统 ) 包含大量搭建机器人所需的软件和工具。
2026 年, Eric Berger 和 Keenan Wyrobek 为了降低机器人搭建复杂度,在斯坦福大学创建了
Personal Robotics 项目。 2009 年,第一个 Ros 版本 v0.4 发布。 2010 年, Ros v1.0 正式发布。 2022 年 5
月, Ros2 第一个五年长期支持版本 Humble Hawksbill 正式发布。
Ros 自今已经发布了 20 多个正式版本, Ros 本质上就是快速搭建机器人的软件库(核心是通信)和工
具集,随着应用场景和软硬件的不断发展, Ros 暴露出了在通信上缺乏稳定性、实时性和安全性等问
题,因此 Ros2 登上历史舞台。
Ros2 采用了第三方通信组件代替了 Ros1 中的通信组件,使得数据传输更加稳定和强大。同时 ROS2
引入了新的 C++ 标准,在代码规范性、接口一致性上都有不小的提升。
Ros2 系统架构
Ros2 的系统架构可分为 5 层:操作系统层、 DDS 实现层、 DDS 接口层、 Ros2 客户端层和应用层。

  1. 操作系统层:
    基于 Linux 、 Windows 和 MacOS 系统建立的,这一层为 ROS2 提供各种基础硬件的驱动,比如
    网卡、摄像头等。
  2. DDS 实现层:
    DDS ( Data Distribution Service ,数据分发服务)是基于实时发布订阅协议( Real Time
    Publish Subscrible, RTPS )来实现数据分发的。
  3. DDS 接口层:
    因为要支持不同厂家的 DDS ,同时又需要对外保持一致,所以 ROS2 定义了 RMW(ROS
    Middleware Interface, ROS 中间件接口 ) ,再由不同的 DDS 进行实现,为 ROS2 客户端层提供统
    一接口。
  4. ROS2 客户端层:
    客户端层提供不同编程语言的 ROS2 客户端库( ROS2 Client Library , RCL ),使用这些库的
    接口,可以完成 ROS2 核心功能的调用,比如话题、服务、参数和动作通信机制。
  5. 应用层:
    所有基于 RCL 开发的程序都属于应用层,比如接下来应用到的海龟模拟器和 ROS QT 工具都属于
    这一层。
    Ros2 发行版本
    以下是截至 2025 年 9 月所有 ROS 2 发行版本及其对应的操作系统支持情况的完整表格,包含从最
    早的 Ardent 到最新的 Jazzy 版本:
    ROS 2 版本 发布时

    主要目

    Ubuntu
    版本
    Tier 1
    Platforms (官
    方优先支持)
    Tier 2
    Platforms
    (社区支持
    为主)
    Tier 3
    Platforms (有
    限支持)
    支持状

    Ardent
    Apalone 2017.12 Ubuntu
    16.04
    Ubuntu 16.04
    ( amd64 ) - - 已终止
    支持
    Bouncy
    Bolson 2018.07 Ubuntu
    16.04
    Ubuntu 16.04
    ( amd64 )、
    macOS 10.12+
    Windows
    10 ( Visual
    Studio
    2017 )

资料