掌桥专利:专业的专利平台
掌桥专利
首页

测试设备

文献发布时间:2023-06-19 13:26:15


测试设备

技术领域

本发明涉及测试飞行器系统的至少一部分。特别地但非排他地,本发明涉及用于基于由分类器建模的操作来测试飞行器系统的至少一部分的操作的测试设备。

背景技术

飞行器通常包括多个系统,飞行器的开发和测试可能涉及大量的时间和费用。因此,需要可以有助于飞行器的开发和测试的系统。

发明内容

本发明的第一方面提供了一种用于测试飞行器系统的至少一部分的测试设备,该设备包括至少一个存储器和至少一个处理器,该测试设备包括程序代码,该程序代码存储在至少一个存储器中并且被配置成:获得第一数据,该第一数据包括表示飞行器的操作状态的多个输入值;使用经训练的分类器处理多个输入值以生成第一组输出值,经训练的分类器被配置成对飞行器系统的至少一部分的操作进行建模;获得第二数据,该第二数据包括通过基于多个输入值操作飞行器系统的至少一部分而生成的第二组输出值;处理第一组输出值和第二组输出值以识别飞行器系统的至少一部分的操作与由经训练的分类器建模的操作之间的任何差异;以及生成指示识别到的差异的信号。

这可以允许识别飞行器系统的期望操作与实际飞行器系统操作的方式之间的差异。一旦被识别,飞行器系统可以被更新和/或修改以使其操作更紧密地匹配期望的操作。操作可以包括飞行器系统经由一个或更多个用户显示器与用户诸如机组人员交互的方式,和/或装备在飞行器系统中操作的方式。

可选地,测试设备被配置成:获得表示飞行器系统的至少一部分对于至少一种操作状态的期望操作的训练数据,该训练数据包括另外的多个输入值和相应的一组输出值;以及使用训练数据对分类器进行训练。

基于表示飞行器系统的至少一部分的期望操作的训练数据对分类器进行训练允许分类器继续识别所设计的飞行器系统与飞行器系统的期望操作之间的差异。训练可以允许更新分类器以说明飞行器系统的期望操作的变化。

可选地,测试设备与至少一个移动计算装置通信,并且测试设备被配置成接收指示至少一个移动计算装置的用户针对飞行器系统的至少一部分的操作的决定的数据,并且其中,测试设备被配置成基于接收到的数据生成训练数据。

移动计算装置可以提供从用户收集数据的有效方式,使得训练数据可以从用户的角度准确地表示飞行器系统的至少一部分的操作。在这种情况下,“用户”可以至少包括可以在飞行器上或飞行器外工作的机组人员(包括飞行员)、地勤人员或维修人员和/或机队管理者。

可选地,测试设备被配置成基于识别到的差异生成训练数据。

这可以允许分类器基于其当前性能进行训练。例如,在分类器正确识别出差异的情况下,可以加强该识别,并且在分类器错误识别出差异的情况下,可以更新分类器以避免将来出现这样的错误。

可选地,基于所述识别到的差异生成训练数据包括将识别到的差异与指示针对识别到的差异的决定的用户输入进行比较。

这可以允许给予分类器的反馈表示飞行器系统的实际期望功能。由用户感知的期望功能可能会改变,并且因此,以这种方式持续提供它可以允许测试设备随着偏好的改变而演变。

可选地,多个输入值表示以下中的至少一个:与飞行器系统相关联的至少一个部件的操作状态;以及来自被配置成感测相应的环境条件的至少一个传感器的输出。

这可以允许测试设备基于多个输入值来识别飞行器系统与分类器的操作中的差异,这些输入值取决于由系统部件定义的内部因素和可能影响飞行器操作的外部或环境因素两者。

可选地,与飞行器系统相关联的至少一个部件的操作状态包括控制输入,该控制输入包括以下中的至少一个:表示控制输入的值;表示控制输入的变化率的值;以及表示控制输入与另外的控制输入之间的差异的值。

可选地,飞行器系统的至少一部分是用于控制飞行器的至少一部分的计算机程序。

以这种方式,测试设备可以测试飞行器中计算机程序的功能。

可选地,飞行器系统的至少一部分包括飞行器装备和用于操作飞行器的计算机程序的组合。

以这种方式,测试设备可以测试飞行器中系统的功能,其包括计算机程序以及飞行器中部件和装备的操作。

可选地,飞行器系统的至少一部分包括飞行器装备,飞行器装备包括用于生成第二组输出值的至少一个传感器。

以这种方式,测试设备可以测试飞行器中机械和/或电动操作但不依赖计算机程序来控制它们的操作的部件的功能。

可选地,飞行器系统的至少一部分包括以下中的至少一个:航空电子系统、飞行控制系统、制动控制系统、仪表和记录系统、起落架控制系统和燃油系统。

本发明的第二方面提供了一种用于测试飞行器系统的至少一部分的方法,该方法包括:获得第一数据,该第一数据包括表示飞行器的操作状态的多个输入值;使用经训练的分类器处理多个输入值以生成第一组输出值,经训练的分类器被配置成对飞行器系统的至少一部分的操作进行建模;通过基于多个输入值操作飞行器系统的至少一部分来生成包括第二组输出值的第二数据;处理第一组输出值和第二组输出值以识别飞行器系统的至少一部分的操作与由经训练的分类器建模的操作之间的任何差异;以及生成指示识别到的差异的信号。

