APP下载

基于多智能体的车辆运输船装卸载作业系统仿真

2017-09-03瓅刘朕明

船舶 2017年4期
关键词:升降机牵引车协作

颜 瓅刘朕明

(1.中国船舶及海洋工程设计研究院 上海200011;

2.上海中船船舶设计技术国家工程研究中心有限公司 上海200083)

基于多智能体的车辆运输船装卸载作业系统仿真

颜 瓅1,2刘朕明1,2

(1.中国船舶及海洋工程设计研究院 上海200011;

2.上海中船船舶设计技术国家工程研究中心有限公司 上海200083)

车辆装卸载作业系统是船舶作业系统的一种。基于脚本和条件判断的常规作业仿真模型存在可扩展性差、建模成本高等缺点,难以满足当前作业系统研究的发展趋势。文中为车辆运输船装卸载系统仿真试验设计一个多智能体系统,建立基于BDI模型的智能体控制模块,针对装卸载系统特点设计多智能体协作机制。仿真试验显示牵引车、半挂车和升降机可自行开展作业,表明智能体仿真可以简化作业流程建模工作,该设计工作扩展后可用于各种具有多实体交互协作的船舶作业系统仿真,具有较为广泛的应用前景。

多智能体;车辆运输船;作业系统仿真;BDI模型

引 言

车辆装卸载作业系统是船舶作业系统的一种,船舶作业系统包括作业环境、作业实体和作业方案三个要素。作业环境是指影响作业但不直接参与作业的事物,例如船舶周围的风浪环境、昼夜环境,以及船舶上的舱室通道。作业实体是指参与作业并发生变化的实物,例如设备、人员、物资等,也可以是设备的部件或子系统。作业方案是指可指导作业执行的预定方案,例如作业实体的初始位置、作业流程等。由于船舶作业系统的复杂性,为确保实际系统有效运行,对系统的设计提出了较高要求。用仿真方法对设计方案进行研究能够充分检验作业系统的各种特性在运行过程中出现的动态变化,从而获得更加准确的评估结果。然而,随着船舶作业系统的大型化、环境复杂化和工况多样化,作业系统中作业实体数量和作业实体间交互协作事件的类型大幅增加,发生交互协作的次数呈指数增长。常规的基于脚本和条件判断的作业仿真模型存在可扩展性差、建模成本高等缺点,难以满足当前作业系统研究的发展趋势。

智能体(Agent)又称“智能Agent”、“代理体”、“主体”,最早的概念由Carl Hewitt于1977年提出,目前在学术界还没有统一的定义,一般认为智能体是一种具有自主性的,能够接受外界信息并做出响应的软/硬件程序或系统[1-2]。在船舶作业仿真系统中,每一个智能体可以代表一个作业实体,像这样存在多个智能体的系统称为多智能体系统(Multi-Agent System, MAS)。智能体仿真又称基于智能体的建模与仿真方法(Agent-based Modeling and Simulation, ABMS),是指通过各个智能体的自主性及交互行为来描述复杂系统的仿真方法[3-4]。对于船舶作业系统仿真这样具有大量交互作用的复杂系统,智能体仿真在建模方面具有直观、灵活和易扩展等优点,在问题求解方面具有速度快、可靠性高和容错能力强等优点[2]。

目前,智能体仿真在船舶领域已经有一定的应用:吴向君等人[5]以各类抗沉人员为智能体建立抗沉过程仿真的多智能体模型,通过实例计算分析了抗沉过程中的关键环节;胡啸[6]以舰船推进、电力、损管、舰桥等业务系统为智能体,在全船层面探讨以任务为驱动的系统架构方法,为建立基于任务的舰船平台体系结构奠定了基础;秦久峰等人[7]以船舶动力平台水冷系统、子系统、资源和人员等为智能体,将分布式多智能体控制方法应用于动力辅助系统控制系统中,可降低操作人员的工作负荷,增加系统的智能性和鲁棒性;江建宇[8]以买家、卖家或货代、船运公司、海关等作为智能体,提出以多智能体仿真为核心的ISPHT开放集成平台/模型框架,针对港口群腹地集运系统中的几项重要的决策分别构建具体算法,并检验了模型的有效性。然而,对于将智能体仿真应用于具有较多作业实体在空间中行驶、运输、调运的船舶作业系统,目前尚未见相关报道。本文提出基于多智能体的车辆运输船装卸载作业系统仿真模型,并提出多智能体之间的协作机制。

