Robotics-从Ros到其他机器人控制框架
机器人软件框架选型:从 ROS 到 Isaac,谁适合你的下一台机器人?
过去十年,很多机器人项目默认从 ROS 起步。但当你真正要做实时控制、多机协同、自动驾驶域控,或把感知接到 GPU 推理管线时,会发现「像 ROS 的东西」远不止一个:YARP、Orocos、Rock、OpenRTM、LCM、DDS,再到 NVIDIA Isaac 与 Autoware,各自解决的问题并不相同。
2026 年再做对比,意义已经变了。ROS 1 已进入历史基线;ROS 2 在工业与学术侧持续收敛;AI 与具身智能把仿真、感知加速和中间件绑得更紧;安全认证与商业发行版(如 Apex.OS)也在改变「能开源够用」与「能上车量产」的边界。本文面向有机器人基础、需要选型或学习路径的读者,用同一套维度公平比较,并给出场景化建议——而不是冠一个总冠军。
一、用什么维度比较
下文对每个框架尽量覆盖这七个维度:
| 维度 | 关注点 |
|---|---|
| 架构 / 通信 | 进程模型、消息/服务/动作、中间件 |
| 实时性 | 硬实时、软实时、确定性调度 |
| 生态 / 包 | 驱动、算法包、社区贡献规模 |
| 学习曲线 | 文档、教材、上手成本 |
| 产业采用 | 实验室、工业、汽车、产品化案例 |
| 许可 / 社区 | 开源许可、治理、商业支持 |
| 仿真 / 工具链 | Gazebo、RViz、专用仿真、调试工具 |
二、各框架速览
ROS 1:历史基线
是什么: 由 Willow Garage / OSRF 推动的开源机器人中间件,以 roscore、TCPROS、话题/服务为核心,Noetic(Ubuntu 20.04)是末代 LTS。
优势: 教材与教程最多;ros_control、MoveIt、导航栈等「可抄作业」资产丰厚;大量旧论文与开源机器人仍基于它。
不足: 单点 master、QoS 弱、多机与实时设计先天不足;官方支持已结束,新项目再选 ROS 1 会背上迁移债。
最适合: 理解概念、复现旧代码、短期原型(明确计划迁到 ROS 2 时)。
ROS 2:当前通用默认盘
是什么: 重写后的分布式架构:无全局 master,节点通过 DDS 发现与通信;引入 QoS、生命周期节点、组成(Composition)、安全(SROS2)等。发行版如 Humble、Iron、Jazzy 面向长期支持。
优势: 跨厂商生态最大;工业与学术双线推进;与 Gazebo / Ignition、RViz2、ros2_control、Nav2、MoveIt 2 形成完整工具链;多语言(C++/Python)与多平台(含部分嵌入式)可用。
不足: DDS 配置、发现与带宽调优有门槛;实时需配合 RT 内核与精心设计,并非「装上就硬实时」;包质量参差,选型要看维护活跃度。
最适合: 通用移动操作、多机协同、希望最大化社区包复用的新项目。
DDS:ROS 2 的地基(也是独立中间件)
是什么: OMG 数据分发服务标准,发布-订阅 + 丰富 QoS。常见实现包括 Fast DDS、Cyclone DDS、Connext 等。ROS 2 默认以 DDS 为通信层(亦可经 rmw 抽象切换)。
优势: 成熟的发现、可靠性、历史深度等 QoS;在航电、国防、工业控制有独立采用史;可脱离 ROS 用于纯数据面。
不足: 概念多、调参难;不同 vendor 互操作与性能差异需实测;单独用 DDS 要自己补机器人语义层(tf、坐标系、包管理等)。
最适合: 对通信确定性/互操作有硬性标准要求,或要在 ROS 2 之外做域间数据总线时。
YARP
是什么: Yet Another Robot Platform,源于意大利技术研究院(IIT),在 iCub 等人形/认知机器人项目中长期使用;强调端口(port)与可插拔通信载体。
优势: 对人形、多感官流、实验平台集成经验深;协议可换(TCP、共享内存等);与科研硬件栈结合紧。
不足: 全球包生态远小于 ROS;新人招聘与社区问答资源较少。
最适合: 人形/认知机器人实验室、已有 YARP 代码资产的团队。
Orocos
是什么: Open Robot Control Software,以实时工具链与组件模型(RTT)著称,面向控制环与确定性执行;常与 ROS 桥接使用。
优势: 硬实时、组件化控制架构清晰;适合力控、关节伺服等对周期抖动敏感的层。
不足: 上层导航/感知生态弱,需与 ROS/其他栈拼装;文档与社区相对小众。
最适合: 实时控制内核,上层用 ROS 2 做规划与人机界面。
Rock(Robot Construction Kit)
是什么: 基于 Orocos 思想与工具链构建的集成框架,强调型号驱动、部署与组件管理,在欧洲部分海洋/野外机器人项目中有积累。
优势: 从控制到系统集成的工程化视角强;适合长期野外部署与复杂组件图。
不足: 学习曲线陡;国际社区与中文资料稀缺。
最适合: 需要强系统工程与长期维护的特种机器人平台。
OpenRTM-aist
是什么: 基于 OMG RTC(Robot Technology Component)的开源实现,日本产业界推动较多,组件化与标准化接口是其卖点。
优势: 与 RTC 标准对齐;在部分日本工业与研究项目中有既有资产。
不足: 全球生态与教程密度不及 ROS 2;跨地区协作成本高。
最适合: 已绑定 RTC/OpenRTM 供应链或日系合作项目。
LCM(Lightweight Communications and Marshalling)
是什么: MIT 等机构推出的轻量发布-订阅与类型编组库,UDP 多播友好,常用于自动驾驶与多机实验的「薄中间件」。
优势: 简单、延迟低、依赖少;类型定义清晰,易嵌入自研栈。
不足: 无 ROS 级包生态与标准机器人工具;服务、参数、生命周期等需自建。
最适合: 高性能传感/日志总线、自研栈中的通信层,而非端到端应用框架。
NVIDIA Isaac(含 Isaac ROS)
是什么: NVIDIA 面向机器人的平台与加速包集合:仿真(Isaac Sim)、感知与导航相关的 GPU 加速 ROS 2 包(Isaac ROS)、以及与 Omniverse 等工具的衔接。它更像「加速与仿真层」,通常仍建立在 ROS 2 / 自研编排之上。
优势: GPU 感知管线、仿真到真机(Sim2Real)工作流、与 CUDA 生态一体;对视觉 SLAM、立体深度、DNN 推理等场景收益明显。
不足: 硬件与驱动绑定感强;许可证与产品线演进需持续跟踪;不能替代控制系统设计本身。
最适合: 重度视觉/AI 感知、需要高保真仿真与加速的 ROS 2 项目。
Autoware:基于 ROS 的自动驾驶域栈
是什么: 开源自动驾驶软件栈(Autoware.Universe 等),构建在 ROS 2 之上,提供感知、定位、规划、控制等 AD 模块——它是领域应用栈,不是与 ROS 平级的通用中间件。
优势: AD 模块齐全,便于教学与原型;与 ROS 2、点云/相机驱动生态衔接好。
不足: 量产车规、功能安全与运营验证仍取决于集成方;通用机械臂/服务机器人场景并不适用。
最适合: 自动驾驶研究与示范车,或评估「ROS 2 + 域栈」集成方式。
MOOS-IvP(简要)
是什么: 面向海洋机器人的自主使命中间件与行为(IvP)决策框架,在无人艇/AUV 社区有经典地位。
优势: 使命脚本与多目标行为优化契合海洋任务;部署模型相对专一清晰。
不足: 陆地通用机器人生态弱;与 ROS 互通则需桥接。
最适合: 海洋自主系统,而非通用地面机器人默认盘。
商业 ROS 2 发行版与 Apex.OS(前景相关)
在「未来」维度,开源 ROS 2 之上已出现面向汽车/安全的商业发行版(如 Apex.AI 的 Apex.OS 等):强调确定性、认证路径与长期支持。它们通常不取代社区 ROS 2 的学习入口,但会改变能否进入量产与安全论证的答案。选型时要把「社区发行版」和「认证级发行版」分开评估。
三、对比总表
| 框架 | 架构/通信 | 实时 | 生态 | 学习曲线 | 产业采用 | 许可/社区 | 仿真/工具 |
|---|---|---|---|---|---|---|---|
| ROS 1 | master + TCPROS | 弱 | 历史包多 | 低(教材多) | 旧项目多 | BSD,社区转 ROS 2 | Gazebo/RViz 经典 |
| ROS 2 | DDS / rmw | 中–高(可调) | 最大 | 中 | 广(学/工) | Apache 等,活跃 | Gazebo、RViz2、Foxglove 等 |
| DDS | Pub/Sub + QoS | 高(视实现) | 中(标准层) | 中–高 | 工控/航电 | 实现各异 | 需自建上层 |
| YARP | Port + 可插拔载体 | 中 | 小而精 | 中 | 科研人形 | LGPL 等 | 自有/可桥接 |
| Orocos | 实时组件 RTT | 很高 | 控制向 | 高 | 控制/工业 | LGPL 等 | 常桥 ROS |
| Rock | Orocos 系集成 | 高 | 小众 | 高 | 欧部分特种 | 开源为主 | 工程化部署工具 |
| OpenRTM | RTC 组件 | 中–高 | 区域性 | 中–高 | 日系较多 | 开源 | 专用工具链 |
| LCM | 轻量 Pub/Sub | 高(薄) | 薄 | 低 | AD/自研 | LGPL | 日志/自研 |
| Isaac | ROS 2 + GPU/仿真 | 视上层 | 加速包增 | 中 | 视觉/AI 强 | NVIDIA 条款 | Isaac Sim 强 |
| Autoware | ROS 2 域栈 | 视集成 | AD 模块 | 中–高 | AD 示范 | Apache 等 | 车载仿真/日志 |
| MOOS-IvP | 使命/行为框架 | 中 | 海洋向 | 中 | 海洋无人 | 开源 | 领域工具 |
四、未来展望
1. ROS 2 仍在巩固「通用机器人 OS」位势。
新项目默认盘会继续偏向 ROS 2;ROS 1 资产将以桥接与迁移脚本形式消耗。真正的分化不在「用不用 ROS 2」,而在 rmw/DDS 选型、实时与安全切面、以及域栈(Nav2 / MoveIt / Autoware)怎么裁剪。
2. DDS 会更「隐形」也更「关键」。
多数应用开发者通过 ROS 2 API 使用 DDS;系统工程师则要为大规模发现、无线链路与跨域隔离显式设计 QoS。部分团队会在边缘用 LCM/共享内存,在域间用 DDS,形成分层数据面。
3. AI / 具身智能抬高 Isaac 一类加速层。
策略与大模型在环、高保真仿真、相机/LiDAR DNN 管线,会让「ROS 2 + GPU 加速包 + 现代仿真」成为高频组合。Isaac 不会消灭中间件竞争,但会改变感知与仿真的默认供应商格局。
4. 工业与安全路径走向 Apex 类发行版。
协作机器人与汽车域控若要走认证,社区 ROS 2 alone 往往不够;商业发行版、静态内存、确定性调度与过程证据会成为采购条款。开源仍负责创新速度,认证发行版负责「能卖能审」。
5. 替代方案何时仍会赢?
- 硬实时控制内核: Orocos / 专用 RTOS 组件,ROS 2 作上层。
- 极简低延迟总线: LCM 或裸 DDS。
- 领域锁定: MOOS-IvP(海洋)、OpenRTM/YARP(既有团队资产)、Autoware(AD 域模块)。
- 强系统工程特种平台: Rock 一类集成套件仍有空间。
五、场景化选型(没有单一赢家)
- 教学 / 通用地移动作: ROS 2 + Nav2 / MoveIt 2;旧课再用 ROS 1 对照概念即可。
- 力控 / 毫秒级关节环: Orocos(或厂商实时栈)做环内,ROS 2 做环外。
- 视觉与具身智能原型: ROS 2 + Isaac ROS / Isaac Sim。
- 自动驾驶示范: ROS 2 + Autoware,并单独规划车规与安全。
- 海洋自主: MOOS-IvP;若要接地面工具链再桥 ROS 2。
- 已有 YARP / OpenRTM / Rock 团队: 优先延续,新模块用桥接而非推倒重来。
- 量产 + 功能安全: 在 ROS 2 生态上评估 Apex.OS 等商业发行版与认证流程。
一句话:把 通信与生态(ROS 2/DDS)、实时控制(Orocos/RTOS)、领域栈(Autoware/MOOS)、加速与仿真(Isaac) 拆开买、合着集成,比寻找「万能框架」更接近工程现实。
六、延伸阅读
- ROS 2 文档:https://docs.ros.org/en/rolling/
- ROS 1 迁移概述:https://docs.ros.org/en/humble/The-ROS2-Project/Contributing/Migration-Guide.html
- DDS 规范(OMG):https://www.omg.org/spec/DDS/
- Fast DDS:https://fast-dds.docs.eprosima.com/
- Cyclone DDS:https://cyclonedds.io/
- YARP:https://www.yarp.it/
- Orocos:https://orocos.org/
- Rock:https://www.rock-robotics.org/
- OpenRTM-aist:https://openrtm.org/
- LCM:https://lcm-proj.github.io/
- NVIDIA Isaac ROS:https://nvidia-isaac-ros.github.io/
- Isaac Sim:https://developer.nvidia.com/isaac/sim
- Autoware:https://autoware.org/
- MOOS-IvP:https://oceanai.mit.edu/moos-ivp/pmwiki/pmwiki.php
- Apex.AI / Apex.OS:https://www.apex.ai/
本文为技术选型综述,不代表任一厂商立场。具体版本、许可与认证要求请以各项目官方文档为准。

浙公网安备 33010602011771号