ROS (Robot Operating System) 一个灵活的机器人软件框架及其适用平台
ROS (Robot Operating System) 是一个灵活的机器人软件框架,支持多种操作系统和硬件平台。以下是主要的支持平台:
操作系统支持
Linux (主要平台)
- Ubuntu - 官方主要支持平台,提供完整的二进制包支持
- ROS 1: Ubuntu 14.04, 16.04, 18.04, 20.04
- ROS 2: Ubuntu 18.04, 20.04, 22.04, 24.04 (LTS版本)
- Debian - 官方支持,提供二进制包
- Fedora - 社区支持
- Arch Linux - 社区维护 (AUR)
- OpenEmbedded/Yocto - 用于嵌入式系统定制
Windows
- ROS 2 官方支持 Windows 10/11
- ROS 1 通过 WSL (Windows Subsystem for Linux) 运行
macOS
- 通过 Homebrew 安装,社区支持
- 主要用于开发和仿真,不推荐用于实际机器人部署
硬件架构支持
x86/x64 (Intel/AMD)
- 桌面和服务器级处理器
- 完整的开发和运行支持
ARM 架构
- ARM64 (aarch64):
- NVIDIA Jetson (Nano, TX2, Xavier, Orin)
- Raspberry Pi 3/4/5 (64位系统)
- 其他 ARM SBC
- ARM32 (armhf):
- Raspberry Pi (32位系统)
- 旧版嵌入式板卡
实时系统支持
实时内核 (PREEMPT_RT)
- 基于 Linux 的实时补丁
- ROS 2 提供更好的实时性能支持
- 适用于硬实时控制应用
ROS 2 特定实时平台
- QNX - 商业实时操作系统,ROS 2 Tier 3 支持
- VxWorks - 工业实时系统,社区支持
嵌入式和微控制器
ROS 2 微控制器支持 (micro-ROS)
- FreeRTOS
- Zephyr RTOS
- Arduino (通过 micro-ROS)
- ESP32 - 通过 Arduino 或 ESP-IDF
- STM32 - 通过 STM32CubeMX
容器和虚拟化
- Docker - 官方提供容器镜像
- LXC/LXD - Linux 容器
- Kubernetes - 容器编排
- 虚拟机 (VMware, VirtualBox 等)
云平台
- AWS RoboMaker - Amazon 机器人开发平台
- Azure IoT - Microsoft 物联网平台集成
- Google Cloud - 通过容器化部署
版本支持差异
| 平台 | ROS 1 (Noetic) | ROS 2 (Humble/Iron/Jazzy) |
|---|---|---|
| Ubuntu 20.04 | ✓ | ✓ |
| Ubuntu 22.04 | - | ✓ |
| Ubuntu 24.04 | - | ✓ |
| Windows 10/11 | - | ✓ |
| macOS | 社区 | 社区 |
| ARM64 | 有限 | 完整 |
| 实时内核 | 有限 | 更好 |
推荐平台选择
- 开发环境: Ubuntu 22.04 LTS + ROS 2 Humble/Jazzy
- 嵌入式/边缘计算: NVIDIA Jetson + Ubuntu + ROS 2
- 低成本机器人: Raspberry Pi 4/5 + Ubuntu Server + ROS 2
- 工业应用: x64 + 实时 Linux 内核 + ROS 2
- 微控制器: ESP32/STM32 + micro-ROS
ROS 2 相比 ROS 1 在跨平台支持上有显著改进,特别是 Windows 支持和实时性能方面。对于新项目,强烈建议使用 ROS 2。








