APP下载

飞机协同维修仿真的交互状态机模型

2020-02-08董健康姜乃心

计算机工程与设计 2020年1期
关键词:状态机空闲对象

董健康,姜乃心,耿 宏

(中国民航大学 电子信息与自动化学院,天津 300300)

0 引 言

协同维修是提高飞机维修效率的重要因素,也是飞机维修培训的一个主流发展,因此研究适用于飞机协同维修的仿真模型非常重要。张志利等[1,2]基于颜色Petri网对协同维修过程中的操作对象、维修资源、维修人员等进行行为分析和状态描述;李彬等[3]建立了共享子网合成Petri网的协同维修过程模型,实现合成网系统的资源共享、公共资源的占用;Kou Li等[4-6]采用多Agent的建模方法对协同拆装过程、协同机制等建立模型;王海涛等[7]采用BOM的方法建立了排故任务BOM模型;陈静杰等[8]采用层化UML状态机的建模方法,对飞机维修中的拆装过程进行建模。以上文献大都针对装配体的拆装层面或某种维修任务运用不同的建模方法对其进行研究,由于飞机维修任务种类多,操作流程复杂,不能仅仅从拆装层面进行研究,并且飞机区域众多,几乎每个维修任务都涉及多个维修场景。针对以上问题,在UML状态机的基础上提出了一种适用于飞机协同维修的交互状态机模型,用此模型来描述不同维修场景中实体对象间的行为交互和状态变迁,使建模复杂度降低,并且具有普适性。

1 操作对象-维修场景-维修人员关系模型

在进行机务维修培训时,训练人员根据维修手册中的维修任务进行维修训练,每个维修任务都有其对应的任务号,每个任务号下包含许多维修操作。这里将维修任务进行划分直到维修任务不可再分,将不可再分的维修任务统称为维修活动。

由于飞机有许多独立的空间组成,即维修场景,而每个维修任务几乎都涉及多个维修场景,即每个维修任务中所包含的操作对象分布在各个场景中,而维修人员必须处于操作对象所对应的场景中时才执行任务,因此操作对象、维修场景、维修人员之间存在关系,其关系如图1所示。

图1 操作对象-维修场景-维修人员的关系

设O={o1,o2,…,on} 为操作对象集合,P={p1,p2,…,pm} 为维修人员集合,Z={z1,z2,…,zk} 为操作对象所对应的维修场景集合。

(1)操作对象与维修场景之间的关系可以用关联矩阵D=(dij)n×k表示

(2)维修场景与维修人员之间的关系可以用关联矩阵F=(fij)k×m表示

(3)基于维修场景的操作对象-维修人员关联矩阵G=D×FT=(gij)n×k

2 维修人员及操作对象模型

2.1 UML状态机模型

UML状态机[8-10]描述了一个对象的所有可能生命历程。一个完整的UML状态机包括状态、转换、事件、监护条件和动作,图形化表示如图2所示。

图2 单个对象的状态变迁

2.2 维修人员模型

定义2 维修人员状态转移模型形式化描述为一个六元组psi=(X,S,δ,S0,F)。

X为驱动状态变化的事件集合;S为维修人员状态集合;δ为状态转移函数;S0(S0∈S) 为初始状态;F为终止状态。当维修人员pi接收到任务分配模型下达的任务指令xi(xi∈X),维修人员由状态空闲s通过状态转移函数δ变为状态忙碌s′,s′=δ(s,xi)。

对维修人员空闲和忙碌两种状态进行定义:

(1)维修人员处于待工状态称为空闲,可分为“真”空闲和“伪”空闲;

“真”空闲:维修人员所负责的维修活动全部执行完成;

“伪”空闲:维修人员所负责的维修活动存在没有执行的。

(2)维修人员正在操作某项维修活动称为忙碌。

串行协同维修:即维修操作顺序是不可逆的,只有前一维修操作执行完,后一维修操作才能触发。

并行协同维修分为两种:①多个维修操作之间无关联,可以同时执行;②多个维修操作之间有关联,必须同时执行。

竞争协同维修:某维修活动的执行有多种方式,当维修人员pi和pj所在维修场景中的维修操作都可以触发同一维修活动时,则维修人员pi和pj存在竞争关系。

2.3 操作对象模型

定义3 操作对象模型形式化描述为一个二元组oj=(osj,oIj),oj∈O,O={o1,o2,…,on} 为操作对象集合,osj为操作对象状态转移模型,oIj为操作对象oj与其它操作对象、维修人员的行为交互模型。

