一种多智能体信息融合船舶避碰系统
2015-12-04刘芳武
刘芳武
(南通航运职业技术学院 航海系,江苏 南通226010)
0 引 言
在开放水域中,如何实现多船舶的自动导航决策,是船舶导航及避免碰撞的关键问题之一。在文献[1-5]中,学者提出了多种解决方案,然而却在不同程度上难以应用在实际应用场景中。由于人脑决策的灵活性和动态性,设计一种自动化的决策系统模拟人类解决问题的过程十分困难。专家系统(Expert System,ES)通过领域知识和推理规则,能够根据相应的场景为船舶提供决策依据,然而在多艘船舶的情况下,建立知识库的开销较大,且使用效率较低。决策支持系统(Decision Support System,DDS)将知识推理和数值计算结合起来,相比于ES 能够提供更强大的决策能力,同时能够和神经网络、遗传算法等经典算法结合,提供更加精确和灵活的分析决策能力。然而,在实际使用过程中,不仅需要对于信息的分析和处理能力,同时还可能需要信息的交互、学习、预测等,因而DDS 仍需要进一步改进。
智能体是工作在特定环境中,拥有一定属性和特征,能够根据相应指令,感知环境和执行动作的实体。多智能体系统(Multi-Agent System,MAS)是一种重要的软件模型,用来解决分布式、异构环境中的信息分析和决策问题。MAS的这一特性非常适合应用于船舶碰撞避免领域。通过在不同船舶上部署MAS,则各个船舶能够采集信息、感知变化、交换信息、判断态势及分析决策等。为实现以上功能,需要将不同类型、不同来源、不同层次之间的信息进行融合,因而需要精确高效的信息融合方法。
本文提出一种基于多智能体信息融合的船舶碰撞避免系统。该系统包含船舶智能体和VTS 智能体。并拥有源数据融合层、多群组融合层及分布式融合层3个信息融合层次。通过对本文设计系统的分析与实验验证,证明本文提出方案的可行性和有效性。
1 系统框架
1.1 智能体间相互关系
本系统中包含2 种应用智能体:船舶智能体和VTS 智能体;2 种控制智能体:系统智能体和群组智能体。几种智能体间的相互关系如图1所示。
图1 智能体间关系图Fig.1 Relationship between agents
如图1所示,在系统中船舶和VTS 可以被建模为应用智能体,应用智能体自身具有一定的信息分析和处理能力,并能够利用自身的知识库和功能解决某些特定问题,而控制智能体则能够对应用智能体进行控制。系统智能体能够创建或删除应用船舶智能体,而群组智能体可以通过用户接口交换信息、分配系统资源、消除冲突等。当风险发生时,多个相关的船舶智能体自动组成一个群组,同时每个形成的群组被分配一个群组智能体进行统一管控。需要注意的是,一个群组可能包含多个船舶智能体,同时一个船舶智能体也可能属于不同的群组。
1.2 船舶智能体类
利用面向对象的编程方法,船舶智能体被定义为CA_Ship 类,其包含有若干属性和操作,用来描述该智能体拥有的特征和执行的动作。CA_Ship的结构如图2所示。
图2 CA_Ship 类结构图Fig.2 The structure of CA_Ship class
CA_Ship的操作由5 部分组成:Ship_Calculation包含,地理位置分析计算、碰撞风险计算及转向效果计算等基本计算功能;通过预先制定的推理规则,Ship_Reasoning 可以根据已有知识作出判断或得出结论;通过特定的方案策略,Ship_Planning可以根据当前碰撞风险作出调整航向的规划;Ship_Communication 用来实现不同船舶间的通信,而Ship_Learning 则通过多种机器学习算法,提高系统的分析决策能力。
1.3 VTS 智能体类
与船舶智能体类的定义方法类似,VTS 智能体被定义为CA_VTS 类,该类的基本结构如图3所示。
图3 CA_VTS 类结构图Fig.3 The structure of CA_VTS class
CA_VTS 与CA_Ship 有以下不同:
首先,CA_Ship 类中的某些属性同样包含在CA_VTS 类中,因此VTS 智能体拥有船舶智能体的所有信息;同时,CA_VTS 类也含有一些CA_Ship所不具有的信息,并将这些信息分别存储在VTS_Data和VTS_Knowledge 中。
其次,VTS_Computation 包含了更多的计算功能;通过信息融合算法,VTS_Planning 能够为群组中的船舶提供碰撞避免方案,减少群组中船舶碰撞风险;同时,VTS 智能体也具备更加丰富的信息管理和学习机制,从而能够实现更加复杂的业务。
2 多智能体信息融合模型
对于船舶智能体和VTS 智能体来说,在决策各个阶段需要对不同类型和来源的信息进行综合分析,因而信息的融合非常必要。
2.1 信息融合模型基本结构
如图4所示,多智能体信息融合模型包含3个融合层次,并且在每个层次中使用不同的融合方法。
1.池塘准备 3月初,池塘施用75kg/亩生石灰进行干法清塘,3天后排干池水晒塘。放苗前10天左右,池塘水位加至10cm,以4~5m的行距、2~3m的株距种植轮叶黑藻。种植一周后提高水位至50cm左右,根据池塘肥力,放苗前7天左右使用一次生物肥,培育生物饵料。池塘进水用100目长筒状筛绢网过滤,防止敌害进入。前期保持较低水位,有利于轮叶黑藻生长和水体升温。
图4 信息融合模型结构图Fig.4 The structure of information fusionmodel
2.2 源数据融合层次
通过源数据融合层次的信息融合,船舶智能体能够将获取的其他船舶智能体的属性值与自身的属性值结合起来,从而做出一些重要的判断和决策。因此,源数据融合层次可分为多周期融合和多对象融合2个步骤。其中,多周期融合可以用来跟踪和识别其他船舶智能体。
定义1:对每个船舶智能体,定义其自身的属性集为WOj={latitude,longitude,course,speed,risk,……},由船舶智能体i 发送的属性集定义为WTij={latitude,longitude,course,speed,……},同时定义两者在第j个周期内的相对属性集为WRij={distance,bearing,course,speed,DCPA,TCPA,risk,……}。
则WRij由WOi和WTij计算可得:
式中:f(WOk,WTjk)为利用WO和WT 计算WR的函数;N 为工作周期数量。
多对象融合过程用来估计当前情况下,本船舶与其他船舶智能体发生碰撞的危险程度。
定义2:对于每个船舶智能体,在第j个工作周期内,其与船舶智能体i 发生碰撞的风险如下:
其中λ 为在不同条件下DCPA的门限值。
定义3:对于每个船舶智能体,在第j个工作周期内,与其他M 各船舶智能体碰撞的风险为:
2.3 多群组融合层次
对每个船舶智能体来说,在制定碰撞避免方案时,需要知道哪些船舶智能体的航线需要被分析和考虑。因而,需要形成相应的群组,实现多个船舶智能体之间的信息交换和协商。群组的形成包括2个步骤:
步骤1:创建群组。对于船舶智能体k 来说,在第j个周期创建群组NUk的规则如下:
其中Dist_min 为船舶之间可能发生碰撞的距离门限。因而在系统中所有的群组可以记为NU={NU1,NU2,…,NUM},其中M 为系统中船舶智能体的总数。
步骤2:群组结合。若对于任意2个NUi∈NU,NUj∈NU,若存在NUi⊆NUj,则从NU 中删除NUi。
重复步骤2 可知,在NU 中,任意2个NUk间没有包含关系。存在NU={NU1,NU2,NU3,NU4},其中
由于NU2⊆NU1,且NU4⊆NU3,则最终经过融合的NU={{Ship_Agent1,Ship_Agent2,Ship_Agent3},{Ship_Agent1,Ship_Agent3,Ship_Agent4}}。
2.4 方案融合层次
通过以上层次的信息融合,每个Ship_Agent 均能够得出在本UN 内,如何降低和其他船舶碰撞风险的方案。一种典型的方案如图5所示。
图5 碰撞避免方案示意图Fig.5 Collision avoidance plan
在碰撞避免方案中,共有3 种动作被使用,即保持、转向和回复。在3 种动作的执行过程中,最重要的3个参数是:操作类型(O_Type)、操作幅度(O_Size)及操作时间(O_Time),因此,一个碰撞避免方案能够被描述为以下形式:
不同船舶制定的碰撞避免方案,可能存在一定程度的不一致,为了消除这种不一致,需要由VTS_Agent 执行方案融合算法,如下所示:
其中方法PlanEvaluation的作用是计算方案的优先级,优先级越大方案越优。
3 实验分析
为了验证本文提出方案的可行性,在仿真环境中实现并测试本文提出的方法,如图6所示,为2艘船舶相遇的场景。
对于Ship_ Agent1 来说,其自身计算得出的方案为:
该方案在图6 中标出,同时被选为优先级最高的方案。由于产生的方案个数非常多,因此仅仅标识出VTS_Agent 挑选出的最优方案Plan2,该Plan的内容为:Ship_Agent1 向右转40°,然后航行8 min,Ship_Agent2 向右转10°,然后航行8 min,该方案的优先级为13.67,大于2 艘船舶自身计算的方案的优先级之和12.40 (两者分别为4.42和7.98)。
4 结 语
本文提出了一种应用于船舶碰撞避免的信息融合模型,该模型包含源数据融合、多群组融合及方案融合3个融合层次。每个Ship_Agent 能够通过源数据融合过程计算出多个碰撞避免方案,从而减少碰撞的风险。同时不同的群组被创建,包含了不同的船舶和方案,VTS_Agent 能够将处于同一群组的方案进行集成和修改,并选出最优的方案分发给相应的Ship_Agent。最后,本文采用实验仿真,验证了本文提出方案的可行性和高效性。
[1]HARA K,HAMMER.A safe way of collision avoidance maneuver based onmaneuvering standard using fuzzy reasoning model[J].MARSIM,1993(3):163-170.
[2]YANG Chun-sheng.An expert system for collision avoidance and its application[D].Japan:Hiroshima University,1995.
[3]SATO Y,ISHII H.Study of collision-avoidance system for ships[J].Control Engineering Practice,1998(6):1141-1149.
[4]HWANG C.The integrated design of fuzzy collision avoidance and autopilots on ships [J].The Journal of Navigation,2002(55):117-136.
[5]余建星,张谦,马维林.穿梭游轮与浮筒碰撞的有限元分析[J].舰船科学技术,2014,36(1):89-96.
[6]陈建华,陈卫红,刘科.基于模糊神经网络的一种船舶碰撞危险度计算方法[J].舰船科学技术,2008,30(2):121-126.