「所有问题都上 ROS」和「死磕 51 做导航」是两种对称的坑。本文给场景决策,配合 栈分层 与 选板指南 一起用。
三层职责再压缩
| 层 | 典型硬件 | 典型软件 | 节拍体感 |
|---|---|---|---|
| 执行与保护 | 驱动板、MCU | 固件、PWM、急停 | 高(硬/固实时) |
| 机体协调 | 车载电脑 / SBC | ROS 2 节点 | 中 |
| 任务与云 | PC / 云端 | 调度、大模型、看板 | 低~中 |
选型时先问:我缺的是哪一层的能力?
场景决策表
| 你想做的事 | 优先 | 可后补 |
|---|---|---|
| 点灯、读 DHT、舵机摆头 | Arduino / ESP32 | — |
| 手机 Wi‑Fi 遥控小车(开环) | ESP32 | 主机 |
| 编码器测速 + PID 走直线 | STM32 或较强 MCU | ROS 仅作调参上位机 |
| 激光建图导航(仿真) | PC + ROS 2 | 真机后再接 MCU |
| 激光建图导航(真车) | ROS 2 主机 + 底盘 MCU | 感知相机等 |
| 机械臂轨迹 / MoveIt | ROS 2 主机 | 关节驱动板 |
| 课设只要 51 | STC51 | 别锁死长期方向 |
| 物联网上报温室数据 | ESP32 | 不必 ROS |
| 多机器人协同实验 | ROS 2 | 统一消息与时间同步 |
四种常见系统形态
A. 纯 MCU
传感器 → MCU → 电机/显示
便宜、实时、简单;复杂融合与可视化弱。
B. MCU + 手机/网页
ESP32 ←Wi‑Fi→ 手机
人机交互快;仍不是完整导航栈。
C. 纯 ROS 2 仿真
ROS 2 ↔ 仿真器
零焊接学架构;碰不到真实电与干扰。
D. 经典移动机器人
雷达/相机 → 主机(ROS 2) → 速度指令 → MCU → 电机驱动
↑_____里程计/IMU_____↓
工业与爱好者都常见的分工。
「要不要上 ROS 2」检查清单
出现 2 条以上,认真考虑 ROS 2:
- 超过 2~3 种异步数据流要同时处理(雷达 + 里程计 + 相机…)
- 需要标准导航/定位,而不是从零写全部
- 多人协作,需要稳定接口与录包回放
- 要仿真再平滑切真机
- 需要 TF、坐标系、可视化调试
可以 不上 ROS 的信号:单一传感器 + 简单逻辑;只要联网上报;极短课设演示且不看架构。
通信桥(概念级)
| 方式 | 适用 |
|---|---|
| 自定义 UART 协议 | 入门最常见,好控 |
| ROS serial 桥节点 | 主机侧快速接自定义帧 |
| CAN | 车身多节点、工业向 |
| Ethernet / USB | 带宽更高 |
| micro-ROS | 让 MCU 更「像 ROS 市民」时再评估 |
原则:先保证控制安全与周期稳定,再追求协议优雅。
一句话结论
单片机解决「身子跟得上」;ROS 2 解决「脑子和眼睛协作」。用 ESP32 证明连接,用 STM32 练控制,用 ROS 2 练系统——不要指望一个芯片包打天下。
相关阅读
- ROS 2 入门概念 · ROS 2 要点
- 嵌入式基础 · 学习路径