1 装卸载作业系统

某船专门用于运输载有箱货的半挂车。船上设有上下两层车辆舱。上层车辆舱通过一台升降机与下层车辆舱连接,下层车辆舱可通过尾跳板与码头连接,上下两层车辆舱均可装载18辆半挂车,如图1所示。

该船在装载时,首先将18辆半挂车通过升降机装载到上层车辆舱,然后将其余18辆装载到下层车辆舱,卸载时顺序相反。

对于装卸载作业系统,作业环境包括上下层车辆舱、跳板和码头,作业实体包括牵引车、半挂车和升降机,作业方案包括半挂车的布列方案、半挂车上船/下船的转运流程方案、行驶路线、出动顺序等。作业布列方案含有一个列表描述作业实体初始状态的基本信息,包括每个作业实体的序号、作业实体的类型、作业实体的坐标等。作业流程方案含有一个列表描述作业流程的信息,包括每项作业的序号、执行该作业的实体的序号、该作业的类型,以及开始执行该作业的条件。

由于自然语言描述容易出现二义性、含糊性、不完整性等问题,而采用具有精确数学语义的方法,即形式化方法(Formal Method)进行描述,不仅可以避免自然语言描述的各种缺点,还具有简洁准确、可用数学证明、易于转化为编程语言等优点[12-13]。本文以形式化方法描述智能体模型中的各个概念。

假设作业案例:有半挂车Semi1和Semi2布列在上层车辆舱G1中(状态pOnDeck= G1),需要依次卸载到下层车辆舱G2(pOnDeck= G2)。由于半挂车自身没有动力,需要由一辆牵引车Trac前来与其挂钩,牵引进入升降机Elva(状态pInElva= True),Trac随后脱钩并离开Elva,Elva下降到G2。作业案例中涉及的各种角色、作业步骤如表1所示。

表1 作业步骤和作业实体

表中可见半挂车可执行2种作业步骤,分别是被牵引(A=Be Drag)和被运输(A=Be Trans),升降机可执行2种,牵引车可执行4种。作业流程方案如表2所示。表中可见半挂车Semi1的作业步骤是先执行被牵引(A1=Be Drag),结束后(pInelva=True)再执行被运输(A2=Be Trans);对于半挂车Semi2,需要等待Semi1的被运输作业结束(pOndeck= G2),才开始自己的作业步骤。

表2 作业流程方案

2 智能体模型

为分析验证装卸载作业系统的设计方案,本课题建立了基于多智能体的作业仿真试验系统。为该系统建立了包含作业环境和作业实体的模型库,面向多智能体仿真试验环境,并基于Vega Prime软件建立了图像渲染和碰撞检测功能[9]。系统可读入作业方案,按方案运行仿真试验,在仿真循环中驱动各个智能体,记录仿真结果,最后将仿真结果用于对作业系统设计方案的分析评估。

本文为作业系统中的每个作业实体都建立一个智能体,并根据智能体基本结构,面向作业仿真试验系统开发,将代表作业实体的智能体模型分为感知模块、控制模块和执行模块,各模块又细分为多个功能子模块。系统在仿真循环中依次调用每个智能体的每个模块,实现作业驱动,如图2所示。

2.1 感知模块

感知模块负责采集并解析环境和智能体自身的信息。

2.1.1 作业生成

本模块主要用在仿真试验的初始化阶段。首先,仿真系统直接读取作业布列方案和作业流程方案。系统按布列方案创建各个智能体,将其布列到预定位置上。随后,各个智能体分别读取仿真系统的作业流程方案,提取那些仅仅涉及到自身的作业信息,创建一个自己专用的作业流程列表。在作业案例中,半挂车Semi1和Semi2各自读取到作业流程;而牵引车Trac和升降机Elva根据Semi1和Semi2的需求开展作业,因此在作业流程方案中没有与它们对应的作业流程。

