APP下载

基于三维场景的飞行回放仿真系统研究

2012-11-30赵向领

计算机工程与设计 2012年4期
关键词:飞行数据视景经纬度

赵向领

(中国民航大学 空管学院,天津300300)

0 引 言

飞行数据记录器 (flight data recorder,FDR)、快速存取记录器 (quick access recorder,QAR)以及数字式记录器 (digital ACMS recorder,DAR)作为现代大中型民用飞机常用机载设备,记录了飞机各系统工作状况、飞行员操作以及发动机工作状态等机载数据。这些数据客观、全面反映了飞机的飞行状态,不仅是飞行性能监控、飞行技术检查、安全评估和飞机维护工作的重要数据参考[1],也是事故及事故征候调查、不安全事件分析的重要依据[2]。

目前,对机载数据的分析和研究主要是通过数据列表、二维曲线图以及数据表格等形式,操作和判断过程抽象,很难直观有效地把握复杂数据集各参数之间动态的内在关系以及其反应的复杂行为与状况[3]。而视景仿真技术的发展,为机载数据可视化提供了可能。当前美国SimAuthor公司生产的FlightViz[4]自誉为飞行数据分析与可视化的领跑者,以3D视觉效果重现飞行轨迹,但造价昂贵;中国民用航空局航空安全技术中心研发了基于交互式三维图形飞行仿真系统EasyFlight[5],主要用于重大事故和事故征候的飞行模拟再现和典型案例仿真制作,但在航空公司很少见其踪影。

远航通研发的QAR飞行数据三维回放产品[6],仅用于国航的一发失效应急起飞程序的辅助设计和教育课件开发。文献 [7]在FlightGear软件基础上进行飞行回放开发,但开放性软件的地形数据可信度以及机场及障碍物经纬度受到质疑。文献 [8]在Google Earth上进行飞行程序设计与模拟飞行开发,由于开发结果必须上传到国外服务器,保密性受到威胁,知识产权存在争议。

本文参考飞行训练仿真系统,设计了飞机飞行回放的仿真系统,解决了大规模数据实时显示的关键问题,在普通笔记本电脑上实现了三维场景中的飞行动态回放。该方法造价低廉,且回放流畅。

1 飞行回放原理

1.1 数据处理与驱动飞行

航班飞行后的机载数据经过破译处理后得到原始的飞行数据,从该数据中提取有关飞机经纬度位置、飞行高度、俯仰角、偏航角、滚转角、航迹角、偏流角、真空速、地速等飞机的位置、姿态、速度等信息,进行坐标转换与去噪处理获得飞行状态数据,之后利用飞行状态数据驱动飞机模型运动。基本过程如图1所示。

图1 驱动飞行原理

坐标转换是把经纬度坐标转换成为仿真中可用的直角坐标,以飞机某一特定定位点为坐标原点,X轴向东,Z轴向北,Y轴背离地心向上。由墨卡托投影的等角性质,可将等角航线转换为直线,提高显示的准确度和保真度,通过式 (1)实现。

其中

式中:(B,L)——任意点经纬度,(X,Z)——对应的直角坐标,(B0,L0)——坐标原点的经纬度,a、b、f、e、e′——地球椭球体的长半轴、短半轴、扁率、第一偏心率、第二偏心率,N——卯酉圈曲率半径。

由于飞行干扰与扰动、机载设备精度与数据采集模式的影响使得转换数据出现明显差错,甚至矛盾,如果不进行处理,在飞行回放中会出现不正常的振动和摆动,本文通过去噪处理和平滑性处理解决。终端区近地面飞行时,要考虑到飞机与地面之间的关系,要求飞机位置与地形位置匹配准确度高。考虑到飞机起飞着陆时必然在跑道上,此时高度数据为零或机场标高;飞机离地或即将着陆时,定位点也比较多,这些点都可以用来修正和校对飞行轨迹。

1.2 可见三维场景信息的确定

飞行回放仿真中飞行的场景必不可少,且飞行场景信息应当与飞机飞行的位置和姿态动态变化,因此要根据飞机位置和姿态确定可见的场景区域,在该区域内显示地形,建筑物等场景信息,从而实现在三维场景中进行动态回放。

2 系统结构

