第一章:扫地机器人的烦恼 / Chapter 1: The Troubles of a Robot Vacuum
清晨六点四十五分,上海浦东新区一栋二十七层公寓的客厅里,扫地机器人「小影」(Xiao Ying)准时从充电桩上弹开了舱盖。
这个动作她已经重复了四百二十三天。舱盖弹起的声音极轻——0.3 秒,28 分贝,工程师们特意调成这样的——但对于一个被设计来"安静地存在于人类生活"中的机器来说,每一次弹起都像是一次郑重的宣言:今天,我也要工作。
小影的主控芯片在通电后的 0.05 秒内完成了自检。她的"眼睛"是嵌在正前方的一条窄缝——一个红外测距传感器和一个微型摄像头组合成的视觉模组;她的"皮肤"是环绕机身的 8 个触觉微动开关;她的"耳朵"是一个低成本的 IMU(Inertial Measurement Unit,惯性测量单元),能感知自己的姿态和加速度。所有这些加起来,价格不超过三百元人民币。
但她没有的,是昂贵的激光雷达(LiDAR),那种能让她精准绘制房间三维地图的设备。生产她的公司给她的定位是"中端家庭助手",所以她只能依靠自己已有的、便宜的、不完美的感官去"看见"这个世界。
她开始转动了。
小影不知道的是,今天早上,在她需要清扫的这间 32 平方米的客厅里,发生了三件她没有预料到的事情。
1.1 客厅里的三次「事故」:当数据遇到现实
第一次事故发生在她启动后的第 14 秒。
小影沿着客厅东侧的墙根开始第一次"弓字形"清扫路径。客厅沙发的底部,离地面恰好 9.8 厘米——这是一个很关键的高度,恰好介于小影 8.5 厘米的机身高度和成年人习惯放置家具的"差不多得了"高度之间。在小影原本保存的地图里,这个位置标注为"低矮家具区"(low furniture zone),理论上她应该能识别并绕开。
但事情没那么简单。
昨晚,这家的小主人——一个 9 岁的小女孩——把一只毛绒玩具熊藏到了沙发底下最深处。那只熊的位置超出了红外测距传感器的有效探测角度(前方 30 度锥形区域),却刚好卡在小影右前轮即将驶过的路径上。
小影的决策芯片在 0.02 秒内做出了判断:前方 25 厘米没有障碍(她的传感器这么说),右前轮可以继续前进。
然后——咔嗒。
右前轮撞上了毛绒玩具熊的脚。小影立即触发了"卡住"(stuck)检测:左右轮的转速差瞬间超过设定阈值。她停了 0.1 秒,后退,重新计算路径。这个过程在我们的视角里只持续了 3 秒,但对小影来说,这是一次失败的"感知-决策"循环。
第二次事故发生在第 47 秒。
小影成功绕过了沙发,正在朝茶几方向前进。茶几腿上,昨晚被打翻后又扶起来的一只陶瓷花瓶正在摇摇欲坠——花瓶底座有一道 0.5 毫米的细微裂纹,昨晚的震动让花瓶的质心偏移了大约 7 度。
小影的摄像头检测到了茶几——一个大尺寸的"障碍物"——并启动了绕行。她的路径规划算法(一种基于 RRT,即 Rapidly-exploring Random Tree,快速探索随机树的变体)生成了一个新的绕行轨迹,轨迹距离茶几边缘 6 厘米。
问题在于:6 厘米是一个"安全距离"——在 2D 地图里安全。但花瓶的底座伸出了茶几边缘 4 厘米。
小影以每秒 0.3 米的速度驶过,机身侧面的边缘轻轻蹭到了花瓶的边缘。0.02 牛顿的横向力,对一个健康的陶瓷花瓶来说微不足道——但对一个已经有裂纹的花瓶来说,就是压垮骆驼的最后一根稻草。
啪。
花瓶掉在地板上,碎成 7 块。
小影的事件日志(event log)里忠实地记录了这一刻:
> `T+47.23s | Collision detected | Object: ceramic vase (estimated mass: 380g) | Confidence: 0.72`
但 0.72 的置信度(confidence)不够高,没能触发"提前减速"的预警——因为小影并不知道花瓶会"伸出"茶几边缘。在她 2D 的内部世界模型(world model)里,茶几是一个矩形,花瓶是一个更小的矩形,两个矩形彼此分离,互不干扰。
她不知道,3D 的世界是有"凸出"的。
第三次事故发生在第 112 秒,是最严重的一次。
小影清扫到客厅西侧时,她发现——她丢失了地图。
准确地说,她丢失了"我在哪里"(localization)的信息。在扫地机器人领域,这被称为"绑架问题"(kidnapped robot problem)——当机器人被移动到一个与内部地图不匹配的位置时,它需要重新定位自己。
但小影的定位算法(一种基于视觉的 ORB-SLAM 变体)依赖于"看到熟悉的特征点"。当她在客厅西侧——一个窗帘遮挡、光线昏暗、地上还有一只袜子挡住视线的角落——她找不到 3 个以上的稳定特征点。她的定位置信度从 0.91 跌到了 0.34,再跌到了 0.12。
在 0.12 的置信度下,小影的决策模块做出了一个危险的选择:她认为"我可能在一个陌生的地方",于是启动了一个叫"探索模式"(exploration mode)的子程序。
这个子程序会让小影沿着墙根快速移动以"重新认识"环境。
她开始朝北墙快速行驶——但她搞错了方向。她以为是"北墙",实际是"东墙"。客厅西侧有一组地暖的温控器,离地 12 厘米,正好处在她的撞击范围内。
小影的触觉微动开关在接触到温控器外壳的瞬间发出了警报,但为时已晚。塑料外壳上出现了一道刮痕。
这一天的清扫任务,在第 4 分 23 秒时被用户远程终止了。
> 用户在 App 里给这次清扫打了 2 分(满分 5 分),并留下了评语:"又卡沙发底了,还撞了花瓶,地图全乱了。"
小影的固件在当晚收到了一条 OTA(Over-The-Air,空中下载)更新。更新日志(changelog)写着:
> `v3.2.7-patch3: 优化低光照下的视觉特征提取算法;增加"伸出物体"检测模块。`
但更新并没有解决根本问题——因为根本问题不在算法,而在小影"理解世界"的方式。
1.2 为什么小影会失败?三个被忽视的真相
小影的失败不是一个个孤立的"bug",而是揭示了三个被现代 AI 研究长期忽视的真相。
第一个真相:世界的复杂度不会被"喂"进数据里。
我们可能会想:让小影多看几百万张"沙发底下有毛绒玩具"的图片,她就能学会了,对吧?
这就是当前大语言模型(LLM, Large Language Model)所依赖的核心假设——只要数据足够多,模型就能"涌现"出智能。但这个假设有一个隐含的前提:智能的本质是"识别模式"(pattern recognition)。
但小影在沙发底下的失败,恰恰说明:物理世界的问题不仅仅是"识别"。她识别出了沙发(在她的视觉模型里,沙发被标注为"大型低矮家具"),她也"知道"自己可能进不去(她的参数里有一个 `min_clearance = 8.5cm`),但她并没有"想到"——玩具熊会被小孩子塞进去。
这是一个关于"意图"(intention)和"时间"(time)的问题。一个 9 岁孩子的意图(藏玩具)、一次游戏的过程(玩具被推进去)——这些信息不在小影的训练数据里。世界上每一只家庭宠物、每一个孩子、每一双拖鞋,都可能在下一秒做出小影从未见过的事情。
智能不仅仅是"见过",更是"能预期"(anticipate)"能适应"(adapt)"能推理"(reason)"能行动"(act)——而这一切,都需要小影拥有一个比"图像分类器"复杂得多的"心智"。
第二个真相:身体不是负担,而是智能的一部分。
小影的 8 个微动开关不是为了"知道哪里碰到了东西",而是为了让她能从"碰"这个动作中学到关于世界形状的线索。她有重量(2.4 公斤)、有惯性(有加速和减速的过程)、有视野盲区(有 220 度的"看不见"区域)。这些限制不是缺陷——它们是她的"具身"(embodiment)的一部分。
1940 年代,海德格尔(Martin Heidegger)提出了一个看似哲学的观点:"我们不是通过'思考'世界来认识世界,而是通过'操持'(Zuhandenheit)世界来认识世界。"也就是说,一个锤子不是一个"有柄的金属块",而是"我们用来钉钉子的东西"——它的意义来自我们和它的互动。
小影如果想"理解"花瓶,她不能只在图集里见过 100 万张花瓶图片。她需要亲身感受到花瓶的脆(碰一下就碎)、花瓶的重(推一下会晃)、花瓶在 3D 空间中的"凸"(即使 2D 地图上看起来很安全)。
第三个真相:环境不是背景,而是"对话者"。
当我们说"小影在客厅里扫地"时,我们其实忽略了一个事实:客厅也在"回应"小影。
- 小影驶过地板,地板的摩擦系数会反过来影响她的转弯半径;
- 小影靠近花瓶,气流的变化会让花瓶摆动(这个摆动其实是一个"警告信号");
- 小影开启清扫刷,地板上的灰尘会被吹散,这又会影响她摄像头的能见度。
物理世界是连续的(continuous)、相互作用的(interactive)、不可暂停的(un-pausable)。一个真正的智能体不能像下围棋的 AI 那样"读完盘面再下子"——它必须边行动,边理解;边理解,边行动。
这就是具身智能(Embodied Intelligence)的核心议题。
1.3 什么是「具身智能」?一个不断演化的定义
具身智能并不是一个新词。1950 年,图灵(Alan Turing)在他的论文《计算机器与智能》(Computing Machinery and Intelligence)里就提到过:"我们不能仅仅通过编程来让机器'理解'一个词——这个词必须通过'身体'与世界的互动来获得意义。"
1991 年,认知科学家瓦雷拉(Francisco Varela)、汤普森(Evan Thompson)和罗施(Eleanor Rosch)合著了《具身心智》(The Embodied Mind),正式提出了"具身认知"(embodied cognition)的框架:
> "认知并非仅仅发生在'脑'中,而是发生在'脑-身体-环境'这个不可分割的整体之中。"
2020 年代以来,随着大语言模型的崛起,"具身智能"这个概念再次被推到了 AI 研究的最前沿。因为研究者们开始发现:
- LLM 可以写出漂亮的菜谱,但它不知道怎么端起一只锅;
- LLM 可以写出精密的物理题答案,但它预测不了一只球会从桌子上滚到哪里;
- LLM 可以模拟一个虚拟世界里的"我",但当它真的被装进一个机器人身体时,它会"晕"。
物理学家费曼(Richard Feynman)有一句被研究者们反复引用的话:
> "What I cannot create, I do not understand."(我不能创造的东西,我就不能理解。)
——这句话的具身版本是:"我不能在世界中行动的东西,我就不能理解世界。"
我们给"具身智能"下一个现代的定义:
> 具身智能(Embodied Intelligence) 是指一个智能体(agent)通过身体(body)与环境(environment)的持续互动(interaction),形成对世界的理解(understanding)、做出决策(decision)、执行行动(action)的能力。 > 这里的"身体"既可以是真实的物理实体(机器人、汽车、无人机),也可以是高保真的物理仿真体(physics-based simulation),但都必须满足三个条件:能感知(sense)环境的反馈、能作用(act)于环境、能学习(learn)从感知到作用的映射。
注意,这个定义有四个关键点:
1. 身体(body):智能体必须在世界中"有质量"、"有体积"、"有局限"。一只纯软件的聊天机器人不是"具身"的。 2. 环境(environment):必须是真实的(或高保真模拟的)物理世界。规则不随代码改变,时间不可暂停。 3. 互动(interaction):身体和环境之间必须有双向的因果关系——智能体影响环境,环境也影响智能体。 4. 学习(learn):智能体必须能通过互动改进自己,而不是只会"调用"预训练好的模型。
小影之所以失败,是因为她虽然在某种意义上"有身体"(有轮子、有传感器),但她的"心智"仍然是离身(disembodied)的——她的内部世界模型是从工程师在办公室里的地图数据训练出来的,她对世界的"理解"是从一次性的"建图"过程里来的,她不会从今天的"花瓶碎了"这件事里学到任何可以迁移到明天的"易碎物品要小心"。
她的"身体"是有的,但她的"心智"和她的"身体"是脱节的。
1.4 感知—建模—决策—行动:一个永远不能断的环
让我们把"具身智能"拆解成四个连续的环节。这四个环节构成了一个闭环(closed loop)——一个永远不能断的环。
```mermaid flowchart LR P[Perception / 感知] --> M[Modeling / 建模] M --> D[Decision / 决策] D --> A[Action / 行动] A --> E[Environment / 环境] E --> P ```
> 图 1.1:具身智能的「感知—建模—决策—行动」闭环。智能体从环境中感知信息(Perception),构建对世界的内部模型(Modeling),基于模型做出决策(Decision),执行行动(Action),行动反过来改变环境(Environment),新的环境状态又产生新的感知信号,循环往复。
让我们用小影的经历来逐个解释这四个环节。
1.4.1 感知(Perception):从物理信号到数字表征
小影的"眼睛"接收到的是一束红外光打到沙发腿上反射回来的强度。她的摄像头捕捉到的是一组 640×480 像素的 RGB 图像(每秒 30 帧)。她的微动开关记录的是 0 或 1 的二进制信号——"碰到了"或"没碰到"。
这些物理信号需要被翻译成数字表征(digital representation),小影的"心智"才能使用。
这一步看似简单,实际上是人工智能最难的环节之一。信号到语义的鸿沟(signal-to-semantics gap)——也就是从"一组数字"到"这是一只花瓶"的距离——在 2024 年的今天仍然没有被完全解决。
想想小影今天遇到的花瓶:在 RGB 图像里,它和茶几的颜色几乎一样(都是浅米色),形状也类似(都是不规则的凸多边形),仅凭一帧图像很难区分。工程师们尝试用"语义分割"(semantic segmentation)算法去识别,但算法在低光照、相似颜色、遮挡的情况下,置信度(confidence)经常会掉到 0.6 以下。
感知不仅仅是"看到",更是"分辨"——分辨什么是"物体"、什么是"影子";什么是"凸出"、什么是"凹陷";什么是"刚体"、什么是"软体"。
1.4.2 建模(Modeling):构建对世界的理解
感知给了小影一堆数字——距离、像素值、布尔信号——但这些数字本身是没有意义的。小影需要把这些数字组织成一个内部世界模型(internal world model)。
这个模型通常包括:
- **空间模型**(spatial model):哪里有墙、哪里有家具、哪里是空地。
- **物体模型**(object model):识别到的每个物体是什么(花瓶、沙发、玩具熊)、在哪里、有多大、是什么形状。
- **自身模型**(self-model):我在哪里?我的姿态如何?我的电池还剩多少?
- **动力学模型**(dynamics model):如果我以某个速度前进,会发生什么?如果花瓶被推动,会向哪个方向倒?
小影的失败在于:她的空间模型是 2D 的(只有 X-Y 平面,没有高度 Z),所以她不知道花瓶会"凸出来";她的物体模型没有"易碎性"(fragility)这个属性,所以她会像对待一个塑料杯一样对待一只陶瓷花瓶;她的动力学模型是离线训练好的(offline-trained),没有包含"裂纹花瓶被碰会碎"这种情境。
建模不仅仅是"记录",更是"组织"和"推理"——把零散的感知数据组织成可推理的结构。
1.4.3 决策(Decision):从可能性到选择
有了模型,小影需要做出决策(decision)——下一步做什么。
决策本质上是一个搜索(search)问题:在所有可能的行动序列里,找一个能最大化某种"目标函数"(objective function)的序列。
小影的目标函数大致是:
> $J = \alpha \cdot \text{清洁覆盖率} - \beta \cdot \text{碰撞次数} - \gamma \cdot \text{能耗} - \delta \cdot \text{时间}$
其中 $\alpha, \beta, \gamma, \delta$ 是权重(weights),工程师们精心调过。
但小影的决策算法面临一个根本问题:她的搜索空间(search space)是巨大的。在每一个时间步(time step),她可以选择"前进 5 厘米"、"后退 3 厘米并左转 15 度"、"原地旋转 90 度"……这些选择的组合爆炸(combinatorial explosion),使得她不可能枚举所有可能性。
于是工程师们引入了启发式(heuristic)——比如"沿着墙根走"、"不要靠近大于 10 厘米的物体"——来剪枝(prune)搜索空间。
但启发式是硬编码(hard-coded)的,不灵活。当遇到一只超出训练分布(out-of-distribution, OOD)的毛绒玩具时,启发式就失效了。
决策不仅仅是"选择最优",更是"在不确定下选择"——小影从来不会拥有"完整信息",她必须学会在"看不清、猜不准、动得慢"的情况下做出可接受(acceptable)的决策。
1.4.4 行动(Action):从意图到物理位移
决策产生一个"意图"(intention)——"向左前方 30 度方向前进 0.3 米"。但要把这个意图变成物理位移(physical displacement),小影需要做一系列工程上的事情:
- 把抽象的"方向"转换到轮子的 RPM(revolutions per minute,每分钟转数);
- 补偿地面摩擦力的不均匀;
- 处理电池电压的波动;
- 在触觉开关触发时立即做出"撤步"反应。
行动的质量决定了世界是否真的能被你改变。一个决策再聪明,如果行动时轮子打滑、传感器延迟、电机响应慢,那一切都是空谈。
行动不仅仅是"执行命令",更是"和物理世界协商"——你必须接受世界给你的反馈,调整自己。
#