一种基于操作谱的飞行器异常操作定位方法与流程

文档序号:19746167发布日期:2020-01-21 18:27阅读:350来源:国知局
一种基于操作谱的飞行器异常操作定位方法与流程

本发明属于算法设计类的软件技术领域,尤其涉及一种基于操作谱的飞行器异常操作定位方法。



背景技术:

国际民航组织(icao)对航空中人为因素的定义是:研究范围涉及航空系统中人的一切表现,利用系统工程的方法和有关人的科学知识,寻求人的最佳表现以达到预期的安全和效率。飞行器驾驶员是航空系统中最灵活、最具适应性和最有价值的部分,但其对飞行器的操作能力也很容易受到外界环境等因素的影响。近年来事故调查的结果显示,80%-90%的事故是由于驾驶员的表现不佳造成的。在由驾驶员、飞机机载系统组成的人机混合系统中,飞机还包括飞机运行中的各类显示装置、计算装置及操纵装置。驾驶员通过自身本体的感受判断和显示装置给出的飞行状态来了解飞机的运行情况,并根据任务需求,通过操纵系统对飞机进行合理控制。然而,有时候飞行员的驾驶表现会受到心情、身体状态、外界环境等影响,驾驶员对飞机的不正当的操纵会对飞行安全造成巨大影响,因此有必要对驾驶员的异常操作行为进行识别,并辅助驾驶员做出正确的操作。

本发明中的算法主要解决飞行器在飞行过程中对其驾驶员异常操作进行定位的问题。基于程序谱的软件缺陷定位算法是软件测试领域经典的算法之一,类比该算法,我们提出基于操作谱的异常操作定位算法。本发明中的算法为首次提出,可用于对驾驶员历史操作中的某一具体操作进行评价,从而协助驾驶员找出历史飞行中的异常操作,有助于驾驶员在以后的飞行中改进自己的操作,提升驾驶员的操作水平。



技术实现要素:

本发明的目的是:类比软件技术领域中基于程序谱的软件缺陷定位方法,提出了一种基于操作谱的异常操作定位方法;对飞行器驾驶员历史操作中的某一具体操作进行评价,利用异常操作多种算法公式进行计算并取其加权平均值对操作进行评分,从而协助驾驶员找出历史飞行中的异常操作,有助于驾驶员在以后的飞行中改进自己的操作,提升驾驶员的操作水平。

本发明的技术方案是:一种基于操作谱的飞行器异常操作定位算法,包括以下步骤:

步骤1)、确定飞行器操作谱。操作谱,即操作序列,用于表示一段时间内飞行器驾驶员的一系列操作的集合;

步骤2)、从操作时间和操作强度两个维度,对飞行器操作谱进行离散化;

步骤3)、根据基于程序谱的软件缺陷定位算法公式,给出基于操作谱的飞行器异常操作定位算法系列公式;

步骤4)、根据步骤3)中给出的飞行器异常操作定位算法公式,计算操作谱中每个操作的可疑度,并将操作按可疑度的大小进行排序,从而定位出飞行器异常操作的位置。

其中,步骤3)所述的基于操作谱的飞行器异常操作定位算法系列公式如下:

1)jaccard公式:

2)公式:

3)qe公式:

4)simplematching公式:

5)rogers&tanimoto公式:

6)ochiai公式:

7)m2公式:

8)anderberg公式:

9)dice公式:

10)tarantula公式:

11)sokal公式:

12)russel&rao公式:

13)kulczynski2公式:

其中:

飞行器最终飞行失败时,操作o执行的时间;

飞行器最终飞行成功时,操作o执行的时间;

飞行器最终飞行失败时,操作o没有执行的时间;

飞行器最终飞行成功时,操作o没有执行的时间。

本发明一种基于操作谱的飞行器异常操作定位算法,该算法的优点在于:本发明可用于对驾驶员历史操作中的某一具体操作进行评价,从而协助驾驶员找出历史飞行中的异常操作,有助于驾驶员在以后的飞行中改进自己的操作,提升驾驶员的操作水平。本发明中,异常操作定位算法公式具有多样性,利用多种算法公式进行计算并取其加权平均值对操作进行评分,保证了我们的算法具有较强的鲁棒性。