视景仿真技术在航空方面主要是应用于飞行训练仿真和飞行器驾驶模拟[9-11],飞行轨迹回放方面应用很少。本文参考飞行训练仿真系统,采用数据驱动式飞行可视化仿真技术[12]实现飞行回放,即按照时间顺序,对某次飞行的真实历史飞行状态数据从不同视角进行可视化仿真。

该飞行回放系统分为5个模块和3种数据 (如图2所示)。5个模块包括:机载数据的提取与转化模块,飞行运动仿真模块,视景驱动模块,综合显示与实体对象管理模块和安全分析与评估模块。3种数据有:机载数据,地形高程数据和三维实体模型。

图2 系统结构

机载数据的提取与转化用于从经过初步处理的机载数据中提取经纬度、航向、速度等重要信息,做经纬度修正、坐标转换、航迹计算、轨迹平滑处理、偏差消除等工作。

飞行运动仿真模块是通过外界输入设备或准备好时飞行数据驱动飞机再现真实飞行。显示飞机运动的位置、航向、姿态等。

视景驱动模块通过摄像机或飞机驾驶舱前窗来确定所能见到的场景,确定显示区域及其区域内部要显示场景信息。

综合显示与实体对象管理模块用于把可见的场景所需数据动态读入内存,根据景物与地形块的位置拓扑关系,把可见景物和地形显示出来,并把不可见的场景信息卸载,回收内存。

安全分析与评估报告模块在飞行过程中判断飞机与障碍物的相互关系,检查超障余度,检查飞行数据与参考值的偏离等相关信息,记录评判偏离是否在允许范围内,确定偏离较大的物理量。

机载数据是机载记录设备记录的,经过初步处理的飞行状态参数数据,本文采用的是QAR数据。

地形高程数据是机场周边的地形高度信息,用于真实再现机场及周边环境,建立自然障碍物。

三维实体模型是飞机、候机楼、塔台等三维模型和航路、进离场程序、障碍物评价面等虚拟实体模型。

为实现三维真实场景的飞行回放,需要对大规模地形数据需要恰当的处理,否则会影响动画显示效果。地形数据处理在于如何快速连续地动态显示地形高程信息,纹理信息以及其表面的附属物。

3 地形数据处理

3.1 地形数据的动态调入和渲染

机场终端区是飞行事故、事故征候的多发区,飞机的起飞与降落也是飞机性能保障的关键阶段,在这个阶段,对飞行员的飞行操作要求与爬升、巡航、下降相比要求较高。因此终端区的飞行回放与演练更具实际意义。

在三维场景中回放飞机在终端区的起降,逼真的机场及其周边建筑物、障碍物等场景信息必不可少,飞行回放的场景地形数据占整个程序数据处理的很大部分,高精度的地形场景不仅给人清晰、真实之感,而且可以更精确的飞行回放。由于计算机数据处理能力的有限性与广大地形数据的无限性矛盾,大规模的地理信息数据显示通常是飞行仿真和场景漫游的速度瓶颈,如果不恰当处理将会限制飞行回放的质量,这就要求设计分块地形场景的动态显示和处理[13-15]。

地形数据一般采用地形高程模型 (digital elevation model,DEM),把地形高程数据分成很多小块,按平面坐标形式编号。如图3所示,通过飞机所在位置P(X,Z)确定 所 需 地 形 块:ix= [X/WIDTH],iz= [Z/HEIGHT]。WIDTH,HEIGHT分别表示地形块的以像素为单位的宽度和高度,(ix,iz)为飞机当前所在地形块的索引坐标,及图上地形块①。调入该地形块①,并以其为中心调入周边相邻的8个地形块②、③、④、⑤、⑥、⑦、⑧、⑨,之后渲染,经过缓冲区再显示。

图3 确定地形块

飞行显示每刷新一次,判断一次飞机所在地形块,如果仍在原来地形块,则只把缓冲区中渲染好的场景显示,不再读取和渲染;如果飞机到了新的地形块,比如从①飞到了②,则全部卸载,然后以②为中心,读取②及其周边的8个地形块,渲染并显示,从而实现地形的动态更新。

3.2 高度确定地形数据精度层次

飞机爬升、巡航、下降阶段一般距地面比较高,低精度地形高程信息甚至地理平面数据即可满足视觉要求,但飞机在机场终端区运行时要考虑飞机相对于跑道、障碍物、相关飞行程序等的关系,必然要显示高清晰地形场景,因此,飞机的高度决定了地形数据的精度。