这可以允许识别飞行器系统的期望操作与实际飞行器系统操作的方式之间的差异。一旦被识别,飞行器系统可以被更新和/或修改以使其操作更紧密地匹配期望的操作。操作可以包括飞行器系统经由一个或更多个用户显示器与用户诸如机组人员交互的方式,和/或装备在飞行器系统中操作的方式。

可选地,该方法包括:获得表示飞行器系统的至少一部分对于至少一种操作状态的期望操作的训练数据;以及使用训练数据对分类器进行训练。

基于表示飞行器系统的至少一部分的期望操作的训练数据对分类器进行训练允许分类器继续识别所设计的飞行器系统与飞行器系统的期望操作之间的差异。训练可以允许更新分类器以说明飞行器系统的期望操作的变化。

可选地,在另外的飞行器系统的操作期间从另外的飞行器系统生成训练数据。

以这种方式,测试设备可以识别飞行器系统的至少一部分的操作与真实世界条件下另一飞行器的操作之间的差异。当用于测试真实世界场景时,这可以增加测试设备的准确度。

可选地,基于来自用户的指示针对飞行器的至少一种操作状态的决定的输入来生成训练数据。

考虑到用户决定可以增加训练数据的可靠性。用户可以识别训练数据在哪里不正确或不表示飞行器系统的至少一部分的期望操作。

可选地,该方法包括基于所述识别到的差异生成进一步的训练数据,并且使用进一步的训练数据对分类器进行训练。

这可以提供其中测试设备正确识别差异的能力被用于加强分类器的训练的反馈回路。

可选地,该方法包括基于所述识别到的差异修改飞行器系统的至少一部分。

这允许调整飞行器系统的至少一部分以校正所述识别到的系统操作与期望操作中的差异。以这种方式,飞行器系统的至少一部分可以根据需要更紧密地发挥作用。

本发明的第三方面提供了一种飞行器,该飞行器包括一个或更多个飞行器系统,所述一个或更多个飞行器系统中的至少一个已经根据上述方法进行了测试。

本发明的第四方面提供了一种测试飞行器,该测试飞行器包括一个或更多个飞行器系统和如上所述的用于测试包括在测试飞行器中的一个或更多个飞行器系统的至少一部分的测试设备。

本发明的第五方面提供了一种用于测试飞行器控制系统的测试系统,该系统包括存储器、处理器、用于接收飞行器控制输入的控制输入接口和用于接收飞行器控制输出的控制输出接口,该测试系统被配置成:经由控制输入接口接收飞行器控制输入;使用用于被测飞行器控制软件的预期行为的经训练的模型来处理飞行器控制输入以确定预期控制输出;经由控制输出接口接收来自飞行器控制软件的实际控制输出;将预期控制输出与实际控制输出进行比较,以识别它们之间的差异;以及生成指示预期控制输出与实际控制输出之间的差异的信号。

这可以允许识别飞行器系统的期望操作与实际飞行器系统操作的方式之间的差异。一旦被识别,飞行器系统可以被更新和/或修改以使其操作更紧密地匹配期望的操作。操作可以包括飞行器系统经由一个或更多个用户显示器与用户诸如机组人员交互的方式,和/或装备在飞行器系统中操作的方式。

本发明的第六方面提供了一种用于测试飞行器控制软件的测试系统,该系统包括:存储器;控制输入接口,用于接收飞行器控制输入并且将所述输入存储在存储器中;模型处理引擎,用于使用用于被测飞行器控制软件的预期行为的经训练的模型来处理飞行器控制输入,以确定预期控制输出并且将所述输出存储在存储器中;控制输出接口,用于接收实际的飞行器控制输出并且将所述输出存储在存储器中;差异引擎,用于将预期控制输出与实际控制输出进行比较,以识别它们之间的任何差异;以及输出生成器,用于生成指示由差异引擎识别的差异的信号。

附图说明

现在将参照附图仅通过示例的方式描述本发明的实施方式,在附图中:

图1是根据示例的测试设备的框图;

图2是示出根据示例的测试设备的操作的框图;

图3是根据示例的训练过程的框图;

图4是示出根据示例的测试设备的操作的框图;

图5是示出根据示例的方法的流程图;以及

图6是根据示例的飞行器的说明图。

具体实施方式

飞行器系统正变得越来越复杂。随着技术的进步和自动化程度的提高,飞行器的能力也在不断提高。因此,用于监测和控制飞行器的系统以及设计成与飞行器的操作者诸如机组人员交互的系统的设计变得越来越复杂。特别地,虽然可以基于大多数情况下所期望的预期操作来设计飞行器系统,但是飞行器的实际使用可能会突出例如机组人员可能预期或更喜欢飞行器系统以与设计不同的方式运行和/或响应的其他情况。

一旦实施了飞行器系统,由于开发、测试和推出新系统特别是经修订的软件的实际情况,在一段时间内可能无法修改飞行器系统。此外,在飞行器系统的测试期间,如果发现系统未按期望操作,则系统的开发可能退回到最初实施突出差异的阶段,并且然后可能需要重复测试。

