基于异构Agent的移动机器人体系结构设计
邹小兵1, 蔡自兴1 , 于金霞1, 2
(1. 中南大学 信息科学与工程学院, 湖南 长沙, 410083;
2. 河南理工大学 计算机科学与技术学院, 河南 焦作, 454003)
摘要: 采用Agent技术设计并实现了一个移动机器人的分布式控制系统。 移动机器人的体系结构包含了慎思层、 控制层与协调层, 由多个异构Agent完成相应功能。 动态局部规划根据激光雷达的环境“快照”信息来确定局部反应行为。 慎思规划采用逆向D*算法, 通过搜索脱离点来避免在复杂环境下陷入局部势能陷阱。 慎思层与控制层分别由低工耗工控机实现, 组成异构分布控制系统。 该体系结构综合了控制的实时性与复杂环境下的适应性。 开放的硬件平台与软件Agent结构提供了一种具有良好扩展性的智能移动机器人设计范式。
关键词: 移动机器人; 异构Agent; 分布式控制; 体系结构; 导航策略
中图分类号:TP242.6 文献标识码:A 文章编号: 1672-7207(2005)05-0733-06
Design of an architecture based on heterogeneous agent for mobile robot
ZOU Xiao-bing1, CAI Zi-xing1, YU Jin-xia1, 2
(1. School of Information Science and Engineering, Central South University, Changsha 410083, China;
2. Institute of Computer Science and Technology, Henan Polytechnic University, Jiaozuo 454003, China)
Abstract: A distributed control system based on heterogeneous agent for mobile robot was described. The system architecture combines three layers including deliberative layer, reactive control layer and coordination layer, and adopts multiple heterogeneous agents to implement corresponding function distributed in different control systems. The information of the instantaneous environmental snap from a laser scanner is used to control the mobile robot dynamically in unknown environment in local planning, while reversed D* algorithm is adopted to search the leave point for avoiding local minimum trap in deliberative planning. Deliberative layer and control layer are implemented by heterogeneous and distributed control system with two low power-consuming industrial control computers. This system architecture realizes the real time of reactive control and the adaptability of deliberative planning in complex environment. Open hardware platform with software Agent architecture has a good scalability and provides a paradigm for mobile robot design.
Key words: mobile robot; heterogeneous Agent; distributed control; architecture; navigation strategy
智能移动机器人是一个复杂的计算机控制系统。 蔡自兴等[1]针对它的体系结构研究如何组织利用传感器信息、 计算能力、 通讯带宽等有限的资源[CM(22] 来实现特定环境下的导航。 针对不同的应用环境与任务, 人们设计了多种多样的移动机器人以及相应的体系结构, 通常分为慎思型[2]、 行为型[3, 4]以及混合型[5-7]等类型。
混合型体系结构由于结合了慎思方式与行为控制方式各自的特点, 成为移动机器人体系结构研究的重要发展趋势[8-10]。 在此, 本文作者采用分布环境下的异构多Agent技术, 设计一个移动机器人的导航控制系统。 系统在智能层次上分为慎思层与控制层。 每个层次又包含了不同功能的多个Agent, 通过协调层实现Agent之间的通讯与协作, 形成一个三层导航控制体系结构。 基于异构Agent技术的体系结构的分布式控制系统有着模块化性能好、 集成能力强、 可扩展性强等优点。 通过功能Agent的组织与导航算法的优化保障了导航系统在未知环境下的运行。 结合局部优化的反应行为[11]与基于逆向D*算法的慎思行为相结合, 反应行为能够有效地应对局部环境的动态变化。 逆向D*算法不以规划全局路径为目标, 而是以避免陷入局部势能陷阱为目标。 与传统的 D*算法[12]相比, 提高了未知环境下慎思行为的计算效率。
1 基于异构Agent的混合型体系结构
1.1 智能系统的三层混合型体系结构
根据混合体系结构的思想针对移动机器人IMR-01设计了一个三层智能系统体系结构, 如图1所示。 慎思层(Deliberative layer)运行在与控制层(Control layer)相独立的分布式工控机系统中。 慎思层的核心是决策与慎思规划; 控制层的核心是局部规划。 慎思规划采用2种运行方式: 周期性地执行慎思规划算法, 并将规划的结果交给控制层执行; 或是响应控制层的请求启动规划行为。 在一个慎思规划的执行周期里可能经历了多个反应行为控制周期。 协调层(Coordination layer)联结控制层与慎思层; 协调层将控制层的状态反馈给慎思层, 将慎思层的规划结果分解为子目标序列交由控制层执行。 传感器的环境信息经过融合根据不同的需求被分别送到慎思层与控制层, 满足增量建模与实时控制的需要。
1.2 移动机器人系统描述
IMR-1是一个多功能的开放式移动机器人试验平台, 系统采用集成化的工控机底板, 可以安装4个独立的计算机系统。 移动机器人原型控制系统包含了2个车载工控机IPC0和IPC1。
图 1 基于三层控制模型的混合型体系结构
Fig. 1 Hybrid architecture based on 3-layer control model
工控机IPC0作为控制层, 基于PCI总线的ADT850步进电机控制卡控制移动机器人的驱动电机; A/D采集卡PCI1710用于测量电源的电压、 电流。 CPU主板上集成了2个RS232串行通讯接口, 其中一个外接E-CORE1100型光纤陀螺仪, 作为机器人航向传感器; 另一个串口与IPC1进行点对点的实时通讯。 IPC0的主要功能包括: 根据局部信息实现动态的路径规划与跟踪控制, 计算并反馈机器人车体的实时运动姿态。
工控机IPC1, 用于传感器云台的驱动控制, 可以实现激光雷达水平与俯仰的扫描运动。 1个RS422接口卡, 实现与激光雷达系统(LMS291)的高速通讯(500 kbps)。 IPC1的主要功能为: 实现激光雷达信息的实时处理, 建立增量地图数据库, 实现决策与慎思规划等慎思层功能。
1.3 异构Agent的功能分配
图2所示为Agent系统的各部分功能。 控制层(IPC0)要求具有良好的实时性能。 原子Agent封装了针对底层板卡的控制以及外部传感器的信息采集功能, 包括: 状态监控Agent针对PCI1710实现对电源电压、 电流的监测; 航向Agent实现对光纤陀螺仪的数据采集、 分析与修正, 提供精确的航向角速度与航向角。 动态规划Agent根据激光雷达即时的环境快照, 规划出机器人的预瞄目标; 驱动控制Agent根据实时规划结果通过ADT850控制电机实现要求的动作行为。 控制层的特点是: 行为响应快, 意味着控制周期尽可能短, 为25~50 ms。 因此, 反应行为所涉及的信息输入相对较少, 以便于快速通信与处理。 反应行为设计尽可能要求运用简单有效的算法来实现; 为了减少由于功能过于分散造成的通讯负担, 控制层的主要功能由协调Agent、 动态规划Agent与驱动控制Agent组成。 驱动控制Agent一般接受动态规划Agent的信息来控制车体运动, 但在远程控制模式下, 也可以由远程监控Agent直接通过指令控制。
图 2 异构Agent的功能分配
Fig. 2 Function of heterogeneous agents
IPC1主要完成大数据量的环境增量信息处理以及较复杂的慎思行为。 感知Agent接受激光雷达(LMS291)的环境信息。 LMS291采用-90°~+90°的扫描范围, 扫描间距为0.5°。 测量数据经过噪声滤波处理后, 一路被送到增量环境建模Agent中, 融合机器人的坐标信息, 把局部环境转换为世界坐标下的环境知识, 即全局环境知识。 另一路经过压缩后的“环境快照”信息通过协调Agent下行传送到控制层的动态规划Agent, 这是以机器人为中心坐标的局部环境信息。 增量建模Agent采用栅格方法将传感器信息融合为全局地图。 决策Agent接受来自远程监控系统的指令, 例如: 控制机器人移动到某个给定的目标区域。 决策Agent根据环境知识库的信息确定 “头部”的转动以获取对环境的最佳观测。 根据控制层的请求决定是否启用慎思规划Agent将最终目标分解为子目标序列。
1.4 Agent的协作与通讯
IPC0与IPC1各自的协调Agent构成系统的协调层, 协调层实现计算机系统之间的通讯。 IPC1的协调Agent同时也完成机器人状态信息的融合, 如: 综合编码器、 航向陀螺、 “头部”姿态反馈、 电源状况为完整的机器人状态信息表, 根据各个Agent的请求发布机器人状态信息与实时环境信息。
在IPC0的协调Agent中, 慎思层给出的路径被存放在子目标序列器中, 它监视机器人的状态, 删除已经到达的子目标, 并用新的子目标去更新动态规划Agent的当前的趋向目标。 当最终目标完成后, 向决策Agent发出任务完成的消息。
远程监控Agent通过无线网桥与车载局域网联结, 可以监视机器人的状态, 并可以切换到人机控制状态, 由操作人员直接控制机器人的行为。
Agent之间的通讯不可避免地要消耗计算资源、 通讯带宽。 因此, 在系统设计时应当充分考虑信息交互造成响应滞后的影响, 避免Agent的功能过于分散而造成大数据量的信息频繁转移。 工控机系统之间的Agent采用Socket套接字实现通讯, 如远程监控系统与车载控制系统。 为了保障感知信息与状态信息、 指令的实时传送, 在IPC0与IPC1之间, 增加了一个RS232的通讯通道, 采用128 kbps的波特率, 保障信息的实时传送。 在同一个计算机系统内, Agent之间采用进程间消息传递的机制, 以WM_COPYDATA事件进行通讯。
2 局部规划Agent与慎思Agent
2.1 局部规划方法
反应式行为需要融合传感器感知信息。 环境信息来自于IPC1的激光雷达的环境“快照”。 激光雷达在-90°~+90°范围一次扫描的数据(障碍距离)被划分为s0~s36共计37个扫描区: 在机器人两侧, -90°~-87.5°为s0, 87.5°~90°为s36, s1~s35按照5°夹角的间隔对-87.5°~87.5°的角度进行划分, 每个扫描区的障碍距离用|si|表示。 激光雷达采用0.5°的解析度, 每个扫描区有5~11个扫描数据。 则|si|取区域中数值最小的值。 对于近距离的局部规划而言, 5°的解析度可以满足避障要求。
控制层核心是动态规划Agent, 它根据周围环境确定机器人的行为。 动态局部规划只考虑如何实现协调Agent的任务队列中的当前趋向目标。 局部规划针对s0~s36方向上的障碍分布条件, 确定当前前进的“预瞄点”。 “预瞄点”位于距离机器人观测与转动中心的半径为R1的圆周上。 对s0~s36所处的方向进行机器人可通过性评估, 筛选出满足无碰撞通行条件的方向集合S, 如图3中的可通行方向集合S={s11, s12, s13, s14}。
图 3 移动机器人局部环境分析
Fig. 3 Local environmental analysis of mobile robot
对可行集合S中的元素进行评估。 当向目标方向前进时, 一个本能的选择是尽可能按照与目标夹角最小的方向前进。 设在当前时刻n, 机器人R(xR, yR, θR)至目标G(xG, yG,φG)的方向角为φn, 机器人航向角为θn, 待定的预瞄目标方向为; 选择si作为预瞄目标时的方向角设为, si。 定义目标函数为:
式中: |si-φn|为机器人转向目标方向的趋势角; |si-θn|为从当前航向转动所需的角; k1和k2是正的加权系数。 按照式(2)的条件确定此刻的预瞄方向为:
机器人的观测范围为-90°~+90°, 考虑到可通行条件的限制, 预瞄目标选择范围限制在目标方向-55°~+55°内。 局部规划Agent决定机器人的4种行为: 转向行为、 前进行为、 后退行为和等待行为。
根据非完整约束条件, 移动机器人运动的瞬时圆心O总是位于驱动轮轴线上, 如图4所示。 从当前位置运动到预瞄目标的圆弧轨迹半径=||与车体左、 右侧驱动轮速度之间满足式(3)的约束。
式中: α为预瞄方向与车体航向之间的夹角; d为左、 右侧驱动轮间距。 由式(3)计算出左、 右侧速度比率, 在给定前进速度v下, 可以计算出vl与vr。 机器人的最大运行速度为0.5~0.7 m/s, 预瞄半径r1为0.6 m, 所以, 到达一个预瞄点的时间约为1 s。 实际上局部规划的运行周期小于100 ms, 因此, 预瞄点是动态变化的, 机器人的轨迹由一段段的动态圆弧组成。
图 4 移动机器人运动轨迹分析
Fig. 4 Analysis of mobile robot trajectory
2.2 慎思规划策略
传统的D*算法采用波前扩张方法来定义每个自由区域的目标距离以获得趋向最终目标的人工势场。 机器人只要在势场中搜索势能减少的梯度方向, 就可以达到目标。 为减少盲目地遍历搜索的计算量, 人们采用了启发式算子, 在某些简单场合下可以大大减少计算量。 但是, D*算法是基于环境已知或大部分已知为前提, 一旦遇上未知的障碍, 原来建立的势场分布就会被改变, 常常需要重新计算势场分布, 导致规划效率大大下降。 在未知环境下, 机器人往往只能观察到周围的部分环境状况, 并保留已经探索的环境信息, 而对于最终目标附近的区域往往一无所知, 难以建立从目标至当前机器人位置间的全局地图模型。 本文采用定义“机器人距离”(Robot distance)的方法来建立局部区域环境的势场, 计算出脱离势能陷阱的局部优化路径, 满足滚动优化的需要, 大大降低了规划的计算量。 如图5所示, 采用以机器人为中心的波前扩展方法, 在扩展过程中检测满足“脱离点”的条件。
式中: |RiG[TX-]|是机器人在时刻i时所处位置Ri(xRi,yRi)与最终目标G之间的距离; n表示当前时刻。 脱离点L(xL,yL)处满足:
式中, ε>0是为了确保“脱离点”有效而设置的阈值。 当搜索到脱离点后, 从脱离点L逆向搜索到达机器人的位置R, 从而得到一条跳出局部势能陷阱的路径。 由于该方法搜索路径的方向与D*算法相反, 因此, 称其为逆向D*算法。 该算法以机器人为中心, 机器人周围的环境信息要比接近目标区域的信息要可靠。 因此, 在执行过程中遭遇不确定性障碍的可能性也要减少。
图 5 逆向D*规划算法
Fig. 5 Reversed D* planning algorithm
2.3 慎思规划与局部行为规划的协作导航
决策Agent根据环境的信息和计算机CPU的资源利用情况来决定是否定时触发慎思规划。 决策Agent还控制着机器人“头部”的运动, 以尽可能灵活地观测环境。 慎思规划的路径被分解为子目标序列, 安插到协调Agent的任务序列器中, 由局部规划Agent实现以子目标引导下的反应行为规划。 到达L后, 任务序列器中只剩下最终目标G, 此时机器人相当于以局部规划为主的反应式导航来控制机器人的运动。 当慎思规划的路径由于环境的改变而无法到达时, 控制层向慎思层发出帮助请求, 重新规划出新的路径来更新任务序列器中的子目标。
3 实验结果
以移动机器人IMR-01为试验平台, 实现了上述异构Agent原型控制系统。 在本研究所的办公室环境, 采用激光雷达作为环境感知传感器, 实现办公室之间的导航控制。 在办公室环境, 最为困难的是机器人如何准确地搜索并通过门口位置。 移动机器人利用激光雷达建立周围环境的初步印象, 由慎思规划Agent规划出一个子路径序列, 并由底层规划与运动控制系统执行。 由于慎思规划是每隔一段时间滚动重复执行的, 因此, 对于环境的变化依然具有较好的适应性。 局部规划Agent则主要完成避障与运动规划功能。 在实验中, 移动机器人从办公室出发, 顺利地穿越了门廊, 到达了相邻办公室的目的地。 图6所示为利用激光雷达信息构建的环境增量地图。
图 6 移动机器人在办公室环境中的导航试验
Fig. 6 Navigation experiment of mobile robot in office
4 结 论
采用异构多Agent技术, 按照三层控制体系结构设计并实现了一个移动机器人的原型控制系统。 结合局部优化行为与基于逆向D*算法的慎思规划, 有效地实现未知环境下的导航。 控制系统采用多计算机系统集成的低功耗工控机(IPC), 控制层与慎思层组成异构分布控制系统。 控制系统在硬件上具有良好的扩展与重构性能; 采用Windows操作系统环境和Visual C++的开发软件, 应用Agent技术进行设计, 有利于复杂智能行为的灵活组态与功能扩展。
智能系统的改进与完善, 是一个长期的优化过程。 该系统的体系结构具有软、 硬件的开放性与扩展性, 可以针对某部分Agent功能进行修改, 而不会影响其他的Agent, 因此, 有利于系统的持续改进。 本系统为移动机器人控制系统的设计提供了一个有良好扩展性的范例。
参考文献:
[1]蔡自兴, 贺汉根, 陈虹. 未知环境中移动机器人导航控制研究的若干问题[J]. 控制与决策, 2002, 17(4): 385-390.
CAI Zi-xing, HE Han-gen, CHEN Hong. Some issues for mobile robot navigation under unknown environments[J]. Control and Decision, 2002, 17(4): 385-390.
[2]Nilsson J. Principles of Artificial Intelligence[M]. Palo Alto, CA: Tioga Publishing Co, 1980.
[3]Brook R A. Robust layered control system for a mobile robot[J]. IEEE Journal of Robotics and Automation, 1986, 2(1): 14-23.
[4]Arkin R C. Motor schema-based mobile robot navigation[J]. International Journal of Robotics Research, 1989, 8(4): 92-112.
[5]Arkin R C, Khaled A, Weitzenfeld A, et al. Behavioral models of the praying mantis as a basis for robotic behavior[J]. Robotics and Autonomous Systems, 2000, 32(1): 39-60.
[6]蔡自兴, 周翔, 李枚毅, 等. 基于功能/行为集成的自主式移动机器人进化控制体系结构[J].机器人, 2000, 22(3): 169-175.
CAI Zi-xing, ZHOU Xiang, LI Mei-yi, et al. Evolutionary control architecture for autonomous mobile robot based on function/behavior integration[J]. Robot, 2000, 22(3): 169-175.
[7]Gat E. Three-layer architectures[A]. Kortenkamp D, Bonasso R P, Murphy R. Artificial Intelligence and Mobile Robots: Case Studies of Successful Robot Systems Table of Contents[C]. Cambridge: MIT Press, 1998. 195-210.
[8]Phillip J F, Chris J S. Open-architecture systems for robotic workcells[J]. Robotics Today, 1998, 11(4): 1-6.
[9]王天然, 曲道奎. 工业机器人控制系统的开放体系结构[J]. 机器人, 2002, 24(3): 257-261.
WANG Tian-ran, QU Dao-kui. Open system architecture for control system for industrial robot[J]. Robot, 2002, 24(3): 257-261.
[10]吴向阳, 戴先中, 孟正大. 分布式机器人控制器体系结构的研究[J]. 东南大学学报 (自然科学版), 2003, 33(S): 200-204.
WU Xiang-yang, DAI Xian-zhong, MENG Zheng-da. Research on distributed architecture of robot controller[J]. Journal of Southeast University (Natural Science Edition), 2003, 33(S): 200-204.
[11]ZHANG Chun-gang, XI Yu-geng. A real time path planning method for mobile robot avoiding oscillation and dead circulation[J]. Acta Automatica Sinica, 2003, 29(2): 197-205.
[12]Koenig S, Likhachev M. Improved fast replanning for robot navigation in unknown terrain[A]. ICRA 2002[C]. Washington DC: IEEE Press, 2002. 968-975.
收稿日期:2005-01-28
基金项目:国家自然科学基金资助项目(60234030)
作者简介:邹小兵(1969-), 男, 重庆人, 博士, 从事智能控制理论与应用、 机器人技术等研究
论文联系人: 邹小兵, 男, 博士; 电话: 0731-2655993(O); E-mail: csutzxb@263. net