这是一个非常好的问题!机器人使用的“系统”是一个多层次的概念,不能简单地用一个答案来概括,我们可以从三个主要层面来理解机器人系统:

- 操作系统
- 中间件
- 应用软件与算法
下面我将详细解释这三个层面,并介绍不同类型机器人常用的具体技术栈。
操作系统 - 机器人的“大脑”和“身体”
操作系统是直接运行在机器人硬件(如CPU、传感器、电机)上的最底层软件,负责管理硬件资源、提供基础功能,选择哪个OS取决于机器人的复杂性和任务需求。
实时操作系统
这类系统能够对外部事件做出快速、确定性的响应,时间延迟极低且可预测,对于需要精确控制物理动作的机器人至关重要。
-
ROS 2 (Robot Operating System 2):这是目前机器人领域最主流、最通用的操作系统框架,ROS 2本身不是一个完整的OS,而是一个构建在现有OS(如Linux)之上的开源元操作系统框架,它提供了通信、硬件抽象、工具包和库,极大地简化了机器人软件的开发。
(图片来源网络,侵删)- 底层:通常运行在 Linux 发行版上,如 Ubuntu (尤其是LTS版本,如20.04, 22.04),ROS 2支持其他RTOS,但Linux是其最强大的平台。
- 特点:模块化、分布式、丰富的生态系统,几乎所有类型的机器人(移动、机械臂、无人机等)都在使用ROS 2。
-
VxWorks:一个商业级的、非常成熟的RTOS,以其高可靠性和实时性著称。
- 应用:航空航天(如火星探测器)、汽车(高级自动驾驶系统)、医疗设备等对可靠性要求极高的领域。
-
QNX:另一个商业级RTOS,以其微内核架构和极高的安全性闻名。
- 应用:汽车信息娱乐系统、自动驾驶、工业控制等。
-
FreeRTOS / Zephyr:轻量级的开源RTOS,适用于资源受限的嵌入式设备。
- 应用:小型机器人、无人机、物联网设备、机器人关节的控制器等。
桌面/服务器级操作系统
对于一些不需要硬实时性,或主要运行在上位机(PC)进行数据处理、视觉计算、路径规划的机器人,可以使用通用的操作系统。

- Linux (Ubuntu):除了作为ROS 2的底层,许多机器人的“大脑”PC(运行SLAM、目标识别等算法)直接使用Ubuntu,开源、稳定、命令行强大,是科研和开发的首选。
- Windows:在一些工业和商业机器人中比较常见,因为商业软件(如一些PLC编程软件、CAD/CAM软件)对Windows支持更好,Windows也提供实时扩展(如Windows IoT Real-time)。
- macOS:在学术界和初创公司中也有使用,尤其是在涉及Apple生态系统的项目中,但相对较少。
中间件 - 机器人的“神经网络”
中间件是连接操作系统和应用软件的桥梁,它提供了标准化的通信机制、工具和库,让不同的软件模块可以方便地协同工作。
- ROS 2 (本身就是中间件):ROS 2的核心贡献之一就是其强大的中间件层,它使用DDS (Data Distribution Service)作为通信标准,支持高效、可靠的进程间通信和分布式计算,这是ROS 2相比ROS 1最大的进步之一。
- YARP (Yet Another Robot Platform):另一个流行的开源机器人中间件,尤其在欧洲的机器人社区(如iCub人形机器人)中广泛使用。
- MOOS (Mission Oriented Operating Suite):主要用于自主水面船只和无人机的控制框架。
中间件解决了“机器人各个部分(传感器、大脑、轮子、手臂)如何高效地对话”的问题。
应用软件与算法 - 机器人的“技能”
这是最顶层的软件,直接定义了机器人能做什么,它包括各种算法和应用程序,运行在操作系统和中间件之上。
通用机器人软件库和框架
这些库提供了实现特定功能(如感知、导航、控制)的现成工具。
- OpenCV:计算机视觉的“瑞士军刀”,几乎所有需要视觉处理的机器人都会用到它,用于图像处理、目标检测、识别等。
- PCL (Point Cloud Library):专门用于处理3D点云数据的库,是3D感知、SLAM、物体识别的基础。
- MoveIt:一个基于ROS的框架,专门用于机械臂的运动规划、控制、操作和碰撞检测。
- Gazebo / PyBullet / Isaac Sim:流行的机器人仿真环境,在仿真中可以安全、快速地开发和测试机器人算法,大大降低开发成本。
行业/特定任务软件
- 工业机器人:
- 厂商专用软件:如 ABB的RobotStudio、KUKA的KUKA.Sim、FANUC的ROBOGUIDE,这些是用于离线编程、仿真的商业软件。
- PLC编程:许多工业机器人的底层逻辑由可编程逻辑控制器控制,使用梯形图或结构化文本编程。
- 自动驾驶汽车:
- Autoware / Apollo:开源的自动驾驶软件栈,包含了感知、规划、控制等全套模块。
- NVIDIA DriveOS / DriveSim:NVIDIA为自动驾驶提供的硬件平台和仿真软件。
- 无人机:
- PX4 / ArduPilot:开源的飞控固件和软件,是绝大多数开源无人机的核心。
总结与典型场景
为了让你有更清晰的认识,这里有几个典型机器人的技术栈:
| 机器人类型 | 操作系统 | 中间件 | 核心应用软件/算法 |
|---|---|---|---|
| 服务机器人 (如送餐机器人) | Ubuntu (PC) + ROS 2 | ROS 2 (DDS) | SLAM (导航)、OpenCV (视觉避障)、语音识别 |
| 工业机械臂 | 实时控制器 (如VxWorks) + Ubuntu (PC) | ROS 2 / 厂商私有协议 | MoveIt (运动规划)、PLC控制、机器视觉引导抓取 |
| 人形机器人 (如Atlas) | 实时RTOS + Linux | ROS 2 | 高级运动控制算法、全身动力学、视觉感知 |
| 自动驾驶汽车 | Linux + QNX (安全部分) | DDS / 自定义协议 | Autoware、NVIDIA DriveOS、传感器融合算法 |
| 小型教育/创客机器人 | Raspberry Pi OS / Arduino (无OS) | ROS 2 (有限支持) / 无 | Python/C++编写的简单控制逻辑 |
核心结论:
- 没有单一的“机器人系统”,它是一个由OS、中间件、应用软件组成的复杂系统。
- ROS 2 + Linux (Ubuntu) 是目前机器人领域最主流、最通用的技术组合,尤其适合研发和复杂的机器人系统。
- 实时操作系统是工业、汽车、航空航天等高可靠性领域的基石。
- 应用软件和算法是机器人的“灵魂”,决定了其智能水平和能力边界。