鄭嘉銘 陳麗君



【摘 要】模擬飛行把深奧的航空理論知識和日常生活中人們難以接觸到的飛行技術介紹給普通人,充滿趣味性和科普性。已有模擬飛行訓練裝置只能針對飛機和場景進行模擬,無法用于控制方法研究,且無法實現自動飛行。本文借助MATLAB編程工具建立了飛行仿真模型,驅動FlightGear實現了飛行仿真的可視化,以及飛行器的人工操縱和自主飛行,拓展了模擬飛行訓練裝置的用途。
【關鍵詞】模擬飛行;訓練裝置;仿真模型
0 引言
模擬飛行是通過專門的軟件和硬件設備對真實世界飛行及其各種元素在計算機中進行仿真模擬的一項航空科技活動。在模擬飛行中,對空氣動力、氣象、地理環境、飛行操控系統、飛行電子系統、戰斗飛行武器系統、地面飛行引導等都進行了高度仿真的模擬,并通過外部硬件設備進行飛行仿真操控和飛行感官回饋。通過此項活動,能夠豐富航空航天知識,增強思維敏捷度,鍛煉手腦協調能力和毅力,提高快速應變能力,而且可以了解航空文化、培養航空情懷、樹立航空志向,以后成長為優秀航空后備人才。
2013年中國航空學會在全國范圍內開展青少年模擬飛行科技活動,我們購置了模擬飛行訓練器。該模擬飛行訓練器能夠單人操控,能夠全方位多功能模擬民航飛機的各項儀表與操縱技巧,可以訓練大家模擬飛行駕駛技巧。
但在使用過程中,發現該平臺存在只能針對現有飛機和場景進行飛行操縱模擬,無法用于飛機控制方法的改進、無法實現自動飛行及效果驗證等缺點,本文結合FlightGear軟件研究了一種改進方法,拓展了模擬飛行訓練裝置的用途。
1 模擬飛行訓練器平臺原理
模擬飛行訓練器硬件平臺由三屏輸出顯示器、飛行操縱裝置、飛行模擬儀表等組成。三屏輸出顯示器能夠生動的模擬出真實飛行時駕駛員所處的狀態;飛機操縱裝置模擬了升降舵、航向舵、副翼操縱,油門開度,襟翼收放,起落架收放等飛機常用操縱;飛機模擬儀表具有點火起飛,燈光控制,電源、航電、油泵數據顯示,并且加入了通訊導航電臺和自動駕駛儀信息的顯示。模擬飛行訓練器平臺如圖1(a)所示。
模擬飛行訓練器配套軟件平臺為微軟模擬飛行,微軟模擬飛行用戶界面如圖1(b)所示。微軟模擬飛行提供了許多機型和24000多個機場,用戶可以選擇自己喜歡的類型來自由駕駛??刂票憬?,加上逼真的座艙和真實的人工智能相結合,進行模擬飛行更加輕松自如。微軟模擬飛行以不同視角模擬了飛行器操縱的整個過程,可以滿足各種專業和業余玩家的不同需求。允許玩家通過網絡與其他玩家進行交流[1]。
隨著仿真技術的發展,基于可視化交互仿真技術,利用先進的仿真工具搭建具有高效和安全實用等優點的飛行仿真系統進行模擬仿真,已經逐漸成為工程實踐中必不可少的工作之一。作為開發者,能夠將自己設計的控制律對飛行器的影響直觀的呈現在屏幕上,這對控制律的改進有著重要的意義。但微軟模擬飛行在軟件定位上以學習訓練為主,缺乏專業性,并且許多內部參數無法通過第三方軟件進行讀取和修改,這就給二次開發帶來了阻礙。所以需要找到一款利于二次開發,外部接口豐富的飛行模擬軟件進行代替。
2 基于FlightGear的飛行仿真
在這里,選擇FlightGear作為模擬飛行訓練器的軟件平臺。FlightGear具有高度自由的代碼、精確詳細的飛行環境、靈活開放的飛行器建模系統,以及合理的硬件要求等特征[2]。而且具有開放式的程序構架和預留的外部數據輸入/輸出接口,特別是MATLAB的Simulink工具箱中集成了FlightGear的數據接口,為二次開發提供了便利[3]。
FlightGear的這種特性提供了一種思路,利用MATLAB的Simulink工具箱建立的飛行器動力學模型,通過Simulink工具箱中FlightGear的數據接口將飛行器動力學模型與FlightGear中的3D飛行器物理模型與視景模型相結合,從而構成可視化的交互仿真技術平臺。
2.1 Flightgear與模擬飛行訓練器的連接
要把微軟模擬飛行軟件平臺替換為FlightGear軟件平臺,在硬件平臺與軟件平臺連接時,我們需要遵循以下兩個步驟。
2.1.1 軟、硬件平臺配對
FlightGear可以支持多種輸入設備,它會自動檢測連接上的硬件設備(駕駛桿、腳蹬等),在將本文所述硬件平臺所有設備與計算機接口相連后,進入Flightgear,載入飛機后,在其下拉菜單中選擇Joystick configuration,即可進入控制器的鍵位調試界面。通過Joystick模塊觀察FlightGear檢測到了哪些硬件設備,并設置相應功能。
2.1.2 軟、硬件設備綁定
在第一步中,會存在一些硬件平臺設備無法被FlightGear識別,這是因為對于每一個設備都需要一個對應可擴展標記語言(XML)文件支持,文件描述了硬件平臺操縱設備對應了FlightGear的什么功能。通過編輯配置XML文件,可以幫助驅動找到硬件設備,并且規定其對應功能。
2.2 飛行器模型
我們選擇B-2隱形戰略轟炸機為仿真模型,仿真模型主要包括以下2個模塊:
(1)飛機動力學模塊。該模塊是整個仿真系統中主要的解算部分,通過分析飛行器的構造和運動過程,飛行器的運動可以用六個自由度來表示(三個方向的平移和三個方向的轉動),分別縱向速度、側向速度和法向速度,以及滾轉角度、俯仰角度、偏航角度。
(2)環境模塊。環境模型包括了標準大氣模型、風模型和重力模型。其中標準大氣模型提供大氣參數。風模型輸出風速矢量。重力模型計算出不同地理位置處的重力。此外還包括氣動力系數模塊、推力系統模塊、起落架模塊、控制系統等模塊[4]。
2.3 FlightGear接口設計
使用MATLAB和FlightGear進行飛行仿真的流程如圖2所示。FlightGear提供了足夠的飛行器和真實環境的3D模型,需要在MATLAB中設計能夠正確和FlightGear進行數據交換的接口即可。通過分析可知,建立好的動力學模型需要從Flightgear中獲得導航信息,周圍環境信息,地理位置信息等飛行器正常運行的外部環境信息。Flightgear也需要接收MATLAB中動力學模型的信息反饋[5]。
FlightGear和MATLAB進行聯合仿真的數據傳遞需包括:一個用于設置數據輸入的打包子模塊,一個將數據發送到FlightGear的數據子模塊,以及一個用于設置仿真速率的子模塊。依照以上分析,在MATLAB中設計FlightGear接口(部分)如圖3(a)所示。
為了在啟動Flightgear時得到需要的初始條件(如場地、時間、天氣等),需要創建一個運行腳本,見圖3(b),采用Generate Run Script 模塊來實現。
3 飛行模擬示例
本文以使用MATLAB Simulink建立的B-2隱形戰略轟炸機模型聯合FlightGear進行仿真,設該飛行器的巡航高度為11000米,巡航速度為0.6馬赫,得到配平的迎角為3°,俯仰角為3°,油門開度之和為0.3327,升降舵偏角之和為-4.4752°。仿真分為兩部分,第一部分利用仿真平臺的硬件設備對FlightGear里的仿真模型進行進行模擬駕駛,第二部分是在第一部分的基礎上模擬飛機自適應調節的過程。最終實現的仿真效果為MATLAB仿真曲線和FlightGear三維視景同時輸出。
在第一部分中,將仿真模型與FlightGear正確連接口,使用Generate Run Script模塊創建運行腳本,運行腳本文件后,完成FlightGear中飛行器和周圍視景的初始化。在FlightGear上顯示需要進行仿真的飛機,通過硬件平臺的飛行操縱裝置對飛機進行舵面等一系列執行機構的操縱,實現模擬駕駛。并可以通過模擬儀表觀察飛機相應參數。第一部分的人工操控飛行仿真如圖4(a)所示,實現通過硬件平臺的輸入設備(操縱桿,腳蹬等)結合FlightGear產生的三維視景對建立的飛行器仿真模型進行操控。
在第二部分中,在第一部分的基礎上通過控制律對飛行器進行跟蹤調節,從而實現飛機穩定飛行,在FlightGear上觀察飛機自我調節的過程,同時在MATLAB中輸出跟蹤曲線。并且輸出油門、迎角角度、俯仰角速率等參數。第二部分結合控制律的自主飛行如圖4(b)所示。
在FlightGear對飛機的運動狀態進行直觀顯示的同時,MATLAB也對仿真系統的若干參數進行了曲線的實時輸出。
圖5(a)給出了B-2飛行器在控制律的作用下系統的跟蹤過程,虛線表示的是給定的參考信號,實線表示的是實際的速度和俯仰角變化曲線。圖5(b)給出了迎角和俯仰角速率的響應曲線。
4 結束語
本文利用MATLAB和FlightGear對模擬飛行訓練器進行了改進。改進后的系統可以用做可視化仿真模擬飛行,對飛行器姿態三維實時顯示的同時通過仿真曲線描述飛行狀態參數,并可對飛行器控制律進行優化設計,實現人工操縱和自主飛行兩種仿真模式,拓展了模擬飛行訓練裝置的用途。
【參考文獻】
[1]王強.利用微軟模擬飛行進行A320程序訓練[J].中國科技信息,2012(6):83~87.
[2]FlightGear Introduction.http://www.flightgear.org/[OL].
[3]周建興,豈興明,矯津毅.MATLAB從入門到精通[M].人民郵電出版社,2008.
[4]蔚海軍.基于FlightGear的直升機飛行模擬系統研究[D].大連理工大學,2008.
[5]郭衛剛,韓維,王秀霞.基于MATLAB/FLIGHTGEAR飛機飛行性能的可視化仿真系統[J].實驗技術與管理,2010(10):13~15.
[責任編輯:王楠]