摘要:阐述了自主移动机器人体系结构的意义,并对分层式体系结构和包容式体系结构这两种典型体系结构详细比较分析后,在此基础上研究了基于两者优点的混合型体系结构。最后,对该领域的研究热点进行了阐述,并对未来的研究工作提出了建议。
关键词:自主移动机器人;体系结构;控制器局域网;多智能体系统
Abstract: The signification of autonomous mobile robotic architecture is studied in this paper. Hierarchical architecture and subsumption architecture are the two kinds of robotic architectures being compared in detail. Based on this analysis, the peper gets the results that the hybrid architecture has advantages of both two types of architectures. Finally, the paper puts forward the hot topics in this area and make some suggestions about the future research.
Key words: Autonomous mobile robot; Architecture; CAN; MAS
1 前言
移动机器人的研究始于20世纪60年代末期,斯坦福研究院的Nils Nilssen和Charles Rosen等人,在1966年至1972年中研制出了取名Shakey[1]的自主移动机器人,目的是研究应用人工智能技术,在复杂环境下系统的自主推理、规划和控制。通常认为,自主式移动机器人AMR(Autonomous Mobile Robot)是具有高度的自规划、自组织、自适应能力,适合于在复杂的环境中工作的一种智能机器人,具有模型不确定性、系统的高度非线性和控制的复杂性。
随着智能机器人研究水平的不断深入和提高,各种各样的新型传感器被采用,信息融合、全局规划,运动学和动力学计算等模块的技术水平也不断提高,使机器人整体智能能力不断增强,同时也使系统结构变得复杂。在这个结构中,功能如何分解,时间关系如何确定,空间资源如何分配等问题,都直接影响整个系统智能能力。同时为了保证智能系统的扩展,技术的更新和各种新算法的采用,要求系统的结构具有一定的开放性,从而保证机器人智能能力不断增强,采用高新技术的传感器和各种先进的算法,可以实现机器人功能上的任意添加,这使得机器人的体系结构本身变成一个需要研究和解决的复杂问题。
移动机器人体系结构以研究移动机器人系统结构中各模块之间的相互关系和功能分配为对象,即研究多CPU系统的功能划分和各层的逻辑结构,以求确定一个或多个智能机器人系统的智能结构和逻辑关系。对于一个具体的移动机器人而言,体系结构可以说就是这个机器人信息处理和控制系统的总体结构[2]。李佳宁等人对移动机器人的体系结构定义为:移动机器人的体系结构是指如何把感知、建模、规划、决策、行动等多种模块有机地结合起来,从而在动态环境中,完成目标任务的一个或多个机器人的结构框架[3]。体系结构是整个机器人系统的基础,它决定着系统的整体行为和整体性能,体系结构设计的合理与否是整个机器人系统高效运行的关键。
2 两种典型的体系结构
近年来,许多学者致力于解决体系结构中的各种问题,并使结构思想具有一定的普遍指导意义,其中最典型的两种体系结构体系是分层式体系结构和包容式体系结构。
2.1 分层式体系结构(Hierarchical Architecture)
分层式体系结构是基于认知的人工智能(Artificial Intelligence, AI)模型,因此也称之为基于知识的体系结构。在AI模型中,智能任务由运行于模型之上的推理过程来实现,它强调带有环境模型的中央规划器,它是机器人智能不可缺少的组成部分,而且该模型必须准确、一致。分层式体系结构是把各种模块分成若干层次,使不同层次上的模块具有不同的工作性能和操作方式。
分层式体系结构中最有代表性的是由20世纪80年代智能控制领域著名学者Saridis[4]提出的三层模型。Saridis认为随着控制精度的增加,智能能力减弱,即层次向上智能增加,但是精度降低,层次向下则相反。按照这一原则,他把整个结构按功能分为三个层次,即执行级、协调级和组织级。其中,组织级是系统的“头脑”,它以人工智能实现在任务组织中的认知、表达、规划和决策;协调级是上层和下层的智能接口,它以人工智能和运筹学实现对下一层的协调,确定执行的序列和条件;执行级是以控制理论为理论基础,实现高精度的控制要求,执行确定的运动。需要指出的是,这仅仅是一个概念模型,实际的物理结构可多于或少于三级,无论多少级,从功能上来说由上到下一般均可分为这三个层次。信息流程是从低层传感器开始,经过内外状态的形势评估、归纳,逐层向上,且在高层进行总体决策;高层接受总体任务,根据信息系统提供的信息进行规划,确定总体策略,形成宏观命令,再经协调级的规划设计,形成若干子命令和工作序列,分配给各个控制器加以执行[5]。
在分层式体系结构中,最广泛遵循的原则是依据时间和功能来划分体系结构中的层次和模块。其中,最有代表性的是美国航天航空局(NASA)和美国国家标准局(NBS)提出的NASREM的结构[6]。其出发点之一是考虑到一个智能机器人可能有作业手、通讯、声纳等多个被控分系统,而这样的机器人可能组成一个组或组合到更高级的系统中,相互协调工作;出发点之二是考虑已有的单元技术和正在研究的技术可以应用到这一系统中来,包括现代控制技术和人工智能技术等。整个系统横向上分成信息处理、环境建模和任务分解三列,纵向上分为坐标变换与伺服控制、动力学计算、基本运动、单体任务、成组任务和总任务六层,所有模块共享一个全局数据库,如图1所示。
图1 NASREM的分层体系结构图[6]
NASREM结构的各模块功能和关系非常清楚,有利于系统的构成和各模块内算法的添加和更换。它具有全局规划和推理的能力,对复杂的环境可以做出合理的反应,适合于一个或一组机器人的控制。但同其它的分层式体系结构一样,NASREM的问题在于输入环境的信息必须通过信息处理列的所有模块。结果往往是将简单问题复杂化,影响了机器人对环境变化的响应速度,而对机器人非常重要的一点就是对环境变化、意外事件的发生等要求作出迅速反应。
2.2 包容式体系结构(Subsumption Architecture)
分层式结构能够较好地解决智能和控制精度的关系,创造一种良好的自主式控制方式。然而由于环境模型的误差、传感器的误差、环境的不确定性、机器人控制系统的复杂性等,使得分层式体系结构在灵活性、实时性和适应性方面经常存有缺陷。
针对上述缺点,美国麻省理工学院的R.Brooks[7]从研究移动机器人控制系统结构的角度出发,提出了基于行为的体系结构―包容式体系结构(Subsumption Architecture)。与分层式体系结构把系统分解成功能模块,并按感知―规划―行动(Sense-Planning-Action,SPA)过程进行构造的串行结构不同(如图2所示);包容式体系结构是一种完全的反应式体系结构,是基于感知与行为(Sense-Action,SA)之间映射关系的并行结构(如图3所示)。 在包容式结构中,上层行为包含了所有的下层行为,上层只有在下层的辅助下才能完成自己的任务;另一方面下层并不依赖于上层,虽然上层有时可以利用或制约下层,然而下层的内部控制与上层无关,增减上层不会影响下层。
图2 按功能划分的串行结构[8] 图3 按行为划分的并行结构[8]
包容式体系结构被成功应用于机器人的导航避障。Herbert[9]机器人实现室内环境中寻找返回苏打罐;清华大学计算机系自主开发的THMR-Ⅲ型机器人的控制系统,都是包容式体系结构应用的典型例子。
包容式体系结构强调模块的独立、平行工作,但缺乏全局性的指导和协调,虽然在局部行动上可显示出灵活的反应能力和鲁棒性,但是对于长远的全局性目标跟踪显得缺少主动性,目的性较差[3]。
3 混合式体系结构
随着移动机器人研究的不断深入,要求移动机器人完成的任务越来越复杂和精确,运动的实时性和跟随性也要求越来越高,且对多机器人协作提出更高要求。由于单纯的基于知识或者基于行为结构的机器人已无法满足机器人发展和应用的要求,结合两者优点,国内外学者纷纷提出基于自己的混合式体系结构方案。混合式体系结构成为了机器人体系结构研究的热点。
图4 CASIA-Ⅰ的混合分层控制体系结构图[11]
Gat[10]提出了一种混合式的三层体系结构,分别是:反应式的反馈控制层(Controller),反应式的规划―执行层(Sequencer)和规划层(Deliberator)。中科院自动化研究所设计的室内移动机器人CASIA-Ⅰ采用基于行为的混合分层控制体系结构,该结构包括人机交互层、任务规划层、定位层和行为控制层四个层次[11],如图4所示。
4 研究热点
近年来,由于机器人相关学科的发展和人们对机器人体系结构研究的重视,体系结构的研究成果卓著,其研究主要集中在以下几方面:
4.1 Agent技术在体系结构中的应用
从广义上理解,智能体(Agent)的概念涵盖了许多不同的计算实体,这些实体能够感知环境并作用于环境,它可以是物理实体,也可以是软件代码,还可以与其它智能体建立通讯,系统协调这些智能体的行为,以求共同的动作和问题求解。由于智能体与移动机器人内部功能模块性质相似,并且基于智能体的方法具有自治性、适应性、稳健性,且易于实现,这对那些结构性不好或者定义不明确的任务有很大优势,所以学者们纷纷将多智能体系统(MAS)理论引入移动机器人系统的体系结构设计,提出了分布式体系结构,并取得了很多成绩[12][13][14][15][16]。
图5 智能体基本结构图[12]
图6 基于Agent的移动机器人进化控制体系结构图[14]
夏幼明等人认为智能体是一个既具有信息处理能力的主动实体,又具有与外界交互的感知器、通讯机制,对信息进行存储加工的信息处理器、记忆库;同时还具有根据共同目标和自己的职责所产生的目标模块以及反作用于外部环境的效应器[12] ,其结构如图5所示。陈志华等人在分析移动机器人系统工作原理的基础上,构建了一种基于多智能体的投篮机器人(SBMR)体系结构,并对智能体的功能,智能体的工作过程及其特征等问题进行了讨论[13]。中南工业大学将进化控制技术和Agent技术相结合,提出了基于Agent的移动机器人进化控制体系结构。该系统兼顾了行为的智能性和反应的快速性,且具有开放性的特点,便于维护和改进[14],其体系结构如图6所示。王海等人提出了一种基于行为的分布式多智能体结构,在此基础上设计并建立了一个多自主移动机器人系统实验平台,允许系统中的各移动机器人分布式通讯、规划和控制[15]。
4.2 多移动机器人系统的体系结构研究
随着机器人应用领域的不断扩展,多机器人系统已经引起了学者们的普遍重视,而构造多移动机器人系统一个重要的因素是体系结构设计,因为系统性能的优劣很大程度上取决于结构是否合理。个体机器人的体系结构是多移动机器人系统的基本组成单位,因此,研究个体机器人的体系结构是研究多移动机器人很重要的研究方向。
李智军等人面向分布式Agent的多移动机器人系统,根据机器人系统任务级的协作实现过程和移动机器人应当具备的能力,结合基于知识和基于行为的控制体系结构的特点,设计了一种分层式移动机器人个体控制体系结构,如图7所示,其控制体系结构包括状态观测层、决策规划层、协调控制层和行为控制层四个层次[16]。
图7 分层式移动机器人个体控制体系结构图[16]
图8 一种新的队形控制体系结构图[19]
图9 多机器人协同作战系统的结构图[20]
将多机器人系统作为一个整体考虑,多机器人系统的体系结构可以分为集中式(Centralized)和分散式(Decentralized),而分散式结构进一步分为分层式(Hierarchical)和分布式(Distributed)两种[17]。多机器人体系结构就是研究如何根据任务类型,机器人个体能力等确定机器人群体模型以及恰当的相互关系。Parker. L.E.指出以往对多机器人系统协作的研究大部分只关注效率,而忽视了机器人的故障容忍和适应能力。针对这一问题,他提出了一种名为LALLIANCE的新体系结构。该结构将任务、导向行为和选择机制应用到基于行为的体系结构中,不但提高了机器人团队协作效率,而且还满足了实际应用中机器人系统故障容忍和适应能力的要求[18]。苏治宝等人从队形控制基本思想和各种方法的优缺点等方面论述了目前研究队形控制的三种方法:跟随领航者法(leader-following),基于行为法(behavior-based),虚拟结构法(virtual structure),并介绍了一种弥补各种方法缺点的新的队形控制体系结构,如图8所示[19]。董慧颖等人则将多机器人系统应用在军事上,针对战场上外部环境复杂,系统需对周围环境进行及时准确的判断的特点,采用了任务协调层和行为控制层的混合协调结构作为多机器人协同作战系统的结构,其结构如图9所示[20]。
4.3 基于CAN总线移动机器人系统设计研究
在移动机器人体系结构的硬件实现方面,由于CAN总线采用了许多新技术和独特设计,与一般通信总线相比,其数据通信具有突出的可靠性,实时性和灵活性等特点。它是一种有效支持分布式控制和实时控制的通讯网络,用它来实现机器人控制结构比较理想。近年来,基于CAN总线的移动机器人方面的研究成果层出不穷。M.Wargni和A.Rachid教授针对以往硬件集中控制结构速度慢,耗时大,花费高,可靠性差等缺点,提出了一种基于CAN总线的分布式结构,主张系统结构完全分散,每一功能都采用一片单片机来完成,通过CAN总线将几个子系统连接起来[21]。王巍等人针对极限环境下作业的壁面移动机器人,设计了移动机器人的控制体系结构,建立了基于CAN总线的分布式机器人控制系统硬件平台,并设计了相应的控制软件[22]。张德民等人则介绍了一个基于CAN总线的分布式搬运机器人控制系统,将基于CAN总线的分布式计算机控制技术成果应用到搬运机器人实验平台中[23]。
5 小结
通过对自主移动机器人体系结构的研究与分析,笔者认为,自主移动机器人体系结构的设计必须综合考虑环境、任务、系统自身等各种因素的影响;在满足系统稳定性、交互性、灵活性、开放性及具有离线和在线学习性能的总体要求下,根据所要解决的具体问题和系统的设计目标要求,设计出恰当的体系结构。对同类型系统体系结构制定统一和完善的设计标准,不断完善体系结构设计的理论,将是研究人员面临的一项艰巨任务。最后,多智能体理论、先进控制技术、CAN总线技术等相关学科技术的发展和完善也必将对体系结构设计产生推动甚至变革作用,时刻关注相关学科技术的发展成果,随时将交叉学科的最新成果应用到机器人研究中,不断完善移动机器人体系结构的研究。
未来机器人发展的前景和方向,笔者认为其开放性和兼容性将比今天的机器人更加宽广,理想的未来的机器人的开放性和兼容性同今天的计算机相似,主体机器人完成主体功能,其功能类似于今天的计算机主机。有了计算机主体,可以开发任意的计算机辅助功能,如计算机的网卡、打印机、扫描仪、Fax Modem卡等计算机辅助功能。未来的机器人也可以任意添加辅助功能,给机器人插上一个卡或者一个芯片,安装上相应的驱动程序,机器人就可以按照要求工作。笔者认为这就是21世纪机器人的一个重要发展方向。笔者将同全世界的机器人专家一起,共同努力,实现这个宏伟的目标。
参考文献:
[1] Nilsson N. A mobile automation: A application of artificial intelligence techniques[C]. In Proc. IJCAI, 1969.
[2] 王天然,朱枫. 一个开放式移动机器人体系结构[J]. 机器人. 1995,17(4):193-199.
[3] 李佳宁,易建强. 移动机器人体系结构研究进展[J]. 机器人, 2003,25(7):756-760.
[4] Saridis G. Toward the Realization of Intelligent Controls[C]. Proc.of the IEEE. 1979, 67(8):1115-1133.
[5] 朱淼良,杨建刚,吴春明. 自主式智能系统[M]. 浙江大学出版社, 2000:255-277.
[6] Albus J S, Mcain H G, Lumia R. NASA/NBS standard reference model for tele-robot control system architecture(NASREM). NIST Technical Note 1235,1989.
[7] Brooks R. A robust layered control system for a mobile robot [J]. IEEE Transactions on Robotics and Automation. 1986,2(1):14-23.
[8] 黄闪. 智能机器人与多机器人系统体系结构的研究与实现[D]. 哈尔滨工业大学,1998.
[9] Conell J. Minimalist mobile robotics: a colony-style architecture for an artificial creature[M]. Academic Press,1990.
[10] Gat E. Three layer architectures in artificial intelligence and mobile robots[M]. AAAI Press/The MIT Press,1990.
[11] 李磊. 移动机器人系统设计与视觉导航控制研究[D]. 中国科学院自动化研究所,2003.
[12] 夏幼明,徐天伟. 软件Agent的初步研究. 云南师范大学学报[J]. 1999 ,19(3):8-11.
[13] 陈华志,谢存禧,张铁. 基于多Agent的移动机器人体系结构研究[J]. 组合机床与自动化加工技术,2003,4:31-32.
[14] 郭军华. 基于Agent的移动机器人自主导航的进化控制研究[D]. 中南工业大学,2001.
[15] 王海,田彦涛. 基于行为的分布式多智能体系统[J]. 吉林大学学报(工学版). 2002,32(1):93-97.
[16] 李智军,罗青. 基于混合结构的机器人Agent控制结构研究[J]. 计算机工程与应用,2003,21:90-94.
[17] 曹志强. 未知环境下多机器人协调与控制的队形问题研究[D]. 中国科学院自动化研究所,2002:8-9.
[18] Parker L E. Task-oriented multi-robot learning in behavior-based systems[C]. Proc. of the IEEE. 1996,3:1478-1487.
[19] 苏治宝,陆际联. 多移动机器人队形控制的研究方法[J]. 机器人,2003,25(1):88-92.
[20] 董慧颖,程坷飞. 多移动机器人协同作战仿真实现[J]. 机器人,2003,25(7):603-607.
[21] Wargni M, Rachid A. Application of controller area network to mobile robots[C]. Electro-technical Conference,1996,1:205-207.
[22] 王巍,崔维娜,宗光华. 基于CAN总线壁面移动机器人分布式控制器研究[J]. 微计算机信息,2002,18(1):4-6.
[23] 张德民,张慧慧. 基于CAN总线的分布式搬运机器人控制系统研制[J]. 微计算机信息,2001,17(12):4-5.