鄭文華,劉 淵,余 婷,黃學(xué)進(jìn)
(1.中航工業(yè)航空 動(dòng)力控制系統(tǒng)研究所,江蘇 無錫 214063;2.南京航空航天大學(xué) 能源與動(dòng)力學(xué)院,南京 210000)
?
基于CompactRIO的四旋翼飛控實(shí)時(shí)仿真平臺(tái)設(shè)計(jì)
鄭文華1,2,劉淵2,余婷1,黃學(xué)進(jìn)1
(1.中航工業(yè)航空 動(dòng)力控制系統(tǒng)研究所,江蘇 無錫214063;2.南京航空航天大學(xué) 能源與動(dòng)力學(xué)院,南京210000)
摘要:針對(duì)四旋翼無人機(jī)實(shí)時(shí)飛行控制系統(tǒng)的控制算法設(shè)計(jì)與參數(shù)整定,設(shè)計(jì)了一種基于CompactRIO的飛行控制系統(tǒng)實(shí)時(shí)仿真平臺(tái),該平臺(tái)使用兩臺(tái)CompactRIO作為主控制器,分別在其嵌入式實(shí)時(shí)系統(tǒng)(VxWorks)中運(yùn)行Simulink設(shè)計(jì)的無人機(jī)動(dòng)力學(xué)模型與飛行控制系統(tǒng)模型,并使用LabVIEW開發(fā)PC上位機(jī)監(jiān)控程序,用于調(diào)整飛行狀態(tài)和整定控制參數(shù);經(jīng)試驗(yàn)證明,該平臺(tái)實(shí)用性強(qiáng),可視化程度高,實(shí)時(shí)性好,能較好地對(duì)四旋翼飛控系統(tǒng)進(jìn)行實(shí)時(shí)仿真驗(yàn)證。
關(guān)鍵詞:四旋翼無人機(jī); CompactRIO;實(shí)時(shí)仿真
0引言
四旋翼無人機(jī)是一種能夠垂直起降和自由懸停的多旋翼式遙控自主飛行器。它通過調(diào)整4個(gè)旋翼的轉(zhuǎn)速,對(duì)姿態(tài)和位置進(jìn)行控制[1]。與常規(guī)旋翼式飛行器相比,其結(jié)構(gòu)更為緊湊,產(chǎn)生的升力更大,穩(wěn)定性也更好,飛行性能卓越,所以在很多領(lǐng)域內(nèi)有著廣闊的應(yīng)用前景[2-3]。然而,四旋翼飛行控制算法多種多樣,參數(shù)的調(diào)整也缺乏可視化的參考,目前多采用簡單的數(shù)字仿真。為了保證飛行安全,縮短算法開發(fā)周期,提高參數(shù)整定效率,確保飛行控制系統(tǒng)的準(zhǔn)確性與實(shí)時(shí)性,急需構(gòu)建一個(gè)低成本高效率的飛控系統(tǒng)實(shí)時(shí)仿真平臺(tái)[4-5]。
本文利用CompactRIO實(shí)時(shí)運(yùn)行飛行控制系統(tǒng)和四旋翼無人機(jī)數(shù)學(xué)模型,使用VeriStand軟件部署和設(shè)置模型,并用LabVIEW編寫可視化的參數(shù)設(shè)置與監(jiān)控上位機(jī),搭建了四旋翼飛控系統(tǒng)實(shí)時(shí)仿真平臺(tái),在該平臺(tái)上可以快速搭建四旋翼無人機(jī)原型,高效設(shè)計(jì)飛行控制系統(tǒng)算法,并對(duì)算法進(jìn)行調(diào)試,整定控制參數(shù),評(píng)估飛行性能,不僅減少了四旋翼無人機(jī)的開發(fā)成本,更提高了飛控系統(tǒng)的開發(fā)效率。
1仿真平臺(tái)總體架構(gòu)
在設(shè)計(jì)四旋翼飛控算法仿真平臺(tái)過程中,分析出該系統(tǒng)應(yīng)滿足如下基本功能:飛控算法開發(fā)速度快,可移植性強(qiáng);飛控模型與無人機(jī)動(dòng)力學(xué)模型實(shí)時(shí)性高;具備傳感器、旋翼等故障設(shè)置;仿真驗(yàn)證可視化程度高等。同時(shí),仿真平臺(tái)的軟硬件開發(fā)環(huán)境應(yīng)具有開放性,系統(tǒng)設(shè)計(jì)、軟件編程和算法驗(yàn)證應(yīng)具有可擴(kuò)展性,功能算法易于實(shí)現(xiàn),便于后續(xù)開發(fā)人員對(duì)其進(jìn)行二次開發(fā)。
基于以上飛控算法仿真平臺(tái)的需求與特點(diǎn),該實(shí)時(shí)仿真平臺(tái)的設(shè)計(jì)流程為:建立四旋翼無人機(jī)飛行控制系統(tǒng)模型和四旋翼運(yùn)動(dòng)學(xué)動(dòng)力學(xué)數(shù)學(xué)模型,并使用Simulink實(shí)現(xiàn)兩種模型,然后使用Simulink的Real-Time Workspace(RTW)工具包將模型編譯為CompactRIO中嵌入式系統(tǒng)可以調(diào)用的庫文件,并實(shí)現(xiàn)兩者之間的接口函數(shù),最后利用VeriStand軟件部署模型和接口函數(shù),利用LabVIEW編寫上位機(jī)飛行狀態(tài)設(shè)定與監(jiān)控軟件,進(jìn)行實(shí)時(shí)仿真。
飛控算法實(shí)時(shí)仿真平臺(tái)總體架構(gòu)如圖1所示,仿真平臺(tái)的硬件部分由一臺(tái)PC計(jì)算機(jī)和兩臺(tái)CompactRIO 9024組成。CompactRIO(CRIO)是NI公司的一款堅(jiān)固耐用、可重配置的嵌入式系統(tǒng),主要由3個(gè)部分組成:實(shí)時(shí)控制器,可重配置的FPGA(現(xiàn)場可編程門陣列)和工業(yè)級(jí)I/O模塊(NI C系列)。實(shí)時(shí)處理器具體是一個(gè)速率高達(dá)800 MHz Freescale的工業(yè)實(shí)時(shí)嵌入式處理器,能夠可靠而準(zhǔn)確地執(zhí)行實(shí)時(shí)應(yīng)用程序,并可提供多速率控制、進(jìn)程執(zhí)行跟蹤、板載數(shù)據(jù)存儲(chǔ)以及與外部設(shè)備通訊等功能,系統(tǒng)安全性、可靠性及控制精度高,實(shí)時(shí)性強(qiáng)[6]。CompactRIO內(nèi)嵌FPGA的可重配置機(jī)箱是嵌入式系統(tǒng)體系結(jié)構(gòu)的核心,機(jī)箱中的FPGA直接和每個(gè)I/O模塊相連,可高速訪問I/O電路并靈活實(shí)現(xiàn)定時(shí)、出發(fā)和同步等功能。RIO(FPGA)核心內(nèi)置數(shù)據(jù)傳輸機(jī)制,負(fù)責(zé)把數(shù)據(jù)傳輸?shù)角度胧教幚砥鬟M(jìn)行實(shí)時(shí)分析、數(shù)據(jù)處理、數(shù)據(jù)記錄或與主機(jī)聯(lián)網(wǎng)通信。NI C系列模塊提供了高精度測量,適用于高級(jí)數(shù)據(jù)和控制應(yīng)用,并支持較寬的溫度范圍,以滿足各種應(yīng)用和環(huán)境需求。
圖1 仿真平臺(tái)硬件結(jié)構(gòu)圖
模型的加載、部署與實(shí)時(shí)運(yùn)行都是由VeriStand軟件完成的。NI VeriStand是一種配置實(shí)時(shí)測試應(yīng)用程序的軟件環(huán)境,可以配置針對(duì)多核處理器的實(shí)時(shí)引擎。利用VeriStand硬件發(fā)現(xiàn)功能可以掃描得到FPGA,針對(duì)CRIO上的C模塊編寫FPGA配置文件即可直接訪問CompactRIO硬件的每個(gè)I/O模塊輸入輸出電路,簡單靈活地進(jìn)行復(fù)雜任務(wù)處理。
NI VeriStand 還能夠從NI LabVIEW 軟件和第三方環(huán)境中導(dǎo)入控制算法、仿真模型和其他任務(wù)??梢允褂眠\(yùn)行時(shí)可編輯的用戶界面(Workspace)監(jiān)測這些任務(wù),并與其交互,然而VeriStand Workspace控件太少,功能過于簡單,實(shí)用性不足,故本仿真平臺(tái)中使用LabVIEW調(diào)用VeriStand API,控制模型的狀態(tài)設(shè)定和參數(shù)監(jiān)控。VeriStand可以在多種不同的軟件環(huán)境進(jìn)行自定義和擴(kuò)展,如LabVIEW,ANSI C/C++和其他建模與編程環(huán)境。
2仿真平臺(tái)軟件設(shè)計(jì)
2.1通信程序與轉(zhuǎn)速驅(qū)動(dòng)程序編程
真實(shí)四旋翼無人機(jī)中,飛行控制系統(tǒng)的飛行狀態(tài)設(shè)定值由遙控指令設(shè)定,姿態(tài)信息則通過傳感器采集獲得。而在本仿真平臺(tái)中,飛行狀態(tài)設(shè)定值由PC上位機(jī)設(shè)定,傳感器反饋值由四旋翼數(shù)學(xué)模型計(jì)算,計(jì)算后通過串口從第二個(gè)CompactRIO(CRIO2)發(fā)送至第一個(gè)CompactRIO(CRIO1)。由于VeriStand并沒有預(yù)置串口通信功能,所以使用Custom Device實(shí)現(xiàn)。Custom Device是一種具有固定格式的LabVIEW工程,它可以實(shí)時(shí)運(yùn)行于仿真平臺(tái),VeriStand提供了該工程的模板,可以在該模板中添加所需功能。但是該模板的閱讀與使用較為復(fù)雜,NI官方提供了名為“EasyCustomDeviceTool”的工具,對(duì)原有模板進(jìn)行了進(jìn)一步的封裝,使得Custom Device的編寫與常規(guī)LabVIEW串口通信程序的編寫基本一致,極大地簡化了編程,提高了效率。
在本仿真平臺(tái)中,為使飛行控制系統(tǒng)模型和四旋翼數(shù)學(xué)模型能夠在兩個(gè)CRIO中分別實(shí)時(shí)運(yùn)行,更加貼近真實(shí)四旋翼無人機(jī)的各項(xiàng)功能,并盡可能地減少通信程序可能造成的延遲,在CRIO1中使用LabVIEW程序編寫了轉(zhuǎn)速輸出驅(qū)動(dòng)程序,即將飛行控制系統(tǒng)模型輸出的轉(zhuǎn)速使用FPGA通過NI 9401模塊轉(zhuǎn)換為PWM波形輸出,而在CRIO2中變速采集驅(qū)動(dòng)程序,即使用FPGA通過 NI 9403模塊采集PWM波形并標(biāo)定為真實(shí)轉(zhuǎn)速,并將轉(zhuǎn)速通過映射功能(Mapping)傳遞至四旋翼數(shù)學(xué)模型的輸入端口。
2.2仿真平臺(tái)軟件架構(gòu)
整個(gè)仿真軟件可以分為上位機(jī)和下位機(jī)兩部分。上位機(jī)也是主控計(jì)算機(jī),由LabVIEW通過調(diào)用VeriStand API,控制整個(gè)VeriStand工程,對(duì)下位機(jī)模型輸入?yún)?shù)進(jìn)行設(shè)定,同時(shí)讀取模型各輸出參數(shù),并用合適的方式顯示;兩個(gè)CompactRIO都是下位機(jī),下位機(jī)模型則由VeriStand Engine實(shí)時(shí)運(yùn)行。
上位機(jī)的主要功能包括飛行狀態(tài)和控制參數(shù)的設(shè)定、模型輸出參數(shù)的監(jiān)控、數(shù)據(jù)存儲(chǔ)于回放等。而下位機(jī)則主要是模型的實(shí)時(shí)運(yùn)行,通訊程序、模型和轉(zhuǎn)速驅(qū)動(dòng)三者之間的信號(hào)通過VeriStand的映射功能實(shí)現(xiàn),信號(hào)的標(biāo)定與計(jì)算則通過VeriStand的Calculated Channels功能實(shí)現(xiàn),同時(shí)使用Stimulus Profile按需求編寫了實(shí)時(shí)測試序列,對(duì)模型進(jìn)行自動(dòng)化測試。
3仿真模型的建立
3.1飛行控制系統(tǒng)模型的建立
飛行控制系統(tǒng)是四旋翼無人機(jī)的大腦,其主要功能是接收遙控指令,并讀取傳感器參數(shù),通過調(diào)整4個(gè)旋翼的轉(zhuǎn)速以控制四旋翼的姿態(tài)和位置。本仿真平臺(tái)是使用最普遍的PID控制器對(duì)四旋翼無人機(jī)進(jìn)行姿態(tài)和高度控制的,飛行控制系統(tǒng)模型的輸入為飛行狀態(tài)設(shè)定值和傳感器反饋值。飛行狀態(tài)由上位機(jī)設(shè)定,傳感器反饋值則通過串口從CRIO2接收。
在Simulink下對(duì)飛行控制系統(tǒng)進(jìn)行建模,模型主體結(jié)構(gòu)如圖2所示。
圖2 飛行控制系統(tǒng)模型
飛行控制系統(tǒng)數(shù)學(xué)模型在CRIO中的運(yùn)行周期為5 ms。
3.2四旋翼動(dòng)力學(xué)與運(yùn)動(dòng)學(xué)模型的建立
建立在運(yùn)動(dòng)學(xué)和動(dòng)力學(xué)分析基礎(chǔ)上的四旋翼無人機(jī)數(shù)學(xué)模型是飛行控制仿真的基礎(chǔ)。為建立其數(shù)學(xué)模型,首先建立地面坐標(biāo)系E(OXYZ)以確定四旋翼飛行器的空間坐標(biāo)位置和相對(duì)于地面的運(yùn)動(dòng)狀態(tài);然后以四旋翼飛行器重心為原點(diǎn),建立機(jī)體坐標(biāo)系B(OXYZ),并對(duì)四旋翼進(jìn)行受力分析,如圖3所示。其中,翻滾角Φ為機(jī)體坐標(biāo)系相對(duì)地面坐標(biāo)系沿x軸變化的角度,俯仰角θ為機(jī)體坐標(biāo)系相對(duì)地面坐標(biāo)系沿y軸變化的角度,偏航角Ψ為機(jī)體坐標(biāo)系相對(duì)地面坐標(biāo)系沿z軸變化的角度。這3個(gè)歐拉角用于描述飛行器的姿態(tài)。
圖3 四旋翼無人機(jī)坐標(biāo)系
分析四旋翼在地面坐標(biāo)系中受力情況時(shí),首先獲得機(jī)體坐標(biāo)系到地面坐標(biāo)系的轉(zhuǎn)換矩陣如下:
R=Rx*Ry*Rz=
為使建立的數(shù)學(xué)模型更為準(zhǔn)確,對(duì)該系統(tǒng)做如下假設(shè):
1)假設(shè)地面坐標(biāo)系E(OXYZ)為慣性坐標(biāo)系;
2)無人機(jī)機(jī)體坐標(biāo)原點(diǎn)與無人機(jī)重心完全重合;
3)將四旋翼整體視為剛體,且完全均勻?qū)ΨQ;
4)飛行器處在懸?;蚵亠w行狀態(tài),忽略阻力系數(shù)。
根據(jù)牛頓第二定律和飛行器動(dòng)力學(xué)方程,參考文獻(xiàn)[7-9],建立四旋翼無人機(jī)的數(shù)學(xué)模型如下:
式中,m為無人機(jī)的質(zhì)量,g為重力加速度,l為無人機(jī)重心到旋翼中心的距離,kt為升力系數(shù),kd為拖拉系數(shù),ωi為電機(jī)轉(zhuǎn)速,i=1,2,3,4,Ix,Iy,Iz分別為無人機(jī)3個(gè)軸向的轉(zhuǎn)動(dòng)慣量。
利用Simulink軟件對(duì)四旋翼無人機(jī)進(jìn)行建模,其結(jié)構(gòu)如圖4所示。
圖4 四旋翼數(shù)學(xué)模型
飛行控制系統(tǒng)模型在CRIO中的運(yùn)行周期為5ms。
模型建立后即可使用NI提供的“NIVeriStand_VxWorks.tlc”目標(biāo)文件,將Simulink模型編譯為可以在VeriStand中運(yùn)行的.out文件。
4仿真驗(yàn)證
VeriStand提供了非常友好的API接口,可以使用LabVIEW、C#等語言控制VeriStand工程,編寫界面更為友好、功能更為豐富的上位機(jī)程序,尤其是搭配圖形化編程語言LabVIEW可以快速搭建可視化仿真驗(yàn)證上位機(jī)。
在該可視化上位機(jī)中,左上角為PID調(diào)參區(qū)域,如未填寫則使用下默認(rèn)參數(shù),中間部分為飛行狀態(tài)設(shè)定區(qū)域,右側(cè)為姿態(tài)角變化曲線顯示區(qū)域,左下角顯示飛行姿態(tài),右下角曲線顯示4個(gè)電機(jī)轉(zhuǎn)速變化。
為測試該仿真平臺(tái)的控制效果,在上位機(jī)飛行狀態(tài)設(shè)定中,將橫滾角和俯仰角都設(shè)定為0.5rad,翻滾角設(shè)置為0rad,高度設(shè)置為1m。運(yùn)行上位機(jī)程序,上位機(jī)自動(dòng)部署并實(shí)時(shí)運(yùn)行VeriStand工程,同時(shí)將模型各項(xiàng)輸入輸出參數(shù)在上位機(jī)中顯示。圖6為改變參數(shù)后姿態(tài)角在前20s的變化曲線。
圖5 20 s內(nèi)姿態(tài)角變化曲線
轉(zhuǎn)速曲線則如圖7所示。
圖6 轉(zhuǎn)速變化曲線
從圖5與圖6中可以看出,飛行器大約在5s左右進(jìn)入懸停狀態(tài),橫滾角的穩(wěn)態(tài)誤差為±0.02rad,俯仰角的穩(wěn)態(tài)誤差為±0.05rad,偏航角的穩(wěn)態(tài)誤差為±0.05rad,懸停中無人機(jī)的飛行狀態(tài)非常穩(wěn)定。
5結(jié)論
本文研究并設(shè)計(jì)了一個(gè)四旋翼無人機(jī)飛行控制系統(tǒng)實(shí)時(shí)仿真驗(yàn)證平臺(tái),使用Simulink建立了四旋翼無人機(jī)數(shù)學(xué)模型和飛行控制系統(tǒng)模型,利用RTW將模型編譯,通過VeriStand將模型部署至CompactRIO實(shí)時(shí)系統(tǒng)中,并在LabVIEW編寫的上位機(jī)中飛行狀態(tài),實(shí)時(shí)運(yùn)行模型以對(duì)飛行控制系統(tǒng)進(jìn)行仿真驗(yàn)證與可視化參數(shù)整定。經(jīng)過驗(yàn)證,該仿真平臺(tái)具有較好的擴(kuò)展性和實(shí)用性,能以低成本的方式對(duì)四旋翼無人機(jī)飛控系統(tǒng)進(jìn)行實(shí)時(shí)仿真驗(yàn)證。
參考文獻(xiàn):
[1] 韓志鳳,李榮冰,劉建業(yè),等.小型四旋翼飛行器實(shí)驗(yàn)平臺(tái)設(shè)計(jì)[J].測控技術(shù),2012,32(10):121-124.
[2]McKerrowP.Modellingthedraganflyerfour-rotorhelicopter[A].ProceedingofIEEEInternationalConferenceonRoboticsandAutomation[C]. 2004:3596-3601.
[3] 聶博文,馬宏緒,王劍,等.微小型四旋翼飛行器的研究現(xiàn)狀與關(guān)鍵技術(shù)[J].電光與控制,2007,14(6):113-117.
[4] 周德新,馬騰達(dá).四旋翼無人機(jī)飛控系統(tǒng)仿真平臺(tái)研究[J]. 計(jì)算機(jī)測量與控制,2014,22(2):426-428.
[5] 張垚,鮮斌,于琰平,等. 四旋翼無人機(jī)可視化半實(shí)物仿真平臺(tái)研究[J]. 儀器儀表學(xué)報(bào),2012,33(11):2572-2578.
[6] 張冬冬,黃金泉,魯峰. 航空發(fā)動(dòng)機(jī)健康管理系統(tǒng)的快速原型設(shè)計(jì)[J]. 航空發(fā)動(dòng)機(jī),2014,40(4):89-94.
[7] 吳桐,趙健康,楊磊.四旋翼無人機(jī)的系統(tǒng)模型與辨識(shí)[J]. 計(jì)算機(jī)仿真,2012,29(8):89-92.
[8] 何嘉繼. 四旋翼飛行器建模與控制方法的研究[D]. 遼寧沈陽:東北大學(xué),2012.
[9] 劉志軍, 呂強(qiáng), 王東來,等. 小型四旋翼直升機(jī)的建模與仿真控制[J]. 計(jì)算機(jī)仿真, 2010, 27(7):18-20.
Study of Real-Time Simulation Platform for Four-Rotor Flight Control System Based on CompactRIO
Zheng Wenhua1,2, Liu Yuan2, Yu Ting1, Huang Xuejin1
(1.AVIC Aviation Motor Control System Institute,Wuxi214063,China;2.Nanjing University of Aeronautics and Astronautics, Nanjing210000,China)
Abstract:For four-rotor real-time UAV flight control system design and algorithm parameter tuning, a flight control system based on CompactRIO real-time simulation platform is designed. This Platform using two CompactRIO as the main controller, respectively, in its embedded real-time systems (VxWorks) run UAV dynamics model and flight control system model designed by Simulink. LabVIEW is used to develop PC monitoring program to adjust flight status and set control parameters. The experiment proved that the platform is practical, and has high degree of visualization and real-time performance, can better for real-time simulation of four-rotor flight control system.
Keywords:four-rotor UAV; CompactRIO; real-time simulation
文章編號(hào):1671-4598(2016)02-0275-04
DOI:10.16526/j.cnki.11-4762/tp.2016.02.076
中圖分類號(hào):V271.4
文獻(xiàn)標(biāo)識(shí)碼:A
作者簡介:鄭文華(1990-),男,江蘇常州人,碩士研究生,主要從事系統(tǒng)控制與仿真方向的研究。
基金項(xiàng)目:南京航空航天大學(xué)研究生創(chuàng)新基地(實(shí)驗(yàn)室)開放基金 (kfjj201462); 中央高?;究蒲袠I(yè)務(wù)費(fèi)專項(xiàng)資金。
收稿日期:2015-09-06;修回日期:2015-10-10。