煤矿探测机器人多传感器控制系统研究
控制系统总体设计
煤矿探测机器人控制系统的主要任务分为 3类: 一是数据采集与处理,采集各种传感器信息,包括导航信息、环境信息和机器人自身状态信息;二是决策处理功能,将信息融合与处理系统的信息作为决策依据,协调决策系统各模块间任务,决策救援机器人下一步行为; 三是机器人行为输出与动作功能,解算决策命令,控制救援机器人动作与工作状态。根据煤矿探测机器人的需求分析,要实现煤矿探测机器人的各种功能,就必须搭建出一个结构化、可靠性高、功能性强、可移植性强、可扩展性强的可搭载在煤矿探测机器人上的控制系统。本文搭建煤矿探测机器人的控制系统分为 3 个层次,即决策控制层、传感信息层、执行控制层。
决策控制层。该层采用高性能、低功耗的宽温单板 EC5 - 1717CPLD 计算机作为核心。由于采用的是通用计算机系统,所以简化了该层的硬件设计。该层的主要功能是对各个传感器的数据进行融合,然后把处理的结果转化为运动执行控制层的命令发送给运动执行控制层。决策控制功能在Windows 2000 操作系统上完成。机器人在工作过程中的数据融合与智能计算均在该系统上进行,系统的功能主要由决策计算机上搭载的决策控制系统来实现。煤矿探测机器人对外部的通信通过无线网络模块构成一个局域网络监控系统。
传感信息层。应用于煤矿探测机器人的传感器可分为内部传感器和外部传感器 2 类。内部传感器用于监测机器人系统内部状态参数,外部传感器用于感知外部环境信息。该层通过各个传感器模块对机器人内部状态和外部环境信息进行监测,通过各自的调理电路和通信总线将采集到的数据上传至决策控制层的决策计算机。
执行控制层。执行控制层主要由机器人各关节驱动电机及其驱动控制器组成,负责根据决策控制层的决策信息控制动作执行部件———直流伺服电机完成具体的动作。各关节电机的控制器由CAN 总线连接,组成 CAN 网络,在经过 CAN toUSB 的协议转换器可与决策系统连接。运动控制命令通过 CAN 转换控制器转换为总线信号,总线信号经过 CAN 总线根据各个驱动电机的 CAN - ID 发送到各电机控制器,各电机控制器根据 CAN - ID识别各自收到的命令驱动所连接的电机完成相应的任务,并把电机运行情况通过 CAN 总线反馈给主控计算机,由此构成了闭环关节控制系统(图略) 。整个运动执行系统有良好的拓展性能,可以并联最多 127 个驱动设备。通过这 3 个层次的协调工作,煤矿探测机器人实现了通过监测内部状态和外部环境来控制自己行为的功能。
控制系统软件设计
根据煤矿探测机器人控制系统总体设计,将煤矿探测机器人软件系统结构分为 3 层,从下至上分别为硬件层、通信协议层和核心控制层 (图略) 。硬件层和通信协议层硬件层是整个系统的基础,机器人的内部状态和外部环境都要通过硬件层进行感知和监测。硬件层主要包括各个传感器及其调理电路和电机及其驱动器等。通信协议层是煤矿探测机器人软件和硬件交互的桥梁,起到上传下达的作用。软硬件之间通过通信协议进行信息的交互。本系统有 USB 通信协议、RS232 串口通信协议、CANOpen 通信协议。例如CANOpen 通信协议,决策控制计算机和电机驱动器通过 CANOpen 通信协议进行通信。在通信的时候,CANOpen 协议将 CAN 节点号作为设备物理地址对设备进行身份识别,因此要给每一个 CAN 驱动控制器设备分配一个唯一节点号,范围从 1 ~127,0 号节点为广播地址。
核心控制层核心控制层是机器人控制的核心,是软件系统最重要的组成部分,主要功能是将传感器采集的数据进行处理并向运动控制层发送命令。作为煤矿探测机器人软件的核心部分,主要由感知 Agent、反射行为 Agent、定位导航 Agent、人机交互 Agent、决策 Agent 以及运动控制Agent 组成,其中只有感知 Agent 是与设备相关的,其余均是软件 Agent。
感知 Agent。感知 Agent 的主要任务是感知机器人的外部环境信息和机器人状态信息,并将这些信息传递给定位导航 Agent 和人机交互管理系统,以便这些 Agent 能够根据获得的信息进行路径规划等操作。当遇见突发或紧急状况时,感知 A-gent 将信息发送至反射行为 Agent,直接对机器人进行控制。
反射行为 Agent。反射行为 Agent 主要负责一些突发和紧急事件的处理,它直接接收来自感知Agent 的信息。这些信息将促使反射行为 Agent 作出快速反应,它将处理的结果传递给运动控制 A-gent。在反射行为 Agent 中采用的是反应式行为,能够快速地做出反应,应对突发情况。
导航 Agent。导航 Agent 接收感知 Agent 的信息,它将煤矿探测机器人当前的位置、姿态发送给决策 Agent,决策 Agent 对所接收的数据进行处理后生成电机控制命令,发送至运动控制 Agent,从而调整机器人的姿态和动作。定位与导航 Agent还将感知 Agent 的信息发送至人机交互 Agent,工作人员通过人机交互界面对机器人的位置和姿态进行人为的干预,并将这些干预信息直接发送至运动控制 Agent 中进行机器人的控制。人机交互管理系统。通过人机交互管理系统,操作人员可远程监视机器人系统的状态,向机器人下达任务,实现人机交互功能。通过人机接口,可监视机器人运行状态,操作人员也可以向机器人发出指令人工遥控煤矿探测机器人的行为。
决策 Agent。决策 Agent 是机器人软件智能体核心,是整个系统的大脑。它接收定位与导航Agent 和感知 Agent 的信息,将这些信息进行综合处理与融合,得出一致性结果,这个结果是机器人在运行安全、避开障碍的前提下朝目标前进的结果。
运动解析器。运动解析器在工作的过程当中接收反射行为 Agent、决策 Agent 和人机交互管理系统 3 个不同 Agent 的信息 ( 这里也可以将人机交互系统看作是一个 Agent) ,从而驱动电机的动作。但是,3 个 Agent 在发送信息的时候会出现冲突,在软件设计当中人为设置反射行为Agent 的指令优先级最高,这样就能够在发生紧急情况时系统能够马上中断其他 2 个 Agent 指令,优先运行反射行为 Agent 指令,保证了机器人的安全性。在运动解析器驱动电机实现机器人的各种动作行为后,机器人所处的外部环境和内部状态也同时发生相应的变化,机器人又要开始新一轮感知与控制过程。子系统间通信方式由于煤矿探测机器人对实时性要求较高,尤其在进行图像识别时传感信息处理系统与视觉系统之间要快速交换大量信息,因此,本系统各子系统间设计采用基于内存共享的通信方式。
主程序调用 Agent 子程序有些子系统的功能是比较常用的,为了便于系统开发和相互调用方便,煤矿探测机器人主系统通过 DLL ( 动态链接库) 调用各子系统程序。煤矿探测机器人的软件系统被分为主程序和 DLL 程序,使得多个应用程序可以共享同一段代码,节省了机器人程序的资源空间,减少了程序的执行代码。
试验
在试验空间为6 m ×18 m 的实验室环境下,对该系统进行了机器人自主行驶试验。该机器人的控制系统以 Windows 2000 操纵系统作为平台,软件程序在 VC + + 环境下进行编写,可通过无线以太网与监控系统通信。将实际行走路径与仿真规划路径 ( 仿真环境为 Matlab7. 1) 进行了对比 (图略) ,经对比发现,机器人实际行走路线与仿真规划路线变化趋势基本一致,机器人可以依靠传感器信息与自主控制系统到达指定目标区域,证明所研究设计的机器人控制系统的架构方式是稳定可行的。
将煤矿探测机器人置入模拟煤矿巷道中模拟在救援现场中的行驶过程,将机器人放置在主巷道处,向开采工作面行驶。在试验中,不给机器人除起始点外的任何环境信息,让机器人自主行驶,用以验证机器人在狭窄环境中遇到障碍时的反应及机器人控制系统的综合可靠性。通过图 6 可以看出机器人在面对障碍物时会很快做出反应,并顺利避过障碍物。通过监测系统发现机器人行驶状态良好,可以顺利到达目标区域,证明了设计的煤矿探测机器人系统可以保证机器人适应煤矿行驶环境。
结语
根据煤矿探测机器人的应用环境与工作目标,基于分布式、模块化的思想研究并设计了煤矿探测机器人控制系统。试验验证所建立的机器人控制系统可靠,性能达到了应用要求。该系统采用模块化设计,开放性好,易于搭建。软件采用面向对象的编程模式,易于和其他软件连接和升级。
本人作者:张军辉 李晓鹏 单位:中国煤炭科工集团有限公司 中国煤炭科工集团西安研究院
本文html链接: http://www.istpei.com/qkh/29340.html