移动机器人分布式控制系统的设计
蔡自兴, 邹小兵, 王 璐, 段琢华, 于金霞
(中南大学 信息科学与工程学院, 湖南 长沙, 410083)
摘要: 针对自行研制的移动机器人(IMR01)设计并实现了一个分布式控制系统。 IMR01采用激光雷达平台、 多视觉系统作为环境感知器。 利用2-D平面扫描的激光测距传感器, 通过传感器平台俯仰与水平的转动实现在3-D环境感知, 建立地形的高度图以分析可行区域与障碍区域。 利用光纤陀螺仪、 倾角仪及里程计等传感器构建移动机器人航向制导系统。 控制系统基于多系统集成的低功耗工控机(IPC), 在硬件上具有良好的扩展性能; 通过无线网桥实现车载局域网与实验室监控系统的通讯。 分布式控制系统通过异构Agent间的协作实现复杂环境下的感知与导航控制。
关键词: 移动机器人; 分布式控制; 环境感知; 异构智能体网络
中图分类号: TP242. 6 文献标识码: A 文章编号: 1672-7207(2005)05-0727-06
Design of distributed control system for mobile robot
CAI Zi-xing, ZOU Xiao-bing, WANG Lu, DUAN Zhuo-hua, YU Jin-xia
(School of Information Science and Engineering, Central South University, Changsha 410083, China)
Abstract: A distributed control architecture was designed and implemented for a mobile robot (IMR01). Laser scanner and multi computer vision system were equipped to detect the environment. A 2-D laser rangefinder Lms291 was adopted to build terrain map through the pitch and horizontal rotation of a sensor platform. An elevation map of terrain was built and used for terrain analysis. A navigation guidance system is composed of fibre-gyro, tilt sensor and odometer. The control system comprises a multiple industrial personal computer (IPC) system with low power-consuming CPU, and has good hardware scalability. Communication between the on-board local network robot and the remote monitor system in laboratory is realized through wireless local area network. The navigation control is implemented with the cooperation among heterogeneous Agents.
Key words: mobile robot; distributed control; environmental perception; heterogeneous Agent
智能移动机器人是一类能够通过传感器感知环境和自身状态, 实现在有障碍物的环境中面向目标的自主运动, 从而完成一定作业功能的机器人系统[1]。 设计具有丰富感知能力、 复杂地形适应能力的移动机器人系统以及开放式的体系结构对未知环境中移动机器人导航控制的理论与方法研究至关重要[2-4]。
为此,作者设计并实现了一个以激光雷达平台、 多视觉系统和惯性制导系统相结合的自主导航控制[CM(22] 系统。 控制系统基于多系统集成的低功耗工控机(IPC)的开放式结构, 在硬件上具有良好的扩展性能; 采用Windows操作系统环境和Visual C++的开发软件, 能够灵活地采用软件Agent技术实现复杂的功能要求。 采用分布式的智能控制系统结构, 完成规划决策、 三维建模、 视觉信息处理、 运动控制、 制导信息融合等功能。
1 运动机构与传感器系统
1.1 运动机构
在不同的研究目的与试验环境下, 本文的移动机器人可以采用2种运动结构,如图1所示。
图 1 移动机器人车体平台的机械结构
Fig. 1 Mechanical architecture of mobile robot platform
在非道路模拟环境下进行越野试验时, 采用图1(a)的三摇杆、 六驱动轮结构。 当遇到障碍物的阻挡时, 前摇杆在前轮的转动与后轮的推动下可以沿着障碍表面攀越; 由于摇杆的作用, 降低了越障过程中机器人的重心, 从而提高了移动机器人的越障能力。 该结构简单且具有较好的复杂地形自适应能力, 在崎岖、 坎坷路面能够始终保持车轮与地面的可靠接触, 从而能够有效、 均衡地发挥各个驱动轮的效率。
机器人的转动采用二侧驱动轮差速控制的方式。 增大转动力臂L与减少阻力臂D, 可以减小转动的阻力。 同侧的车轮以紧凑方式排列, 左、 右轮中心距离大于前、 后轮的中心距离, 分别为620 mm与560 mm。 与二轮驱动方式相比, 6轮系统在差速转动时受到较大的摩擦阻力矩作用, 只能以一定半径的圆弧进行转动。
在室内等狭小空间下运行时采用5轮结构, 如图1(b)所示。 该结构包括4个驱动轮与1个辅助支撑作用的万向轮。 此时, 由于左(右)摇杆上的驱动轮的轮距只有270 mm, 远远小于左右轮距, 因此, 在狭小空间或有行人等动态环境下也能灵活地避障。
1.2 传感器系统
为适应复杂的环境进行自主运动, 所需要的感知系统也就更为复杂。 目前, 应用于移动机器人的传感器有超声波传感器、 激光测距传感器、 计算机视觉系统等。 在本系统中, 采用了多目视觉与激光雷达作为环境感知器。
为了能够更加灵活地对环境进行观测, 设计了1个可以进行水平与俯仰方向二维转动的传感器转台。 转台构成了机器人的“头部”, 从而具有更大的灵活性。 激光雷达(LMS-291)可以进行水平方向-90°~+90°的扫描。 扫描分辨率可以在1°, 0.5°和0.25°间选择。 “头部”的运动由2个精密的旋转台实现水平、 俯仰的扫描运动, 从而实现激光雷达的三维感知运动。
1台SONY EV D100摄像头作为全局视觉, 2个DF2148摄像头作为机器人的前置局部视觉。 全局视觉的主要功能是对全局定位路标进行搜索、 对道路特征进行分析。 局部视觉则主要完成激光雷达扫描死角的感知。
姿态传感器包含陀螺仪、 倾角计、 编码器、 角位移传感器等。 应用光纤陀螺仪(E-Core1000)检测移动机器人车体的航向; 倾角传感器(CTILT02E)检测车体俯仰、 横滚方向的偏转。 在左、 右摇杆上的4个驱动电机均装配了转动编码器。 每个摇杆的转动轴装配1个角位移传感器, 可以测量摇杆与车体间的转动角度。
2 控制系统结构
在设计1个移动机器人的控制系统时, 必须考虑在特定的应用环境下的制约因素, 包括: 机器人有限的载荷与装载空间、 有限的电源能量、 有限的计算能力、 有限的通讯带宽等。 移动机器人的控制系统结构可以分为集中控制, 分级递阶控制与分布控制[5]。 集中控制由1台功能较强的计算机实现全部的功能, 早期的机器人控制常采用这种结构; 分级递阶控制遵循IPDI原理, 由组织级、 协调级、 执行级构成。
对于一个移动机器人的原型试验系统而言, 平台的开放性与可扩展性是非常重要的。 开放式机器人控制器的思想为:
a. 利用基于非封闭式计算机平台的开发系统, 能够有效利用标准计算机平台的软、 硬件资源为控制器扩展创造条件。
b. 利用标准的操作系统如Windows, Unix等; 以及标准的控制语言, 如C, C++, Visual C++等。
c. 采用标准总线结构, 使得为扩展控制器性能而必需的硬件(如传感器, I/O板)以及运动控制板可以很容易地集成到系统中。
d. 利用网络通讯, 实现资源共享或远程通讯, 提高系统的柔性[5, 6]。
因此, 该系统采用开放和可扩展的异构多Agent系统(Multiple Agent System, MAS)结构。 采用MAS的相关技术而建立的分布式控制结构的机器人智能体系统具有模块化好、 集成能力强、 可扩展性强等明显的优点[7-9]。
具体地说, 系统采用可以容纳4个计算机系统的工控机底板, 可以安装4个CPU全长卡, 每个系统可以安装2个PCI功能板和2个ISA扩展功能板; 故选择了具有P3, 800MHz的低功耗CPU, 内存256M的ROCKY-C800EV作为控制主板3套, 分别用于运动控制、 激光雷达信息处理、 多目视觉信号处理, 在必要时, 系统还另备1台笔记本电脑作为建模、 规划与定位等高层智能处理。 系统的开发环境为W98/2000系统, 采用Visual C++作为软件开发工具。 由于采用IPC作为硬件, 采用Windows作为软件平台, 因此, 具有良好的扩展性能和开放性能。 采用720 W·h镍氢充电电池, 电池系统在一次充电后可以提供近2 h的运行支持。 系统的硬件按照图2所示的结构进行组织、 分配为一个分布式的控制系统。
2.1 运动控制系统
工控机IPC0作为运动控制系统, 主板采用ROCKY-C800EV, 存储器采用IBM MicroDriver-1G的电子盘, 操作系统基于Win98平台。 主要的控制系统板卡为基于PCI总线的ADT850步进电机控制卡与A/D采集卡PCI1710。 其主要功能是根据局部信息实现动态的路径规划与跟踪控制, 计算并反馈机器人车体的实时运动姿态。
控制CPU主板上集成了2个RS232串行通讯接口。 1个外接E-CORE1100光纤陀螺仪, 作为机器人航向传感器; 另一个串口与IPC1进行点对点的实时通讯[10, 11]。
2.2 3-D环境信息处理系统
工控机IPC1作为3-D环境信息处理系统, 系统运行在Win2000操作系统下, 存储器为40G硬盘。 主要实现传感器转动平台的控制、 激光雷达信息的实时处理; 实现局部3-D环境平坦性分析, 区分环境中的可行区域与障碍区域并建立局部地图数据库。
传感器转动云台为机器人的“头部”, 将对头部的控制与机器人车体的运动控制相分离, 从而具有更大的灵活性。 “头部”的运动由2个精密的旋转台实现水平方向±150°、 俯仰方向-50°~+15°的扫描运动。 旋转台的运动由PCL839步进电机控制卡进行控制。 水平旋转台最大转速为16(°)/s, 俯仰最大转速为4(°)/s, 重复转动误差范围为-0.01°~0.01°。 IPC1与激光雷达(LMS291)通过高速RS422扩展卡实现500 kbps下的通讯。 在应用中, LMS291采用-90°~+90°的扫描范围, 扫描间距为0.5°; 扫描最大距离为81.92 m; 完成1次扫描的时间约为52 ms。 当机器人静止时, 通过云台的俯仰运动来实现三维环境的感知; 当机器人前进时, 激光雷达以一定的倾斜角扫描前方道路; 机器人的最大移动速度为0.5 m/s; 而激光雷达每秒可进行近25次的扫描, 获得361×25=9025个测量数据, 通过这些数据可以分析出地形起伏的平坦性, 分辨出可行区域与非可行区域。
图 2 移动机器人控制系统结构
Fig. 2 Control system of mobile robot
在CPU主板上集成了2个RS232串行通讯接口。 1个外接CTILT02E倾角仪, 作为机器人车体平台的俯仰与横滚角度监测。 另一个串口与运动控制系统进行点对点的实时通讯。
2.3 视觉信息处理系统
工控机IPC3作为视觉信息处理系统, 工作在W2000操作环境, 硬盘为40G。 CPU采用P3, 1 GHz。 安装1块4通道的图像采集卡, 对全局视觉信息与前置局部视觉信息进行处理, 并建立视觉特征数据库。 全局视觉的主要功能是对全局定位路标进行搜索、 对道路特征进行分析。 局部视觉则主要完成激光雷达扫描死角的感知。
2.4 全局规划与建模系统
该系统主要进行非实时的大计算量与高复杂度的智能行为处理, 例如: 全局定位、 环境建模与全局路径规划等高层智能任务[12, 13]。 可以根据需要采用1台车载笔记本电脑或实验室计算机来进行远程处理。
2.5 通讯系统
车载系统配备了一个集线器(Hub), 把4个系统构成一个车载局域网。 它们之间可以通过TCP/IP协议进行通讯。 为保障IPC0与IPC1之间实时信息的可靠实现, 它们间采用RS232的点对点通讯。 车载局域网与实验室监控系统的局域网, 通过无线网桥(UWB9010B)连接成一个分布式的网络控制系统。 UWB9010B在开阔地带的通讯距离为500 m, 通讯带宽为1~10 Mbps。
3 异构Agent的协作策略
Agent间的通讯采用2种实现方式:
a. 工控机系统之间的Agent采用Socket套接字接口实现; 此外, 为了确保感知信息与机器人运动控制信息的实时传输, 在IPC0与IPC1之间还增加了一个RS232通讯通道;
b. 在一个计算机系统内, 除了采用基于TCP/IP协议的WinSocket函数通讯外, 还可以采用进程间的消息传递机制, 通过WM_COPYDATA消息实现数据交换与知识共享。
在运动控制层(IPC0), 对机器人的智能水平要求较低, 但对控制实时性要求较高。 所以, 在控制过程中传递的数据量较少, 主要包括: 控制指令、 传感器测量的内部状态数据。 在IPC0上, 驱动控制Agent根据动态规划Agent的输出, 针对ADT850控制车体步进电机的速度从而实现规划路径的跟踪; 状态监控Agent针对PCI1710实现对电源电压、 电流、 摇杆角位移的监测; 航向分析Agent实现对陀螺仪数据分析与修正, 提供车体的航向角速度与航向角。 动态规划Agent根据感知的环境信息, 规划出移动机器人的航向与到子目标的距离, 并将该信息以进程间通讯的方式发送给驱动控制Agent执行。 协调Agent实现各个原子Agent的信息集成, 计算移动机器人位姿, 实现分布式计算机系统之间的信息交流。
IPC1作为基于激光雷达的三维感知系统, 在IPC1上, 倾角检测Agent从倾角仪中获取车体的俯仰角与横滚角; 转动/测距Agent控制传感器转台的转动, 通过高速RS422通讯接口控制并接收激光雷达的测量数据; 局部建模Agent则对数据进行滤波(抑制测量噪声)、 校正(补偿机器人运动过程中的激光雷达扫描角度偏差)、 坐标变换(将激光雷达测量的极坐标数据转换为以机器人车体为中心相对车体平面的直角坐标数据), 并分析地形的平坦性, 区分可行区域与非可行区域, 得到一个短期感知信息存储(Working Memory)空间的局部导航地图, 通过协调Agent传递给IPC0, 供动态规划Agent使用; 局部建模Agent定期将积累的环境信息保存在硬盘的数据区中, 并传递信息更新的消息通知增量建模Agent读取。 增量建模Agent将局部环境信息经过位置修正与过滤后, 添加到全局地图中。 慎思规划执行双重目标: 对环境进行评估, 当环境处于复杂状态时, 启动慎思规划算法, 计算中间子目标; 当IPC0陷入局部陷阱发出请求时, 启动慎思行为规划。
IPC2主要进行计算机视觉信息的处理, 分为局部视觉与全局视觉、 现场图像传送等几个模块。
远程监控系统运行在实验室的局域网上, 可以监视现场传回的图像, 并监视机器人的运行状态; 也可以通过鼠标、 键盘等向机器人发出控制指令。 图3所示为MAS间的功能分配与协作构架图。
图 3 基于分布式异构Agent的协作结构
Fig. 3 Cooperation architecture among distributed heterogeneous Agent
4 实验结果
移动机器人的运行环境中散布着各类高度不一的障碍物, 当移动机器人在运行中, 激光雷达以一定的角度(-45°)对路面进行观测, 通过机器人的运动实现对地面环境的扫描, 不断积累扫描的数据。 采用Visual C++设计实现了感知系统的处理软件, 并设计了能够显示100×100栅格的局部3-D环境地形高度图的重建程序。 图4所示的环境感知图中环境水平面上的栅格解析度为3 cm×3 cm, 高度上的分辨率设为2 cm。 根据3-D环境地形高度图进行地形变化梯度分析后分割出可行区域与障碍区域, 从而引导机器人的行动[14]。
图 4 基于激光雷达测量信息实现3-D环境感知
Fig. 4 3-D environmental perception based on laser rangefinder
5 结 论
采用分布异构智能体的结构设计了移动机器人控制原型系统。 采用激光雷达平台、 多视觉系统作为环境感知器, 光纤陀螺仪、 倾角仪及里程计等传感器构建移动机器人航向制导系统。 控制系统基于IPC的开放式结构, 在硬件上具有良好的扩展与重构性能; 采用Windows操作系统环境和Visual C++的开发软件, 能够灵活地采用软件Agent技术实现复杂的功能要求。
参考文献:
[1]蔡自兴, 贺汉根, 陈虹. 未知环境中移动机器人导航控制研究的若干问题[J]. 控制与决策, 2002, 17(4): 385-390.
CAI Zi-xing, HE Han-gen, CHEN Hong. Some issues for mobile robots navigation under unknown environments[J]. Control and Decision, 2002, 17(4): 385-390.
[2]Volpe R, Balaram J, Ohm T, et al. Rocky 7: A next generation mars rover prototype[J]. Journal of Advanced Robotics, 1997, 11(4): 341-358.
[3]Karl I, Adam R, Steven D, et al. Control of robotic vehicles with actively articulated suspensions in rough terrain[J]. Autonomous Robots, 2003, 14(1): 5-16.
[4]Estier T, Crausaz Y, Merminod B, et al. An innovative space rover with extended climbing abilities[A]. Proceedings of Space and Robotics 2000[C]. Albuquerque, 2000. 201-206.
[5]范永, 谭民. 机器人控制器的现状与展望[J]. 机器人, 1999, 21(1): 75-80.
FAN Yong, TAN Min. Current state and tendencies in the development of robot controller[J]. Robot, 1999, 21(1): 75-80.
[6]Fielder P J, Schilb C J. Open-architecture systems for robotic workcells[J]. Robotics Today, 1998, 11(4): 1-4.
[7]张淑军, 孟庆春, 宋长虹, 等. 基于多Agent的混合智能学习算法及在足球机器人中的应用[J]. 机器人, 2003, 25(6): 526-530.
ZHANG Shu-jun, MENG Qing-chun, SONG Chang-hong, et al. Hybrid intelligent learning algorithm based on multi-agent and its application to robot soccer[J]. Robot, 2003, 25(6): 526-530.
[8]Gachet A, Haettenschwiler P. A decentralized approach to distributed decision support systems[J]. Journal of Decision Systems, 2003, 12(2): 141-158.
[9]Sycara K, Decker K, Pannu A, et al. Distributed intelligent agents[J]. IEEE Expert-Intelligent Systems and Their Applications, 1996, 11(6): 36-45.
[10]Barshan B, Durrant-Whyte H F. Inertial navigation systems for mobile robots[J]. IEEE Transactions on Robotics and Automation, 1995, 11(3): 328-342.
[11]Ferrell C. Failure recognition and fault tolerance of an autonomous robot[J]. Adaptive Behaviour, 1994, 2(4): 375-398.
[12]Diéguez A R, Sanz R, López J. Deliberative on-line local path planning for autonomous mobile robots[J]. Journal of Intelligent and Robotic Systems 2003, 37(1): 1-19.
[13]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.
[14]邹小兵. 移动机器人原型的控制系统设计与环境建模研究[D]. 长沙:中南大学信息科学与工程学院, 2005.
ZOU Xiao-bing. Research on Design of Control System and Environment Modeling for a Prototype of Mobile Robot[D]. Changsha: School of Information Science and Engineering, Central South University, 2005.
收稿日期: 2005-01-28
基金项目: 国家自然科学基金资助项目(60234030)
作者简介: 蔡自兴(1938-) , 男, 福建莆田人, 教授, 博士生导师, 纽约科学院院士, 从事人工智能、 智能控制、 机器人研究
论文联系人: 蔡自兴, 男, 教授; 电话: 0731-8877355(O); E-mail: zxcai@mail.csu.edu.cn