2.1.2 环境数据采集

对某个智能体而言,环境不仅包括作业环境,还包括所有作业实体的状态信息,以及智能体间相互发送的消息。各智能体在仿真循环中,执行模块向系统发送自身当前状态,系统将这些信息汇总到一个作业实体状态列表中供其他智能体采集。列表涵盖所有智能体的必要状态,包括每个作业实体的序号、类型、坐标,及其正在执行的作业类型等。为减少系统运算负荷,智能体不用采集所有的环境数据。在作业案例中,当Semi2等待Semi1离开时,仅需要采集Semi1的位置状态;当Semi2被Trac牵引之后,为获取运动学仿真结果,Semi2需要采集Trac的运动状态。2.2 控制模块

控制模块负责对感知数据进行分析,开展思考过程并控制智能体的行为,此外,为实现多智能体协作,控制模块需要解析其他智能体发来的协作需求消息,并生成自身协作需求消息。本系统智能体的思考过程基于BDI模型,该模型的基本概念由Bratman等于1988年提出,是指一种将思考过程描述为信念(Belief)、愿望(Desire)、意图(Intention)及其相互关系从而实现智能体思考功能的模型,是近年来计算机学术界广泛研究的一种智能体结构[10-11]。

2.2.1 信念调整

信念b是指智能体对环境和自身的认识的集合。在本系统中,智能体的信念b的内容包括:来自感知模块的作业流程和当前时刻环境数据;来自身思考过程的中间信息,例如智能体的愿望集D、意图集I等。信念调整模块首先存储作业流程,然后根据作业流程确定哪些环境数据需要被采集,以便感知模块去采集环境数据,随后,将采集的数据存储到信念b中;另一方面,一旦智能体调整了愿望d或意图i,也将更新信念b中的愿望集D或意图集I。下一轮仿真循环时,信念调整模块将结合作业流程、愿望集D和意图集I共同确定哪些环境数据需要采集。

2.2.2 愿望调整

愿望d是指可能实现的信念集合,即智能体执行作业的目标。本系统中智能体有两种方法生成愿望,一种是根据作业流程方案生成愿望,在作业案例中,半挂车Semi1和Semi2的愿望集DSemi1= DSemi2={d1, d2}, d1={pInElva=True}, d2={pOnDeck=G2}。另一种是根据收到的协作需求消息生成愿望,例如Semi1向Trac发出协作需求消息,Trac收到消息后生成愿望集DTrac={d}, d={R=Semi1, pInElva=True }。

2.2.3 意图调整

意图i是基于愿望所生成的行为或作业步骤的集合,本系统智能体基于规则库直接生成意图,在作业案例中,Trac生成愿望集DTrac后,根据规则库需要生成5项具有串联关系的意图,内容依次为“空载行驶到半挂车前”、“挂钩”、“牵引到升降机”、“脱钩”和“空载行驶离开升降机”。因此有意图集ITrac={i1, i2, i3, i4, i5}, i1={A=Steer,R=Semi1}, i2={A=HangerOn}, i3={A=Drag, R=Semi1,(pInElva=True)∈R}, i4={A=HangerOff}, i5= {A=Steer,pInElva=False}。

2.2.4 作业规划

智能体形成意图集I后,根据规则库,规划行为的具体执行方法和其他必需的辅助行为。从愿望调整到意图调整、再到作业规划的过程可视为“对一个大的目标逐步细化执行方案”的过程。作业系统中通常仅有一部分作业需要规划,在作业案例中,对于牵引车的意图i2和i4仅需要简单的计算,而对于i3,则需要为作业步骤A=Drag规划路径。本文使用改进的RRT法,结合牵引系统的行驶能力,以及牵引系统的几何模型与环境碰撞检测的结果,规划牵引车的路径。

2.2.5 作业执行