在开发和测试过程的早期识别(例如由飞行器的潜在操作者确定的)飞行器系统与飞行器系统的期望操作之间的差异可以减少开发飞行器系统所需的时间以及减少对系统修订或修改的需要,从而提高这种系统的有效性。

本文描述的某些示例涉及将飞行器系统的操作与对飞行器系统的操进行建模的分类器的输出进行比较。使用表示飞行器系统的期望操作的数据对分类器进行训练。然后可以基于该比较来配置飞行器系统,使得系统在给定情况下按期望操作。分类器可以被不断地训练使得其适应飞行器系统的期望操作,该操作可以随着时间而改变,例如随着实践、预期和过程的演变而改变。

有利地,根据示例,使用独立于飞行器设计过程的至少一些信息和数据对分类器进行训练。相比之下,测试飞行器系统的已知方法特别是用于飞行器系统的控制软件可能涉及由软件设计团队进行代码运行,并且可能涉及使用测试脚本和调试程序(debugger),这些脚本和调试程序也可以由软件设计团队设计。已知方法的可能的缺点在于超出规范范围的场景可能无法由软件设计团队以控制软件以及代码运行、测试脚本和调试程序的方式解决。这样的代码运行、测试脚本和调试程序可能由此无法针对这些特定场景获取期望的操作差异。

用于对分类器进行训练的信息和数据可以来自各种来源,其中至少一些来源独立于设计过程。例如,新飞行器设计的大部分系统和操作可以与现有飞行器的设计和操作相同或非常类似。因此,根据一些示例,使用已知正确的与现有类型的飞行器的操作相关联的信息和数据对分类器进行训练。在大多数情况下,软件设计团队和飞行器用户诸如机组人员对飞行器操作和设计参数的看法是相同的。例如,两组人都同意应当立即向飞行员识别制动性能的降低。其他场景并非如此明确,并且某些主观标准(例如基于机组人员的经验的主观标准)可能需要考虑在内。在这样的情况下,软件设计团队和飞行器用户的意见可能会出现分歧。虽然显然将采取措施确保将发生这种情况的可能性降至最低,但是并非可以设计和/或测试所有可能出现的可想到的场景。这通常导致在新飞行器投入使用之后需要修订并推出飞行器控制软件,这是一个耗时且昂贵的过程。例如,如本文将关于示例所描述的,软件设计团队可以合法地感知特定飞行器操作场景以保证警告条件,而有经验的机组人员可能不会感知该场景以保证警告条件。因此,根据示例,也可以使用来自用户诸如机组人员的经验和输入对分类器进行训练。

图1示出了根据示例的用于测试飞行器系统的至少一部分的示例测试设备100。测试设备100包括至少一个存储器110和至少一个处理器120。存储器110可以是包括随机存取存储器(RAM)、只读存储器(ROM)、同步动态随机存取存储器(SDRAM)或任何其他合适类型的存储器的易失性存储器和非易失性存储器的任何合适的组合。至少一个处理器120可以包括中央处理单元(CPU)、图形处理单元(GPU)、专用指令集处理器(ASIP)或任何其他合适的处理装置中的任何一个或更多个。测试设备100可以包括图1中虚线所示的至少一个接口130。这样的接口130可以操作成与一个或更多个计算装置160和/或飞行器系统的至少一部分进行通信。测试设备100还可以包括用于与用户交互的用户接口140。在示例中,用户接口140包括用于显示系统信息诸如状态信息的图形显示器和/或用于接收来自用户的输入以控制测试设备100的至少一个用户输入装置。测试设备100在图1中被示出为单个装置。然而,应当理解,测试设备100可以包括分布式装置,例如通过有线网络或无线网络通信耦接的多个分布式计算装置。在任何情况下,测试设备可以通过执行相应的测试软件150来进行操作,测试软件150可以在运行时被加载至主存储器110中并且由处理器120来执行。

图2更详细地示出根据示例的测试设备100的元件的框图。该框图示出了输入数据210由飞行器系统220的至少一部分以及独立地由经训练的分类器230处理。来自系统220和分类器230的输出然后在框250处由处理引擎处理以生成信号260。经训练的分类器230由设备100实现,其中,存储器110包括一组指令150,该组指令150在由处理器120执行时实现分类器230和处理引擎250。

测试设备100被配置成获得第一数据210,第一数据210包括表示飞行器的操作状态的多个输入值。飞行器的操作状态可以包括飞行器中或飞行器上的一个或更多个部件的状态以及飞行器操作的环境条件的指示。根据本示例,多个输入值表示与飞行器系统相关联的至少一个部件的操作状态和来自被配置成感测相应的环境条件的至少一个传感器的输出中的至少一个。第一数据210可以表示飞行器的瞬时状态,其中,第一数据210及时地表示一个或更多个部件在给定时刻或连续时刻的状态或环境条件。可替选地,第一数据210可以表示飞行器的动态状态,其中,第一数据210包括表示飞行器操作中的时间段的值,在这种情况下,第一数据210包括表示每个输入的多个动态变化值。

