【摘 要】針對(duì)傳統(tǒng)飛機(jī)動(dòng)力學(xué)模型通用性差、代碼執(zhí)行效率低的問題。綜合JSBSim、MATLAB軟件的優(yōu)點(diǎn),提出基于某小型無人機(jī)的飛行仿真系統(tǒng)。新設(shè)計(jì)的系統(tǒng)具有通用性強(qiáng)、運(yùn)行速度快、易操作性、數(shù)據(jù)精度高、便于二次開發(fā)等優(yōu)點(diǎn)。
【關(guān)鍵詞】無人機(jī) 建模 JSBSim MATLAB 飛行控制
1 引言
常規(guī)的無人機(jī)建模通常是基于Matlab/Simulink的建模存在模型通用性差、開發(fā)效率低等問題。使用JSBSim建模時(shí),只需重新配置XML格式的模型規(guī)格文件,就可以實(shí)現(xiàn)對(duì)不同機(jī)型的仿真,同時(shí)可以將研究集中在控制律設(shè)計(jì)。
由于JSBSim飛控模塊相對(duì)有限,無法實(shí)現(xiàn)某些控制算法?;谀K化設(shè)計(jì)思想,分別利用JSBSim軟件建立了飛行動(dòng)力學(xué)模塊、MATLAB軟件設(shè)計(jì)了飛行控制模塊,為飛行品質(zhì)的評(píng)估提供仿真平臺(tái)。
2 可視化飛行仿真系統(tǒng)設(shè)計(jì)
本文采用模塊化的設(shè)計(jì)思想完成了仿真平臺(tái)的搭建。由于飛機(jī)系統(tǒng)是一個(gè)非常復(fù)雜的系統(tǒng),因而研制全新的仿真無人機(jī)系統(tǒng)將是一個(gè)非常復(fù)雜的過程。
首先,采用JSBSim軟件完成對(duì)某型無人機(jī)氣動(dòng)力的建模;其次,采用MATLAB與C++混合編程技術(shù),編寫C++MEX S函數(shù)模塊實(shí)現(xiàn)了對(duì)JSBSim軟件的調(diào)用和數(shù)據(jù)通信;再次,在MATLAB環(huán)境中設(shè)計(jì)有效的飛行控制系統(tǒng)。
3 基于JSBsim的無人機(jī)建模
JSBSim是一個(gè)開源的、支持多平臺(tái)的、由數(shù)據(jù)驅(qū)動(dòng)的飛行動(dòng)力學(xué)模型框架。由C++語言編寫,能夠支持各類型的航空器仿真模型。本文基于開放的JSBSim-XML標(biāo)準(zhǔn),利用XML技術(shù)實(shí)現(xiàn)對(duì)運(yùn)輸機(jī)靈活的建模。
對(duì)于JSBsim的建模,其模型為xml的配置方式實(shí)現(xiàn),可以用JSBSimCommander輔助對(duì)xml文件進(jìn)行配置,包括飛機(jī)外形、質(zhì)量、發(fā)動(dòng)機(jī)參數(shù)、推進(jìn)系統(tǒng)、空氣動(dòng)力系數(shù)等,完成模型的建立。
4 Simulink飛行仿真平臺(tái)搭建
在MATLAB/Simulink平臺(tái)下,通過編寫S函數(shù)運(yùn)行JSBSim程序,對(duì)飛行數(shù)據(jù)進(jìn)行解算,返回飛機(jī)狀態(tài)等參數(shù)。
本文在系統(tǒng)搭建過程中,使用編譯器編譯后生成MEX文件,成為MATLAB可調(diào)用的函數(shù)(動(dòng)態(tài)鏈結(jié)子程序),實(shí)現(xiàn)JSBSim模型在Simulink中的直接調(diào)用。
5 飛行控制系統(tǒng)
由于JSBSim模型的飛行控制模塊功能有限,本文在Simulink下設(shè)計(jì)飛控系統(tǒng)。
無人機(jī)的飛行控制系統(tǒng)有俯仰、滾轉(zhuǎn)控制通道,設(shè)計(jì)飛行控制律時(shí)一般需要考慮各通道間的獨(dú)立性和關(guān)聯(lián)性。
在控制方法的設(shè)計(jì)中,把各航段的復(fù)雜飛行狀態(tài)分解為幾個(gè)基本的飛行任務(wù)。通過相對(duì)獨(dú)立的縱向控制通道和橫側(cè)向控制通道協(xié)調(diào)實(shí)現(xiàn)無人機(jī)的平飛、升降、轉(zhuǎn)彎等基本飛行任務(wù)。
5.1 無人機(jī)縱向控制律設(shè)計(jì)
縱向控制系統(tǒng)包含俯仰角的控制回路和高度控制回路。
在俯仰控制回路上,考慮采用高度控制結(jié)構(gòu),通過設(shè)定高度和實(shí)際飛行高度h的差值經(jīng)過控制器輸出俯仰目標(biāo)角,再疊加一個(gè)副翼轉(zhuǎn)彎時(shí)的拉桿補(bǔ)償量,經(jīng)過合理限幅得到目標(biāo)俯仰角。俯仰角控制回路根據(jù)輸出控制量到副翼舵機(jī),改變當(dāng)前的飛機(jī)俯仰角,采用PID控制器,通過對(duì)控制器參數(shù)調(diào)節(jié)可以獲得較好的高度控制響應(yīng)。
其中俯仰角控制回路還引入了內(nèi)環(huán)的俯仰角速率負(fù)反饋可以改善短周期阻尼。
5.2 無人機(jī)橫側(cè)向控制律設(shè)計(jì)
無人機(jī)的橫側(cè)向姿態(tài)穩(wěn)定和控制就是要保證高精度的偏航角ψ和滾轉(zhuǎn)角φ的穩(wěn)定與控制,可以完成平穩(wěn)的轉(zhuǎn)彎飛行。
無人機(jī)橫側(cè)向運(yùn)動(dòng)控制有副翼和方向舵兩個(gè)控制回路。其中方向舵回路比較簡單,而副翼把滾轉(zhuǎn)角作為控制的內(nèi)回路,偏航控制為外回路。偏航控制也要通過調(diào)節(jié)副翼偏轉(zhuǎn)來實(shí)現(xiàn)滾轉(zhuǎn)角的變化,達(dá)到控制無人機(jī)側(cè)偏的目的。
滾轉(zhuǎn)角控制內(nèi)回路是滾轉(zhuǎn)角速率q的反饋回路,外回路是滾轉(zhuǎn)角φ的反饋回路。
方向舵的控制采用與副翼聯(lián)動(dòng)的方式,則有,其中為聯(lián)動(dòng)系數(shù)。通過調(diào)整兩個(gè)通道的控制信號(hào)實(shí)現(xiàn)協(xié)調(diào)轉(zhuǎn)彎。
6飛行仿真實(shí)現(xiàn)
仿真初始高度為2000m,給定航向角90度則仿真結(jié)果如圖1。
升降舵平穩(wěn)在某一恒定值,此時(shí)飛機(jī)有一定的仰角(平飛仰角)。橫側(cè)向控制部分主要有對(duì)滾轉(zhuǎn)角的控制和航向角控制,滾轉(zhuǎn)角保持響應(yīng)曲線,給定滾轉(zhuǎn)角8度。由仿真曲線可以看出無人機(jī)模型可以準(zhǔn)確快速的響應(yīng),航向角穩(wěn)定在90度。
7結(jié)論
本文完成了某型無人機(jī)仿真系統(tǒng)的搭建,后臺(tái)程序JSBSim負(fù)責(zé)對(duì)飛機(jī)空氣動(dòng)力特性進(jìn)行仿真,并將仿真數(shù)據(jù)的結(jié)果返回MATLAB處理環(huán)境中,在Simulink下實(shí)現(xiàn)了先進(jìn)控制律的設(shè)計(jì)。該仿真環(huán)境為無人機(jī)全過程飛行仿真的性能驗(yàn)證提供了良好的集成環(huán)境。在此仿真環(huán)境中無人機(jī)的控制規(guī)律得到了驗(yàn)證。
參考文獻(xiàn):
[1] 馬 駿 孫秀霞 董文瀚.基于JSBSim 的運(yùn)輸機(jī)重裝空投飛行仿真系統(tǒng)[J]. 計(jì)算機(jī)應(yīng)用與軟件, 2012(29),65-68.
[2] Jon S. Berndt and the JSBSim Development Team. JSBSim Reference Manual.[M].2011.
[3]李圓圓劉靜靜?;贛atlab的虛擬飛行仿真系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].科技創(chuàng)新導(dǎo)報(bào),2013(3),31.