← 返回文章库

一个机器人由哪些部分组成:感知、决策、执行

最后更新 2026-06-20
⏱ 约 9 分钟 🟢 软件/低风险
你将学到
  • 用「感知→决策→执行」一条主线把任意机器人拆开
  • 说清信息从传感器流到电机的完整数据通路
  • 看懂 sense-think-act 主循环,并避开新手最容易踩的供电坑

第一次拆「机器人」这个词,很多人会卡在一个错觉上:以为它是个高深的整体,得先学完一堆才能动手。

不是的。任何机器人——扫地机、机械臂、四足狗、还是你即将搭的那台 ESP32 避障小车——都能被切成三块:感知、决策、执行。这三块按这个顺序串成一个圈,机器人就活了。差别只在每块做得多深:扫地机的「感知」可能是几个红外加一个陀螺仪,自动驾驶的「感知」是激光雷达加摄像头加毫米波。骨架一样,血肉不同。

这篇就把这三块逐个拆给你看,讲清它们各自解决什么、新手怎么选、在小车上对应哪个零件。读完你不再把机器人当黑盒,而是能指着任意一台说出「它的感知是什么、决策跑在哪、执行靠什么」。

⚠️ 安全

这篇会反复提到电机和电池。电机堵转瞬间电流能飙到额定值的好几倍,锂电池短路会鼓包甚至起火。动手前请先读锂电池安全,全程「先断电再接线」。

主线:感知 → 决策 → 执行

先把整张图钉在脑子里:

外部世界 →【感知】传感器 →【决策】主控算法 →【执行】电机/舵机 → 改变外部世界 → ……(回到感知)

这是一个闭环。机器人之所以不是遥控玩具,就在于它能自己「看一眼→想一下→动一下」,然后再看再想再动,循环不止。这个循环工程上叫 sense-think-act(感知-思考-执行)。记住这六个字,你就抓住了机器人的本质。

下面这张表是全篇的地图,先扫一眼,后面逐行展开:

子系统 它负责什么 典型器件 本站对应
感知 把物理世界变成数字信号 超声测距、IMU 姿态、编码器、摄像头、循迹模块 传感器总览
决策 根据感知数据算出「该怎么动」 MCU(ESP32)、SBC(树莓派)、控制算法/状态机 机器人入门
执行 把决策变成物理动作 直流电机、舵机、电机驱动板、电源 电机驱动

感知:机器人的「眼耳」

感知解决一个问题:机器人怎么知道周围发生了什么。没有感知,机器人就是个按固定程序傻转的电动玩具,撞墙也不会停。

感知层就是各种传感器,每种回答一个具体问题:

  • 测距类——「前面多远有障碍?」最常见的是超声波模块 HC-SR04,几块钱,发一道超声波再听回声,算出距离。小车避障的「眼睛」基本就靠它。详见 HC-SR04 超声波测距
  • 姿态类(IMU)——「我现在是平的还是歪的?转了多少度?」MPU6050 这类六轴模块测加速度和角速度,平衡车、无人机离不了它。详见 MPU6050 姿态传感器
  • 编码器——「轮子转了几圈?」装在电机轴上,数脉冲,让主控知道实际跑了多远、转速多少。想精确控制速度,这是闭环的前提。
  • 视觉——「这是什么东西?」摄像头加上算法,能识别颜色、二维码、人脸甚至物体。这是感知里最「重」的一块,通常需要算力更强的主控,后面加视觉那节再聊。
  • 循迹——「我有没有压着黑线走?」红外对管检测地面黑白,循迹小车的入门感知。

新手选型观点:别一上来堆传感器。一台能跑通闭环的避障小车,一个 HC-SR04 就够了。先把「一个传感器→主控→电机」这条链路打通,再加第二个。贪多的结果往往是接线一堆、一个都不工作。

在 ESP32 小车上,感知层就是你插在某几个 GPIO 上的那些模块——超声波接两个脚(Trig/Echo),IMU 走 I2C 两根线。它们的共同点:把物理量变成 ESP32 能读的电信号或数字

决策:机器人的「大脑」

决策解决:拿到感知数据后,到底该怎么动。这是机器人真正「聪明」的地方,也是代码住的地方。

决策跑在主控上,主控分两档:

  • MCU(微控制器)——以 ESP32、STM32 为代表。便宜、省电、开机即用、实时性好,适合跑控制算法和状态机。小车、平衡车、机械臂这类「动作明确」的机器人,MCU 完全够。本站默认用 ESP32。
  • SBC(单板计算机)——以树莓派为代表,本质是台小电脑,能跑 Linux、接摄像头、做视觉甚至大模型推理。算力强但贵、费电、启动慢。需要「看懂世界」时才上它。

决策层里跑的「思考」逻辑,新手会遇到三种,由浅入深:

  1. 状态机——「如果……就……」的升级版。比如避障小车:正常前进 状态下若测到障碍 < 20cm,就切到 转向 状态;转够了再切回 前进。清晰、好调试,90% 的入门机器人靠它。
  2. 控制算法(PID)——当你要「精确」而不只是「能动」时登场。比如让小车稳稳跑在某个速度,而不是忽快忽慢。这就要用编码器反馈 + PID 调节,详见 PID 控制入门
  3. 大模型当大脑(进阶)——让机器人理解自然语言指令、自己规划动作。这是 AI 时代机器人最让人兴奋的方向,但它跑在 SBC 或云端,且不能替代底层控制。我们单独开一篇 给机器人装个大模型大脑 讲。

在 ESP32 小车上,决策就是你烧进去的那段 Arduino 代码——读传感器、判断、给电机下指令。

执行:机器人的「手脚」

执行解决:怎么把「该往左转」这个决定变成轮子真的往左转