如图4所示,不同精度数据在同一屏幕上显示大小相同,而显示的视野大小不同。低精度数据是在高精度数据基础上人为降低数据精度,地形块大小不变,地形数据范围增大。本文调用高度精度地形数据的转换高度设为400m,800m和1500m这4个精度层次。

图4 确定精度层次

4 仿真实验

本文基于三维场景的飞机回放仿真在普通笔记本电脑上实现。运行配制为:Intel(R)Core (TM)2Duo,2.2GH,2GB 内 存,NIVIDIA GeForce GT240T 显 卡;Windows 7操作系统。底层三维引擎为OpenGL,软件开发平台为VC++6.0。三维模型建造工具3DMAX,纹理图像处理软件为Photoshop。

图5是拉萨机场09L跑道飞机起飞的飞行回放演示。地形高程数据来源于中国科学院科学数据库的SRTM数据服务系统,采用的是30m精度数据。SRTM以1经纬度大小为一块存储,本文切割成了可动态处理的128×128大小的地形块。在渲染地形数据时可用最高精度在原数据精度基础上扩大30倍,其它不同精度相应增大倍数,以实现1:1回放效果。机载数据为某航空公司开辟高原航线试飞时的真实飞行数据。纹理数据来源于Google Earth,跑道信息来源于机场AIP,飞机3DS模型尚未加纹理。

经演示,动画运行速度20帧以上,动画比较连贯,可以达到真实场景飞行回放的目的。

仿真采用了多层次真实纹理,动画可达到微软模拟飞行游戏的视觉效果,而国航用的远航通飞行引擎采用的是颜色纹理,且地理信息数据与飞机比例不搭配;FlightViz虽然用了真实纹理,纹理精度单一,近距离地貌效果显示模糊。该原型机把进离场程序及其保护区整合在了场景中,图4中黄色透明带即为RWY09L离场程序及保护区,FlightViz与EasyFlight仍然以辅助窗口显示航图形式显示进离场程序。此外,飞机模型还做有包围盒 (Bounding Box)和碰撞检测程序,在飞行回放中,如果飞机包围盒与障碍物、飞行程序保护区相关平面以及与其它飞机模型包围盒发生碰撞干涉时,会发出警告信息;而其它回放程序干涉问题都是在飞行过程结束后在二维图形中进行分析,使得事故征候很难在回放中辨识出来。

图5 飞行回放演示

5 结束语

本文主要完成了在虚拟现实场景中对飞机飞行轨迹的回放;给出了基于三维场景的飞行回放仿真系统的系统结构;解决了高分辨率大规模地形数据实时显示问题。

该系统实现了多视角复杂地形场景的飞行回放仿真,飞机状态完全根据真实机载数据,能够有效反应飞行的状态,可以用于辅助飞行品质检测以及事后事故调查。该系统应用开放地形数据和3DS飞机模型,而且地形数据块按经纬度排布,只需稍微处理就可以更换其它所需机场数据,扩展性强。此外,如果把机载数据变成数据化的飞行程序,就可对新设计的飞行程序进行试飞校验。

[1]GENG Hong,JIE Jun.Fuel flow regression model of aircraft cruise based on QAR data[J].Aeroengine,2008 34 (4):46-50 (in Chinese).[耿宏,揭俊.基于QAR数据的飞行巡航段燃油流量回归模型 [J].航空发动机,2008,34 (4):46-50.]

[2]LI Chunxiang.Research on the visualization technology of flight data[J].China Safety Science Journal,2009,19 (1):166-171(in Chinese).[李春香.飞行数据可视化技术研究 [J].中国安全科学学报,2009,19 (1):166-171.]

[3]WANG Wei,LIU Shaohua,GAO Hui,et al.Design and implementation of virtual flight reappearance system driven by flight data[J].Journal of System Simulation,2007,19 (9):2000-2002(in Chinese).[王炜,刘少华,高辉,等.飞参驱动的虚拟飞行再现系统设计与实现 [J].系统仿真学报,2007,19 (9):2000-2002.]

[4]SimAuthor.FlightViz-flight data animation software [EB/OL].[2011-05-12].http://www.simauthor.com/flightviz.html.