附图说明

图1基于操作谱的飞行器异常操作定位算法流程示意图

图2飞行器在六个阶段注入错误类型一时操作谱分析结果

图3飞行器在六个阶段注入错误类型二时操作谱分析结果

图4飞行器在六个阶段注入错误类型三时操作谱分析结果

图5飞行器在六个阶段注入错误类型四时操作谱分析结果

图6飞行器在六个阶段注入错误类型五时操作谱分析结果

图7飞行器在六个阶段注入错误类型六时操作谱分析结果

图8飞行器在六个阶段注入错误类型七时操作谱分析结果

图9飞行器在六个阶段注入错误类型八时操作谱分析结果

图10飞行器在六个阶段注入错误类型九时操作谱分析结果

图11飞行器在六个阶段注入错误类型十时操作谱分析结果

具体实施方式

下面结合附图对本发明作进一步的详细说明。以下将结合附图1,对本发明的技术方案的具体实施方式进行详细介绍,其具体步骤如下:

步骤1)、根据基于程序谱的软件缺陷定位领域中程序谱的定义,本发明给出飞行器操作谱的定义。现有技术中的程序谱是指待测程序在运行一个测试用例时,用以记录程序指定运行状态的信息,基于程序谱的软件缺陷定位的基本思想是比较程序在运行通过与未通过时所输出的执行信息来得到程序中可能的缺陷位置。本发明所述的操作谱,即操作序列,用于表示一段时间内飞行器驾驶员的一系列操作的集合,操作谱具体是指飞行器驾驶员在进行一次飞行任务时,用以记录飞行器驾驶员指定操作的信息,一般按照驾驶员对飞行器操作的时间顺序进行记录。记录内容包括操作的内容和该操作进行的时间,以及飞行器驾驶员进行一次飞行任务的结果,飞行任务的结果采用“通过”和“不通过”对飞行员的整体操作水平进行评价。一个典型操作谱的基本结构如下:

其中,每一行代表飞行器驾驶员进行的一次飞行任务,og:o1,o2,...,on,代表飞行器驾驶员的操作集合,其中每一个符号代表一个操作单元;a(ts)为一个二维矩阵,其中每一个元素a表示该列对应的操作所执行的时间;若飞行器驾驶员进行一次飞行任务的结果是通过的,最后的l(ts)矩阵相对应的元素用1表示,若飞行器驾驶员进行一次飞行任务的结果是不通过的,最后的l(ts)矩阵相对应的元素用0表示,即对一次飞行任务的评价。

基于操作谱的异常操作定位的基本思想是比较飞行器在驾驶过程中,执行操作与未执行操作以及飞行器的状态来得到操作谱中可能的异常操作位置;

步骤2)、由于软件缺陷定位领域中的程序谱是离散的,而本发明中的操作谱是连续的。故本发明从操作时间和操作强度两个维度,对飞行器操作谱进行离散化。第一,由于飞行器的同一个操作,也可以分为轻重缓急,如快速拉起驾驶杆和缓慢拉起驾驶杆,飞行器会有不同的响应,而在软件缺陷定位中,操作谱中的同一个程序单元只有执行和没有执行之分。所以,我们需要对飞行器的操作进行离散化处理。我们将飞行器同一个操作的强度分为十个等级,如驾驶盘由中立位置到打死位置,这个过程使用的时间为1秒时,我们认为操作最强烈;使用的时间为10秒时,我们认为操作最缓慢。第二,由于飞行器的同一个操作,也可以有操作执行时间的不同,如拉起驾驶杆1秒钟和拉起驾驶杆10秒钟,飞行器会有不同的响应,而在软件缺陷定位中,操作谱中的同一个程序单元只有执行和没有执行之分。所以,我们决定在软件缺陷定位公式中加入时间的权重,如:最著名的tarantula算法的可疑度计算公式为:

加入时间权重后得到的异常操作定位公式为:

其中:

aef_t(o):飞行器最终飞行失败时,操作o执行的时间。

