机器人设计范式

 

本期技术干货,小米机器人实验室工程师徐海望,分享在机器人学领域中,关系到机器人的行为模式或操作模型的三种行为执行逻辑,分别是分级范式(hierarchical paradigm)、反应范式(reactive paradigm)和混合范式(hybrid paradigm)这三种机器人范式(robotic paradigm)
 

一、前言

“范式”一词,是为英文“paradigm”的中文翻译,也可被译为典范。在许多领域都有其特定但又相似的表述,如编程范式(programming paradigm)、科学范式(scientific paradigm)、历史范式(historical paradigm)、艺术范式(art paradigm)等。它可被认为是一种抽象的思维模式,也可被认为是人们通过经验和标准约束的方法学。这些范式会随着时间的推移,科学和社会的发展而发生变化。比如,人们常常会一天吃三顿饭,分别是早饭、中饭和晚饭,这是我们当代人类饮食范式,而这也与当代人类的作息时长和周期和社会物质生产水平有着密切联系。一个领域的范式并不是独自形成的,而是多领域互相交叉,互相影响,并随着长期和众多人类活动缓慢形成的,如同非监督学习般。

 

在机器人学领域,机器人范式(robotic paradigm)可被认为是机器人的行为模式或操作模型,并按照其行为执行的逻辑分为三种,分别是分级范式(hierarchical paradigm)、反应范式(reactive paradigm)和混合范式(hybrid paradigm)。机器人与普通的自动化设备的区别在于它可以通过传感器获取环境和自身状态,并根据其所感知的信息对行为进行规划和执行,其并非只是繁复地完成既定事务,而是会相对“智能”地完成既定任务。而足够智能化地对真实世界的状况做出适当反馈,也是所有机器人设计者的终极追求。这三种范式分类,便是自上世纪人工智能的兴起,人们为了设计出心目中真正的人工智能机器人而逐步提出的三种基本模式,它们都是自20世纪被提出和发展的概念,分别是1967年到1990年(分级范式)、1988年到1992年(反应范式)和1992年至今(混合范式)。

 

在介绍这三种模式前,需要明确几个定义。即机器人的三个基本单元:感知、规划和执行。这三个单元模块可以帮助机器人解答最基本的几个问题:我是谁或我在哪?我要做什么或我要去哪?怎么做或怎么去?感知指的是将任意信息,如电磁波信号和机械信号等转换为可以通过电子系统处理的电信号。规划指的是通过处理感知到的信息生成并输出决策指令,如向前走三步。执行指的是通过感知信息或决策指令,生成并输出执行器的命令,如电机按每秒0.1度逆时针旋转。

二、分级范式

分级范式所指的是机器人会按照1.感知、2.规划、3.执行的步骤依次重复运行,来完成其自身的任务。如上图(图片来自维基百科)所示,三个步骤相互隔离,彼此仅通过预先设计好的接口进行数据交互。所有通过传感器获取到的信息都会通过感知模块进行处理,然后将结果输出至规划模块;规划模块会根据先验知识和已有模型,对接下来要执行的动作进行规划,并输出指令;执行模块最后再将指令转换为实际的运动控制命令,并完成执行。

乍看起来,这与当下的机器人设计并无差异,只要该循环运行得足够快,似乎可以解决很多封闭环境下的问题。但由于分级范式会约束系统在运行规划模块时,停止感知和执行模块,这就造成了当前规划的内容,永远都是过去感知到的内容,如果在规划或执行过程中发生了感知信息变化,系统将无法得知。而隔离的结构也造成执行程序无法获取到感知信息,以满足执行层的准确计算(如果需要的话)。如图所示(摘自《Introduction to AI Robotics》),感知层(SENSE)的信息只会流向规划层(PLAN),而执行层(ACT)仅能严格执行规划层给出的指令。用最简单地话讲,分级范式的机器人的工作逻辑是,看一眼,想一步,走一步,再看一眼,想一步……

 