与飞行器系统相关联的至少一个部件的操作状态可以包括控制输入。这样的控制输入可以是由于机组人员诸如飞行员操作或致动装置、设备或系统。控制输入可以包括控制输入的值,例如,表示节气门、制动致动器和/或其他控制输入的位置的值。可替选地或另外地,控制输入可以包括变化率而不是值。在一些示例中,控制输入可以是指示瞬时值(例如,位置)和变化率和/或变化方向的多元量。控制输入可以由表示装置、设备或系统在限定时间段内的操作的多个值或多个多元量来表示。控制输入可以包括表示控制输入与另外的控制输入之间的差异(例如对应于第一引擎的第一节气门的位置与对应于第二引擎的第二节气门的位置之间的差异)的值。

可以通过网络从外部装置获得第一数据210,例如,可以从现役飞行器或飞行器模拟器(或两者的混合)实时收集数据210,并且将数据210发送至设备100,从而允许针对实际操作情况和相关联参数来测试飞行器系统220。可替选地,可以由测试人员将第一数据210发送至设备100,从而允许测试设备100被远程操作和/或“在事件之后”被操作。

第一数据210可以包括具有从现役飞行器收集的实际数据集的存储的数据集。可替选地或另外地,存储的数据集包括由测试人员为测试某些场景而生成的数据。测试人员可以通过选择或设计表示对飞行器系统210的至少一部分的每个相应输入的多个输入值来手动生成第一数据210。可替选地,测试人员可以使用统计方法生成第一数据210。例如,飞行器系统220可以被配置成接收多个输入,并且针对每个输入的值可以使用概率分布来表示。概率分布可以基于物理定律、部件的操作限制和/或从实际数据生成。概率可以用于生成表示飞行器的可能状态的数据集,可能状态包括并未在来自现役飞行器的实际数据中表示的状态。在任何情况下,这些方法都使得能够测试一系列真实场景和理论场景或人为的场景。

例如,当测试制动控制系统时,多个输入值可以指示被配置成操作制动器的一个或更多个液压系统的操作状态,以及用于在液压故障的情况下操作制动器的一个或更多个可替换的(例如,电动)马达和相应电源的状态。多个输入值还可以包括其他相关信息,例如,飞行器引擎的操作状态、是否存在轮重的指示、以及来自一个或更多个飞行器传感器的环境条件(诸如风速和风向以及外部温度和湿度)的指示。多个输入值可以表示包括在其他飞行器系统中的装备的状态。一个或更多个另外的飞行器系统的操作与被测试的系统的操作之间可能存在相关性或联系。

返回图2,测试设备100被配置成基于所获得的第一数据210,使用经训练的分类器230处理多个输入值以生成第一组输出值240a,经训练的分类器230被配置成对飞行器系统220的至少一部分的操作进行建模。

测试设备100还被配置成基于多个输入值来获得第二数据,第二数据包括通过操作飞行器系统220的至少一部分而生成的第二组输出值240b。使用设备100测试的飞行器系统可以是多个飞行器系统中的任何一个。在一些示例中,飞行器系统220的至少一部分是用于控制飞行器的至少一部分的计算机程序或“控制软件”。例如,系统220的至少一部分可以包括专门被配置成监测和/或控制飞行器的一个或更多个部件的操作的固件。在一些示例中,系统220的至少一部分被配置成与飞行器的操作者诸如机组人员成员进行交互。在飞行器系统220的至少一部分是计算机程序的情况下,基于多个输入值来操作飞行器系统220的至少一部分可以包括运行计算机程序并且将输入值引入其中。包括计算机程序的飞行器系统220的至少一部分可以包括控制软件并且还可以模拟至少一些飞行器装备。例如,不是让控制软件与特定装备结合运行,而是可以使用模拟装备的行为来代替。例如,计算机程序可以被配置成模拟飞行器装备的功能,并且特别地模拟被测控制软件与飞行器装备之间的交互。这可以降低测试阶段的成本,并且在可以测试的场景中提供更大的灵活性。例如,可以使用相应的模拟来实现尚未并入整个系统的装备的操作和与该装备的交互。

在本文描述的示例中,第一数据中的值的数目以及输出值组240a、240b的大小可以取决于正在被建模的实际飞行器系统。在一些示例中,相比于被测试的飞行器系统,分类器230生成不同数目的输出值。例如,分类器230可以生成与来自实际飞行器系统的输出值相关的值,并且处理输出值组(sets of out values)可以包括处理来自实际飞行器系统220的输出值以生成可以与来自分类器230的输出值直接比较的数据。

在其他示例中,飞行器系统220的至少一部分包括飞行器装备和用于操作飞行器的至少一部分(包括飞行器装备或飞行器装备的至少一些)的计算机程序的组合。例如,包括在飞行器系统220的至少一部分中、控制飞行器的装备的控制程序从受控制的装备和/或飞行器的其他部分接收输入。控制程序监测这些输入以检查对应的装备是否正确地操作和/或调整被控制的事物。控制程序可以向用户显示器提供反馈。例如,在飞行器系统220的至少一部分正在操作以调整制动扭矩以使飞行器减速的情况下,输入可以包括速度测量值、正在施加的当前扭矩水平、正在操作哪些制动器的指示以及每个制动器处生成的热量水平。可以向用户显示这些信息的一些或全部,使得他们可以监测操作并且确保其正常运行。在一些示例中,飞行器系统220的至少一部分是测试台的一部分。测试台包括在部署到一个或更多个飞行器之前在开发阶段期间被测试的一个或更多个飞行器系统。可替选地,飞行器系统220的至少一部分可以在操作测试飞行器时被测试。