执行层有三个角色,缺一不可:

  • 电机/舵机——直流电机管「转」(驱动轮子,详见 电机基础电机类型);舵机管「精确转到某个角度」(机械臂关节、转向,详见 舵机控制)。
  • 电机驱动板——主控的 GPIO 只能输出几毫安,根本带不动电机。中间必须夹一块驱动板(如 L298N、TB6612)放大电流、控制正反转和调速。这是新手最容易漏掉的一环,详见 电机驱动板
  • 电源——给整套系统供电。看着不起眼,却是新手第一大坑,下面单独说。

数据通路:一台避障小车,信息怎么流

光分块还不够,关键是看信息怎么从传感器一路流到电机。拿避障小车走一遍:

①超声波测得「前方 15cm 有障碍」
        ↓(GPIO 读入数字)
②ESP32 主控判断「15 < 20,危险」→ 状态机切到「转向」
        ↓(GPIO 输出控制信号)
③驱动板收到「左轮停、右轮转」→ 放大电流驱动电机
        ↓
④小车原地左转,避开障碍 → 重新测距(回到①)

这一圈就是 sense-think-act 的实物版。注意第②到第③之间那块驱动板——决策给出的是「弱信号指令」,执行需要的是「大电流」,驱动板是它俩之间的翻译官,没它整条链路就断在主控这头。

写成主循环代码,长这样(示意伪代码,完整可运行实现见 避障小车实战):

void loop() {
  // —— SENSE 感知 ——
  int dist = readUltrasonic();        // 读超声波,单位 cm

  // —— THINK 决策 ——
  if (dist < 20) {                    // 状态机:危险
    motorState = TURN;
  } else {
    motorState = FORWARD;
  }

  // —— ACT 执行 ——
  if (motorState == TURN) {
    setMotor(LEFT, 0);               // 左轮停
    setMotor(RIGHT, 150);            // 右轮转 → 原地左转
  } else {
    setMotor(LEFT, 150);
    setMotor(RIGHT, 150);            // 双轮前进
  }

  delay(50);                          // 循环节奏,约 20 次/秒
}

读懂这二十行,你就读懂了机器人。它就是 sense → think → act 反复跑。把 readUltrasonic 换成读 IMU、把 if 换成 PID、把 setMotor 换成控制舵机,你就有了别的机器人。结构不变,只换零件

你应该理解了什么

  • 任何机器人都是 感知 → 决策 → 执行 闭环,工程上叫 sense-think-act。
  • 感知 = 传感器(测距/IMU/编码器/视觉/循迹),把物理世界变成数字。
  • 决策 = 主控 + 算法(MCU/SBC 上跑状态机/PID/大模型),算出该怎么动。
  • 执行 = 电机/舵机 + 驱动板 + 电源,把决定变成动作。
  • 主控带不动电机,中间必须有驱动板;整套系统必须有干净的电源

常见误区排查表

现象 多半是 怎么办
电机一转,主控就重启/死机 供电问题(电机抢走电流,主控掉压) 给主控和电机分开供电,见下方强调
主控代码没问题,电机却不转 漏了驱动板,或主控直接接电机 中间加 L298N/TB6612 驱动板
传感器读数乱跳 共地没接,或电源不稳 所有模块共地(GND 连一起),稳压供电
小车只会直走不会避障 感知数据没进决策,或阈值写错 串口打印 dist,确认读数真的变化
舵机抖个不停 供电不足或信号线干扰 舵机单独供电,信号线远离电机线

单独强调供电:新手十有八九栽在第一行。电机一启动会瞬间拉走大电流,如果它和主控共用一节电池、还串在一起,电压会被拉低到主控的复位线以下——表现就是「电机一转,ESP32 就重启」,程序从头跑,小车抽搐。

解法:供电分离。电机走一路电(经驱动板),主控走另一路(或加大电容、用稳压模块隔开),两路只在 GND 共地。这件事稳压电路那篇讲得更细。记住一句话:机器人不动了,先怀疑电,再怀疑代码

延伸:给小车装眼睛和大脑

把三块跑通后,有两个升级方向:

  • 加视觉——把超声波换成/补上一个摄像头,小车就能认颜色、追物体、识别二维码。代价是感知数据量暴增,MCU 往往扛不住,得换树莓派这类 SBC,或用 ESP32-CAM 这种带摄像头的型号。入门看 传感器与 AI
  • 加大模型当大脑——让机器人听懂「帮我把红色方块推到左边」这种人话,自己拆解成动作。这是 AI 时代机器人的杀手锏,但大模型跑在算力更强的地方,且只管「想」,底层的「动」仍然是本篇这套执行链路。预告专篇 给机器人装个大模型大脑

动手挑战

不用真搭车,先在纸上拆一台你熟悉的机器人——扫地机器人。试着回答:

  1. 它的感知有哪些?(提示:它怎么知道撞墙了、怎么知道哪儿没扫过)
  2. 它的决策大概跑在 MCU 还是 SBC 上?为什么?
  3. 它的执行有几种电机?(轮子、滚刷、风机各算一种)

把答案写下来。能拆清扫地机,你就能拆清任何机器人。

小结·下一步

机器人不神秘,它就是 感知→决策→执行 这个圈反复跑。看懂了这个骨架,后面学每个零件你都知道它住在哪一块、为什么需要它。

下一步,我们钻进「执行」这块最先要搞懂的零件——电机。直流电机、舵机、步进电机各管什么、怎么选,去看 机器人用哪种电机

内容有错、看不懂、或想看下一期?告诉我们 →

本文为公开资料的学习整理,非亲测。涉接线/花钱/合规的步骤请结合实物与官方最新资料验证,风险自负。见免责声明