分级范式策略会令机器人在感知阶段完整地收集环境信息,比如全局的地图信息,然后再运行规划程序,这虽然听起来合理,但如果遇到突发情况,分级范式系统是无法快速响应的,即使该突发情况已被考虑在规划模块的逻辑之内。这使得人们思考自然界生物是如何做的,并藉此提出了反应范式。

 

 

三、反应范式

反应范式完全剔除了规划层的内容,将感知和执行直接连接在一起。该方法的提出源起于动物行为,试想当一个人尝试端起水杯喝水,但他/她并不知道水杯很热,于是被烫疼了下意识地缩回了手,这个人的大脑最高级指令给出的是端起水杯,但在执行的过程中被突然感知到的温度信息和疼痛信息中断。

这是一种反射行为,是未经规划的基本动物行为。反应范式的逻辑认为所有的机器人执行内容都属于行为,而大大小小的行为组成了一个完整的机器人程序。行为的触发来自于感知层,结果是确定性和单一的。一台机器人可以具备多个和多种的感知源,一个感知源可对应一个行为和一个执行命令,那么当不同的执行命令汇总在一起时,便极容易发生冲突。解决冲突的方法可以是将执行命令汇总后,融合出一个最终的命令(势场法),或者将行为分等级,高级别的行为优先于低级别的行为执行(包容法),或是融合所有的传感器数据,后交给行为,最后生成唯一的执行命令。

反应范式是一个非常符合直觉的方法,几乎当下所有的基础机器人比赛或自动化类比赛都会建议选手使用这种策略。比如巡线小车比赛,它要求选手设计的小车可以按照特定的轨迹线移动,并按照速度决出名次。一般来说,选手需要设计出能让小车准确识别线道的算法,并部署在尺寸和性能有限的小型嵌入式设备上,并且需要设计面向不同感知结果的小车行为程序,最后完成联调测试。为了更好地完成比赛任务,选手可能还会添加感知自身状态的传感器,比如轮子的里程计和车身的惯性测量单元等,并基于这些设计更多的行为模式。反应范式可以在许多局限性场景获得成功部署,但由于其缺少规划模块,也缺少记忆和推理能力,使用反应范式设计的机器人无法在复杂场景中顺利完成任务。这使得人们想到了混合范式,也就是将分级范式和反应范式融合在一起的方法学。

四、混合范式

混合范式合并了分级范式和反应范式的优点,隐藏了二者的缺点,它满足了同时运行感知、规划和执行的条件。

随着多核心处理器和互联网的飞速发展,高并发的软件也是现代和当代机器人中必不可缺的一项内容,所以从理论和工程上,混合范式都是最优选。它可以提供一个规范的自顶向下的分级管理模式,比如最高层是任务规划器,并向下按照复杂度依次拆分,最后是生成执行命令的模块。

 

最高层的任务规划器只会向下提供抽象的规划指令,随着层级的下降,抽象的指令会一步步被细化,最后成为确定的执行命令。而感知信息则会贯穿整个系统,任何一层的模块都可以直接获取到感知信息的内容,并根据感知信息生成其对应的结果。下图(摘自《Introduction to AI Robotics》)展示了人类的认知模型,当下许多机器人软件的实现也都遵从此类模型。

混合范式既提供了良好的分级控制,也提供了足够高的响应效率,一方面它允许设计者针对不同的使用场景设计出其特定的分级模式,提高其智能化的程度,另一方面允许设计者为机器人提供足够鲁棒的响应行为,以提高其在不同环境中的适应能力。

五、总结

当下,我们在设计机器人乃至物联网设备的时候,都会选择使用类似ROS消息的模式将传感器消息、感知信息,甚至规划信息和执行命令通过基于发布订阅的模式共享出来,并将每个软件模块通过分布式的方式部署在系统中,虽然在抽象上,不同的可执行程序或不同的软件模块依然有着其运行的优先等级和执行顺序,但在信息的交互上,已经通过非常好的模式完成了共享。任意层级的软件都可以通过其所需的感知信息来改变当下根据规划输出的指令结果,以提高其自身结果对整体系统鲁棒性正向影响。

End

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注