可替选地,飞行器系统220的至少一部分可以不包括计算机程序,而是可以包括飞行器装备,该飞行器装备包括用于生成第二组输出值240b的至少一个传感器。在这种情况下,基于输入值来操作飞行器系统220的至少一部分包括在系统220的至少一部分中引发由输入值表示的操作状态。

如所讨论的,飞行器系统220的至少一部分可以包括飞行器中任何合适系统的一部分。例如,飞行器系统的至少一部分可以包括以下中的一个或更多个:航空电子系统、飞行控制或导航系统、制动控制系统(或其他液压控制系统)、仪表和记录系统、起落架控制系统和燃油系统。

然后,测试设备100例如使用处理引擎250处理第一组输出值240a和第二组输出值240b以识别飞行器系统220的至少一部分的操作与由经训练的分类器230建模的操作之间的任何差异。以这种方式,测试设备100能够突出飞行器系统220的至少一部分实际上在某些条件下响应和/或操作的方式与在这些条件下预期或期望如何操作之间的任何差异。基于由分类器实现的操作模型生成推论。在一些示例中,处理两组输出值240a、240b可以包括在相应的输出值之间进行比较以识别任何差异。在其他示例中,处理两组输出值240a、240b可以包括进行相应值的比较以识别超出给定容差和/或置信水平(例如在10%以内)的差异。在这些示例中,处理引擎250可以作为比较器或类似的处理元件来操作或包括比较器或类似的处理元件。在另外的示例中,两组输出值240a、240b的处理可以涉及更复杂的处理,该处理被配置成识别输出值中的指示飞行器系统220的至少一部分的操作与由经训练的分类器230建模的操作之间的差异的模式或趋势。

图3示意性地示出了测试飞行器系统300的至少一部分的更详细示例。在图3中,被测试的飞行器系统300的至少一部分是计算机程序并且因此可以由测试设备310来实现。测试设备310可以使用经训练的分类器320同时处理多个输入值I_1、I_2、I_3并且可以使用输入值I_1、I_2、I_3来实现或运行飞行器系统300的至少一部分的测试版本。例如,测试设备310可以实现一个或更多个虚拟环境,其中分类器320和包括计算机程序的飞行器系统300可以被运行以生成相应的输出值组。

分类器320经由控制输入接口322接收多个输入值I_1、I_2、I_3并对这些输入值进行处理以生成第一组预期输出值CL_1、CL_2。多个输入值I_1、I_2、I_3可以包括表示飞行器中的部件的操作状态和/或可以限制飞行器的操作状态的一个或更多个环境条件的输入值。虽然第一组输出值被示出为包括两个值,但是应当理解,第一组输出值可以包括比多个输入值更多或更少的值。在一些示例中,一组输出值仅包括一个输出值。

飞行器系统300的至少一部分基于多个输入值I_1、I_2、I_3进行操作,这在该示例中包括使用多个输入值I_1、I_2、I_3作为对飞行器系统300的至少一部分中包括的计算机程序的输入。飞行器系统300的至少一部分生成第二组输出值O_1、O_2,所述第二组输出值O_1、O_2由测试设备310经由控制输出接口326接收。然后由(例如作为处理引擎250操作的)一个或更多个比较模块330a、330b处理第一组输出值和第二组输出值。在所示出的示例中,第一比较模块330a被配置成比较输出值CL_1和O_1,而第二比较模块330b被配置成比较输出值CL_2和O_2。然后使用这些比较的结果R_1、R_2来识别由分类器320建模的操作与飞行器系统300的至少一部分的操作之间的任何差异。在一些示例中,这可以包括使用任何合适的统计方法来执行一些另外的处理以识别输出值组之间的指示建模的操作与实际飞行器系统的操作之间的差异的趋势和/或系统差异。

图4示出了根据示例的用于测试飞行器系统的至少一部分的方法400的流程图。在框410处,方法400包括获得第一数据,该第一数据包括表示飞行器的操作状态的多个输入值。在框420处,方法400包括使用经训练的分类器处理多个输入值以生成第一组输出值,该经训练的分类器被配置成对飞行器系统的至少一部分的操作进行建模。在框430处,方法400包括通过基于多个输入值操作飞行器系统的至少一部分来生成包括第二组输出值的第二数据。在框440处,方法400包括处理第一组输出值和第二组输出值以识别飞行器系统的至少一部分的操作与由经训练的分类器建模的操作之间的任何差异。在框450处,方法400包括生成指示识别到的差异的信号。方法400还可以包括基于识别到的差异修改飞行器系统的至少一部分。以这种方式,飞行器系统被改变成使得其以更接近飞行器系统的所期望的操作的方式操作。

