一种基于FlightGear软件的通用飞机飞行数据仿真再现方法
【专利摘要】一种基于FlightGear软件的通用飞机飞行数据仿真再现方法,能够从数据文件中读取飞行数据,在计算机显示器上显示飞机驾驶舱设备工作状态、航图和飞行轨迹。包括通用飞机飞行数据通信协议配置方法、机场和跑道数据添加方法、导航数据添加方法。通过编写XML文件实现通用飞机飞行数据与FlightGear软件的数据通信;向机场检索文件和机场数据文件添加机场和跑道数据,并增加跑道头文件实现机场和跑道的添加;向导航数据文件中按规定格式添加数据实现导航设施的添加。本实现方法成本低,可用于通用航空飞行品质评估、飞行训练的数据再现等。
【专利说明】
-种基于FI ightGear软件的通用飞机飞行数据仿真再现 方法
技术领域
[0001] 本发明涉及计算机仿真技术领域,特别涉及通用飞机飞行数据的仿真再现。
【背景技术】
[0002] 国外对飞行数据采集及分析进行了大量的研究并有较为成熟的产品问世,运输飞 机运用QAR(快速存取记录器)等设备已实现了飞行品质监控,但设备和相关软件价格昂 贵;通用飞机大部分是小型飞机,由于成本等原因并不具有运输飞机所采用的DFDAU(数字 飞行数据采集组件)、QAR等设备,对飞行数据的采集和应用较少,飞行及维护主要依靠人 工记录的数据进行,实时监控及飞行品质监控很难进行。随着通用航空的发展,国内购置的 部分通用飞机已开始选装低成本的飞行数据采集设备,对通用航空飞行数据的分析和利用 已变得越来越重要。飞行数据的仿真再现在飞行品质监控、飞行事故调查等方面具有重要 意义,因此有必要开发一种低成本的仿真再现系统,以满足通用飞机飞行数据综合利用的 需要。
【发明内容】
[0003] 本发明针对通用飞机低成本的需求,利用开源免费软件,公开了一种基于 FlightGear软件的通用飞机飞行数据仿真再现方法,该方法能够从数据文件中读取飞行数 据,在计算机显示器上显示飞机驾驶舱设备工作状态、航图和飞行轨迹。本实现方法成本 低,可用于通用飞机飞行品质评估、飞行训练的数据再现等。内容包括通用飞机飞行数据通 信协议配置方法、机场和跑道数据添加方法、导航数据添加方法。
[0004] 1.飞行数据通信协议配置方法
[0005] 应用XML文档编写FI ightGear软件的通信协议,标准配置格式如下:
[0006] <?xml version=M1.0"?> <!-- xml 版本号为 1.0--> <PropertyList> <!--属性列表一 > 〈generic〉 <!--协议类型为 "generic" --> <input> <!-?数据方向:输入--> <line_separator>newline</line_separator> <!--行分隔符:新的行--> <var_separator>,</var_separator> <!--变量分隔符:逗号(,)-->
[0007] <chunk> <!--数据块开始--> <name>latitude-deg</name> <!--数据名称:讳度--> <type>double</type> <!--数据类型:双精度--> <node>/position/latitude-deg</node> <!--数据节点:/position/latitude-deg --> </chunk> <!--数据块结束 <chunk> <!--数据块开始--> <name>longitude-deg</name> <!--数据名称:经度--> <type>double</type> <!--数据类型:双精度 <node>/position/longitude-deg</node> <!--数据节点:/position/longitude-deg </chunk> <!--数据块结束 ...... <!--其他数据块--> </input> <!--输入数据结束 〈/generic〉 <!-- generic 协议结束--> </PropertyList> <!--属性列表结束-->
[0008] 以上配置中,<!-......- >内表示备注内容。其中,配置文件采用层次树结构, PropertyList是根元素,它有一个子元素generic,其自身有多个子元素,如:纬度、经度、 高度等。其他变量定义方式同上,内容从< chunk >开始,以< /chunk >结束。
[0009] 2?机场和跑道数据添加方法
[0010] (1)在"\Scenery\Airports"目录下,向机场检索文件"index, txt"中添加机场代 码及机场参考点坐标,其格式为"机场四字代码I经度I纬度"。
[0011] (2)在"\data\Airports"目录下,将机场数据文件"apt. dat. gz"解压,得到"apt-flat" 文件; 根据航图等数据资料,将跑道数据添加到 "apt. dat" 文件中 ,内容主要包括两 项:①机场信息:数据类别代码、机场标高、有/无塔台、有/无默认建筑、机场四字代码、机 场名称;②跑道信息:数据类别代码、跑道中心点纬度、经度、方位角、跑道长度、跑道入口 内移长度/反向跑道入口内移长度、停止道长度/反向停止道长度、跑道宽度等。也可以利 用第三方软件(如:TaxiDraw),生成跑道数据,将得到的数据复制并粘贴到"apt.dat"文件 中。数据添加完成后,将"apt. dat"重新压缩为"apt. dat. gz"。
[0012] (3)在"\scenery\Airports"目录下,增加子目录和跑道头文件。文件所处子目录 按机场四字代码划分,文件采用XML格式,文件名为"机场四字代码.threshold, xml ",添加 内容包括:跑道的经度、纬度、跑道号、跑道方位角、跑道宽度,停止道长度。
[0013] 3?导航数据添加方法
[0014] 在"data\Navaids"目录下,将导航数据文件"nav. dat. gz"解压,得到"nav. dat文 件,在其中添加导航设施相关数据,内容包括:导航设施类别代码(数字代码)、纬度、经度、 标高、导航频率(单位:l〇KHz)、导航设施代码(字母代码)、导航设施名称、导航设施类别 (英文缩写)。在导航设施类别代码中,"2"表示NDB(无方向性信标),"3"表示V0R(甚高 频全向信标),"4"表示ILS(仪表着陆系统),"5"表示LOC(航向信标),"6"表示GS (下滑 信标),"7"表示0M(外指点标),"8"表示丽(中指点标),"9"表示IM(内指点标)," 12" 表示DME-ILS或V0R-DME," 13"表示NDB-DME或TACAN-DME。数据添加完成后,再将"nav. dat" 重新压缩为 "nav. dat. gz"。
【附图说明】
[0015] 图1是实现本发明的结构示意图。
【具体实施方式】
[0016] 下面结合附图对本发明的实施作进一步说明。
[0017] 在图1中,将通用飞机飞行数据导入计算机中,按需转换为逗号分隔符文件格式 (".csv"格式),通过XML文档对FlightGear软件进行通信协议配置,以实现飞机驾驶舱 大部分仪表的正常显示(导航仪表除外);向机场数据包、导航数据包以及相关文档中添加 通用飞机执行飞行任务时用到的机场和导航数据,以实现在航图中正确显示导航信息,并 在驾驶舱导航仪表中进行正常显示。
[0018] 1.飞行数据通信协议配置方法
[0019] 应用XML文档编写FlightGear软件的通信协议,标准配置格式如下:
[0020] <?xml version="1.0"?> <!--xml 版本号为 1.0_-> <PropertyList> <!--属性列表--> <generic> <!--协议类型为 "generic" --> <input> <!--数据方向:输入--> <line_separator>newline</line_separator> <!--行分隔符:新的行--> <var_separator>,</var_separator> <!--变量分隔符:逗号(,)--> <chunk> <!--数据块开始--> <name>latitude-deg</name> <!--数据名称:炜度
[0021] <type>double</type> <!--数据类型:双精度 <node>/position/latitude-deg</node> <!--数据节点:/position/latitude-deg --> </chunk> <!--数据块结束--> <chunk> <!--数据块开始--> <name>longitude-deg</name> <!--数据名称:经度 <type>double</type> <!--数据类型:双精度--> <node>/position/longitude-deg</node> <!--数据节点:/position/longitude-deg --> </chunk> <!--数据块结束--> ...... <!--其他数据块--> </input> <!--输入数据结束 〈/generic〉 <!-- generic 协议结束--> </PropertyList> <!--属性列表结束-->
[0022] 以塞斯纳172飞机为例,按以上格式编写数据通信协议配置文件。为减少篇幅,塞 斯纳172飞机的XML通信协议配置文件中用到的飞行数据用表1列出。
[0023] 表1 XML通信协议配置文件中用到的飞行数据
[0024]
[0026] 2.机场和跑道数据添加方法
[0027] (1) "\Scenery\Airports"目录下,向机场检索文件"index, txt"中添加机场代 码及机场参考点坐标,其格式为"机场四字代码I经度I纬度"。如:遂宁机场添加内容为 "ZUSN|105. 601389|30. 466667"。
[0028] (2)在"\data\Airports"目录下,将机场数据文件"apt. dat. gz"解压,得到"apt-flat" 文件; 根据航图等数据资料,将跑道数据添加到 "apt. dat" 文件中 ,内容主要包括两 项:①机场信息:数据类别代码、机场标高、有/无塔台、有/无默认建筑、机场四字代码、机 场名称;②跑道信息:数据类别代码、跑道中心点纬度、经度、方位角、跑道长度、跑道入口 内移长度/反向跑道入口内移长度、停止道长度/反向停止道长度、跑道宽度等。也可以 利用第三方软件(如:TaxiDraw),生成跑道数据,将得到的数据复制并粘贴到"apt.dat" 文件中。如:遂宁机场跑道,可向"apt. dat"文件中添加如下两行代码:"1 908 1 1 ZUSN Sui Ning" 和 "10 30.471339 105.611107 xxx 123.000 3937 0000.0000 0000.0000 122 234234 01 1 1 0.25 0 0300.0300"。数据添加完成后,将 "apt. dat" 重新压缩为 "apt. dat. gz,'。
[0029] (3)在"\scenery\Airports"目录下,增加子目录和跑道头文件。文件所处子目 录按机场四字代码划分,文件采用XML格式,文件名为"机场四字代码.threshold, xml ", 添加内容包括:跑道的经度、纬度、跑道号、跑道方位角、跑道宽度,停止道长度。如:遂宁机 场 12/30 号跑道,文件目录为 "\scenery\Airports\Z\U\S",文件名为 "ZUSN. threshold. xml ",添加的内容为:
[0030] <?xml version="1.0"?> <!--xml 版本号为 1.0--> <PropertyList> <!--属性列表--> <runway> <!--跑道--> 〈threshold〉 <!--跑道头--> <lon>105.605959</lon> <!--跑道头经度--> <lat>30.474318</lat> <!--跑道头纬度--> <rwy>12</rwy> <!--跑道号--> <hdg-deg> 123.00</hdg-deg> <!--跑道方位角:123.00 度--> <di spl-m> 122</ displ-m> <!--跑道宽度--> <stopw-m>0</stopw-m> <!--跑道停止道长度--> 〈/threshold〉 <!--跑道头结束--> 〈threshold〉 <!--跑道头--> <lon>105.616276</lon> <!--跑道头经度--> <lat>30.468369</lat> <!--跑道头讳度--> <rwy>30</rwy> <!--跑道号--> <hdg-deg>303.00</hdg-deg> <!--跑道方位角:303.00 度--> <displ-m> 122</displ-m> <!--跑道宽度--> <stopw-m>0</stopw-m> <!--跑道停止道长度--> </threshold> <!--跑道头结束--> </runway> <!--跑道结束--> </PropertyList> <!--属性列表结束-->
[0031] 附加说明:在相应的地图网格中必须含有"机场名.btg"文件(".btg"文件可 借助第三方软件进行制作),否则在FlightGear软件中选取机场时见不到相应的机场。 其中,地图网格划分方法为:经度每度4格,纬度每度8格。例如,遂宁机场E105. 601389 N30. 466667,其所处网格编号为"4677146",在"4677146. stg"文件中,应包含如下内容: "OBJECT ZUSN. btg",并且"ZUSN. btg" 与 "4677146. stg" 在相同目录下。
[0032] 当不需要进行机场的三维地形显示,而仅仅进行航图显示时,可以复制其他机场 的btg"文件通过改名来代替,以减少工作量。
[0033] 3.导航数据添加方法
[0034] 在"data\Navaids"目录下,将导航数据文件"nav. dat. gz"解压,得到"nav. dat" 文件,在其中添加导航设施相关数据,内容包括:导航设施类别代码(数字代码)、纬度、经 度、标高、导航频率(单位:l〇KHz)、导航设施代码(字母代码)、导航设施名称、导航设施类 别(英文缩写)。在导航设施类别代码中,"2"表示NDB(无方向性信标),"3"表示VOR(甚 高频全向信标),"4"表示ILS(仪表着陆系统),"5"表示LOC(航向信标),"6"表示GS(下 滑信标),"7"表示0M(外指点标),"8"表示丽(中指点标),"9"表示頂(内指点标),"12" 表示 DME-ILS 或 VOR-DME," 13" 表示 NDB-DME 或 TACAN-DME。如:遂宁机场 VOR-DME 台,添 加内容为如下两行代码:"330. 46741600 105.61252200 919 11160 130 0?0 SUN SUINING VOR-DME"和"1230.46741600 105.61252200 919 11160 130 0?0 SUN SUINING VOR-DME DME"。数据添加完成后,再将"nav. dat"重新压缩为"nav. dat. gz"。
【主权项】
1. 一种基于FlightGear软件的通用飞机飞行数据仿真再现方法,其特征在于能够从 数据文件中读取飞行数据,在计算机显示器上显示飞机驾驶舱设备工作状态、航图和飞行 轨迹。2. 根据权利要求1所述的一种基于FlightGear软件的通用飞机飞行数据仿真再现方 法,包括飞行数据通信协议配置方法。3. 根据权利要求1所述的一种基于FlightGear软件的通用飞机飞行数据仿真再现方 法,包括机场和跑道数据添加方法。4. 根据权利要求1所述的一种基于FlightGear软件的通用飞机飞行数据仿真再现方 法,包括导航数据添加方法。
【文档编号】G06F17/50GK105893642SQ201410455791
【公开日】2016年8月24日
【申请日】2014年9月10日
【发明人】魏麟, 彭卫东, 邹强, 胡焱, 王宇, 包勇, 刘晔璐, 许志, 吴鹏, 谢果
【申请人】中国民用航空飞行学院