張劍鋒,程雪梅
(西北工業(yè)大學(xué)第365研究所,西安 710065)
隨著無人機(jī)功能越來越復(fù)雜,無人機(jī)的成本也越來越高,對(duì)于高性能高成本的無人機(jī)系統(tǒng)來說,如何降低飛行試驗(yàn)的風(fēng)險(xiǎn)是重中之重。和航模不同,無人機(jī)的安全性不應(yīng)該在高風(fēng)險(xiǎn)的飛行試驗(yàn)中完善,這就必須依賴于充分的地面驗(yàn)證,目前,無人機(jī)地面驗(yàn)證手段主要包括開環(huán)測(cè)試和閉環(huán)半物理仿真。無人機(jī)飛控系統(tǒng)半物理仿真技術(shù)已經(jīng)比較成熟[1-2],但大多數(shù)主要用于實(shí)驗(yàn)室環(huán)境下對(duì)飛行控制律及飛控計(jì)算機(jī)的正確性進(jìn)行仿真測(cè)試。
文中所介紹的無人機(jī)系統(tǒng)綜合仿真方法能夠?qū)︼w控系統(tǒng)、航電設(shè)備、地面站、數(shù)據(jù)鏈、機(jī)載供電、遙控設(shè)備、飛行控制與導(dǎo)航算法等形成大的閉環(huán)進(jìn)行仿真驗(yàn)證?;谕暾娘L(fēng)洞試驗(yàn)數(shù)據(jù),在綜合仿真試驗(yàn)中,無人機(jī)的氣動(dòng)特性和實(shí)際飛行時(shí)基本一致,從而使得使用人員不但可以對(duì)閉環(huán)在內(nèi)的各個(gè)設(shè)備軟硬件的正確性、可靠性以及系統(tǒng)集成后的兼容性、穩(wěn)定性等進(jìn)行地面驗(yàn)證,同時(shí)還能夠?qū)︼w行過程進(jìn)行高逼真度的模擬訓(xùn)練,從而有效降低項(xiàng)目研制風(fēng)險(xiǎn)、縮短研制周期。
無人機(jī)綜合仿真的一般過程如圖1所示。
高置信度的仿真系統(tǒng)是地面驗(yàn)證試驗(yàn)成功的前提。圖1表述了綜合仿真的一般過程,對(duì)于每一步驟來說,VV&A (verification, validation and accreditation) 都應(yīng)該全部完成[3],以期得到高置信度的仿真系統(tǒng)。
綜合仿真框圖見圖2。其中地面控制站、地面數(shù)據(jù)鏈、機(jī)載數(shù)據(jù)鏈、機(jī)載電源、飛控計(jì)算機(jī)(含飛控與導(dǎo)航算法)、舵機(jī)等是仿真驗(yàn)證的實(shí)物對(duì)象,仿真計(jì)算機(jī)是仿真設(shè)備。
圖1 綜合仿真的一般過程
圖2 無人機(jī)系統(tǒng)綜合仿真框圖
綜合仿真時(shí),地面控制站把控制指令通過數(shù)據(jù)鏈發(fā)送給飛控計(jì)算機(jī),飛控計(jì)算機(jī)根據(jù)收到的指令和當(dāng)前的飛行參數(shù)進(jìn)行控制律和導(dǎo)航算法的解算,把計(jì)算后的控制量輸出給舵機(jī)驅(qū)動(dòng)舵面,仿真計(jì)算機(jī)內(nèi)部是基于風(fēng)洞試驗(yàn)數(shù)據(jù)構(gòu)建的飛機(jī)模型,根據(jù)采集到的舵機(jī)反饋量進(jìn)行飛機(jī)運(yùn)動(dòng)學(xué)方程的解算,并把解算得到的飛行參數(shù)按照實(shí)際傳感器的數(shù)據(jù)格式打包發(fā)送給飛控計(jì)算機(jī),后者再根據(jù)飛行參數(shù)和地面發(fā)送的控制指令進(jìn)行控制律解算,如此就形成了完整的無人機(jī)大系統(tǒng)閉環(huán)仿真。仿真計(jì)算機(jī)的飛機(jī)模型是基于風(fēng)洞試驗(yàn)數(shù)據(jù)開發(fā),其特性和實(shí)際飛行中無人機(jī)特性基本一致,因此綜合仿真使得參與的實(shí)物設(shè)備在地面就能夠完成高置信度的全面驗(yàn)證。
仿真計(jì)算機(jī)主要包括仿真主機(jī)和實(shí)時(shí)仿真機(jī)。仿真主機(jī)用于構(gòu)建并下載無人機(jī)六自由度仿真模型、數(shù)據(jù)分析處理等,實(shí)時(shí)仿真機(jī)用于實(shí)時(shí)解算無人機(jī)模型、采集舵機(jī)反饋數(shù)據(jù)、向飛控計(jì)算機(jī)發(fā)送無人機(jī)姿態(tài)、高度、空速等飛行參數(shù)。
本項(xiàng)目的仿真對(duì)象為某外貿(mào)型固定翼無人機(jī),其巡航速度約為130 km/h,巡航高度約為3 000 m。根據(jù)仿真對(duì)象的特性,一臺(tái)普通中端筆記本電腦即可滿足仿真主機(jī)的需求。實(shí)時(shí)仿真計(jì)算機(jī)需要進(jìn)行硬件信號(hào)的采集與處理,因此選用一臺(tái)具備兩個(gè)ISA插槽和2個(gè)PCI插槽的工控機(jī)。
就該仿真對(duì)象來說,需要采集的舵機(jī)反饋量為6路電壓信號(hào),包括升降舵、左副翼、右副翼、左方向舵、右方向舵以及油門舵機(jī)。選取研華的PCL-818AD采集卡進(jìn)行舵機(jī)反饋信號(hào)的采集,該板卡具有16路單端采集通道,且在MATLAB的RTW支持列表中,無需另行開發(fā)驅(qū)動(dòng)程序。
需要實(shí)時(shí)仿真機(jī)模擬的傳感器包括垂直陀螺、角速度陀螺、高度/空速傳感器、GPS信號(hào)、無線電高度表,這些信號(hào)包括串口和電壓量。選擇具有8路電壓信號(hào)輸出且在MATLAB支持列表中的PCI-1723板卡進(jìn)行電壓信號(hào)的輸出。串口輸出板卡選用了Moxa的C168H,該擴(kuò)展板卡具有8路RS232串口輸出。
為了保證仿真的實(shí)時(shí)性,仿真模型需要在實(shí)時(shí)系統(tǒng)下運(yùn)行,此處選用MATLAB的xPC Target,該應(yīng)用是MATLAB推出的實(shí)時(shí)系統(tǒng)解決方案,使用主機(jī)/目標(biāo)機(jī)模式,編程以S函數(shù)的形式在主機(jī)上開發(fā),編程語言為C語言[4]。開發(fā)好的模型可以直接編譯為可執(zhí)行代碼下載到目標(biāo)機(jī)中實(shí)時(shí)運(yùn)行。
仿真電纜用于連接仿真系統(tǒng)和實(shí)物系統(tǒng),信號(hào)流程見圖3。串口信號(hào)通過仿真機(jī)的串口卡輸出給飛控計(jì)算機(jī),這些信號(hào)包括航向角、三軸角速率、GPS信號(hào)和無線電高度信號(hào)等。電壓信號(hào)通過仿真機(jī)的AD、DA卡進(jìn)行采集或發(fā)送,這些信號(hào)包括俯仰角、滾轉(zhuǎn)角信號(hào)的模擬輸出,舵機(jī)反饋信號(hào)的采集等。
圖3 仿真信號(hào)流程示意
仿真模型包括無人機(jī)方程、氣動(dòng)數(shù)據(jù)模塊、發(fā)動(dòng)機(jī)模型、環(huán)境模型以及硬件接口模塊,如圖4所示。
圖4 仿真模型組成
無人機(jī)模型為六自由度方程,利用小擾動(dòng)法可以得到描述飛機(jī)運(yùn)動(dòng)的六自由度動(dòng)力學(xué)方程,經(jīng)過線性化后得到飛機(jī)受擾運(yùn)動(dòng)的線性化狀態(tài)方程如下:
U=[δeδaδrδt]T
其中:A、B、C分別為狀態(tài)轉(zhuǎn)移矩陣、輸入控制矩陣和輸出控制矩陣;?、γ、ψ分別為俯仰角、傾斜角和航向角;u、v、w分別為前飛速度、側(cè)向速度和垂直速度;δe、δa、δr、δt分別是升降舵、副翼、方向舵和油門的操縱量。上述方程是標(biāo)準(zhǔn)的飛機(jī)六自由度方程[5],其系數(shù)矩陣根據(jù)風(fēng)洞試驗(yàn)數(shù)據(jù)計(jì)算得到。在SIMULINK工具箱里面把離散狀態(tài)方程模塊(Discrete State-Space)放置在仿真框圖中,其參數(shù)矩陣即為工作空間中的上述參數(shù),這些值隨飛行狀態(tài)的變化而變化,當(dāng)對(duì)某一特定的狀態(tài),這些系數(shù)均為確定值。
氣動(dòng)數(shù)據(jù)模塊用于計(jì)算無人機(jī)受到的力和力矩,其輸入為迎角、高度、速度、各個(gè)舵面控制量等,輸出為無人機(jī)受到的合力和合力矩,模塊內(nèi)部是根據(jù)風(fēng)洞試驗(yàn)得到的氣動(dòng)數(shù)據(jù)插值表。
發(fā)動(dòng)機(jī)模型一般由發(fā)動(dòng)機(jī)專業(yè)給出數(shù)據(jù),通過插值表的形式根據(jù)油門大小計(jì)算出推力。
環(huán)境模塊主要是風(fēng)干擾模型,可直接從MATLAB的Simulink中加載使用。
硬件接口模塊包括模擬量采集、模擬輸出和串口輸出,模擬量輸入和輸出模塊可以直接使用Simulink的RTW中封裝好的硬件通訊模塊,無需另行開發(fā)。串口輸出卡沒有在RTW的支持列表中,需要使用S函數(shù)開發(fā)驅(qū)動(dòng)程序。MATLAB提供了標(biāo)準(zhǔn)的S函數(shù)模板,包括MdlStart、MdlOutputs、MdlUpdate等編程接口,在開發(fā)驅(qū)動(dòng)時(shí),在MdlStart模塊中初始化板卡,并在MdlOutputs進(jìn)行串口輸出操作即可,在本項(xiàng)目中,可在MdlStart函數(shù)中加入如下程序?qū)Υ诳ㄟM(jìn)行初始化。
C168H_Base =(short) (*param0);//得到基地址
C168H_Base =C168H_Base+8;//第2個(gè)串口
if (!C168H_Ini)
{
_outp(C168H_Base, 0x80); //寄存器訪問使能
_outp(C168H_Base, 0x60); //波特率設(shè)置為19200
_outp(C168H_Base +3, 0x03); //設(shè)置8數(shù)據(jù)位
_outp(C168H_Base +4, 0x04);
_outp(C168H_Base +1, 0); //中斷關(guān)閉
C168H_Ini =true;
}
可在S函數(shù)模板的MdlOutputs中添加如下代碼以完成串口輸出:
for(i=0;i // rs232buffo為輸出數(shù)組,C168H_Base為板卡基地址 { _outp(C168H_Base, rs232buffo[i]); // 按字節(jié)依次發(fā)數(shù) while(!(_inp(C168H_Base+5)&0x20)); // 發(fā)送完畢判斷 } 為說明該綜合仿真方法的正確性,把該型無人機(jī)起飛過程[6]的綜合仿真和飛行試驗(yàn)結(jié)果進(jìn)行對(duì)比。在起飛過程中,該無人機(jī)的起飛爬升角度指令設(shè)置為11.6°,油門設(shè)置為最大值,飛機(jī)爬升到預(yù)定高度后自動(dòng)切換為定高飛行。 圖5為俯仰角和迎角曲線的對(duì)比結(jié)果,由圖可以看出綜合仿真與實(shí)際飛行試驗(yàn)結(jié)果是基本一致的,由于實(shí)際飛行中存在氣流擾動(dòng)、傳感器信號(hào)測(cè)量誤差,實(shí)飛曲線不像仿真曲線那么平滑,此外,仿真用的氣動(dòng)數(shù)據(jù)不可能和實(shí)際完全一致也導(dǎo)致穩(wěn)定終值存在合理的差別。 文中針對(duì)某型固定翼無人機(jī),提出了一種實(shí)用的綜合仿真方法,給出了總體方案設(shè)計(jì)、綜合仿真系統(tǒng)開發(fā)、信號(hào)連接過程與綜合仿真方法,并對(duì)實(shí)際飛行結(jié)果和綜合仿真結(jié)果進(jìn)行了分析對(duì)比。從對(duì)比結(jié)果可知,該綜合仿真方法正確可行,仿真系統(tǒng)實(shí)現(xiàn)簡單,具有很高的置信度,能夠?qū)崿F(xiàn)飛行試驗(yàn)前對(duì)無人機(jī)大系統(tǒng)的閉環(huán)綜合仿真驗(yàn)證,從而為定位系統(tǒng)問題以及系統(tǒng)改進(jìn)優(yōu)化提供有效手段。該綜合仿真方法和仿真平臺(tái)正在某外貿(mào)型無人機(jī)系統(tǒng)中使用,效果良好,后續(xù)只需對(duì)電纜進(jìn)行適應(yīng)性改造,即可推廣應(yīng)用到其他多種型號(hào)的無人機(jī)項(xiàng)目。 圖5 仿真數(shù)據(jù)和飛行數(shù)據(jù)的對(duì)比3 仿真結(jié)果分析
4 結(jié)束語