检查作业的执行情况,根据作业执行情况确定当前的作业步骤,并调用执行模块来实现作业。以牵引车行驶为例,牵引车智能体输出转向轮的方向角、转向轮方向、制动度等数据变化,发送到执行模块进行动力学运动学仿真。

2.3 执行模块

执行模块负责根据控制模块的输入执行具体的作业过程运算,算法均采用目前较为成熟的技术。

(1)甲板约束:模拟车辆因受重力影响被约束在甲板、跳板上,在行驶时产生上下起伏。

(2)简单响应计算:无需仿真计算,仅受简单规则控制的计算,例如挂钩、脱钩等作业步骤在建模简化后仅体现出耗时属性。

(3)行为动画:实体有空间状态变化,但较简单,无需仿真计算,例如升降机沿直线上升或下降。

(4)动力学运动学仿真:实体状态变化明显且复杂,需要运行仿真计算,例如牵引车行驶速度受自身与半挂车质量、发动机功率、行驶阻力和甲板约束等动力学因素影响,半挂车行驶轨迹受牵引车行驶轨迹、牵引车与半挂车轮子位置、半挂车轮子与挂钩的距离等运动学因素影响。

(5)碰撞检测:检测半挂车和集装箱在被牵引过程中是否会发生与舱壁或其他集装箱的最小距离小于安全距离的情况。

(6)状态生成:通过各种计算后生成智能体的当前时刻状态,用于反馈给系统。

基于多智能体的仿真系统与传统的面向脚本的仿真系统相比,基本的结构相同,都使用具有时间步长的仿真循环,在每次仿真迭代中遍历所有作业实体并计算其在该时刻的状态。不同之处在于,在基于智能体的仿真系统中,所有作业实体都增加了对环境感知和对自身控制的功能模块,不再简单执行来自脚本的指令;此外,作业执行的相关运算(例如数学仿真运算、行为动画等),都被封装到对应智能体的实例内,而其算法仍与传统的仿真相同。从这两个不同点出发,对传统的面向脚本的仿真系统进行重构,可较易实现基于多智能体的仿真。

3 多智能体协作

多智能体协作是指系统内的智能体之间通过相互配合完成共同承担的任务的方式[1]。本文将协作视为一种由多个智能体执行的、具有交互性和并行性的特殊作业。交互性是指参与协作的各智能体之间互相交换自身状态信息,即协作的一方需要感知协作对象的信息。并行性是指参与协作的各智能体并行执行作业,即同时开始执行作业。本文从协作消息和协作机制两方面进行论述。

3.1 协作消息

本系统中智能体之间依靠消息来传递协作的意愿,消息采用知识查询及操作语言(Knowledge Query and Manipulation Language, KQML)来描述,这是一种使用较广泛的智能体通讯语言[14-15]。基本语法为:以行为词(Performative)开头,以一组具有标准含义的参数名(Para_name)构成消息的框架,将参数内容(Para_content)向用户开放。在作业案例中,半挂车Semi1发消息给牵引车Trac告知自身愿望d1={pInElva=True},消息代码如图3所示。

3.2 协作机制

协作在本质上仍是一种作业,其执行过程与常规作业的执行过程一致,而规划过程则有所不同。本文基于BDI模型建立协作规划机制,如下页图4所示。从图中可见,规划过程仍可归纳为愿望调整、意图调整和作业规划这三大步骤,见三个虚线框;与常规的愿望-意图-作业规划的过程相比,智能体还要判断愿望、意图对于协作对象当时状态来说是否合理,以及作业规划对于协作对象是否成功(见虚线框内)。在作业案例中,Trac创建了意图i3={A=Drag, R=Semi1, (pInElva=True)∈R},当i2达成之后,Trac需要感知Semi1的属性pInElva是否为False,如果为True,则i3不成立,系统将判断作业过程出错。

