每个人说的都不太一样
说出「机器人」这个词,五个人脑子里会浮现五种画面。一台开暖气的恒温器。一架悬在田野上空的无人机。一个回答问题的聊天机器人。一只焊接车门的橘色大机械臂。一台在客厅里到处碰壁的扫地机。它们不可能是同一类东西——可我们偏偏都用同一个词。所以在研究机器人之前,得先把问题问得更准:机器人究竟和高级家电、和聪明的软件,差在哪里?
并不存在一个人人认可的官方答案,但机器人这门学科有一个很好用的工作定义。本篇接下来会一块一块把它搭起来,再说明为什么「乱糟糟的物理世界」才是机器人真正难的地方。
一个工作定义
大多数机器人专家画的界线是这样的:机器人是一台实体机器,它能感知周围环境、自己决定该做什么,再通过自身的身体在世界里动作——而且这整个循环是它自己跑的,不需要人盯着每一步去操控。把这句话拿去对照那些让人犯迷糊的例子,雾气就开始散了。
聊天机器人出局:它没有身体,从不触碰物理世界——它完全活在软件里。一台永远重复同一个固定动作的工厂机器也出局,但理由相反:它并不真正感知或决定,只是在回放一段脚本。这种盲目的重复叫自动化,不叫机器人学。机器人恰好坐在两者之间的甜蜜点上——它像家电一样有身体,又像软件一样会做选择。
三个要素
这个定义里藏着三个要素,一台机器三者齐备才配得上「机器人」这名字。我们就跟着一台扫地机器人清理你家地板,看着这三个要素一个个登场。
- 感知——把世界读进来。扫地机边缘有碰撞传感器,底部有朝下的防跌落传感器,能在冲下楼梯前发现台阶边缘,往往还配着摄像头或旋转的激光来量出到墙壁的距离。这就是把原始的现实变成它能处理的数字。
- 计算与决策——把读到的东西想明白。机身里的小电脑会拼出一张粗略的地图,算出哪里已经扫过,察觉到「前方有墙」,于是选择转弯而不是继续硬撞。这就是「决定」这一步——盲目反应和主动选择的分水岭。
- 执行——反过来作用于世界。马达转动轮子让它前进、转向;另一个马达带动刷子;风扇制造吸力。执行器就是任何把「决定」变成真实物理运动或力的部件。没有执行器就没有动作——一台无法作用于世界的机器,不是机器人。
现在洗衣机的谜题自己就解开了。它确实会感知水位和水温,也确实会通过转动滚筒来动作。它缺的是中间那个、带有真正自主性的要素:它跑的是一段固定的定时程序,对一个无法预料的世界并不做真正的选择。相比之下,扫地机每天面对的房间都不一样,必须自己决定走哪条路。第三个要素——在没人写好剧本的情境里自己拿主意——正是把它推过界线的关键。
为什么「有身体」让一切都不一样
在物理世界里拥有一具身体,绝不是个小细节——它正是让机器人学成为一门独立学科、并且难到残酷的原因。这个想法有个名字:具身性。一个聊天机器人答错了,大不了再试一次,什么都不会坏。一只机械臂判断失误两厘米,就会把杯子从桌上扫下去,没有撤销键。世界不会等你,不会重置,也从不会一模一样地重来。
有身体还意味着要应付物理世界丢给你的一切:会报出略有偏差数字的传感器、会冲过头的马达、摩擦、重力、某个角落格外多灰的地板、每小时都在变的光线。机器人必须在这一切之下持续工作,实时进行,而且后果当真。这就是为什么对人来说稀松平常的事——捡起一条软毛巾、走过一片碎石——对机器人反而比下棋这类我们认为「很聪明」的任务难得多。(这个令人意外的反转还有个名字,叫莫拉维克悖论,后面的篇章会展开讲。)
把这一切串起来的那个循环
请注意,这三个要素不是一次性的清单——它们一遍遍地循环,每秒钟跑很多次。感知世界、决定做什么、动作,然后再次感知去看发生了什么变化,接着再来一圈。这个永不停歇的循环是每一台机器人的心跳,它有个名字:感知—规划—执行循环。它是整条学习路径里最重要的一个概念,紧接着的下一篇就会把它一步步拆开来讲。
机器人的形态也千差万别——滚动的、行走的、飞行的、游动的、固定在工厂地面上的机械臂——而有一套有条理的方法把它们归类,叫机器人分类法。但无论形态如何,它们每一个都靠同一个「三要素循环」活着。把这个循环装进脑子,你就掌握了今后遇到的任何机器人的骨架。