如果说驱动子系统是机器人的肌肉,能源子系统是机器人的心脏,那么控制和决策子系统就是机器人的大脑。这是机器人最重要、最复杂的一个子系统。
机器人是一种高度复杂的自动化装置。其控制子系统也是直接来源于自动化领域的其他应用,例如工厂自动化领域中所用到的处理器、电路以及标准。本章仅仅列举并对比了几种常见的、典型的控制系统拓扑结构,然后分析了几个典型的机器人控制子系统的构成,特别是详细说明了“创意之星”机器人的控制架构。
典型的几种机器人控制架构(ARCHITECHURE)
这里我们不讨论传统的工业机器人,主要关注的是自主移动机器人、仿生机器人等新形态的机器人。通常,机器人的架构是指如何把感知、建模、规划、决策、行动等多种模块有机地结合起来,从而在动态环境中,完成目标任务的一个或多个机器人的结构框架。总的说来,当前自主机器人的控制架构可分为下述几类:
1. 程控架构,又称规划式架构,即根据给定初始状态和目标状态规划器给出一个行为动作的序列,按部就班地执行。较复杂的程控模型也会根据传感器的反馈对控制策略进行调整,例如在程序的序列中采用“条件判断+跳转”这样的方法。
2. 包容式架构和基于行为的控制模型,又称为反应式模型,复杂任务被分解成为一系列相对简单的具体特定行为,这些行为均基于传感器信息并针对综合目标的一个方面进行控制。基于行为的机器人系统对周围环境的变化能作出快速的响应,实时性好,但它没有对任务做出全局规划,因而不能保证目标的实现是最优的。
3. 混合式架构,是规划和基于行为的集成体系,不仅对环境的变化敏感,而且能确保目标的实现效率。通常混合式架构有两种模式:一种模式是,决策系统的大框架是基于规划的,在遇到动态情况时再由行为模型主导;另一种模式是,决策系统的大框架基于行为,在具体某些行为中采用规划模型。总之,混合式架构的设计目的是尽可能综合程控架构和包容式架构的优点,避免其缺点。
下面几小节对以上三种架构进行初步的讨论。更进一步的资料,请参阅相关文献。本书的附录中列出了一些可供参考阅读的书籍资料。
1.1 集中程控架构
传统的机器人大都是工业机器人。他们通常工作在流水线的一个工位上,每个机器人的位置是已知、确定的;设计者在每台机器人开始工作之前也很清楚他的工作是什么,他的工作对象在什么位置。这种情况下,对机器人的控制就变成了数值计算,或者说“符号化”的计算。例如,我们通过实地测量可以得到一台搬运机器人的底座的坐标;再通过空间机构几何学的计算(空间机器人的正解、逆解),可以得到机器人的各个关节处于什么样的位置的时候其末端的搬运装置可以到达给定位置。这样,机器人控制策略设计者是在一个静态的、结构化的、符号化的环境中编写策略;他不需要考虑太多的突发情况,至多需要考虑一些意外,例如利用简单的传感器检测应该被搬运的工件是否在正确的位置,从而决定是否报警或者停止工作等等。
这类机器人通常由一个单独的控制器。这个控制器收集从机器人各个关节、各个附加传感器传送来的位置、角度等信息,通过控制器处理后,计算机器人下一步的工作。整个机器人是在这个控制器的控制下运作,对于一些异常的处理也在程序的设定范围内。下图是两个典型的采用集中式系统架构的移动机器人框图。左侧的框图的控制器是一台PC机,它担负了所有的信息采集、处理和控制功能;右图是经过改进的机器人架构:在PC机之外,增加了一个DSP控制器,承担了PC 机的部分工作。但是,这两种架构下控制器的负担都相当重,并且如果控制器出现故障,整个机器人将会瘫痪。
对于上面描述的工作内容,程控式、集中控制式结构是非常理想的。如前所述,机器人不会遇到太多动态的、非符号化的环境变化,并且控制器能够得到足够多的、准确的环境信息。设计者可以在机器人工作前预先设计好最优的策略,然后让机器人开始工作,过程中只需要处理一些可以预料到的异常事件。
但是,假设我们要设计一个在房间里漫游的移动机器人,房间的大小未知;并且我们也无法准确地得到机器人在房间中的相对位置,这种架构将无法获得足够的信息,并且无法处理未知的突发情况。因此对于传统意义之外的机器人,例如移动机器人、宠物机器人等,程控式控制架构就很难适应了。
集中式程控架构的优点是系统结构简单明了,所有逻辑决策和计算均在集中式的控制器中完成。这种架构很清晰:控制器是大脑,其他的部分不需要有处理能力。
而对于仿生机器人、在未知环境中工作的机器人,一个大脑处理所有事情真的合适吗?
考虑蚯蚓、蜈蚣之类的低等生物。它们的大脑很不发达(甚至没有大脑),反而具有一个很发达的脊索或者很夺个神经节。大部分是这些分布在全身的神经节在主导它们的活动和反应,而不是大脑。
读者在中学生物课中应该做过这么一个试验:
用一个小锤子,轻轻地敲膝盖以下的位置。你会发现小腿不受控制地自动抬起。这是著名的“膝跳反射”试验。这个实验说明,即使是人类这样的高等生物,也不是全部的生命活动都在大脑的控制之下。设想一个具有人类全部功能的机器人。它有数百个电动机对应人类的数百块肌肉,有数万个传感器,对应人类的皮肤、眼睛、鼻子和耳朵等。如果采用集中式控制架构,这个机器人的大脑将很难负荷如此庞大的数据运算和决策。
因此对于工业机器人之外的其他机器人,发展出了分层式控制架构、包容式架构,以及混合式架构等更适合其特点的控制架构。
1.2 分层式架构(LAYERED ARCHITECTURE)
分层式架构是随着分布式控制理论和技术的发展而发展起来的。分布式控制通常由一个或多个主控制器和很多个节点组成,主控制器和节点均具有处理能力。其中心思想是:主控制器可以比较弱,但是大部分的非符号化信息已经在其各自的节点被处理、符号化,再传递给主控制器来进行决策判断。单个节点分布式控制模型已经被广泛应用在大型工厂、楼宇等结构复杂、传感器和执行器很多的场合中。
分层式架构是基于认知的人工智能(Artificial Intelligence, AI)模型,因此也称之为基于知识的架构。在AI模型中,智能任务由运行于模型之上的推理过程来实现,它强调带有环境模型的中央规划器,它是机器人智能不可缺少的组成部分,而且该模型必须准确、一致。分层式架构是把各种模块分成若干层次,使不同层次上的模块具有不同的工作性能和操作方式。
通过对分布式系统中不同功能的节点进行功能层次划分,即得到了分层式架构。
分层式架构中最有代表性的是由20世纪80年代智能控制领域著名学者Saridis提出的三层模型。Saridis认为随着控制精度的增加,智能能力减弱,即层次向上智能增加,但是精度降低,层次向下则相反。按照这一原则,他把整个结构按功能分为三个层次,即执行级、协调级和组织级。其中,组织级是系统的“大脑”,它以人工智能实现在任务组织中的认知、表达、规划和决策;协调级是上层和下层的智能接口,它以人工智能和运筹学实现对下一层的协调,确定执行的序列和条件;执行级是以控制理论为理论基础,实现高精度的控制要求,执行确定的运动。需要指出的是,这仅仅是一个概念模型,实际的物理结构可多于或少于三级,无论多少级,从功能上来说由上到下一般均可分为这三个层次。信息流程是从低层传感器开始,经过内外状态的形势评估、归纳,逐层向上,且在高层进行总体决策;高层接受总体任务,根据信息系统提供的信息进行规划,确定总体策略,形成宏观命令,再经协调级的规划设计,形成若干子命令和工作序列,分配给各个控制器加以执行。
在分层式架构中,最广泛遵循的原则是依据时间和功能来划分架构中的层次和模块。其中,最有代表性的是美国航天航空局(NASA)和美国国家标准局(NBS)提出的NASREM的结构。其出发点之一是考虑到一个智能机器人可能有作业手、通讯、声纳等多个被控分系统,而这样的机器人可能组成一个组或组合到更高级的系统中,相互协调工作;出发点之二是考虑已有的单元技术和正在研究的技术可以应用到这一系统中来,包括现代控制技术和人工智能技术等。整个系统横向上分成信息处理、环境建模和任务分解三列,纵向上分为坐标变换与伺服控制、动力学计算、基本运动、单体任务、成组任务和总任务六层,所有模块共享一个全局数据库,如下图所示。
NASREM结构的各模块功能和关系非常清楚,有利于系统的构成和各模块内算法的添加和更换。它具有全局规划和推理的能力,对复杂的环境可以做出合理的反应,适合于一个或一组机器人的控制。但同其它的分层式架构一样,NASREM的问题在于输入环境的信息必须通过信息处理列的所有模块。结果往往是将简单问题复杂化,影响了机器人对环境变化的响应速度,而机器人非常重要的一个性能就是对环境变化、意外事件的发生等要求作出迅速反应。因此,分层式架构从理论上只适合于那些有一定的位置环境信息、在轻微非结构化环境工作的机器人。但是由于总线技术、实时控制技术的高速发展,分层式架构的最致命弱点之一:响应较慢等问题也得到了一定程度的缓解。由于分层式架构也较为成熟,因此还有大量的移动机器人、玩具机器人使用这种架构,并在一定程度上融入了包容式架构和混合式架构中。


【