aep_t(o):飞行器最终飞行成功时,操作o执行的时间。

anf_t(o):飞行器最终飞行失败时,操作o没有执行的时间。

anp_t(o):飞行器最终飞行成功时,操作o没有执行的时间。

步骤3)、根据步骤2)中给出的方法及基于程序谱的软件缺陷定位算法公式,本发明给出基于操作谱的飞行器异常操作定位算法系列公式,系列公式如下所示;

14)jaccard公式:

15)公式:

16)qe公式:

17)simplematching公式:

18)rogers&tanimoto公式:

19)ochiai公式:

20)m2公式:

21)anderberg公式:

22)dice公式:

23)tarantula公式:

24)sokal公式:

25)russel&rao公式:

26)kulczynski2公式:

其中:

飞行器最终飞行失败时,操作o执行的时间。

飞行器最终飞行成功时,操作o执行的时间。

飞行器最终飞行失败时,操作o没有执行的时间。

飞行器最终飞行成功时,操作o没有执行的时间。

步骤4)、将操作谱信息输入到异常操作定位公式中,根据步骤3)中给出的飞行器异常操作定位算法公式,计算操作谱中每个操作的可疑度值,可以得到飞行器驾驶员每一个操作的可疑度值。一个操作的可疑度值越大,其是异常操作的可能性就越大,一个操作的可疑度值越小,其是异常操作的可能性就越小。根据可疑度值从大到小的排序,我们可以定位出可疑操作的位置。

我们将在飞行器飞行过程中的六个主要阶段,即滑行阶段、起飞阶段、爬升阶段、巡航阶段、下降阶段和进近着陆阶段,分别注入10种典型的异常操作,分别为:

1.快速将油门杆向前推到最大,并持续5秒钟。

2.快速将油门杆向后拉倒最大,并持续5秒钟。

3.快速将混合比杆向前推到最大,并持续5秒钟。

4.快速将混合比杆向后拉倒最大,并持续5秒钟。

5.快速将驾驶盘向左打死,并持续5秒钟。

6.快速将驾驶盘向右打死,并持续5秒钟。

7.快速将驾驶杆向前推到最大,并持续5秒钟。

8.快速将驾驶杆向后拉倒最大,并持续5秒钟。

9.快速将左侧脚蹬踩到底,并持续5秒钟。

10.快速将右侧脚蹬踩到底,并持续5秒钟。

每一种类型的异常操作进行100次的模拟仿真,即每种类型的错误操作得到100个测试用例,包括80个飞行器正常的测试用例和20个飞行器异常的测试用例。这样,针对6个飞行阶段和10种典型错误操作,我们可以得到6000个测试用例。

对于注入的10种典型的飞行器异常操作,通过我们的方法都能够有效地对其进行异常操作定位,通过13种缺陷定位公式对其可疑度计算的平均值分别为0.720,0.719,0.413,0.401,0.607,0.611,0.628,0.613,0.531,0.530,对于这十种典型错误的可疑度值排序均排在第1位,这证明了我们方法的有效性。通过对可疑度值的归一化处理后,我们发现对于这十种典型的错误操作,表现最好的公式分别为sokal,sokal,rogers&tanimoto,rogers&tanimoto,tarantula,tarantula,sokal,sokal,ochiai,ochiai。我们发现,实验总体上sokal公式表现相对较好,但是对于不同的典型错误操作,表现最好的公式并不相同,所以我们应该选取多个异常操作定位公式进行实验,而不能选取单一的公式进行实验。针对10种典型的飞行器异常操作,把飞行六个阶段各个操作的可疑度值,绘制成折线图,如附图2至附图11所示。根据图中的实验结果我们可以看出,在飞行器的六个阶段中分别注入十种典型的错误操作,通过我们的异常操作定位方法都可以将其进行精准的找出。其中错误类型三和错误类型四的可疑度值略低于其他错误类型,但是也高于正常操作的可疑度。针对不同的飞行阶段,注入相同的错误操作其可疑度也略有不同,但总体上都明显高于正常操作的可疑度。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1