基于识别到的差异修改飞行器系统的至少一部分可以以多种方式被执行。在一个示例中,可以将比较的结果提供给飞行器系统的开发者。开发者然后可以查看所述差异并且修改飞行器系统的设计,使得其符合由分类器确定的操作。可替选地,当比较来自飞行器系统和来自测试设备的输出时,测试设备可以被配置成突出待被改变的飞行器系统的特定部分,使得飞行器系统的操作与由分类器确定的操作匹配。在另一示例中,测试设备可以被配置成基于识别到的差异生成报告。该报告可以识别需要查看的区域,并且提供用于修改飞行器系统以符合分类器的操作的一个或更多个建议。

现在将描述与将测试设备100应用于飞行器制动控制系统有关的示例。第一数据210包括指示用于操作制动器的部件的操作状态的值。在该示例中,当用于操作制动器的液压泵在飞行器正在地面上移动时不工作(即关闭)时,制动控制系统最初被指定和设计为在飞行员显示器上生成安珀警报,以指示正常电源或主电源未工作,以及正在使用用于制动器的备用电源。安珀警报可以是针对制动控制系统的适当响应,这是因为制动器需要进行操作,但不是由其主控制装置(即液压泵系统)来操作。这样的安珀警报如果在起飞前出现在显示器上可能会引起机组人员的担忧,并且可能导致飞行器停飞,从而导致航班延误或甚至取消。然而,通过使用本文描述的测试设备100,可以确定可能存在机组人员感知在所描述的场景中安珀警报是不适当或是不期望的响应的一些情况。例如,当飞行器在引擎关闭的情况下被拖曳,并且因此正常电源(例如,液压泵)未激活时,在这种情况下,可以认为使用用于制动器的备用电源是可接受的并且确实是可取的。因此,机组人员可能会认为安珀警报是不适当的,并且可能是过分的担忧原因。相反,更适当的飞行员显示器可以指示制动器正在由其备用电源启动,但并不出现安珀警报。在这种情况下,经训练的分类器230被训练成识别如果主电源或正常电源在引擎关闭时未激活,则被建模的制动控制系统不应当显示安珀警报。使用来自现有飞行器的信息和数据和/或来自有经验的机组人员的反馈来实现对经训练的分类器230的这种训练。因此,在测试期间,在将来自经训练的分类器230的输出值与来自飞行器系统220的至少一部分(即制动控制系统)的输出值进行比较的情况下,识别到的差异是安珀警报,其是由飞行器系统生成的、而不是由经训练的分类器230生成的。

在检查时,系统设计者将认识到飞行器系统220可以受益于在评估在液压制动不可能时出现安珀警报是否适当的情况下考虑引擎状态(即,开或关)的变动。如果在设计过程期间认识到这一点,同时飞行器实际上是测试台,则控制软件可以在相对较小的延迟下被修订。相反,如果问题是在新飞行器投入使用之后确定的,则可能需要数月才能部署新的控制软件。与此同时,可能需要向机组人员发出指导说明,以提醒他们在特定情况下安珀警报的含义,否则飞行器可能会不必要地停飞。

在诸如此类的情况下,测试设备100可以能够识别固件中以不期望的方式与机组人员交互的部分。学习操作飞行器可能需要大量的时间和资源。因此,如果有可能识别和纠正机组人员预期与飞行器系统操作之间的差异,则可以随着系统变得更加直观而减少学习操作所述飞行器所花费的时间。

在另一具体示例中,飞行器系统220的至少一部分可以是制动控制系统中的自动制动系统。该自动制动系统被配置成在着陆过程期间自动接合制动器并且在起飞过程期间自动脱离。在这种情况下,第一数据210包括指示用于操作制动器的部件的操作状态的值和指示飞机参与的着陆过程的阶段的值。这包括轮上重量、引擎的操作状态、飞行器的方向、横向重力和其他相关信息。一旦飞机与地面接触,则例如基于重量阈值和/或与检测到的轮上重量相关联的足够时间段自动接合制动器,以使飞行器减速。

有时,由于各种原因,着陆尝试被中止,其中飞机最初与地面接触,但是飞机没有着陆而是再次起飞,然后准备第二次着陆尝试。在该示例中,在中止着陆尝试之后,可以部署预编程的“中止着陆过程”,其激活和/或停用飞行器系统的各种元件以准备下一次着陆尝试。与最初着陆尝试可能需要的检查次数相比,该过程可以减少需要由飞行员在尝试第二次着陆之前执行的系统检查的次数。然而,在某些情况下,已经发现机组人员更喜欢在中止着陆尝试之后进行全部系统重置,使得他们在尝试第二次着陆时可以执行完整的着陆协议,而不是简化的中止着陆协议。通过使用本文描述的测试设备100,可以确定存在如在描述的场景中机组人员更喜欢自动制动系统完全重置的一些情况。相比之下,可能存在机组人员更喜欢制动系统部分保持接合而不是完全重置的其他特定场景,并且本文的示例也将能够识别这些场景。

在另一具体示例中,在飞行器系统220的至少一部分是制动控制系统中的自动制动系统的情况下,自动制动系统被配置成在着陆过程期间自动接合制动器。在实践中,并且在没有自动制动系统的情况下,不同的环境和飞行器特性可能会影响有经验的操作者在着陆过程期间决定施加制动的方式。施加制动的方式可能导致在着陆过程的不同阶段处施加不同量的制动力。难以为自动制动系统开发出能够准确地选择与有经验的操作者在各种场景中选择的制动力的量相同的制动力的一组规则。在某些情况下,飞行员可能基于经验例如而不是根据操作手册来操作制动器,并且能够量化他们执行制动的方式。在该示例中,在自动制动系统未选择与有经验的飞行员在给定测试场景中相同的制动量的情况下,测试设备100能够量化在不同环境条件下由有经验的飞行员执行的制动过程和由自动制动过程执行的制动过程的差异。以这种方式,自动制动系统的性能和/或行为可以通过被编程成更接近地模仿有经验的飞行员在各种着陆条件下使用的制动技术而被改进。