定义4 操作对象状态转移模型形式化描述为一个八元组osj=(IP,OP,X,Y,S,δ,S0,F)。

IP为输入接口;OP为输出接口;X为输入信号集;Y为输出信号集;S、δ、S0、F表示的意义与维修人员状态转移模型中的意义相同。当有输入信号xj(xj∈X) 作用于操作对象oj时,操作对象的状态s通过状态转移函数δ变为s′并产生输出信号yj(yj∈Y),s′=δ(s,xj)。 操作对象的输入信号来自维修人员操作其本身产生的信号及其它操作对象产生的输出信号。操作对象oj与其它操作对象、维修人员通过输入输出接口进行信息交互。

定义5 行为交互模型形式化描述为一个二元组oIj=(OC,OT)。

从邻接矩阵中可知,在每一操作对象对应的列中,其值为1的元素所在的行对应的操作对象为列对应的操作对象的约束条件。

(2)OT为操作对象oj与其它操作对象、维修人员的行为交互函数,若oj位于维修场景zg(zg∈Z), 则oj=OT(Oaij=1,Pfkg=1,X),表示oj与Oaij=1、Pfkg=1的行为交互,X为oj的输入信号集,包括Oaij=1的输出信号和Pfkg=1的操作信号。Oaij=1={oi|oi∈O且aij=1,i=1,2,…,n},Pfkg=1={pk|pk∈P且fkg=1,k=1,2,…,m}。

3 交互状态机模型

由于一个UML状态机只能描述一个对象的状态转移,完成一个维修任务要包括多个维修人员、多个操作对象及多个维修场景,因此本文通过将行为交互模型与状态转移模型进行融合建立交互状态机模型,以满足不同维修场景之间的交互和状态变迁。

定义6 交互状态机描述为一个八元组I_SM=(E,ES,EZ,X,T,φ,ES0,ESF)。

(1)E={O,P} 为实体对象集,其中O为操作对象集,P为维修人员集;

(2)ES={OSO,PSP} 为实体对象集的所有状态集合,其中OSO为操作对象集的所有状态集合,OSO=(O×SO),OiSOp表示操作对象Oi的状态为SOp;PSP为维修人员集的所有状态集合,PSP⊆(P×SP),PkSPq表示维修人员Pk的状态为SPq;

(3)EZ={OZ,PZ} 为实体对象集所在的维修场景集,OZ为操作对象集所在的维修场景集合,OZ⊆(O×Z),OiZp表示操作对象Oi属于维修场景Zp;PZ为维修人员集所在的维修场景集合,PZ⊆(P×Z),PkZq表示维修人员Pk处于维修场景Zq;

(4)X={XO,XP} 为触发实体对象状态转移的输入信号、输入事件集,XO为触发操作对象状态转移的输入信号、输入事件集,XP为触发维修人员状态转移的输入事件集;

(5)T=X[G]/A为实体对象状态变迁集,G为监护条件,是一个布尔表达式,只有为true时,状态才能迁移,A为效果动作[8];

(6)φ为操作对象间的迁移函数,若Oj位于维修场景Zg,则φ(Ocij=1Srpq=1,Pfkg=1Spb,X)=(OjSOjq,Pfkg=1Spf) 表示Ocij=1Srpq=1到OjSOjq的变迁,操作Oj的维修人员Pfkg=1状态由忙碌SPb变为空闲SPf,其中Ocij=1SOrpq=1={OiSOep|OiSOep∈OSO且cij=1且e=i且rpq=1,i=1,2,…,n,p=1,2,…,N},Pfkg=1SPb={PkSPb|Pk∈P且fkg=1,k=1,2,…,m}。 若i=j,φ(OjSOjp,Pfkg=1SPb,X)=(OjSOjq,Pfkg=1SPf) 表示对象Oj的状态变迁;

(7)ES0={OSO0,PSO0} 为实体对象集的初始状态集合,其中OSO0为操作对象集的初始状态集,PSP0为维修人员集的初始状态集;

(8)ESF={OSOF,PSPF} 为实体对象集的终止状态集合,其中OSOF为操作对象集的终止状态集,PSPF为维修人员集的终止状态集。

状态机可以通过状态机图进行图形化描述,因此可以基于状态机的状态机图建立交互状态机的交互状态机图。

