基于分层任务网络的舰船维修任务分解方法

2022-11-10 09:58李方正李阳易朋兴王浩黄俊杰
装备制造技术 2022年8期
关键词:舰船建模分层

李方正,李阳,易朋兴,王浩,黄俊杰

(1.中国人民解放军92578部队,北京 100161;2.华中科技大学机械科学与工程学院,湖北 武汉 430074)

0 引言

舰船装备维修任务涉及的维修零件、维修工具、维修对象等维修资源种类繁多且过程复杂,缺少统一的模型表达,国内外相关学者在这方面也做了较多的研究。如Li等[1]为了表示拆卸序列中产品的优先顺序,采用有向图的形式进行约束,然后通过改进遗传算法获得了拆卸序列,但其约束关系仅适用于零部件之间,并不包含其他维修资源。也有一些学者采用PERT、Petri网等方法对维修过程建模[2-4],用于实际维修过程分析,将得到的结果用于指导仿真,这些维修过程建模方式仅在规划层进行,并未考虑实际作业的执行。程中华等[5]建立了基于任务内聚系数的分解模型,逐步将任务分解为功能、活动,实现对装备维修保障过程的建模,但此过程并未给出功能、活动等名词的具体含义。因此,对于舰船装备虚拟维修过程,如何建立统一的任务过程模型,通过描述维修任务单元对维修任务进行有效分解是有必要的。本文尝试基于分层任务网络的维修任务分解思路,将维修任务分解至元任务层级,建立维修任务分解与分层任务网络规划之间的映射关系,通过分层任务网络规划匹配使舰船装备维修任务分解为有序元任务序列,便于舰船维修仿真的实现。

1 舰船装备的维修过程分析

装备维修包含多个过程,进行维修作业的前提是确定维修过程,即对维修行为和作业顺序进行分析,获得满足维修工时、人员和工具设备需求等一系列约束的可执行动作序列。可以看出,装备维修主要包括维修任务分解、任务分配与任务执行等多个环节。舰船舱室通道较为狭窄,零部件结构复杂,管路密集且零部件之间干涉性强,维修任务需要由多个维修人员协同完成。而不合理的维修任务分解方式会导致混乱的维修进程,影响维修任务的执行。

因此,本文首先对舰船维修任务分解过程进行分析。在虚拟维修过程中,维修任务的分解需要根据维修操作规程和维修知识手册,为不同维修任务制定不同维修方案,形成相应的维修过程模型,来实现维修作业的仿真与分析。维修过程模型的建立方式有多种,目前较为常用的有Petri网、IDEF3和UML等多种方式[6-8],Petri网是一种通过节点和有向弧组成的图形化工具,可以通过严格的限定来描述复杂系统汇总冲突、并发和异步等关系;IDEF3是通过场景和对象实现对过程进行描述的建模方式;UML采用形式化的建模语言对静态结构和动态行为过程进行表示。

虽然这些建模方式能够很好地描述维修过程中的行为状态,但它们都是描述维修对象的变迁过程,并不包含具体人的动作。现有的仿真软件还不能支持指定任务的仿真,无法实现自然语言维修指令到维修过程的转化,如计算机无法识别对紧固件拆卸这一宏观任务。如何使用较为简便的建模方式对维修过程进行统一化描述,并建立与维修仿真之间的联系仍然是研究的难点。

本文借鉴分层任务网络(Hierarchical Task Network,HTN)规划思想[9],为虚拟维修仿真提出一种基于过程的维修任务分解思路。HTN规划是利用领域知识,递归地将复杂的抽象任务逐层分解,获得可直接执行的规划动作,不同的多边形的边数及颜色代表不同复杂程度的任务,其分解过程可形象化表示为图1。

图1 复合任务分解过程

可以看出,HTN规划是以规划领域知识为基础,对复杂任务目标集合进行逐层分解的过程,而维修任务分解是将复杂维修任务根据维修经验知识,逐一分解成一系列的可执行动作。所以,分层任务网络规划方法能够有效辅助维修人员在维修规划过程中,根据复杂的维修状态信息合理地对维修任务进行分解。HTN规划流程如图2所示。

图2 HTN规划流程

