ROS

义项:机器人操作系统
ROS

ROS(Robot Operating System)是一套面向机器人开发的开源软件框架、工具与函数库集合,主要用于提高机器人软件的复用程度。它虽名为操作系统,实际并非传统意义上的操作系统,而是运行于通用操作系统之上的中间件与开发环境,提供硬件抽象、进程间消息传递、包管理等服务[1][2]。ROS 起源于 2007 年斯坦福大学与 Willow Garage 的合作,2010 年发布第 1 个正式版本,此后逐步成为机器人研发领域的通用软件平台[3][4]。

目录
  1. 定义
  2. 原理
  3. 发展历程
  4. 应用

定义

ROS 指一套用于构建机器人应用的开源软件库与工具集合,由框架、工具、功能包和开发者社区等部分组成[2]。按官方文档的说法,ROS 提供操作系统应具备的硬件抽象、底层设备控制、常用功能实现、进程间消息传递和包管理,并提供获取、编译、编写及跨计算机运行代码所需的工具与库[1]。

名称中的「操作系统」并不表示它与 Linux 一类内核处于同一层次。官方文档明确指出,ROS 并非传统意义上的操作系统,而是帮助开发者跨平台、跨语言创建机器人的一组工具和库[2]。其设计目标在于支持机器人研究与开发中的代码复用,使不同团队编写的功能可以彼此调用[1]。

原理

ROS 把机器人程序拆分为若干可独立运行的进程,称为节点(node)。节点之间通过话题(topic)、服务(service)与动作(action)三类接口交换数据,并共用参数服务器保存配置[2]。这一框架相当于机器人各部件之间以及部件内部的「管路」,例如把摄像头数据送往处理节点,或把规划系统的指令转给电机控制器[2]。

ROS 1 采用基于中心节点的通信方式,由一个主节点负责登记各节点的名称与话题[5]。ROS 2 改用 DDS 作为底层通信中间件,节点通过分布式发现机制自动找到彼此并建立数据通道,不再需要中心协调节点[5]。DDS 提供可靠性、历史深度、期限等服务质量(QoS)策略,开发者可以按传感器特性为不同话题分别设定[5]。

在软件组织上,ROS 以功能包为基本单位,一个包可包含节点程序、依赖库、数据集与配置文件,并借助编译工具完成构建[6]。功能包之上还有面向具体任务的能力包,例如机械臂操作、运动规划与感知,开发者可直接调用而不必从零编写[2]。工具层则提供可视化、数据记录与回放、节点管理等手段,方便调试与测试[2]。

发展历程

ROS 的工作于 2007 年 11 月启动,最初是 Willow Garage 公司为 PR2 个人机器人准备的开发环境,由该公司与斯坦福大学的研究人员共同推进[7][3]。当时的目标是提供一套工具,使研究者能在 PR2 上开展新的研发项目,同时通过消息接口定义抽象层次,让软件可以移植到其他机器人上[7]。

2009 年,研究团队发表介绍 ROS 的论文,系统对外公开了这套框架[4]。2010 年 1 月,ROS 1.0 发布,同年 3 月代号 Box Turtle 的发行版问世,此后按约半年一次的节奏推出新版本[4][6]。2011 年,低成本移动平台 TurtleBot 出现,为开发者提供了可搭载多种传感器的通用底盘[4]。

2012 年,Willow Garage 分设 开源机器人基金会(OSRF),接手 ROS 的维护工作,该基金会后来改称 Open Robotics[4]。Willow Garage 本身于 2014 年 2 月停止运营,同年 ROS 的管理职责移交基金会[8]。ROS 2 于 2014 年首次公布,2017 年 12 月发布第 1 个正式版本[9][8]。2022 年底,Open Robotics 的多数业务被 Alphabet 旗下的 Intrinsic 收购,基金會仍掌握 ROS 的商标与网站[9]。

ROS 2 的发行版以约半年为周期更新。2024 年 5 月 23 日发布的 Jazzy Jalisco 是第 10 个版本,属长期支持版本,支持期至 2029 年 5 月底[10][11]。该版本起每个 ROS 2 发行版都对应推荐的 Gazebo 仿真器版本[11]。ROS 1 已停止开发,不再计划推出新版本,ROS 2 为当前持续开发的分支[2]。

应用

在物流领域,ROS 用于仓库中的货物搬运,提供导航、建图、运动控制以及多台机器人之间的协调[2]。在制造业,它支撑借助视觉系统完成的自动抓取与放置等作业;在医疗场景中,则用于辅助护理流程的机器人系统[2]。机械臂控制、运动规划和环境感知等能力包可直接组合进上述应用[2]。

研究领域是 ROS 的另一主要使用场景。2015 年美国国防高级研究计划局机器人挑战赛的 23 支决赛队伍中,有 18 支使用 ROS,14 支使用 Gazebo 仿真器[4]。ROS 已被用于轮式机器人、人形机器人、工业机械臂、地面车辆、飞行器和水面载具等多种平台,并进入农业机器人、商用清洁机器人等产品[7]。教育方面,开源硬件平台 TurtleBot 以 ROS 为软件基础,用于机器人教学[12]./

参考资料

  1. cn/ROS/Introduction [引用日期2026-10-29]
  2. About ROS [引用日期2026-10-29]
  3. ROS: towards open source in robotics [引用日期2026-10-29]
  4. Happy birthday ROS: A decade of open-source robotics [引用日期2026-10-29]
  5. pdf [引用日期2026-10-29]
  6. ROS——机器人世界的Android [引用日期2026-10-29]
  7. Why ROS 2? [引用日期2026-10-29]
  8. How To Start a Robot Revolution: Part 1 [引用日期2026-10-29]
  9. About ROS [引用日期2026-10-29]
  10. ROS 2 Jazzy Jalisco Released — Open Robotics [引用日期2026-10-29]
  11. OSRF releases ROS 2 Jazzy Jalisco [引用日期2026-10-29]
  12. ROS Developer Documentation [引用日期2026-10-29]
词条评价
词条统计

浏览次数:2 次

阅读量:0 次 · 阅读完成量:0 次

最近更新:2026-10-28T18:52:46Z

历史版本

本条目引用的词条
Linux DDS Willow Garage 开源机器人基金会