基于飞参数据的飞行仿真模型验证
2011-09-02李雪青谢保川范毅晟
曾 鸣,李雪青,谢保川,范毅晟
(海军模拟飞行训练中心,北京 102488)
飞行模拟器必须要进行飞行仿真模型的逼真度测试验证,是业内公认的标准。国外规定没有通过VV&A的飞行模拟器不能投入使用,只有对飞行模拟器经过严格的鉴定, 包括基于定性方式的功能检查和基于定量方式的性能验证, 才能保证飞行模拟器训练飞行员的效果[2]。
根据经典的VV&A理论,对飞行仿真模型的验证测试需要真实的飞行数据。以往的做法是通过飞机试飞院在特定的飞机上加装传感器以获取试飞数据,利用试飞数据进行飞行仿真模型验证。而实际上,由于成本高昂和周期较长等原因,试飞数据难以获取并用于模型验证,因此,定量的飞行模型验证测试基本处于缺失状态,也正因如此,其最核心的飞行仿真模型的逼真度验证主要依靠飞行员的主观感受。VV&A量化评估手段的缺失是飞行模拟器发展和应用过程中的巨大缺憾,与近几年飞行模拟器应用技术的整体快速发展形成巨大反差。
随着飞行参数记录系统在各型飞机上的广泛应用,对实际飞行中各种真实数据的分析研究变得触手可及。由于飞参数据本身就是机载设备记录的真实飞行数据,因此,以飞参作为飞行仿真模型验证的数据来源,不仅能保证VV&A的可信度,而且可大大降低VV&A的成本和难度。飞参数据和试飞数据相比较,其优点在于:
·几乎没有成本,基本上所有在航飞机均装配有现成的飞参记录仪。
·数据获取便捷,飞参数据已广泛应用于飞行各领域,各航空保障部门也设有专业的飞参判读和分析研究机构。
·数据更全面更广泛,每种型号的飞参记录仪记录的数据有上百种之多,且每个飞行架次均有飞参记录。从统计学意义来讲,飞参数据具有毋庸置疑的权威性和真实性。
下面对利用飞参数据进行飞行仿真模型验证测试的方法作深入介绍和探讨。
1 仿真模型验证原理
飞行模拟器的大致工作流程如下:主仿真计算机通过网络接收接口分系统发送的模拟器座舱设备的操纵信号,经飞行仿真模型解算得到飞机状态信息,该结果再通过网络发送给座舱显示设备和其它物理效应设备。
飞行模拟器模型验证通常按图1所示的流程和方法进行。验证系统接收来自飞行实时仿真系统运行后得到的仿真结果(即飞行状态信息),并与性能测试比较基准数据进行比较。比较基准可以是试飞数据、实验数据或设计技术指标参数等,比较结果用性能规范标准给定的允许误差进行分析,即可得到量化的仿真模型和仿真对象之间的相似度。若某些性能不满足规范要求,可返回进行模型修正或参数调整, 直到达到要求为止[2]。
图1 模型验证基本原理图
在模型验证过程中,数据是一个关键因素,所用的数据必须是合适的、精确的和完整的。所有数据必须经过精确的测量,对原始数据进行数据变换必须准确,并且数据相关性必须具有充分地描述,数据尽量标准化、规范化[3]。
2 飞参验模系统
2.1 飞参简介
飞行参数记录系统又称飞行数据系统,也简称为飞参系统,是一种用于监测飞机及其系统工作状态以及飞行员操纵飞机情况的自动测试系统,通常包括机上设备和地面处理设备。其记录部件称为飞行数据记录器或飞参记录器(FDR)[4]。国军标GJB2692中对“飞行数据记录器”的定义是:“记录飞行状态、操纵状态和飞机/直升机、发动机有关信息的机载自动记录装置”。飞参系统中记录的源代码需要还原为工程数据以供分析判读。它能够客观记录有关飞机及其系统的信息,主要包含:
履历信息,包括当前时间、航班号、飞机号码、飞行日期等;
飞机动态特征参数,包括经纬度、高度、速度、航向、过载、俯仰角和倾斜角等;
飞机操纵机构特征参数,包括舵面和副翼的偏转角度,水平安定面的位置,驾驶杆(盘)的位移等;
动力装置状态特征参数,包括发动机转速、温度、滑油压力,油门操纵手柄位置,燃气、空气通道参数等;
飞机其它系统状态特征参数,包括液压系统压力、机上电源系统电压等。
目前,飞参数据被广泛应用于飞行事故调查、飞行训练质量评估和航空机务保障等领域。
飞参数据种类基本囊括了飞行仿真模型解算过程中相关的全部数据。一种特定机型的飞参数据可能有二、三百项之多。而实际上,对于一个基本空中飞行起降过程的仿真结果验证,只需要少量的两类数据。以固定翼飞机为例:一是飞行员的基本操纵信息,包括驾驶杆的纵向位移(或升降舵舵面偏转角),驾驶杆横向位移(或副翼偏转角),脚蹬位移(或方向舵舵面偏转角),油门杆位移,收放起落架手柄位置(或起落架位置),收放襟翼电门位置(或襟翼位置),减速板电门位置(或减速板位置)等;二是飞机的基本状态信息:包括位置、高度、速度、升降速度、俯仰角、倾斜角等。
在使用飞参数据进行模型验证的时候,以飞参数据中的飞行员操纵信号替代接口信号,以此作为输入数据让飞行仿真模型解算,再将得到的仿真结果与飞参数据中的实际飞行状态信息进行分析比对,即能够客观地反映出二者之间的差异,并可以此作为评估和验证之判据。
2.2 验证系统的基本结构和组成
验证系统作为一种VV&A的自动化、可视化工具,其功能是对仿真测试结果进行定量的分析评估[5],系统以具备高速LAN接口的高性能便携计算机作为通用硬件,便于对各型飞行模拟器实施现场验证评估。验证系统的软件基本功能模拟和信息流程如图2所示。
图2 软件结构和信息流程图
2.2.1 数据预处理模块
通常情况下,飞参系统记录的源代码需要被转译为工程数据后方可用于分析研究,因此,验证飞行仿真模型所需的数据实际上是指工程数据。为实现验证目的,飞参数据还需进行预处理,主要包括两个步骤:首先,由于飞参数据的定义和模拟器仿真数据定义存在差异,飞参数据必须转换成与仿真数据一致的定义和格式;其次,飞参数据还必须经过插值计算以满足模拟器的解算周期需求。
2.2.2 网络通信模块
网络通信模块负责验证系统与模拟器主仿真计算机之间的数据交互。该模块将预处理之后的飞参数据发送往主仿真计算机,供仿真模型解算。并接收解算之后的飞行状态数据。为实现验证系统与模拟器之间的数据交互,模拟器的主仿真计算机软件需要增加与验证系统之间的网络通信功能,该功能应成为模拟器的必备标准功能之一。
2.2.3 结果比对和显示、打印模块
该模块的主要功能是实时描绘模拟器仿真结果曲线和对应的飞参数据中的飞行状态数据曲线。曲线应反映出包括飞机位置、高度、速度、升降速度、俯仰角、倾斜角等随时间变化的情况,可通过选择参数确定绘制的曲线种类,并可将显示情况进行打印输出。若条件满足,应对数据进行误差分析计算,给出特定阶段中的最大误差或平均误差。曲线显示效果如图3所示。
图3 曲线显示效果图
2.3 软件的编程方法及其特点
系统软件采用MATLAB与VC.Net联合编程的方法。一方面可直接调用MATLAB完善的数据分析和数学计算功能实现插值计算;另一方面则利用.NET功能全面、扩展性和通用性强的特点,实现对系统进程的管理和调度、界面的绘制以及网络通信等。MATLAB和VC.Net的联合编程可通过MATLAB Builder forVC.Net(也称为.NET Builder)实现,它可将MATLAB函数文件打包成.NET组件,提供给.NET程序员通过C#、VB等通用编程语言调用。
验证系统作为飞行模拟器校核和验证的一种标准化工具,具有良好的易用性和通用性。易用性体现在界面简洁明了、操作简单方便,能够直观地显示结果之间的差异,便于实施现场快速验证评估。通用性主要体现在两个方面:一是验证系统要具有与多种计算机操作系统进行数据交互的能力,现有的模拟器主仿真计算机可能使用VxWorks、Windows RTX、Linux或者Windows XP中的任意一种,验证系统必须考虑到与上述各种操作系统进行网络通信的差异,保证足够的兼容能力; 通用性的另一方面体现在验证系统具有多种飞行仿真模型的验证能力,可根据特定机型的飞行参数选择对应的模拟器实施验证,以尽可能降低硬件成本,提高开发效率。
3 难点、关键问题及解决办法
为确保验证结果的可信度和权威性,在验证系统的设计和开发过程中需注意以下几个难点和关键问题。
3.1 数据的定义和精度问题
确保飞参数据的定义和精度符合模型验证所需要求是建立验证可信度的第一关,否则“差之毫厘,谬以千里”。因此要早在数据转换之前,就需要对飞参数据和模型解算数据进行周密、精确的甄别和分析。首先确定数据定义的一致性,例如偏移量的起始零度位置定义是否相同,正负号的意义定义是否相同等等;其次确保数据精度满足解算要求,比如仿真模型解算数据的精度一般为16位,对应的飞参数据的精度也必须为16位。此外,还需要对用于验证的全部数据进行正确性鉴别,剔除明显跳变的错误数据。只有严格地控制输入数据的质量,对解算结果的误差分析才有实际意义。
3.2 插值算法
目前飞行模拟器的主仿真解算周期一般为10ms,而飞参系统的数据采样率最高为250 ms,必须对飞参数据进行插值计算以满足主仿真解算需求。
常见的插值算法有Lagrange插值、Hermite插值、分段线性插值、样条插值、Newton插值等。各种插值算法有各自的特点和适宜的用途。由于高次插值存在插值多项式不收敛的Runge现象,而通过插值点用折线连接起来逼近原曲线的分段线性插值算法则可避免Runge现象的发生。经过反复的比较试验表明,对飞参数据中飞机操纵信号的插值计算适于采用分段线性插值的方法。MATLAB提供了interp1函数进行分段线性插值,其调用格式为
即对一组节点(x,Y) 进行插值,计算插值点xi的函数值。x为节点向量值,Y为对应节点函数值。method指定插值使用的方法,默认为线性算法,其值可以是如下类型:
如果说分段线形插值能够在数学方法上进一步提高了数据的可信度,那么对飞行过程采取分段验证的办法则能最大限度地确保数据的精度。在一个简单的飞行过程中,飞机操纵数据的变化是连续、有限和较平滑的,一般会在即将进入下一个飞行阶段时发生较大的变化,如果我们按照飞行阶段对全部操纵数据进行划分后再实施分段验证,则可完全避免数据上的奇点出现,并可对飞机的各项性能作更为明确的深入评估。一般情况下,一个简单飞行过程可划分为以下几个阶段:
·起飞滑跑阶段
·上升阶段
·转弯阶段(包括一转弯、二转弯、三转弯和四转弯)
·平飞阶段
·下降阶段
·着陆滑跑阶段
按照上述阶段划分对飞参数据进行截取后,再对数据进行线性插值计算,即可测试飞行仿真模型的起飞、平飞、转弯、下降等各项性能。
3.3 实时性问题
实时性方面要注意解决两方面的问题,即界面显示和网络通信的实时性。
从系统软件的总体结构上看,采用指定CPU(或其内核)的多线程程序架构是保证实时性的一个大前提。当前多CPU或多核单CPU 已成为应用主流,也为多线程架构提供了硬件上的资源保障。验证程序可创建曲线描绘和数据接收两个主要的线程,并通过函数调用为线程分配CPU:
同时,选择一个高优先级、高精度的定时器也是系统实时性的重要保证。在硬件条件允许的情况下,可使用微秒级误差的QueryPerformanceFrequency()和QueryPerformanceCounter()函数作精确定时,其精度与CPU时钟频率相关,函数原型为:
使用上述函数进行精确定时的步骤如下:
1)首先调用QueryPerformanceFrequency()函数取得高精度运行计数器的频率f,单位是次/秒(n/s);
2)在需要定时的代码的两端分别调用QueryPerformanceCounter()以取得高精度运行计数器的数值n1、n2,两次数值的差值通过f换算成时间间隔,t=(n2-n1)/f,当t大于或等于定时时间长度时,启动定时器。
在保证网络通信实时性的同时,保证数据的可靠性同样重要,因此应采用具备校验能力的传输控制协议TCP方式。TCP的数据传输建立在正向认可与重传机制上,可避免数据的丢失。同时,TCP协议的数据段报头内包含了数据的校验和,可检验数据的正确性。
3.4 误差分析
设S为飞参数据,T为仿真解算结果,可进行如下误差分析计算:
最大绝对值误差:
新版国军标明确给出了飞行模拟器飞行性能的误差范围。比如,正常起飞/上升阶段飞行性能评估的主要内容是地面加速时间、最小离地速度和上升率等指标,依据新版国军标标准[6],允许公差为:
在各测试项目中, 除以上所述主要测试数据外,其它一些重要指标, 如高度、速度、俯仰角的时间历程曲线测试结果与飞机的飞参结果比较也应在允许的公差范围之内。
4 结束语
飞行仿真模型的可信度和逼真度直接决定了飞行模拟器的整体应用效益,而模型的可信度和逼真度验证必须采用客观、量化的手段以确保验证活动本身的权威性。本文在提出利用飞参数据验证仿真模型的基础上,设计和开发了一个功能较为完备的自动验模系统,有效解决了因为难以获取基准数据而导致的验模环节缺失的问题。
该系统在飞机工业部门设计的某型国产军机上进行了验证实验。结果表明,利用飞参数据验证飞行仿真模型不仅可行,而且实用高效。目前正准备在军内进一步推广应用。与此同时,国内的模拟器研制生产单位已经在逐步将飞参数据用于仿真模型的修改调整。由此可以预见,飞参验模系统将成为飞行模拟器的标准配置之一,也必将成为提高飞行仿真模型逼真度的助推器。
[1]贾荣珍,王行仁,林胜.飞行模拟器ATG软件系统研究[J].系统仿真学报,1995,7(1):1-4.
[2]贾荣珍,刘丽,王行仁,等.仿真系统的校核与验证的自测试软件[J].系统仿真学报,2000,12(6):617-620.
[3]王行仁.飞行实时仿真系统及技术[M].北京:北京航空航天大学出版社,1998.
[4]飞行事故调查程序和技术要求[S]. 北京:国防科学技术工业委员会,1996.
[5]贾荣珍,彭晓源,王行仁.飞行模拟器建模、验模和性能测试与评估[J].航空学报,1998,19(1):41-44.
[6]飞行模拟器通用规范[S]. 北京:国防科学技术工业委员会,1992.