說明:
本文是北京航空航天大學 蓋玉杰 碩士的2015年的畢業(yè)論文,經許可在公眾號發(fā)表。本文著作權歸作者蓋玉杰先生,如需轉載請聯系本站或作者本人。
該項目是與民航研究院一同開展,對國內電子飛行包的研究發(fā)展起了重要的補充,但很遺憾的是目前該項目已經中止。
基于Android平臺的
電子飛行包(EFB)
Design and Implementation of Electronic Flight Bag (EFB)Based On Android Platform
前文回顧:
摘要
緒論
電子飛行包簡介
電子飛行包的含義
電子飛行包的功能分析
研究的背景和意義
研究目標及內容
本文的組織結構
電子飛行包的對比分析
Jeppesen Mobile FliteDeck
FlyQ EFB
GlobalNavSource EFB
Avplan EFB
Android平臺上EFB功能分析
小結
文檔的快速查詢和閱覽
文檔的增量更新和版本維護
性能計算
機場滑行導航
飛行導航
電子化檢查單
地面支持系統(tǒng)主要是:
導航數據導入數據庫
導航數據 對比。
本文的基于Android平臺的電子飛行包系統(tǒng)以及導航數據庫系統(tǒng)的整體設計如圖17所示。
3.1 航圖快速查閱的設計與實現
目前大部分的電子飛行包產品航圖展示部分采用了根據航圖的類型進行分類展示。 以Jeppesen FliteDeck為例,它將航圖分為
REF (非程序性圖表)
CO (公司資料)
STAR (標準航站進場圖)
APP (進近圖)
TAXI (滑行圖表)
SID (標準儀表離 場圖)
這樣的分類方法需要飛行員更多的操作和查找過程,不能滿足中國民航科學技術研究院的需求,我們希望在電子飛行包中航圖查閱的設計能夠更加直觀方便。因此在航圖查閱中,將會根據飛行階段進行分類展示,同時還將公司資料分為運行手冊、規(guī)章標準和機型手冊。
每一個機場都有各自的航空圖表,按照飛行階段可以將航圖分為標準儀表進場圖, 標準儀表離場圖,放油區(qū)圖,機場圖_停機位置圖,機場障礙物圖_精密進近地形圖,近 圖_RNAV_RNP_RADAR_GPS_GNSS-目視進近圖,區(qū)域圖一空中走廊一放油區(qū)圖,儀表 進近圖,儀表進近圖」LS,儀表進近圖_NDB,儀表進近圖_VOR,機場AIP,目視離場 圖。每一種飛行階段的航空圖表都有一個唯一的類型編號標識,如表2所示。
以北京首都機場儀表進近圖為例,文件名字為ZBAA-5HP.pdf,航空圖表名字為ILS RWY36L,那么在index.txt文件中就會有ZBAA-5HP.pdf、10和ILS RWY36L這條數據信息,中間以制表符分開,方便查詢。
當飛行員檢索某個機場的航圖資料時,只要讀取index.txt文件的內容就可以以飛行階段的名字作為一級菜單,具體的航圖的名字為二級菜單展示,而且對于每一類航空圖表還有字母編號,按照字母編號的順序展示航空圖表,能幫助飛行員更加快速的查閱。
在航空圖表的快速查閱方面,飛行員可以使用機場的名稱、四字代碼或者三字代碼搜索。除航空圖表外,在本文設計的基于Android平臺的電子飛行包系統(tǒng)中,還為某一次飛行的起飛機場和降落機場的航空圖表,設置了單獨的航空圖表頁面。航空圖表查閱的設計如圖18所示。
3.1.2 航空圖表查閱實現
在航空圖表的展示部分使了Android系統(tǒng)的ListView和ExpandableListView控件同時還需要給ExpandableListView自定義Adapter來進行層級菜單的展示和刷新。航空圖表的閱覽功能模塊需要使用Android平臺上的PDF閱讀器。在Android平臺上有多種開源的PDF閱讀器可供選擇,比如VuDroid、DroidReader 、 APV pdf viewer、 Apdfviewer和MuPDF。它們的對比情況,如表3所示。
MuPDF是Artifex Software Inc研發(fā)的開源PDF讀取庫,通過簡單配置,MuPDF就 能夠快速完成PDF的讀取和解析任務。通過上圖的對比可知,MuPDF對于PDF格式的解析兼容性好,大文件讀取比較快同時還有一個比較強大的維護團隊,比較適合在 Android平臺的電子飛行包系統(tǒng)上閱覽航空圖表。
將MuPDF與目前比較流行的PDF閱讀Adobe Reader和福昕閱讀器進行對比。下面以北京首都機場區(qū)域圖zbaa-laP.pdf為例,測試平臺為三星GT-8000平板電腦,分別 用Adobe Reader、福昕閱讀器和MuPDF閱讀器打開,對比結果經過多次測試取平均值。對比結果如表4所示。
通過上表的對比可知,MuPDF打開文件的速度和縮放渲染圖片的速度比Adobe Reader和福昕閱讀器要快。
在將MuPDF集成到電子飛行包系統(tǒng)中的時候,遇到了內存溢出的問題。經過查看 調試信息可知,是由于打開大的PDF文件使得bitmap占用了過多的內存導致的。通過 及時回收內存和增大應用程序能夠使用的內存空間,解決了內存溢出的問題。MuPDF 展示航圖如圖19所示。
3.2 性能計算設計與實現''
近年來飛行手冊(AFM)中的性能數據趨于軟件形式提供,該軟件作為AFM的一部分需要經過適航審查。因此,對性能軟件的計算方法、可靠性和健壯性提出了更高的要求 。
起飛性能計算是飛行性能計算較為復雜的部分之一,計算結果直接影響研發(fā)進度、適航取證以及飛行安全,受到飛機設計、適航當局和運營商三方的密切關注。
本節(jié)性能計算以北京首都機場起飛性能計算為例,根據機場不同的跑道、飛機的空調是否打開、防冰是否打開、道面是干的還是濕的、襟翼是多少以及風速是多少來計算出溫度、重量、速度以及限定條件等結果。以便飛行員進行對照比較,根據比較結果,會在飛行過程中,對某些方面進行特別的注意或者采取特別的措施,保證起飛的正常。
3.2.1 起飛性能計算的設計
起飛階段(大約3分鐘)、進近著陸(大約8分鐘)是航空器最容易發(fā)生重大飛行事故 的階段,民航界稱其為“黑色11分鐘”。在起飛滑跑階段發(fā)生特殊情況的機率相當大。2001年10月8日,一架斯堪的納維亞航空公司的麥道80客機在米蘭利那特機場起飛時, 機場附近因有霧能見度較差,飛機為躲避一架輕型飛機而轉向,撞上了附近的建筑物失 事,據官方估計至少有100人死亡;由此可見飛機起飛階段是事故多發(fā)段,所以研究飛機起飛階段的起飛性能非常重要,特別是加強機組飛行性能方面知識的培訓。
安全性和經濟性是民航運輸飛行的生命,怎樣在保證安全性的條件下提高經濟性是 民航運輸飛行研究的重點。民用飛機的起飛性能對飛行安全和運營經濟性都有重大影響, 是飛機性能的一個重要組成部分。起飛過程中,在安全性方面,據統(tǒng)計表明,起飛段和收襟翼的促使爬升段時間僅占平均總航班的2%,而發(fā)生事故的次數卻高達總事故的 21.8%,;在經濟性方面,飛機的起飛重量受飛機、機場、氣象等多種因素的影響,從而限制了飛機的業(yè)載,影響運輸經濟性。所以研究飛機起飛階段的性能對保證飛行安全和提高經濟效益均有重大意義。
起飛性能計算公式復雜,并不適合在移動端實現。而且起飛性能的計算公式也在不斷的優(yōu)化,如果每次因為起飛性能計算公式的優(yōu)化改進就要重新發(fā)布一個版本的電子飛行包系統(tǒng),那么維護成本是很高的。
(編者按:實時性能計算會是更好的選擇,此處可能是開發(fā)難度導致)
鑒于上述問題,起飛性能計算將采取地面起飛性能計算系統(tǒng)生成性能計算數據的數據庫,移動端采取查詢數據庫的方式進行性能計算結果的展示,這樣,當起飛性能計算的過程進行了優(yōu)化的時候,只需要將新的數據庫文件拷貝到Android移動端就可以了。
地面性能計算系統(tǒng)能夠直接導出的數據庫是Access的數據庫,在Android移動端是不能夠直接調用Access里面的數據的,Android移動端可以直接使用的數據庫文件是Sqlite 數據庫文件。這就需要將Access數據庫里面的數據轉換成Sqlite數據庫里面的數據,然后設計良好的用戶計算參數輸入界面并展示計算結果。
根據民航的需求,起飛性能查詢的條件為跑道、空調、防冰、道面、襟翼和風速。飛行員可以輸入溫度進行查詢,查詢的結果是重量、速度和限定條件。如果輸入重量進 行查詢,那么查詢的結果就是溫度、速度和限定條件。
需要注意的是,在起飛性能查詢時,跑道、空調、防冰、道面、襟翼和風速的數據 需要從數據庫中獲取,而且當選擇某一條件比如跑道,就需要對其他項的數據比如空調、 道面進行過濾更新。
性能計算結果展示如圖20所示。
3.2.2 起飛性能計算的實現
機場桌面系統(tǒng)中性能計貿的結果保存在Access數據庫中,Access數據庫也是在本 系統(tǒng)設計中能得到的數據,為了能夠在Android平臺上直接使用數據庫的數據,需要將 Access數據庫轉化成Sqlite數據庫。
Access數據庫轉化成Sqlite數據庫的步驟為:首先使用DB2MYSQL軟件來生成對應的SQL代碼。DB2MYSQL是一個數據文件轉化軟件,它可以自動底地將一個ACCESS 數據庫文件轉化為對應的SQL代碼。它是一款可廣泛應用于ACCESS數據庫轉換為 MYSQL或其他類型的SQL數據庫的軟件。
DB2MYSQL能夠實現可視化操作數據庫,轉換界面非常簡單明了,可輕松實現 ACCESS數據庫轉換為MYSQL數據庫。如果想要將SQL SERVER的數據庫轉換到 MYSQL,也可以使用這個軟件,具體操作是先使用SQLSERVER的“導入和導出數據” 將SQL SERVER數據導出到ACCESS文件,然后再將ACCESS文件導出為MYSQL語句DO】。
運行轉換功能后,系統(tǒng)會生成兩個輸出,一個是在屏幕界面上將轉換后的SQL語 句輸出,另外還會在輸出目錄下自動生成一個后綴為.SQL的文本文件,里面會記錄生成的SQL語句。
根據民航提供的Access數據庫文件,起飛性能數據庫表項如表5所示:
獲取得到起飛性能數據庫表項之后,就可以在桌面系統(tǒng)上,進入命令行,創(chuàng)建數據庫,在數據庫里創(chuàng)建數據庫表。就可以將數據導入數據庫生成Sqlite數據庫。將起飛性 能數據導入Sqlite數據庫中,需要先創(chuàng)建數據庫表,然后使用.read命令將生成的 Performances.sql文件導入到數據庫中⑵】。將數據導入Sqlite數據庫的過程如圖21所示。
3.3 機場飛機滑跑導航設計與實現
傳統(tǒng)的飛機在機場的導航方式,還是需要飛行員記住跑道和其他機場的位置。但是 由于在導航過程中,導航信息傳遞錯誤或者飛行員路線記憶錯誤容易引起飛機滑跑脫離 應該滑行的路線。本節(jié)的機場飛機滑行導航可以幫助飛行員在機場滑跑過程中查看飛機 在機場地圖上的實時的位置,以此來勳斷飛機是否已經偏離應該滑跑的路線。
3.3.1 機場飛機滑跑導航設計
如果飛機的滑行路線和飛機的位置可以在電子飛行包系統(tǒng)中展示來,那么就可以給 飛行員導航提醒,對飛機在機場的滑跑安全的提升有重要意義。
電子飛行包(EFB)系統(tǒng)中的機場導航功能和飛行導航功能需要利用Android設備 獲得的GPS定位信息,將飛機的位置展示在地圖上,同時還需要在地圖上進行路徑的標注,地點的提示等。以Android設備為平臺,將GPS (全球定位系統(tǒng))和移動GIS(移動地理信息系統(tǒng))結合使用"I,就能都夠實現上述機場導航和飛行導航的功能。
地理信息系統(tǒng)(Geographic InformationSystemm, GIS)是一種為了獲取、存儲、檢索、分析和顯示空間定位數據而建立的計算機化的數據庫管理系統(tǒng)(1998年,美國國家地理 信息與分析中心定義)。近年來,移動領域的發(fā)展催生了移動GIS行業(yè),移動GIS已經成為GIS研究的重要應用領域。利用Android設備自帶的GPS模塊來獲取飛機的位 置,并將位置信息等展示在移動GIS地圖上,就可以實時的看到飛機的位置。
在國外,移動GIS發(fā)展起步較早,社會的各個領域都有成功的應用,形成了不少企 業(yè)級的應用解決方案,領先的GIS廠商都有自己的移動GIS產品Si。目前市場上較常使用的移動GIS軟件有ESRL Mapinfo> Autodesk等公司的產品。國內移動GIS軟件的 研發(fā)也不斷發(fā)展,主要包括了北京超圖eSuperMap、北京圖靈Smart In Hand,合眾思壯公司掌上經緯通等。
移動GIS中的地圖有瓦片地圖和矢量地圖之分,瓦片地圖是將地圖按照多個不同的 比例尺,裁剪成小正方形,以GIF、JPG、PNG等形式存儲起來,當要展示地圖的時候, 計算出需要展示的圖形塊和將圖形塊展示在屏幕上的行數和列數,實現地圖的快速加載。 矢量地圖就是畫出來的點線區(qū)文件,它保存的時候占用的空間小,不失真。下面對比了 商業(yè)移動GIS平臺SuperMap, ArcGIS和開源移動GIS平臺OSMAND和OSMDroid這四款移動GIS系統(tǒng)。
本文對 0SMAND、OSMDROID、SuperMap GIS 和 Argc GIS 進行了對比分析。對比結果如表6所示。
通過上表的對比可知,開源移動GIS OSMAND和OSMDROID桌面地圖編輯軟件 匱乏,不太適合電子飛行包系統(tǒng)對于地圖頻繁編輯更新的需求。SuperMap GIS和Argc GIS是比較好的商業(yè)移動GIS平臺,兩者之間的地圖格式可以互相的轉換。但是基于目 前大部分的可以使用機場地圖都是基于SuperMap的,所以在飛機機場導航部分,使用 SuperMap 的 SuperMap iMobile 比較合適。
本文設計的電子飛行包中的飛機在機場的滑跑導航主要是飛機在機場滑行的過程中,根據控中心發(fā)送的命令將該飛機在機場應該滑行的路徑畫出來。
3.3.2 機場飛機滑跑導航實現
下圖以北京首都機場為例,當駕駛員被指揮沿著跑道H、跑T1、跑道A0和跑道F 進行滑跑的時候,需要在地圖上畫出相應的路線和飛機所在的位置,這樣飛行員就能夠實時得知飛機滑行的位置是否偏離導航路線,從而能盡快做出路線修正措施。如圖22 的北京首都機場跑道路線圖。
獲取飛機的位置使用了 GPS定位,Android系統(tǒng)中有比較完備的接口,主要是通過 LocationManager來判斷Android設備的GPS模塊是否已經打開,如果已經打開,那么 可以直接進行GPS信息的獲取,如果沒有打開,那么會跳轉到GPS信息打開頁面。同 時需要使用SuperMap的Android端GIS系統(tǒng)在它的圖層上進行繪制,主要步驟是首先 獲取地圖的MapControL然后獲取到擁有跑道的圖層,從這個圖層上獲取數據矢量集, 然后根據輸入的跑道的編號進行數據信息的查詢,得到每條跑道的記錄集合,然后把線 路畫在另外的一個圖層上,飛行員的位置則繪制在TrackingLayer圖層上。如圖23所示。
電子飛行包系統(tǒng)中的機場飛機滑跑導航功能能夠幫助駕駛員在大霧或者大雨等惡 劣天氣很難判斷路線的時候,清楚的獲得飛機的位置,在正確的跑道路線上降落滑跑。
未完待續(xù),歡迎繼續(xù)關注
下一小節(jié):3.4 飛行計劃導航
配圖 | 網絡
編輯 | 小玉
校準 | 采虹兔
投稿 | 1644134@qq.com
聯系客服