应当理解,前面的示例已经被简化以帮助理解。应当理解,可能存在许多其他因素,并且因此存在许多其他输入值,用于呈现针对飞行器系统的输出进行测试给定场景。因此,使用已经基于飞行器的期望操作或其他飞行器的操作示例进行训练的经训练的分类器可以识别以其他方式明显合理的操作规则的例外。在不使用经训练的分类器的情况下,这些例外可能会保留设计在飞行器系统中,这可能导致需要在开发阶段后期或甚至在新飞行器(或飞行器系统)推出之后更新系统。

更一般地,一旦识别出差异,测试设备100被配置成生成指示差异的信号260。该信号260可以用于向测试设备100的用户提供信息,该信息识别飞行器系统220的至少一部分的操作与由经训练的分类器230建模的操作以何种方式不同。这可以用于通知用户,使得可以调查系统220的至少一部分,并且在必要时进行修改以减少或消除差异。信号260可以包括指示识别到的差异的数据、数据集或数据或信息的一些其他表示,其可以在适当的情况下被发送和/或被存储在存储器中并被显示。

为了使被识别的差异有用,经训练的分类器230应当准确地表示飞行器系统220的至少一部分的期望操作。为此,测试设备可以被配置成对分类器230进行训练。可替选地,可以在别处执行分类器的训练,并且可以将经训练的分类器230加载至测试设备100中。可以通过获得表示飞行器系统220的至少一部分对于至少一种操作状态的期望操作的训练数据来训练分类器230。训练数据包括至少另外一种多个输入值(并且优选为输入值的更多实例)和相应的至少一组输出值。另外的多个输入值中的每一个与相应的一组输出值相关联。与测试阶段类似,多个输入值表示飞行器的操作状态。多个输入值包括指示飞行器系统220中的一个或更多个装备的状态和/或表示与飞行器的状态相关联的一个或更多个环境条件的值。输出值表示飞行器系统220基于输入值的输出。例如,输出值可以对应于在用户显示器处显示的信息和/或可以包括对应于飞行器系统在由输入值表示的操作状态下的控制的控制参数。

图5示出了输入至训练引擎520的训练数据500,训练数据500包括至少另一种多个输入值510a和相应的至少一组输出值510b。训练引擎520可以通过适当的程序代码结合至少一个存储器110和至少一个处理器120来实现;或者,训练引擎520可以完全部署为另一系统的一部分。在任何情况下,训练引擎520可以以适当的方式处理训练数据500以生成经训练的分类器230。在一些示例中,训练引擎520可以用于基于训练数据500进一步训练已经训练的分类器230。例如,在新的训练数据变得可用和/或飞行器系统的要求改变或过程随时间演变的情况下,训练引擎520可以继续训练和/或重新训练分类器230。在一些示例中,分类器230包括神经网络。在其他示例中,分类器230实现随机森林算法、朴素贝叶斯分类器、支持向量机、线性回归机器学习算法、或适用于本文描述的函数的任何其他合适的算法或分类器中的至少一个。例如,可以使用监督学习算法来分析训练数据(包括输入值和相应的输出值)以推断将输入映射至输出的合理的学习函数。学习函数可以用包括输入层、输出层和至少一个隐藏层的神经网络来表示,其中,至少一个隐藏层区域的节点与一个或更多个权重相关联。训练神经网络包括使用输入层中的输入值和输出层中的输出值来生成和/或更新一个或更多个权重。然后可以在未用于训练学习函数的训练数据子集上测试学习函数。这可以允许在应用于测试数据之前验证系统。

在一些示例中,测试设备100、310可以被配置成基于识别到的差异生成训练数据300。基于识别到的差异生成训练数据300包括将识别到的差异与指示关于识别到的差异的决定的用户输入进行比较。例如,在识别差异之后,生成的信号260可以用于经由用户接口140显示与识别到的差异有关的信息。用户然后可以经由用户接口提供指示决定的输入,例如确认识别到的差异表示飞行器系统的不期望的响应,或者替代地指示分类器230、320不正确。在这种情况下,如果分类器不正确,则可以生成训练数据并且将其用于对分类器230、320进行训练,使得该错误不再发生。可替选地,如果分类器230、320已经正确识别飞行器系统中的不期望响应,则可以生成强化该正确识别的训练数据。训练数据300的可用性对分类器230、320对飞行器系统220、300的至少一部分的期望操作进行建模的能力以及因此识别实际系统220、300和建模系统的操作中的差异的能力有影响。

