初代 Roomba 的成功源于其简洁而强大的设计理念。它采用罗德尼·布鲁克斯提出的基于行为的机器人架构,通过组合多个简单的、独立的程序来应对复杂且不可预测的家庭环境,而非依赖昂贵的零件和复杂的地图构建。这种“整体大于部分之和”的方法,使得机器人即便在部分零件失灵时也能继续工作。如今的扫地机器人虽然功能繁多,但其增加的复杂性可能偏离了初代产品简洁高效的核心原则,提醒着开发者应专注于核心架构,而非盲目堆砌功能。
极简但有效的设计
2002年推出的初代 Roomba 是第一款成功的家用消费级机器人。它的成功并非偶然,而是源于一种与众不同的设计哲学。
- 廉价组件: 它使用大量现成的廉价零件,将价格控制在普通消费者可以接受的范围内。
- 完全自主: 用户只需按下开关,它就能自动在房间里四处清扫。
- 功能足够: 尽管吸力不强,也无法处理地毯流苏或液体污渍,但它足以维持地面的日常清洁水平。
与今天功能繁复的扫地机器人相比,初代 Roomba 内部设计更简单、更优雅,其核心理念与大多数其他机器人根本不同。
整体大于部分之和
传统的工业机器人通过高精度、高成本的零件在可预测的环境中精确执行程序。一旦出现意外,安全系统就会介入并停止机器人。然而,家庭环境是完全不可预测的。
Roomba 的软件编写方式,是让机器人在不可靠的零件和不可预测的环境下,尽可能可靠地运行。
它通过一系列巧妙的技巧实现了这一点,使其表现超越了其廉价零件的总和:
- 无需地图: 它没有足够的内存来记住房间地图,而是通过简单算法(如撞到障碍物后退、转向)来尽可能覆盖整个地面。
- 容错性强: 如果一个旋转刷失灵,它不会停止工作,而是会利用剩下的刷子和吸尘器继续尽力清洁。
行为驱动机器人学:成功的秘诀
Roomba 成功的秘诀在于其软件,它采用了麻省理工学院罗德尼·布鲁克斯教授在1980年代首创的非传统方法。布鲁克斯的灵感来自于一个悖论:计算机能下棋、能做物理模拟,却无法完成昆虫轻易就能做到的简单生存任务,比如爬出坑洞。
传统机器人构建方法是“感知-建模-规划-执行”的线性流程,但这在多变的世界中常常失灵。
布鲁克斯主张构建非常简单的程序,这些程序持续收集传感器数据并直接驱动执行器。每个程序只实现一个单一、简单的目标。
这个方法被称为“基于行为的机器人学”,其核心思想如下:
- 独立的行为模块: 机器人由多个独立的行为程序组成,例如“躲避障碍物”、“沿着墙壁走”、“寻找光源”等。
- 分层与仲裁: 这些行为被组织成一个层次结构。更高优先级的行为可以压制或覆盖低优先级的行为。例如,当 Roomba 的传感器探测到楼梯边缘时,“避免跌落”这个生存行为的优先级会高于“继续清扫”的行为,从而命令机器人后退并转向。
这种架构使得机器人能够像生物一样,在复杂环境中表现出灵活而鲁棒的反应。
经验与教训
初代 Roomba 证明了基于行为的方法是开发实用自主机器人的有效途径。然而,如今的机器人似乎已经偏离了这一简洁的原则。
现在的扫地机器人配备了各种复杂功能:
- 摄像头
- 网络连接与手机 App
- 通过 vSLAM 技术构建的地图
在激烈的市场竞争中,企业很容易迷失方向,不断增加功能。但并非所有功能都是真正的创新,有些可能只是不必要的负担。在权衡优势和成本时,必须忠于产品的核心架构。
初代 Roomba 的简洁是一种美德。