基于P3D 的飞机飞行航迹数据回放演示程序设计
摘要:在传统的飞机飞控系统教学中,通常以曲线形式显示飞机的姿态、舵面等数据,直观性不强,学生的
学习难度较大,针对这一问题,利用虚拟仿真技术,基于P3D 平台,设计了飞机飞行航迹数据回放演示程序,能
够直观地将飞机的飞行姿态、舵面等数据以真实形象的三维场景表现出来,降低了学生的抽象思维难度,提高
了学习效率。
关键词:P3D ;飞行航迹;数据回放;虚拟仿真
中图分类号:G642.0文献标志码:A 文章编号:1674-9324(2020)05-0086-03
收稿日期:2019-03-28
基金项目:中国民航大学实验技术创新基金项目(2017SYCX28)
通讯作者:马腾达(1988-),男,硕士,讲师,主要从事飞机航空电子系统方面的教学与科研工作。
一、引言在传统的飞机飞控系统教学中,通常采用Matlab 等软件对飞行控制律进行仿真,以曲线形式显示飞机的姿态、舵面等数据,这种演示方式直观性不强,学生的学习难度较大。在现代教学中,虚拟仿真作为一种直观有效的教学手段,能够使用更少的资金投入,使学生们获得更加真实的教学体验[1]。文献[2-4]分别基于不同的虚拟平台对航迹回放展开了研究。本项目利用虚拟仿真技术,基于P3D 平台,设计了飞机飞行航迹
数据回放演示程序。本程序能够在P3D 虚拟场景中将
飞行航迹数据利用虚拟飞机进行展示,即时生成飞机
运动轨迹,反映飞机的飞行特性,能够将教学中需要
说明的各种概念以真实形象的三维场景表现出来,大
大降低了学生的抽象思维难度,增加了学生的学习兴趣。二、P3D 平台简介及其数据接口开发P3D (Prepar3D )是由洛克希德·马丁公司推出的一款飞行模拟软件,其目标是针对教育、培训机构以及军方定制的模拟软件。P3D 提供了SDK ,能够进行二次开发,将P3D 内的数据与外部进行交互,P3D 虚拟场景如图1所示。为了控制P3D 平台中虚拟飞机的运动状态,采用Qt 软件平台,开发了与P3D 平台的
数据接口,并封装为数据控制类。数据控制类的结构如图2所示。类中提供了initSend()、endSend()和SendCommand()几种函数。其中initSend()函数能够实现连接P3D 平台的功能,end-Send()函数能够实现断开P3D 的功能,而SendCommand 函数能够将控制命令传输至P3D 中,进而驱动虚拟飞机按照命令进行运动。
在基本的飞行航迹数据回放中,需要用到姿态和
位置两种信息,主要包括高度、空速、俯仰角、横滚角、航向角、经度、纬度等参数,为了更好地体现飞行效果,还包括对起落架、副翼、升降舵、方向舵等参数的控制。数据控制类中的SendCommand()函数,能够对这些参数进行控制,驱动虚拟飞机按照指定参数运动。三、飞行航迹数据回放演示程序设计
1.总体结构。飞行航迹数据回放演示程序是在Qt
开发环境下进行设计的。Qt 是一个跨平台应用程序和
UI 开发框架[5,6],程序总体结构如图3所示。
(1)P3D 驱动模块。首先要将设计的程序连接到
P3D 模拟飞行系统,采用数据控制类实现该功能。在程
序界面上设置两个按钮,分别为“连接P3D ”“断开
P3D ”。为了判断程序是否连接成功,在界面上有一个
马腾达
(中国民航大学电子信息与自动化学院,天津300300)
【专题研讨】
图1P3D 虚拟场
景图2数据控制类的结
. All Rights Reserved.
连接信号指示灯。在与P3D 连接成功后,用户选择飞行
航迹数据文件,从文件中得到有效的飞行航迹数据
后,在后台进行数据处理程序,对数据进行分析读取,
并通过数据控制类中的SendCommand ()函数传输到
P3D 中。
(2)回放控制模块。完成飞机的飞行回放过程需
要知道飞机的位置和姿态信息。获取飞行航迹数据后,以一定频率输出数据,飞机即可再现飞行过程,同
时控制飞机的舵面进行显示。在程序中,对飞行回放有开始、暂停、快进、慢放、停止、重新回放六种功能。要实现飞行数据的定时传输,采用定时器对传输周期进行设定,而快进慢放功能的实现也通过定
时器进行设置。当定时器的频率变快,回放过程就将加快,当定时器的频率减慢,回放过程就变慢。在对回放进行开始暂停功能时,则是对定时器调用启动和停止函数。(3)航迹显示模块。当飞机在飞行航迹回放过程中,用户需要观察飞机当前的飞行状态。航迹显示模块将飞机的位置、姿态、舵面信息通过列表的方式进行显示。为了能够完整地观察整个飞行过程,航迹显示模块还具有曲线显示功能,以曲线图表的形式展示高度、速度、姿态、舵面等信息。(4)进度条模块。为了方便用户掌握飞行回放进度,在程序界面中设计一个进度条。飞行进度条在读取一次飞行数据后前进一小格,它的最大值即为飞行数据的总组数。拖动进度条会将读取数据的组值设定为释放后进度条的值,从而实现回放时的时间跳跃功
能。
(5)飞行计时模块。程序界面中有一计时器,记录
了飞行回放的累计时间。计时器每读取一次飞行数据
就进行一次计时,以实现对飞行时间的记录。因为是
对数据组的计算得出的飞行时间,所以通过进度条改
变回放时间点时,不会影响飞行累计时间的计算。
2.工作流程。飞行航迹数据回放演示程序的工作
流程如图4所示。实现飞行航迹数据回放功能需要同
时运行P3D 模拟飞行软件。程序之间的交互调用数据
控制类中的相关函数,实现控制P3D 中虚拟飞机的运动状态。
首先与P3D 进行连接,然后判断程序与P3D 连接是否成功,连接成功界面右端的指示灯会由红变为绿,然后选择飞行航迹数据。对数据进行解析后,开始回放,控制P3D 平台中的虚拟飞机按飞行航迹数据回放演示飞行过程。如果P3D 未连接成功或未选择文件就点击开始回放按钮,程序将弹出窗口提示。在开始回放后,有暂停、快进、慢放、重新开始的功能操作,
方便对飞行回放的观察。停止回放会回到未选择文件的状态,并初始化界面所有部件。在回放结束时,会弹出窗口提示回放完成,程序回到初始选择文件时的状态。界面中还有实时显示飞行参数的表格以及曲线图表,方便对飞行情况进行分析。界面的最下方的进度条可查看飞行回放的进度情况。
飞机黑匣子能记录多项关键数据四、程序运行效果
选取某一飞行航迹,使用设计的飞机飞行航迹数据回放演示程序打开,软件运行效果如图5所示。设计的程序能够读取飞行航迹数据,并将整个飞图3程序的总体结
图4程序运行的总体流
程图5软件运行效
. All Rights Reserved.
行航迹以曲线的形式进行演示,能够驱动P3D平台的虚拟飞机按照指定的方式进行运动,完成了设计的功能。
五、结语
开发的飞机飞行航迹数据回放演示程序,除了能够应用于教学,也可作为虚拟飞机运动学仿真测试平台,用于飞行操纵系统、自动飞行控制系统设计等项目的开发,具有较好的应用前景。
参考文献:
[1]王娟,樊智勇,段照斌,曾佩佩.基于虚拟仿真的飞机系统教学资源建设方法探索[J].中国教育信息化,2017,(13):54-58.[2]赵向领.基于三维场景的飞行回放仿真系统研究[J].计算计,2012,33(04):1518-1521.
[3]魏麟,许志,马玉猛.通用航空飞行数据可视化研究[J].中国民用航空,2014,(10):92,101-102.
[4]Y Tang,H Wu.Real-time3D flight track and flight simulation based on Google Earth[J].International Journal of Digital Content Technology&Its Applications,2012,6(19):385-392.
[5]贾杰,刘智腾.基于Qt的小型无人机地面站软件设计与实现[J].计算机与现代化,2015,(07):94-97.
[6]霍亚飞.Qt Creator快速入门[M].北京:北京航空航天大学出版社,2017.
Design of Aircraft Flight Track Data Playback Demonstration Program Based on P3D
MA Teng-da
(College of Electronic Information and Automation,Civil Aviation University of China,Tianjin300300,China) Abstract:In the traditional teaching of aircraft flight control system,the data
of aircraft attitude and control surface were usually displayed in the form of curve,which is not intuitive and difficult for students to learn.To solve this
problem,an aircraft flight track data playback demonstrative program was designed,based on the platform of P3D and
virtual simulation technology,which can intuitively display the data of aircraft flight attitude and control surface in3D
scene.It reduces the difficulty of students'abstract thinking and improves learning efficiency.
Key words:P3D;flight track;data playback;virtual simulation
. All Rights Reserved.