交互状态机图包括实体对象、状态、转换、事件、实体对象间的交互、维修场景,图形化表示如图3所示,Z1、Z2表示维修场景;O1S11、O2S21、O3S31表示操作对象O1、O2、O3的状态分别为S11、S21、S31;P1Sb、P1Sf、P2Sb、P2Sf表示维修人员P1、P2忙碌和空闲两种状态;OiSip与OjSjq之间的有向弧表示操作对象间的交互;T为操作对象的状态变迁集;指向PkSf的弧表示操作对象对维修人员的“释放”,相反则由PkSb指向T的弧表示操作对象对维修人员的“占用”。

图3 不同场景中实体对象间的状态变迁

4 仿真实例

将建立的模型在分布式虚拟维修仿真平台上进行仿真验证,以TSM TASK-34-11-00-810-801 Loss of the 26VAC Power Supply of the ADIRU1为例进行仿真分析。

将维修任务分解为不可再分的维修活动,包括①ADIRU旋钮设在NAV位(驾驶舱);②MCDU上ADR的接口测试(驾驶舱);③领取工具(机库);④在822舱门附近放平台(机库);⑤打开822舱门(机库);⑥拧松105VU保护盖上的两个螺母(822电子设备舱);⑦拆卸保护盖(822电子设备舱);⑧断开105VU上的C02跳开关(822电子设备舱);⑨断开49VU上的F06、F07跳开关(驾驶舱);⑩在824舱门附近放平台(机库);打开824舱门(机库);拧松螺帽(824电子设备舱);放低螺帽(824电子设备舱);断开电插头(824电子设备舱);拆下ADIRU1(824电子设备舱);在电插头上放堵盖(822电子设备舱)。ADIRU1的安装与拆卸步骤相反,这里不再描述,当安装成功后会进行与上述步骤相反的工作并再进行一遍ADR1的接口测试,这里也不再描述。

假设驾驶舱Z1的维修活动由P1完成,机库Z2的维修活动由P2、P3配合完成,822电子设备舱Z3的维修活动由P3完成,824电子设备舱Z4的维修活动由P3完成。

依据交互状态机模型建立如图4所示的ADIRU故障排除的协同维修仿真模型,并在分布式虚拟维修仿真平台上对模型进行仿真,其仿真结果的部分效果如图5所示。T1表示步骤①,O1S11表示ADIRU旋钮在NAV位;T2表示步骤②,O2S21表示MCDU显示故障信息;T3表示步骤③,O3S31表示工具离位;T4表示步骤④,O4S41表示平台在822舱门附近;T5表示步骤⑤,O5S51表示822舱门打开;T6表示步骤⑥,O6S61表示105VU保护盖上的两个螺母已拧松;T7表示步骤⑦,O7S71表示保护盖已拆下;T8表示步骤⑧,O8S81表示105VU上的C02跳开关断开;T9表示步骤⑨,O9S91表示 49VU上的F06、F07跳开关断开;T10表示步骤⑩,O10S101表示平台在824舱门附近;T11表示步骤,O11S111表示824舱门打开;T12表示步骤,O12S121表示螺帽已拧松;T13表示步骤,O12S122表示螺帽已放低;T14表示步骤,O13S131表示电插头断开;T15表示步骤,O14S141表示ADIRU1拆下;T16表示步骤,O15S151表示堵盖在电插头上。

图4 ADIRU故障排除过程模型

图5 ADIRU故障排除过程仿真效果

5 结束语

本文提出了一种适用于飞机协同维修仿真的交互状态机模型,弥补了原状态机只能描述单一对象状态变迁过程的不足,并能满足飞机不同维修场景间的交互。通过以ADIRU故障排除为实例进行建模及仿真,验证了该模型能够满足多场景的飞机协同维修仿真建模要求及不同维修任务的协同操作。模型具有直观性和普适性,能够清晰表达不同维修场景中操作对象、维修人员之间的行为交互和状态变迁,并且可以实现飞机协同维修仿真中实体对象的快速建模。

猜你喜欢

状态机空闲对象
涉税刑事诉讼中的举证责任——以纳税人举证责任为考察对象
判断电压表测量对象有妙招
基于有限状态机的交会对接飞行任务规划方法
“鸟”字谜
西湾村采风
基于Spring StateMachine的有限状态机应用研究
攻略对象的心思好难猜
彪悍的“宠”生,不需要解释
WLAN和LTE交通规则
区间对象族的可镇定性分析