王翌丞 胡延霖 陳 雄 閻永祿
(防空兵指揮學(xué)院1) 鄭州 450052)(蚌埠坦克學(xué)院2) 蚌埠 233013)
進(jìn)入21世紀(jì),隨著微電子技術(shù)、信息技術(shù)、計算機(jī)技術(shù)、智能技術(shù)、新型材料技術(shù)、自動駕駛和信號處理等高新技術(shù)的飛躍進(jìn)步,無人機(jī)的使用范圍已從軍事領(lǐng)域拓展到了民用領(lǐng)域,其廣泛的應(yīng)用價值已經(jīng)得到了國內(nèi)外的高度重視,無人機(jī)的研制在世界范圍內(nèi)得到蓬勃發(fā)展。
飛行控制系統(tǒng)作為無人機(jī)的心臟,其作用尤為重要,無人機(jī)各項(xiàng)性能(包括起飛著陸性能、作業(yè)飛行性能、飛行安全可靠性能、系統(tǒng)的自動化性和可維護(hù)性等)的優(yōu)劣很大程度上都取決于其飛控系統(tǒng)的設(shè)計。無人機(jī)半實(shí)物仿真是對飛行控制系統(tǒng)研制工作的有力手段,可有效提高飛行控制系統(tǒng)研制質(zhì)量、縮短研制周期和節(jié)省研制費(fèi)用。本文搭建了基于xPC目標(biāo)實(shí)時仿真開發(fā)環(huán)境的無人機(jī)飛控半實(shí)物仿真平臺,為不具備購買昂貴的仿真設(shè)備時無人機(jī)半實(shí)物仿真的實(shí)現(xiàn)提供了解決途徑。
xPC半實(shí)物仿真目標(biāo)是Math Works公司提供和發(fā)行的一個基于MAT LAB/Real—Time Workshop體系框架的輔助產(chǎn)品,可將Intel80x86/Pentium計算機(jī)或PC兼容機(jī)轉(zhuǎn)變?yōu)橐粋€實(shí)時系統(tǒng),而且支持許多類型的I/O設(shè)備板(包括ISA和PCI兩種類型)。同時MAT LAB還提供了功能強(qiáng)大的S-function(system function)作為Simulink功能模塊的擴(kuò)展。S-function可以用C語言編寫,由MATLAB提供的mex編譯器編譯成dll文件,供其它高級語言的程序調(diào)用,使用方便。它是一種用于產(chǎn)品原型開發(fā)、測試和配備實(shí)時系統(tǒng)的PC機(jī)解決途徑。使用xPC目標(biāo),用戶只需安裝相關(guān)的軟件、一個編譯器和I/O設(shè)備板,就可將一個PC兼容機(jī)作為實(shí)時系統(tǒng),來實(shí)現(xiàn)控制系統(tǒng)或DSP系統(tǒng)的快速原型化、硬件在回路中的測試和配備實(shí)時系統(tǒng)的功能。
xPC目標(biāo)采用宿主機(jī)-目標(biāo)機(jī)的技術(shù)途徑,即“雙機(jī)”模式,宿主機(jī)和目標(biāo)機(jī)可以是不同類型的計算機(jī),其中宿主機(jī)用于運(yùn)行MATLAB/Simulink,而目標(biāo)PC機(jī)則用于執(zhí)行所生成的代碼,通過以太網(wǎng)絡(luò)或串口線連接來實(shí)現(xiàn)宿主機(jī)和目標(biāo)機(jī)之間的通信。
在xPC目標(biāo)環(huán)境下,用戶可將安裝有MATLAB和Simulink軟件的PC機(jī)作為宿主機(jī),用Simulink模塊圖來創(chuàng)建模型并進(jìn)行非實(shí)時的仿真。然后,用Real—Time Work shop代碼生成器和C編譯器來生成可執(zhí)行代碼,并將其在第二個PC兼容機(jī)上實(shí)時地運(yùn)行。圖1顯示了半實(shí)物仿真環(huán)境中xPC目標(biāo)的使用情況。
圖1 MAT LAB半實(shí)物仿真環(huán)境
本文組成的飛行控制系統(tǒng)半實(shí)物仿真平臺結(jié)構(gòu)如圖2所示。該仿真平臺由飛行控制計算機(jī)、無人機(jī)模型、傳感器仿真模塊、發(fā)動機(jī)仿真模塊、舵機(jī)、數(shù)據(jù)轉(zhuǎn)換卡和測控界面組成。在半物理仿真過程中,飛行控制計算機(jī)主要接收來自地面站的指令,并按相應(yīng)的控制率控制升降舵機(jī)、副翼舵機(jī)和仿真的渦噴發(fā)動機(jī)做出相應(yīng)的響應(yīng),無人機(jī)模型實(shí)時采集這些信息進(jìn)行解算,將解算出的數(shù)據(jù)傳輸?shù)絺鞲衅鞣抡婺K,飛行控制計算機(jī)根據(jù)傳感器仿真模塊提供的傳感信息,解算出控制參數(shù)使飛機(jī)按指令正確平穩(wěn)的飛行,同時將飛行數(shù)據(jù)回傳到地面站進(jìn)行顯示和存儲以便分析,構(gòu)成完整的閉環(huán)飛行系統(tǒng),數(shù)據(jù)轉(zhuǎn)換卡主要用于A/D和D/A轉(zhuǎn)換,以及數(shù)據(jù)傳送。系統(tǒng)掛接了真實(shí)舵機(jī),更清楚直觀地觀測舵偏角的變化,使半實(shí)物仿真可視性更高。
圖2 樣機(jī)飛控仿真平臺結(jié)構(gòu)圖
實(shí)時仿真部分:無人機(jī)動力學(xué)和運(yùn)動學(xué)仿真、傳感器仿真、發(fā)動機(jī)仿真;
實(shí)物部分:飛控器、舵機(jī)、地面站和數(shù)據(jù)轉(zhuǎn)換卡等;
實(shí)時仿真部分主要功能有以下幾個方面:
1)實(shí)時采樣“飛行控制計算機(jī)”控制下輸出的舵面和發(fā)動機(jī)油門信息,根據(jù)無人機(jī)的飛機(jī)模型,通過數(shù)學(xué)仿真模擬無人機(jī)飛行運(yùn)動特性。
2)完成無人機(jī)的動力學(xué)和運(yùn)動學(xué)仿真。動力學(xué)仿真:根據(jù)飛行控制系統(tǒng)發(fā)過來的數(shù)據(jù),解算出作用在飛機(jī)上的力;運(yùn)動學(xué)仿真則根據(jù)飛行動力學(xué)方程,解算出飛機(jī)的六自由度(俯仰、橫滾、偏航、升降、縱向平移、側(cè)向平移)運(yùn)動信息。
3)運(yùn)用傳感器特性數(shù)學(xué)仿真的方法產(chǎn)生垂直陀螺、角速率陀螺、磁航向、高度、GPS等參數(shù)。
4)實(shí)時執(zhí)行地面站發(fā)給飛控計算機(jī)的各個指令,控制飛行仿真過程,并向飛控器實(shí)時發(fā)送飛行仿真數(shù)據(jù)。
飛機(jī)的運(yùn)動一般可采用6自由度12狀態(tài)非線性剛體運(yùn)動方程來描述,即六自由度非線性動力學(xué)方程組及相應(yīng)的運(yùn)動學(xué)方程。其通用的非線性數(shù)學(xué)模型可采用以下方程式來描述:
為了實(shí)現(xiàn)基于xPC的實(shí)時仿真,需將已有的程序、算法集成到Simulink框圖模型中,RTW是一個基于Simulink的代碼自動生成環(huán)境,它能直接從Simulink的模型中產(chǎn)生優(yōu)化的、可移植的和個性化的代碼,并根據(jù)目標(biāo)配置自動生成多種環(huán)境下的程序,從而來實(shí)現(xiàn)仿真平臺的最終實(shí)現(xiàn)。
依據(jù)數(shù)學(xué)模型,在Simulink中搭建無人機(jī)樣機(jī)的六自由度模型以便構(gòu)建實(shí)時仿真平臺模型。
圖3 無人機(jī)樣機(jī)Simulink六自由度模型
如圖3為無人機(jī)樣機(jī)Simulink六自由度模型,封裝圖內(nèi)有四個通道輸出即十二個輸出變量,對于不需要的輸出通道Ve,DCM,dω/dt,Ab,在總統(tǒng)圖上分別用Simulink Library中的Terminator模塊加以終止。
該模型完成的主要功能:設(shè)定必要的初始值(如飛機(jī)質(zhì)量、飛機(jī)初始位置以及初始速度、風(fēng)速、風(fēng)角速度等)之后,根據(jù)控制輸入向量得到飛機(jī)的輸出向量
該模型主要由以下模塊構(gòu)成:氣動導(dǎo)數(shù)插值計算模塊“DDS”;量綱一的滾轉(zhuǎn)、俯仰、偏航角速度計算模塊“p—,q—,r—”;發(fā)動機(jī)推力計算模塊;迎角、側(cè)滑角、馬赫數(shù)計算模塊“Alpha,Beta,Mach”;力和力矩求解模塊“Forces and Moments”;根據(jù)力和力矩求解飛機(jī)輸出變量的“6DOF(Euler Angles)”模塊。
MATLAB圖形用戶界面是有別于VC界面和Java界面的一種新型界面開發(fā)方式。對于熟悉MATLAB而不想編寫大量VC代碼的科研人員來講,MATLAB/GUI無疑是一個最佳選擇,它既能嵌入已有的仿真程序,又能把仿真的圖形化結(jié)果以人機(jī)交會的動態(tài)方式呈現(xiàn)給操作者,從而給人以深刻的影響。
本文使用MAT LAB/GUI建立了仿真平臺人機(jī)界面。在該仿真系統(tǒng)中,系統(tǒng)人機(jī)界面主要實(shí)現(xiàn)以下功能:
1)系統(tǒng)初值的裝定,如風(fēng)速、風(fēng)角速度和氣動參數(shù)等;
2)飛行參數(shù)的實(shí)時顯示,如姿態(tài)角、經(jīng)緯度和高度等;
3)對仿真平臺運(yùn)行狀態(tài)的控制。
飛行控制系統(tǒng)的驗(yàn)證是通過觀察無人機(jī)全過程飛行仿真時樣機(jī)的飛行軌跡以及相關(guān)參數(shù)能否達(dá)到相應(yīng)的性能指標(biāo)。通過地面站設(shè)定預(yù)定飛行軌跡,按照仿真試驗(yàn)步驟進(jìn)行仿真試驗(yàn),通過地面站和仿真控制臺觀察飛行航跡以及參數(shù)變化曲線。
為了驗(yàn)證飛行控制系統(tǒng)的性能,設(shè)計了一條用于飛行控制系統(tǒng)驗(yàn)證的飛行航線,航路點(diǎn)設(shè)置如表1所示。
該樣機(jī)在地面站中的航路裝定圖如圖4所示。
圖5是在仿真環(huán)境下測得的無人機(jī)樣機(jī)全過程飛行航跡曲線圖。
通過全過程飛行仿真試驗(yàn)表明該仿真平臺運(yùn)轉(zhuǎn)良好,符合設(shè)計要求,能夠?qū)︼w控器的控制率和控制性能進(jìn)行驗(yàn)證,對飛控器的定型有重要的意義。
具體內(nèi)容如下:
1)無人機(jī)自主飛行。無人機(jī)能按照事先設(shè)定的航線,在飛控系統(tǒng)的指引下自主飛行,由仿真曲線可以看出,所設(shè)計的飛行控制系統(tǒng)能夠很好的實(shí)現(xiàn)自主導(dǎo)航功能;
表1 航路點(diǎn)信息表
2)嵌入式代碼的自動生成。實(shí)現(xiàn)了將Simulink模型轉(zhuǎn)化為能夠在目標(biāo)機(jī)中實(shí)時運(yùn)行的嵌入式代碼;
3)硬件在回路仿真平臺的構(gòu)建技術(shù)。驗(yàn)證了xPC目標(biāo)的I/O接口技術(shù)以及飛控系統(tǒng)中傳感器、舵機(jī)硬件接口的可行性及正確性。
無人機(jī)飛行控制系統(tǒng)是無人機(jī)系統(tǒng)的最核心部分,關(guān)系到無人機(jī)的飛行安全、任務(wù)的執(zhí)行等等。因此無人機(jī)飛行控制系統(tǒng)的研究與開發(fā)是極其重要的,而在開發(fā)的過程中,無人機(jī)飛行控制系統(tǒng)半實(shí)物仿真又是不可缺少的,經(jīng)過半實(shí)物仿真可以最大限度的降低風(fēng)險,減少費(fèi)用和縮短周期。
[1]王行仁.飛行實(shí)時仿真系統(tǒng)及技術(shù)[M].北京:北京航空航天大學(xué)出版社,1998,9
[2]康風(fēng)舉.現(xiàn)代仿真技術(shù)與應(yīng)用[M].北京:國防工業(yè)出版社,2006,1
[3]龍利.MATLAB環(huán)境下控制系統(tǒng)實(shí)時仿真實(shí)驗(yàn)的研究[D].重慶:重慶大學(xué),2005,5
[4]黃永安.MATLAB 7.0/Simulink 6.0建模仿真開發(fā)與高級工程應(yīng)用[M].北京:清華大學(xué)出版社,2005
[5]耿通奮.無人機(jī)實(shí)時仿真與測試系統(tǒng)綜合設(shè)計[D].南京:南京航空航天大學(xué)碩士學(xué)位論文,2003
[6]李顯宏.MAT LAB 7.x界面設(shè)計與編譯技巧[M].北京:電子工業(yè)出版社,2006
[7]謝仕宏.MAT LAB R2008控制系統(tǒng)動態(tài)仿真實(shí)例教程[M].北京:化學(xué)工業(yè)出版社,2009
[8]姜啟源.數(shù)學(xué)模型[M].北京:高等教育出版社,2002
[9]楊滌.系統(tǒng)實(shí)時仿真開發(fā)環(huán)境與應(yīng)用[M].北京:清華大學(xué)出版社,2002
[10]錢翼稷.空氣動力學(xué)[M].北京:北京航空航天大學(xué)出版社,2004
[11]李興偉.基于Matlab/xPC Target構(gòu)建實(shí)時仿真系統(tǒng)[J].計算機(jī)仿真,2003