在上述规划过程中使用了一些专有名词,可将整个过程简要概括为:HTN规划是以“方法”为分解途径,对“任务网络”进行递归分解,获得由有序“原子任务”组成的“规划解”。由于HTN规划具有领域无关性的特点,在根据HTN对维修任务进行分解时,需要将任务分解过程与HTN规划中“方法”和“原子任务”等专有名词建立联系,加入维修领域相关知识,从而对实际维修任务进行合理有效分解。

2 维修任务分解与HTN映射关系

在面向维修仿真的任务分解中,多数学者将维修任务分为维修任务层、维修事件层、维修作业层和维修动素层这四个不同层级[10]。现有任务分解方式以维修动素作为最终执行层,根据分解结果控制虚拟环境中的模型作出相应动作来实现维修仿真,而HTN规划的目的是为得到一系列可执行的操作序列,规划出来的解是可直接执行的。而在维修作业中,即便是同类型的零件,维修人员也可能受其尺寸、位置等因素的影响而执行不同的维修动素。因此把维修动素作为HTN规划中的“原子任务”来进行分解会产生冲突。

这里借鉴参数化动作描述可以构建仿真过程与自然语言维修指令之间桥梁的思想,将层次结构和分段仿真方式相结合,建立面向维修的元任务层次关系,把维修任务分解到元任务层级(图3)。

图3 面向维修的元任务分解层次

结合维修经验与实际维修案例,把舰船装备舱室内维修活动概括为:对损坏零部件及管路进行拆除或更换、对重要零部件的检查及保障维修任务执行过程的安全。因此,本文将元任务设定为拆卸(disassemble)、装配(assemble)、搬运(carry)和监督(supervise)四种,完成维修任务的分解。拆卸与装配是对损坏零部件进行修理的过程,搬运是指维修人员在虚拟场景中对维修工具或零件等物体的移动,监督是维修人员对特定维修区域的管理。用这四类元任务描述整个维修过程,对任务进行分解,便于完成虚拟维修仿真。

同时,建立HTN规划与维修任务分解之间的映射关系,如表1所示。在建立完维修任务分解与分层任务网络的映射关系之后,需要对每一项对应关系根据知识经验进行描述说明。对于可进行分解的复合任务,在给定对应的“方法”和“操作符”之后即可生成一组有序元任务。

表1 HTN规划与维修任务分解映射

3 虚拟维修任务分解应用实例

这里以舰船某传动装置维修为例进行说明,主要维修任务为更换损坏行星架、封油压环和小轴并检查挡圈,图4为该装备的零件拆解图,共包含24个拆卸单元,其相关零件名称及序号如表2所示。

图4 舰船某传动装置零件拆解

表2 舰船某传动装置零件拆解信息

根据HTN规划对维修任务进行分解后可得到该传动装置维修元任务序列如图5所示。图5中,元任务后面的数字表示该任务的编号,共有20个元任务,箭头指向元任务对应的零件,R0表示系统初始的维修状态。其中包括有拆卸输出端轴承体、输出行星架等7个拆卸任务,搬运备用行星架、备用封油压环和备用小轴任务和10个装配任务。由此获得了执行该维修任务的有序元任务序列,为下一步任务分配执行提供有效信息。

图5 舰船某传动装置维修元任务序

4 结语

本文针对现有维修任务建模及分解与维修仿真过程无法建立完整约束和联系的问题,提出基于分层任务网络规划的舰船装备维修任务分解方式,结合舰船舱室维修活动设定四种元任务。此种维修任务分解方式有两个优点:首先,维修任务分解过程与维修人员对维修任务执行的推理过程相似,且分解过程是根据实际操作规程和知识手册设定的,符合实际维修任务流程,便于维修仿真的实现。另外,可以对规划领域不断扩展,面对情况更加复杂的维修场景,建立更加完善的表述机制,来完成特殊任务类型的分解。

猜你喜欢
舰船建模分层
舰船通信中的噪声消除研究
风浪干扰条件下舰船航向保持非线性控制系统
基于FLUENT的下击暴流三维风场建模
高中分层走班教学模式探究
舰船测风传感器安装位置数值仿真
联想等效,拓展建模——以“带电小球在等效场中做圆周运动”为例
有趣的分层现象
求距求值方程建模
雨林的分层
基于PSS/E的风电场建模与动态分析