为确保协作的并行性,系统建立“被动者先行”的机制。以作业案例中Trac牵引Semi1前进为例,其各自执行的作业分别是Drag和BeDrag。在作业开始前,由Trac向Semi1发送开始执行的消息,Semi1收到后发出回应消息并开始执行BeDrag作业,Trac收到回应消息后开始执行Drag作业。这种机制使Semi1比Trac开始执行作业的时刻早一轮仿真循环,但鉴于Semi1是协作中处于“被动”的一方, 它提前开始执行作业,就可提前开始感知Trac的运动状态,从而获得Trac运动状态的完整变化。

4 仿真运行

本系统基于多智能体仿真为第1章所述的卸载作业进行建模和试验,仅向半挂车Semi1、Semi2发送依次前往G2的消息,并在三维场景中观察系统运行的情况。可见各个智能体自行开始作业,牵引车Trac1收到半挂车Semi1的消息后前往半挂车,与半挂车挂钩后执行牵引作业;半挂车到达升降机后,牵引车脱钩离开升降机,随后升降机运输半挂车下降到G1甲板;同时牵引车Trac2也牵引半挂车Semi2来到升降机前,等待升降机返回。在这一系列作业过程中,牵引车和升降机的所有作业步骤都由智能体自行规划执行,无需参试人员额外指定作业(作业场景如图5所示)。

由图5中可见牵引车Trac1已与半挂车Semi1脱钩,单独行驶;半挂车Semi1正在被升降机Elva运输下降;牵引车Trac2正牵引半挂车Semi2向升降机位置行驶过来。

5 结 论

通常在作业方案中会有很多作业步骤之间存在必然的条件关系,例如牵引车必须在与半挂车挂钩之后才能牵引。在传统的基于脚本和条件判断的仿真中,这些必然的条件关系与其他作业步骤混在一起,都需要方案设计人员进行规划,从而造成作业方案的复杂性大幅增加。而在基于多智能体的仿真系统中,各类作业实体有各自的规则库,开发人员在其中设置规则,描述智能体在各种可能的条件下会作出的响应。这些规则分散在愿望、意图和作业规划这三个层面上,且具有通用性,便于作业方案设计人员隐藏,从而使基于多智能体的仿真大幅简化作业方案的设计工作。因此,基于多智能体的仿真技术更加适合用于作业方案复杂且需要作业实体间密切协作的作业仿真,除车辆装载卸载以外,还有钻探设备装配作业、物探设备收放作业、码头集装箱作业等,具有广泛的应用前景。

[1] 贾利民, 刘刚, 秦勇. 基于智能Agent的动态协作任务求解[M]. 北京:科学出版社, 2007.

[2] 任海英. 多智能体方法在作业车间调度中的应用[M].北京:北京工业大学出版社, 2013.

[3] 廖守亿, 王仕成,张金生. 复杂系统基于Agent的建模与仿真[M].北京:国防工业出版社, 2015.

[4] MACAL C M, North M J. Tutorial on agent-based modelling and simulation[J]. Journal of Simulation, 2010(3):151-162.

[5] 吴向君, 侯岳, 浦金云. 舰艇抗沉过程的多智能体仿真模型[J]. 舰船科学技术, 2011(5): 53-58.

[6] 胡啸. 多主体建模方法在舰船任务系统中的应用[J].计算机工程与设计, 2013(3): 1137-1140.

[7] 秦久峰, 曾凡明, 陈于涛, 等. 动力辅助系统分布式多Agent 控制理论与试验研究[J]. 中国造船, 2013(1):189-196.

[8] 江建宇. 共享腹地港口群集疏运系统智能体仿真研究[D]. 华南理工大学, 2014.

[9] 王孝平, 董秀成 郑海春, 等. 实时三维虚拟现实开发技术[M]. 成都:西南交通大学出版社, 2012.

[10] O’Hare GM P, Jennings N R Eds. Foundations of Distributed Artificial Intelligence[M] . John Wiley & Sons,Inc. 1996:505-526.

[11] 姚莉, 龚勇, 王长缨, 等.一种基于BDI Agent的复杂系统设计建模方法[J]. 小型微型计算机系统, 2005(4):693-698.