在一些示例中,测试设备100、310可以与至少一个移动计算装置诸如图1中的装置160通信。移动计算装置160可以是能够与测试设备100、310通信的硬件和软件的任何合适的组合。例如,移动计算装置可以是智能电话、平板计算装置、便携式个人计算机或任何其他合适的装置中的一个。测试设备100、310可以被配置成接收指示至少一个移动计算装置160的用户关于飞行器系统220、300的至少一部分的操作的决定的数据。测试设备100、310可以被配置成基于该接收到的数据生成训练数据300。移动计算装置160可以由为其设计飞行器系统220、300的至少一部分的人诸如机组人员使用。在系统和/或飞行器操作期间,可以通过在移动计算装置上执行的适当应用提示机组人员查看飞行器的一个或更多个操作状态并且提供关于飞行器系统220、300的至少一部分的操作的反馈。这样的提示可以由测试设备100、310触发,以与在测试期间发生的相应事件一致。

在其他示例中,移动计算装置160可以在试飞之后使用,其中,在飞行之后,可以通过装置提示机组人员检查被测飞行器系统的操作的一个或更多个方面。由机组人员的决定生成的信息可以用于生成用于训练、更新或修改分类器230、320的训练数据。因此,从机组人员的角度来看,训练数据可以准确地表示飞行器系统的预期和期望操作。这可以允许测试设备100、310识别飞行器系统的至少一部分未按照预期响应和/或操作的另外的操作状态。

图6示出了飞行器600的示例,飞行器600可以替代地是飞行器测试台。飞行器600包括至少一个飞行器系统,诸如液压制动器610和制动控制系统620,液压制动器610和制动控制系统620耦接至测试设备100并且向其提供输入210以根据本文的示例进行测试。

在一些示例中,公开了如本文所描述的测试设备。测试设备用于测试包括在测试飞行器中的一个或更多个飞行器系统的至少一部分。测试飞行器可以包括诸如图6所示的整个飞行器600。可替选地,测试飞行器可以包括飞行器的一部分或若干部分,例如作为用于测试一个或更多个飞行器系统的测试台的一部分。测试飞行器包括可以接收在测试飞行器中生成的输入的测试设备。在测试飞行器中生成的输入可以提供给被测试的实际飞行器系统和测试所述飞行器系统的测试设备两者。然后可以在测试飞行器中生成来自系统和测试设备的输出并且执行对这些输出的比较。

在一些示例中,用于测试飞行器控制软件的测试系统包括存储器、处理器、用于接收飞行器控制输入的控制输入接口和用于接收飞行器控制输出的控制输出接口。飞行器控制软件可以是包括用于控制飞行器的操作的软件和飞行器装备两者的飞行器系统的一部分。测试系统被配置成经由控制接口接收飞行器控制输入,飞行器控制输入是表示飞行器控制的操作状态的数字输入。在该示例中,飞行器控制软件可以单独测试。在这种情况下,所使用的输入和输出是数字输入和输出,它们可以表示来自飞行器装备诸如飞行器控制装置的输入和输出。控制输入接口包括硬件和软件的任何合适的组合。在一些示例中,飞行器控制输入由相应的多个输入值表示。测试系统使用用于被测飞行器控制软件的预期行为的经训练的模型来处理飞行器控制输入以确定预期控制输出。例如,经训练的模型可以包括已经根据飞行器控制软件的期望操作训练的分类器。经由控制输出接口接收来自飞行器控制软件的实际控制输出。实际控制输出是使用飞行器控制软件和飞行器控制输入生成的。控制输出可以由相应的输出值组表示。测试系统将预期控制输出与实际控制输出进行比较,以识别它们之间的任何差异。这可以指示飞行器控制软件和/或包括飞行器控制软件的飞行器系统的操作与飞行器控制软件的期望操作之间的差异。测试系统然后生成指示预期控制输出与实际控制输出之间的差异的信号。

在另一示例中,提供了一种用于测试飞行器控制软件的测试系统。该测试系统包括存储器、控制输入接口、模型处理引擎、控制输出接口、差异引擎和输出生成器。

控制输入接口可以接收飞行器控制输入并且将输入存储在存储器中。飞行器控制输入包括可以表示飞行器的一个或更多个部件的操作状态的一个或更多个输入值。模型处理引擎被配置成使用用于被测飞行器控制软件的预期行为的经训练的模型来处理飞行器控制输入以确定预期控制输出并且将输出存储在存储器中。预期模型可以基于另外的飞行器控制软件或使用利用表示预期行为的数据训练的一个或更多个计算机模型生成。

控制输出接口可以接收实际的飞行器控制输出并且将输出存储在存储器中。实际的飞行器控制输出是通过使用飞行器控制输入操作飞行器控制软件而生成的。

差异引擎用于将预期控制输出与实际控制输出进行比较,以识别它们之间的任何差异。例如,差异引擎可以从非易失性存储器诸如ROM读取实际控制输出和预期控制输出,并且可以将输出存储在临时存储器中并且可以使用处理器来处理输出以确定任何差异。

输出生成器可以用于生成指示由差异引擎识别的差异的信号。

应当注意,除非另有明确说明,否则本文使用的术语“或”将被解释为意指“和/或”。

相关技术
  • 测试设备验证方法、测试设备、验证设备和存储装置
  • 电源、自动化测试设备、用于操作电源的方法、用于操作自动化测试设备的方法和使用电压变动补偿机制的计算机程序
技术分类

06120113674417