SkyEye:针对飞行模拟器的仿真解决方案
01
飞行模拟器简介
飞行模拟器是一种由人工打造,能够尽可能真实地还原飞机飞行及空中环境的模拟系统,一般用于飞行员培训、飞机设计等工作。飞行模拟器能够模拟如何控制飞机飞行、模拟飞机应用系统的反应,还可模拟一些可能会对飞机系统造成影响的外部条件,如空气密度、乱流、风切变、云、降水等外部因素。
飞行模拟器的历史最早可追溯至上世纪初,最初只是为了降低没有飞行经验的新人的飞行事故率。
▲1910年,在法国指挥官克洛卢斯和拉丰以及克拉维纳德中尉的倡议下,第一架用于军用飞机的地面训练机诞生了。上图便是由Antoinette公司打造的“Tonneau Antoinette”(安托瓦内特桶),可以说是现代飞行模拟器的前身。
在经历著名的“林克训练机(Link Trainer)”“天文导航教练机(Celestial Navigation Trainer)”等多次迭代后,1940年,人们开始使用类比式电脑(Analog Computer)来计算飞行公式,第一套电子飞行模拟器也由此诞生。1960年代,使用数码电脑来模拟飞行开始热门。
时至今日,飞行模拟器已被广泛应用于航空工业的设计与研发中,飞行员训练、飞机的设计和开发、对飞机特性和控制处理质量管理的研究都离不开飞行模拟器的支持。
飞行模拟器常用途径有:
1.辅助飞机硬件的研制和试验。使用数据激励技术对真实硬件部件注入人工生成或在真实物理环境中采集的信号(激励信号)以使其动作,验证飞机硬件研制的正确性和完整性。
2. 辅助飞机控制系统的研制和试验。在飞机系统的开发阶段,利用飞行模拟器对液压系统、电气系统和飞行控制系统做全面的仿真模拟,可以有效帮助研发人员在模拟环境中研制和实验飞机控制系统。
3. 辅助飞机软件的研制和试验。对于特定飞机控制软件的开发而言,使用飞行模拟器的模拟技术进行研制和试验比直接在实际飞行中的飞机上操作要安全得多,可以更好地帮助研发人员研制和试验特定的飞机控制软件。
4. 辅助飞行教练及飞行员进行教学和训练。飞行模拟器可以尽可能地还原真实飞行体验,使飞行员更全面地体验飞机操作和飞行状态。
02
现代飞行模拟器的构成
用来训练飞行员的飞行模拟器有着众多种类,小到可以单独模拟各种飞机控制系统的部分功能训练器(Part-Task Trainer, PTT),以及专门用来练习驾驶舱操作与驾驶舱仪表检查的驾驶舱程序训练器(Cockpit Procedures Trainer, CPT),大到功能、结构最复杂的全功能飞行模拟器(Full Flight Simulator, FFS)。
目前,较高等级的全功能飞行模拟器中模拟器姿态控制系统可做出具有6个自由度的全方位运动控制,同时也有广角高仿真度的视觉系统来模拟飞机窗外的景象,其中还有高仿真的驾驶舱与视觉系统。
全功能飞行模拟器的座舱装在有6个自由度支撑的运动平台上,在模拟器主控电脑的控制下可以做出3种旋转运动与3种线性运动。
▲波音F/A-18超级大黄蜂喷气式飞机飞行模拟器
飞行模拟器被分为1到7级的飞行训练器(Flight Training Device, FTD)或是A到D级的全功能飞行模拟器。最高等级、功能最强的是D等级全功能飞行模拟器,可用于资深飞行员从一种机型换到另一种类似的机型的零飞行时数转换,避免飞行员重复累积飞行时数。
1.FAA FFS A级:至少需要三个自由度的运动系统。
2. FAA FFS B级:需要三轴运动及比 A 级更真实的空气动力学模型。
3. FAA FFS C级:需要具备完整的六个自由度的运动平台以及一个最低75度水平可视角度的视觉系统。
4. FAA FFS D级:目前可获得的最高级别的 FFS 资格。视觉系统必须具有至少150度的水平可视角度及远焦显示,驾驶舱内需要逼真的声音模拟及一些特定运动视觉效果。
能够实现D等级的全功能飞行模拟机势必要实现绝对真实的仿真效果,最好是能直接运行真实飞机目标码,需要配合上位机软件注入真实物理仿真数据。这就需要高安全、高可靠的仿真软件的支持。
03
SkyEye飞行模拟器仿真解决方案
由迪捷软件自主研发的天目全数字实时仿真软件SkyEye,可通过仿真构建与目标机相同的真实物理运行环境,使飞机目标码程序直接运行在仿真目标机环境中,还可通过内置的GPU仿真模块将飞机目标码程序的OpenGL渲染指令直接呈现于飞行模拟器系统中,提供完整的飞行模拟器仿真解决方案。
SkyEye主要通过半虚拟化形式来仿真GPU,主要以提供OpenGL的API运行环境并转译到宿主机上执行的方式实现,其本质是调动了宿主机的GPU能力。具体由三部分组成,编码器(encoder)、通道(pipe)、解码器(decoder)。编码器参与目标机程序编译,主要作用是给目标机程序提供OpenGL运行环境,同时对OpenGL相关的API及参数进行编码;通过捕捉编码数据,以TCP/UDP等方式,发送给解码器做解码执行。
▲OpenGL仿真框架图
采用SkyEye飞行模拟器仿真解决方案不仅能够解决由于软件移植、环境差异导致的模拟失真问题,达到飞行模拟器的真实模拟效果,还可尽量减少移植带来的工作量,实现高效率、高质量的飞行模拟器仿真工作。