[12] 曹军海, 张和明, 熊光楞.多Agent仿真中Agent行为的形式化描述方法[J]. 系统仿真学报, 2004(11):2398-2400.

[13] 冯松军. 浅析形式化描述方法的应用[J]. 电子技术与软件工程, 2014(10):107-108.

[14] 孙宪鹏, 张宇, 王成恩, 等. 基于KQML语言的合同网协议模型及实现[J]. 信息与控制, 2000(5): 454-460.

[15] 程红斌, 张凤鸣, 邹强. 基于CORBA的多传感器管理原型系统研究[J]. 系统仿真学报, 2006(2): 456-459.

MARIC设计的2 000 m3/h自航吸盘挖泥船“吸盘4”顺利交付

7月5日,由中国船舶及海洋工程设计研究院(MARIC)为长江航道局设计的第三艘2 000 m3/h自航吸盘挖泥船“吸盘4”在江苏海新船务重工有限公司举行了交接仪式,标志着该船顺利建成交付船东使用。

“吸盘4”主要用于长江中游航道的应急维护疏浚任务,该船作业区域可覆盖长江A、B、C三级航区(含三峡库区)。该船配备了宽度为10 m的吸盘装置,最大挖深可达16 m;配备了1台功率为2 800 kW的泥泵以及2台功率为500 kW的高压冲水泵。该船可采用抛锚绞进及自航推进两种疏浚作业方式,可通过尾排管排泥上岸或通过边抛管进行边喷抛泥。吸盘挖泥船具有吃水浅、一次挖宽大、泥泵吸入浓度高、调遣方便、采用自航推进作业和边抛排泥方式时不碍航等特点,特别适用于长江航道突击抢通和维护疏浚作业需求。

2 000 m3/h自航吸盘挖泥船采用全电力驱动型式,能将推进功率和疏浚装置功率灵活进行分配,在满足设计指标的基础上,可在不同环境条件、不同挖深作业工况下,通过合理的功率分配调整,进一步提高挖泥产量或排泥距离,充分发挥吸盘挖泥船的作业能力和效率。

“吸盘4”的交付将大大增强长江中游航道的应急维护疏浚能力,为长江航道局保障长江航道畅通、实现长江黄金水道向国家战略重要支点的转型升级提供坚实的保障能力。

Multi-agent simulation of loading and unloading operation system for vehicle carrier

YAN Li1,2LIU Zhen-ming1,2
(1. Marine Design & Research Institute of China, Shanghai 200011, China; 2. Shanghai National Engineering Research Center of the Chinese Ship Design Technology Co., Ltd., Shanghai 200011, China)

As one of the ship operation systems, the traditional vehicle loading and unloading operation system based on the script and condition judgement has the disadvantages of the poor expansibility and the high cost of modeling, which cannot meet the development trend of the current operation system. A multi-agent system is designed for the simulation of the vehicle carrier loading and unloading operating system. The intelligent control module based on the belief-desire-intention (BDI) model is built for the design of the multi-agent cooperative mechanisms according to the characteristics of the loading and unloading operation system. The simulation results show that the tractors, semitrailers and elevators can work on their own, indicating that the agent-based simulation can simplify the modeling of the working fl ow. The design can be extended for the simulation of the various ship operation systems that interact and cooperate with the multiple entities, which has a broad application prospect.

multi-agent; vehicle carrier; operating system simulation; belief-desire-intention(BDI)model

U662.9

A

1001-9855(2017)04-0019-08

10.19423 / j.cnki.31-1561 / u.2017.04.019

2016-12-22;

2017-01-10

颜 瓅(1978-),男,高级工程师,研究方向:船舶作业系统仿真研究。刘朕明(1988-),男,工程师,研究方向:船舶初步设计系统开发。

猜你喜欢

升降机牵引车协作
牵引车有几类?
“升降机”
EBS在牵引车上的应用及其关键性能分析
鲁渝扶贫协作进行曲
扶贫协作中的山东力量
舰载机无杆式牵引车纵向动力学分析
监督桥 沟通桥 协作桥
升降机
有杆式飞机牵引车穿销辅助对准系统
协作