曲 芳, 顿国强, 沈 斌, 冯夷宁, 王绍胜
(1.黑龙江科技大学 工程训练与基础实验中心, 哈尔滨 150022; 2.东北农业大学 工程学院, 哈尔滨 150030;3.黑龙江科技大学 安全工程学院, 哈尔滨 150022; 4.黑龙江科技大学 现代制造工程中心, 哈尔滨 150022)
基于Multi-Agent协作的井下机器人智能搜救系统
曲芳1,2,顿国强2,沈斌3,冯夷宁2,王绍胜4
(1.黑龙江科技大学 工程训练与基础实验中心, 哈尔滨 150022; 2.东北农业大学 工程学院, 哈尔滨 150030;3.黑龙江科技大学 安全工程学院, 哈尔滨 150022; 4.黑龙江科技大学 现代制造工程中心, 哈尔滨 150022)
煤矿井下救援与逃生是煤矿安全生产中亟待解决的重大课题之一。发生矿难事故后,第一时间就是搜索并解救井下被困人员。传统的救援方式耗费大量的人力、物力和财力,且容易错过井下最佳救援的“黄金72小时”。通过建立基于Multi-Agent协作的煤矿井下智能搜救模型,设计出两类Agent模块,即SearchAgent和ContolAgent。利用Agent的主动性、自反应、自组织、自学习和协同沟通的特性,在矿难发生后,根据井下地图和多个SearchAgent反馈回来的路径信息进行汇总、分析与计算,精确筛选出最优、最近的搜救路线,并通知其他SearchAgent协同援助。应用多主体建模技术模拟井下救援路线,对于井下被困人员位置的定位、搜救方案的制定、救援人员的调度安排、物资的合理分配都具有十分重要的现实意义。
智能搜救; Multi-Agent协作; SearchAgent; ControlAgent
近年来,黑龙江省煤矿井下瓦斯、煤尘等爆炸事故频发[1],造成的人员伤亡数字触目惊心,直接带来的经济损失达数十亿元。因此,煤矿井下救援与逃生成为煤矿安全生产中亟待解决的重大课题。发生矿难事故后,第一时间就是搜索并解救井下被困人员[2]。发生事故的现场,往往使得井下环境异常恶劣[3],救援人员无法及时下井,耽误了宝贵的救援时间。一年前,曲芳等[4]利用井下救援机器人在第一时间下井,将井下人员伤亡信息准确及时地传输给地面指挥中心,为事故专家和决策者做出判断提供依据。
事实上,仅凭一台救援机器人独立完成井下搜救任务耗时巨大,且如遇井下二次塌方或爆炸,还需指挥中心再次派遣其他救援机器人下井。针对这一现状,笔者探究拟派出多个救援机器人下井展开搜救工作,且每个救援机器人均为一个Agent智能代理人,这些Agent具有智能性[5]。所谓的Multi-Agent协作,即通过多个Agent协同通信来完成群体搜救任务,且多个Agent之间的协作是自治和独立的,行为和目标不受其他Agent的限制。他们之间通过竞争、协商、协作的手段共同完成系统设定的目标。拟在发生事故的井下,通过计算每个Agent从井口到被困人员的最短路径,保障为搜救工作提供最佳、最短、最快的救援路线,辅助救援人员采取紧急决策,实施快速有效的搜救方案。
1.1机器人系统模型建立
在井下,每个救援机器人都是随机的寻找被困人员,并分别计算出被困人员到井口的距离,从而根据最小距离来确定最佳路径。在救援机器人群体中,设计两类Agent,分别是SearchAgent和ContolAgent。在已经成熟的多Agent协作开发平台JATLite上,构造该系统所需要的功能Agent。SearchAgent和ContolAgent再在此平台上进行二次开发。
利用JATLite构建的Agent本身不含有智能成分,不能完全满足多个井下救援机器人对Agent的要求。故基于JATLite系统,并在扩展模板RouterClientAction的基础上设计基类WorkflowAgent,使模板具有信息存储和处理能力。各个构造的Agent继承基类WorkflowAgent,加入相应的属性和方法,就可以全面实现多个井下救援机器人的智能搜救功能。工作基类WorkflowAgent继承模板类RouterClientAction,并引入Activity、WFEvent、Rule和CCapbility等基本bean类来描述内部特殊结构。
其中:Activity类支持WorkflowAgent 对工作中活动信息的维护。WFEvent类定义系统中的各种事件,如状态变化事件、数据事件和失败事件等,它是触发Agent实施自主行为的一个主要因素。Rule类支持定义WorkflowAgent 的规划,描述执行某个动作的时机。Capbility类用来描述WorkflowAgent所具备的能力。
工作基类WorkflowAgent结构如图1所示。
图1 工作基类WorkflowAgent
在工作基类WorkflowAgent基础上进行继承,从而实现SearchAgent和ContolAgent的功能。其中,Search-Agent的功能是从井口开始寻找被困井下人员所在位置,并跟踪释放信号,再将信息返回给ContolAgent,SearchAgent结构如图2所示。
图2 SearchAgent结构
其中:SearchAgent.RecordPath(double A)是记录下井口到被困人员的距离。SearchAgent.Position (double b,double c,double d)是标记被困人员位置坐标。
ContolAgent的功能是从不同的SearchAgent中获取到不同目标物的方位坐标,记录其路径距离再存入数据库中,计算出的最短路径设为最佳路径。 ContolAgent的结构如图3所示。
图3 ContolAgent结构
其中:ContolAgent.GetRecordPath(double A)是获得井下被困人员距离井口的距离。ContolAgent.GetPosition (double b,double c,double d)是获得被困人员的位置坐标。ContolAgent.Save(double A,double b,double c,double d)是保存被困人员位置坐标和距离到数据库中。ContolAgent.Calculation(double A,double b,double c,double d)是计算出哪一个Agent的返回数据为最短的距离。
1.2机器人运行算法设计
基于Multi-Agent协作的井下救援机器人群体智能搜救的运行算法设计可以按照流程进行,如图4所示。设计的多Agent协作群体智能算法,借鉴蚂蚁群体觅食寻求最优路径的思想,根据救援机器人发现井下被困人员到井口距离最短为最佳搜救路线。设计两类智能机器人软件结构,即SearchAgent和ControlAgent。再在成熟的JATLite系统上对SearchAgent和ControlAgent进行二次开发,使这两种软件结构协同合作,并开展井下通信,以保证多个救援机器人群体合作完成井下搜救任务。
图4 井下救援机器人运行算法流程
Fig. 4Running algorithm flowchart of underground rescue robot
1.3多Agent协同通信
多个Agent之间的协同通信需要三个基本部分的支持,即共同的语言、对于所交换的知识的共同理解以及进行语言和知识交换的能力。能够实现Agent之间合作交流的基础,是需要保证Agent在进行通信时可以屏蔽掉其内部的实现细节。它们之间需要的,是一种独立于领域知识的、高层的、能够直接互相影响其行为的Agent通信语言(ACL: Agent Communication Language)。
Agent的ACL通信语言,应具有普遍性、简捷一致的语法和语义、通信内容的独立性等特点。目前,常用的ACL有KQML[6](Knowledge Query and Manipulation Language)和FIPA[7](Foundation of Intelligent Physical Agent)ACL,文中所涉及的设计系统,采用的通信语言是KQML。KQML由美国国防部先进研究计划局(AR队)的知识共享计划提出。KQML语言定义了一种Agent直接传递消息的标准语法以及一些动作表达式。这些动作主要从语言行为(speech act)理论中演化而来。
KQML由内容层、通讯层和消息层组成。内容层负责实际消息的内容组织,具体的组织方式遵循Agent内部的知识表达。通讯层负责对消息的某些特性进行编码,这些特性主要是描述底层特征的参数。消息层负责对所传递消息进行编码,是KQML语言的核心。消息层的主要功能是标志消息发送所使用的协议,并且由它决定Agent的交互方式。KQML中定义了一组含义明确的、预留的行为原语。这些预留的行为原语并非是KQML具体实现中必须实现的最小子集,可以根据需要选择实现或添加新的原语。
JATLite平台是斯坦福大学编写的一个构建Agent系统的模板。它提供了可扩展的多层结构,使得开发者能在不同的层次上重新构成符合需求的Agent模型。JATLite系统使用Agent通信语言,KQML作为底层的通信语言。它提供了一个Agent消息路由器来保证Agent间消息的传递,只需知道Agent的名称即可,对于处理Agent地址(如移动Agent)发生变化的情况便可以实现。
仿真模型是在JATLite系统上对SearchAgent和ControlAgent进行二次开发,利用基于JAVA语言的Eclipse开发平台,采用JAVABEAN技术开发出基于多Agent的工作平台。在JATLite所提供的类库资源的基础上,开发SearchAgent和ControlAgent模块,并将模型中需要的地图、Agent的种类、属性及模型运行规则等都集中在这个类包中。
系统仿真界面开发工作流程:首先,将煤矿井下地图以XML形式的文件加以保存[8],在各个SearchAgent开始启动工作后,XML形式的文件被导入到每个SearchAgent。然后,每个SearchAgent对地图文件进行解析,待SearchAgent解析完成后,根据地图上显示的路径,随机选择一条路径进行搜索。
此时,ControlAgent随时监测SearchAgent的运行状况。如果SearchAgent发现目标则进入锁定状态,并发送信息至ControlAgent。ControlAgent根据多个SearchAgent反馈回来的信息进行汇总、分析和计算,精确筛选出最优、最近的搜救路线,并通知其他SearchAgent进行协同援助。同时,Agent搜救系统利用自身携带的通讯功能向地面指挥中心发送井下救援信息,指导救援人员作出快速反应和决策。SearchAgent模块的运行如图5所示,ControlAgent模块运行如图6所示。
图5 SearchAgent运行界面
这一界面实现了引擎中各Agent类设计,给出SearchAgent和ControlAgent模块解析方法和井下协同搜救任务安排、分配和管理的相关设计。在仿真系统运行过程中,实现了对搜救路径的严格、实时监测。同时,仿真系统可以显示每一次有活动行为的Agent状态,可以对每个Agent的活动进行记录、监测与分析[6]。这对于井下被困人员位置定位[8]、搜救方案制定、救援人员调度安排、物资合理分配都具有重要的现实意义[9-14]。
井下搜救工程是一个复杂的综合系统。为了更好地开展对井下最优搜救路线的研究,建立基于Multi-Agent协作的井下智能搜救模型,创新设计两类Agent模块,即SearchAgent和ContolAgent。利用Agent的主动性、自反应、自组织、自学习和协同沟通的特性改良井下搜救费时、费力的缺点,在矿难发生后,可以根据井下地图和多个SearchAgent反馈回来的路径信息,进行汇总分析计算,筛选出最优、最近的搜救路线,并通知其他SearchAgent协同援助。同时,搜救系统将井下信息及时反馈到救援指挥中心,辅助救援人员直接到达目的地进行快速营救,提高井下救援的运行效率,为救援工作提供通信平台,为矿难救援与逃生提供了有效的决策与支持。该项研究具有一定使用价值和广阔的应用前景。
[1]曲芳, 张艳, 宁姗, 等. 纤维增强复合材料在探测机器人主车体上的应用[J]. 机械制造, 2015(1): 33-35.
[2]QU FANG, CHEN GUOHUI, NING SHAN, et al. Simulation analysis for the walking mechanism of the underground exploration
robot based on MATLAB and ADAMS[J]. Applied Mechanics and Materials, 2014(12): 705-708.
[3]曲芳, 孟庆强. 基于人机工程学的采煤机械设计研究[J]. 机械制造, 2013, 53(1): 30-32.
[4]曲芳, 张艳, 宁姗, 等. 基于ADAMS的可变履带式井下探测机器人研究[J]. 工业仪表与自动化装置, 2014(12): 115-120.
[5]郝帅. 基于多Agent工作流引擎的研究[D]. 长春: 长春工业大学, 2009: 20-45.
[6]李鑫, 李仲学, 李翠平, 等. 基于Agent 技术的井下运输仿真模型研究[J]. 金属矿山, 2011(12): 113-126.
[7]翟蕾, 邵广贤, 唐超礼, 等. 基于移动Agent的井下人员定位系统研究与实现[J]. 煤炭工程, 2014(10): 223-225.
[8]常松丽. 基于Multi-Agent的井下矿工信息交互模型研究[D]. 太原: 太原科技大学, 2014: 37-38.
[9]曲芳, 宁姗, 张艳, 等. 基于ANSYS的轻型矿车车箱优化设计[J]. 工业仪表与自动化装置, 2014(3): 19-22.
[10]曲芳, 明向兰. 基于回归分析法的黑龙江省人口预测及应用[J]. 工业仪表与自动化装置, 2015(3): 66-68.
[11]曲芳, 马晓梅, 梁志强, 等. 机器人实践教学研究初探[J]. 机械职业教育, 2014(2): 31-33.
[12]曲芳, 郝帅, 张蕊, 等. 一种矿车车箱的多种轻质设计比较[J]. 机械工程师, 2014(2): 88-90.
[13]曲芳, 李巍. 基于ANSYS的土壤分层取样装置优化设计研究[J]. 机械工程师, 2015(8): 10-12.
[14]沈斌, 秦宪礼, 王洪粱, 等. 矿井通风系统优化改造案例编制及其教学实践[J]. 价值工程, 2012(10): 284-285.
(编辑徐岩)
Intelligent search and rescue system of underground robot based on Multi-Agent cooperation
QUFang1,2,DUNGuoqiang2,SHENBin3,FENGYining2,WANGShaosheng4
(1.Center for Engineering Training & Basic Experimentation, Heilongjiang University of Science & Technology, Harbin 150022, China; 2. School of Engineering, Northeast Agricultural University, Harbin 150030, China; 3.School of Safety Engineering, Heilongjiang University of Science & Technology, Harbin 150022, China; 4.Modern Manufacture Engineering Center, Heilongjiang University of Science & Technology, Harbin 150022, China)
This paper is devoted to a novel study growing out of a deeper understanding that mine escape and rescue operation represents one of the major issues demanding immediate solution in the safety production of coal mine. The paper features a novel intelligent search and rescue system as an alternative to currently-used rescue way identified as a waste a lot of manpower, material and financial resources and more likely to miss “golden 72 hours”, the best time of underground rescue, suggesting a negative effect on devoting the first time to search and rescue personnel trapped underground after mine accidents. The study consists of developing the intelligent search and rescue model tailored for coal mines based on Multi-Agent cooperation; designing two kinds of Agent modules, namely SearchAgent and ContolAgent; using the Agent's advantages such as initiative, self-reaction, self-organization, self-learning and collaborative communication and thereby summarizing, analyzing and calculating the path information depending on mine maps and multiple SearchAgent feedback; and selecting the best and the nearest search and rescue routes and informing other SearchAgent of cooperative rescue operation after the mine accident. This system, capable of simulating the underground rescue route using Multi-Agent modeling technology, is of important practical significance for the location of trapped personnel, the development of the rescue plan, the arrangement of the rescue workers, and the reasonable distribution of the material.
intelligent rescue; Multi-Agent cooperation; SearchAgent; ControlAgent
2015-07-08
黑龙江省教育厅科学技术研究项目(12541710;12533057);黑龙江省青年科学基金项目(QC2012C102)
曲芳(1983-),女,山东省蓬莱人,讲师,博士研究生,研究方向:机械设计及理论、焊接自动化理论、农业机械化工程,E-mail:qufangnihao@163.com。
10.3969/j.issn.2095-7262.2015.04.017
TD77; TP242.6
2095-7262(2015)04-0440-05
A