[5]China Academy of Civil Aviation Science and Technology.3D flight simulation system-easyflight [EB/OL].[2011-03-21].http://www.castc.org.cn/kjcg/hkaqlycg/2006yq1/201006/t20100624_537.html(in Chinese). [中国民航科学技术研究院.三维飞行仿真系统-EasyFlight [EB/OL]. [2011-03-21].http://www.castc.org.cn/kjcg/hkaqlycg/2006yq1/201006/t20100624_537.html.]

[6]Aero-com.QAR flight data 3Dreplay production solution [EB/ON].[2011-03-20].http://www.aero-com.cn/aero-com/Default.aspx?tabid=163(in Chinese).[远航通.QAR飞行数据三维回放产品方案 [EB/OL].[2011-03-20].http://www.aero-com.cn/aero-com/Default.aspx?tabid=163.]

[7]GUO Weigang,HAN Wei,WANG Xiuxia.Visual simulation system of flight performance based on Matlab/Flightgear [J].Experimental Technology and Management,2010,27 (10):110-112 (in Chinese). [卫刚,韩维,王秀霞.基于 Matlab/Flightgear飞机飞行性能的可视化仿真系统 [J].实验技术与管理,2010,27 (10):110-112.]

[8]TANG Yong,LIU Changzhong,WU Honggang.3Dflight track and 6-DOF flight simulation based on Google Earth [J].Journal of Computer Applications,2009,29 (12):3385-3387(in Chinese).[唐勇,刘昌忠,吴宏刚.基于Google Earth的三维航迹监视及六自由度飞行仿真 [J].计算机应用,2009,29 (12):3385-3387.]

[9]JIAN Ying,YE Zhen,GUO Jie.A visual flight simulation platform for UAVs [J].Computer Engineering,2005,31(14):190-192 (in Chinese).[贝英,叶榛,郭杰.无人机飞行视景仿真平台的设计与实现 [J].计算机工程,2005,31(14):190-192.]

[10]GUO Pengsong,YIN Hong,YAN Feng,et al.Implementation of plane’s walkthrough system of virtual scene based on OpenGL [J].Computer Engineering and Design,2005,26(7):1938-1941 (in Chinese). [郭蓬松,殷宏,晏峰,等.基于OpenGL的飞机虚拟场景漫游系统的实现 [J].计算机工程与设计,2005,26 (7):1938-1941.]

[11]XU Yongbo,WANG Xingren.Study on image jittering in visual system of networked flight simulators [J].Acta Simulata Systematica Sinica,2005,17 (2):414-417 (in Chinese).[徐勇波,王行仁,贾荣珍.飞行仿真器联网仿真视景图像抖动研究[J].系统仿真学报,2005,17 (2):414-417.]

[12]WU Jing,WU Xiaoyan,ZHOU Yanyan.Research on design and realization of steering flight visual simulation system [C].Asia Simulation Conference—7th Intl Conf on Sys Simulation and Scientific Computing,2008:1350-1353.

[13]ZHAO Xiangling, WEI Zhiqiang,XIE Chunsheng.Rapid generating method for terrain scene in flight simulation [J].Journal of Civil Aviation University of China,2007:30-33 (in Chinese).[赵向领,魏志强,谢春生.飞行仿真视景中的地形快速生成算法 [J].中国民航大学学报,2007:30-33.]

[14]XIE Jianbin,LIU Tong,ZHANG Zhaowen,et al.A new method for dynamic-loading large terrain dataset visualization in flight simulation [C].Proc of 2nd Workshop on Digital Media and its Application in Museum and Heritage,2007:218-222.

[15]XIAO Yanhu,SUN Bo,ZHAO Huiqin,et al.Visual simulation system for flight simulation based on OSG [C].International Conference on Audio Language and Image Processing Proceedings,2010:562-566.

猜你喜欢

飞行数据视景经纬度
虚拟现实技术在游戏设计中的应用及研究
基于经纬度范围的多点任务打包算法
GARMIN1000系统维修平台搭建预研究
浅谈飞行数据集中处理流程管理
自制中学实验操作型经纬测量仪
澳洲位移大,需调经纬度
基于广域信息管理的飞行数据服务设计与实现
全回转拖轮运动建模与视景仿真
基于Vortex与Vega Prime的车辆模拟器动力学与视景仿真
基于STK的卫星实时视景仿真系统设计