学机器人最容易劝退的方式,不是公式难,而是一上来就把单片机、树莓派、ROS 混成一锅。本文只做一件事:把栈分层画清楚,让后面选板、学 ROS 都有落点。
系列导航:嵌入式基础 · 选板指南 · ROS 2 入门概念 · 何时上 ROS · 学习路径
先建立分层(最重要)
把机器人相关技术想成栈,从下到上大致是:
┌─────────────────────────────────────────┐
│ 应用 / 任务:导航、抓取、语音、业务逻辑 │
├─────────────────────────────────────────┤
│ 中间件:ROS 2(通信、工具、生态) │
├─────────────────────────────────────────┤
│ 主机 OS:Ubuntu 等(跑 ROS 2、视觉、规划) │
├─────────────────────────────────────────┤
│ 计算板:树莓派 / Jetson / NUC / PC │
├─────────────────────────────────────────┤
│ 实时控制:电机驱动、IMU、安全互锁 │
│ (常由 MCU / 专用驱动板负责) │
├─────────────────────────────────────────┤
│ 传感器与执行器:电机、舵机、雷达、相机… │
└─────────────────────────────────────────┘
要点:
- STM32 / ESP32 / 51 / Arduino 板多半工作在「实时控制 + 传感器」层。
- ROS 2 工作在「中间件」层,通常跑在 Linux 主机上,不是给 51 单片机直接当 OS 用的。
- 真机机器人往往是 MCU + 主机 + ROS 2 的组合,而不是「只学其中一个就够」。
和本站 Physical AI 扫盲 的闭环同一件事:感知 → 决策 → 执行;本文强调的是工程落在哪一层硬件/软件上。
几个容易混的词
| 词 | 白话 | 常见误区 |
|---|---|---|
| MCU(单片机) | 一颗芯片里集成 CPU、RAM、Flash、外设 | 以为「有 Wi‑Fi 的都叫单片机」——有的是更强的 SoC |
| MPU / SoC | 更强的应用处理器(可跑 Linux) | 和 MCU 混称「芯片」就失去选型意义 |
| 开发板 | 把芯片 + 电源 + USB + 引脚排好的学习板 | Arduino Uno 是板子;板子上的 AVR/ESP 才是 MCU/SoC |
| 固件(Firmware) | 烧进 MCU 里长期跑的程序 | 和手机 App 不是同一套运行模型 |
| ROS / ROS 2 | 机器人软件中间件与工具生态 | 不是传统意义的操作系统;底下还要有 Ubuntu 等 |
| 实时(Realtime) | 在时限内稳定响应(控制环) | 「跑得快」≠ 实时;Linux 默认可不适合硬实时 PWM |
两条主航道
航道 A:嵌入式 / 单片机
学什么:GPIO、定时器、PWM、ADC、UART/I2C/SPI、中断、低功耗、驱动电机与传感器。
产出感:点灯、读传感器、控舵机、做小车底层、ESP32 联网上报。
代表器件:STC51、AVR(经典 Arduino)、STM32、ESP32 等。详见 选板指南。
航道 B:机器人软件(ROS 2)
学什么:节点、话题、服务、Action、参数、Launch、TF、常用包、仿真。
产出感:在仿真里让小车走、看点云/地图、多节点协作。
代表环境:Ubuntu + ROS 2(Humble / Jazzy 等,以你机器支持为准)。详见 ROS 2 入门概念。
两者怎么接
- MCU 负责高频电机闭环、急停、编码器计数。
- 主机 + ROS 2 负责规划、视觉、建图导航、人机交互。
- 中间用 串口 / CAN / Ethernet / USB 传速度指令与状态。
只做桌面仿真,可以暂时不碰 MCU;只做智能硬件灯控/传感,可以暂时不上 ROS。场景表见 何时 MCU、何时 ROS 2。
「机器人」入门的三个最小项目
最低闭环:
感知 → 决策/控制 → 执行 →(再感知)
- 开环执行:按键 / 串口命令 → 舵机转到固定角度。
- 有反馈:读超声波 / 编码器 → 简单避障或定距。
- 有软件栈:ROS 2 里
/cmd_vel驱动仿真小车,再考虑接到真车 MCU。
给云原生背景的对照(到此为止)
| 你熟悉的 | 机器人侧近似 |
|---|---|
| 微服务 | ROS 2 节点(进程级组件) |
| Topic / MQ | ROS 2 Topic(语义与 QoS 不同) |
| gRPC / API | ROS 2 Service;长任务更像 Action |
| YAML Deployment | Launch 文件 / 组件描述 |
| 边缘设备 Agent | MCU 固件 + 主机上的 bridge 节点 |
有帮助的类比到此为止——控制环时序、硬件外设、实时性仍是软件侧类比盖不住的,需要补 嵌入式基础。
下一步
- 外设与电平 → 嵌入式 MCU 基础
- 选第一块板 → STM32 / ESP32 / Arduino / 51
- ROS 2 心智模型 → 入门概念(进阶 DDS/QoS 见 ROS 2 要点)
