魏家輝 姜春波 陳浩 張明星 揚(yáng)州大學(xué)信息工程學(xué)院
無(wú)人駕駛飛機(jī),簡(jiǎn)稱“無(wú)人機(jī)”,英文縮寫為“UAV”,是使用無(wú)線電遙控設(shè)備和自備的程序控制裝置操縱的不載人飛機(jī)。文中采用十字形分布的四旋翼無(wú)人機(jī),四旋翼無(wú)人機(jī)只能通過(guò)改變旋翼的轉(zhuǎn)速來(lái)實(shí)現(xiàn)各種運(yùn)動(dòng)。四旋翼飛行器具有多變量、非線性、強(qiáng)耦合和欠驅(qū)動(dòng)運(yùn)動(dòng)的特點(diǎn),因此它的建模過(guò)程和控制方法是近些年來(lái)國(guó)內(nèi)外研究的熱點(diǎn)。
目前有多種實(shí)現(xiàn)對(duì)四旋翼飛行器的姿態(tài)控制算法,有①比例-積分-微分(proportion-integral-differential,PID)控制、反演控制、滑??刂?、神經(jīng)網(wǎng)絡(luò)控制、魯棒控制等等。非線性控制算法能夠取得很好的仿真效果,實(shí)現(xiàn)良好的跟蹤性能和控制的穩(wěn)定性。筆者針對(duì)四旋翼無(wú)人機(jī)的動(dòng)力學(xué)非線性模型,在此次則采用的是PID控制算法,并在Matlab/Simulink環(huán)境下進(jìn)行了仿真實(shí)驗(yàn)。
Matlab/Simulink作為一款在動(dòng)態(tài)系統(tǒng)建模和仿真方面應(yīng)用廣泛的軟件,融合了科學(xué)計(jì)算、信號(hào)處理、圖像處理等特點(diǎn),通過(guò)建立仿真模型能夠幫助我們加強(qiáng)對(duì)四旋翼無(wú)人機(jī)飛行控制原理的理解,同時(shí)可以通過(guò)模型對(duì)不同控制算法的實(shí)際控制效果進(jìn)行比較。
四旋翼無(wú)人機(jī)的直接動(dòng)力源是四個(gè)旋翼,這些旋翼對(duì)稱分布在機(jī)體的前后、左右四個(gè)方向,而且四個(gè)旋翼處于同一高度平面,四個(gè)旋翼的結(jié)構(gòu)和半徑都相同。如圖,四旋翼無(wú)人機(jī)的結(jié)構(gòu)形式如下。其中,電機(jī)1和電機(jī)3逆時(shí)針旋轉(zhuǎn),電機(jī)2 和電機(jī)4順時(shí)針旋轉(zhuǎn)。由于,四個(gè)電機(jī)對(duì)稱的安裝在無(wú)人機(jī)的支架端,因此當(dāng)飛行器平衡飛行時(shí),陀螺效應(yīng)和空氣動(dòng)力扭矩效應(yīng)均被抵消。
圖2.1 四旋翼飛行器結(jié)構(gòu)
四旋翼無(wú)人機(jī),是通過(guò)調(diào)節(jié)四個(gè)電機(jī)轉(zhuǎn)速來(lái)改變旋翼轉(zhuǎn)速來(lái)實(shí)現(xiàn)升力的變化,進(jìn)而控制飛行器的姿態(tài)和位置。但是這樣會(huì)導(dǎo)致其動(dòng)力不穩(wěn)定,所以需要一種能夠長(zhǎng)期保穩(wěn)定的控制方法。四旋翼無(wú)人機(jī)是一種六自由度的垂直升降機(jī),因此非常適合靜態(tài)和準(zhǔn)靜態(tài)條件下飛行。但是四旋翼飛行器只有四個(gè)輸入力,同時(shí)卻有六個(gè)狀態(tài)輸出,所以它又是一種欠驅(qū)動(dòng)系統(tǒng)。
在運(yùn)動(dòng)過(guò)程中,運(yùn)動(dòng)控制器通過(guò)調(diào)節(jié)四個(gè)電機(jī)的轉(zhuǎn)速來(lái)實(shí)現(xiàn)各種運(yùn)動(dòng)姿態(tài)。包括俯仰運(yùn)動(dòng)、翻滾運(yùn)動(dòng)、垂直運(yùn)動(dòng)、偏航運(yùn)動(dòng)、前后運(yùn)動(dòng)和左右運(yùn)動(dòng)6種運(yùn)動(dòng)狀態(tài)的原理。按照運(yùn)動(dòng)調(diào)節(jié)方式,可以將姿態(tài)控制劃分為四個(gè)基本的飛行控制方式:(1)垂直飛行控制(2)翻滾控制(3)俯仰控制(4)偏航控制。
四旋翼無(wú)人機(jī)可以看作是一個(gè)具有六自由度的剛體結(jié)構(gòu),我們假定,四旋翼無(wú)人機(jī)的機(jī)翼中心對(duì)稱,無(wú)人機(jī)質(zhì)心在無(wú)人機(jī)的幾何中心,且旋翼尺寸,電機(jī)參數(shù)都相同,忽略誤差產(chǎn)生的影響。在載體坐標(biāo)系下,機(jī)體所受到的四個(gè)旋翼的合升力F_B可如下表示:
其中Fj(i=1,2,3,4)表示四個(gè)旋翼的旋轉(zhuǎn)時(shí)所產(chǎn)生的升力。同時(shí),旋翼旋轉(zhuǎn)所產(chǎn)生的升力與旋轉(zhuǎn)的速度有關(guān),其關(guān)系式如下所示:
其中,Kj為升力系數(shù)。結(jié)合方向余弦矩陣式可得到地面慣性坐標(biāo)系下無(wú)人機(jī)的受力為:
根據(jù)牛頓運(yùn)動(dòng)定律可以得到四旋翼無(wú)人機(jī)在x,y,z方向的線位移運(yùn)動(dòng)方程,忽略四旋翼所受的空氣阻力可得:
其中,K1,K2,K3是空氣阻力系數(shù),在低速飛行的情況下可以忽略。
根據(jù)之前介紹的控制原理可以知道,四旋翼無(wú)人機(jī)是依靠四個(gè)獨(dú)立的旋翼旋轉(zhuǎn)所產(chǎn)生的升力來(lái)實(shí)現(xiàn)飛行的位置和姿態(tài)控制的。我們定義U1,U2,U3,U4為無(wú)人機(jī)四個(gè)獨(dú)立控制通道的控制輸入量。其中,U1為垂直運(yùn)動(dòng)的總升力,U2為翻滾運(yùn)動(dòng)時(shí)產(chǎn)生的合力,U3為俯仰運(yùn)動(dòng)時(shí)產(chǎn)生的合力,U4為偏航運(yùn)動(dòng)時(shí)產(chǎn)生的合力。因此,有如下關(guān)系:
由剛體轉(zhuǎn)動(dòng)力學(xué)方程:
其中,J為四旋翼無(wú)人機(jī)的慣性矩陣,Ix,Iy,Iz分別表示x,y,z三軸的轉(zhuǎn)動(dòng)慣量。Ω為機(jī)體角速度矢量。p,q,r分別代表繞x,y,z的角速度分量。
作用在四旋翼無(wú)人機(jī)上的總外力矩,如公式:
由公式(2-6)和(2-9)可以得到角位移公式:
其中,W=-w1+w2-w3+w4。
如果無(wú)人機(jī)俯仰角和翻滾角的變化很小,公式(2-11)可以簡(jiǎn)化為:
由前面的分析可知,四旋翼無(wú)人機(jī)的飛行運(yùn)動(dòng)方式可以看作是線位移和角位移運(yùn)動(dòng)的結(jié)合,綜合公式(2-4),(2-10)和(2.11),可以得到四旋翼無(wú)人機(jī)完整的動(dòng)力學(xué)方程,如公式(2-13)所示:
從公式(2-13)可以看出,四旋翼無(wú)人機(jī)的輸入是四個(gè)控制量,其控制的強(qiáng)度直接反映到無(wú)人機(jī)四個(gè)旋翼的轉(zhuǎn)動(dòng)速度;輸出是六個(gè)自由度的物理量,也就是,三個(gè)軸方向的運(yùn)動(dòng)量還有無(wú)人機(jī)繞軸轉(zhuǎn)動(dòng)的三個(gè)姿態(tài)角的變化量。
根據(jù)前面所得的四旋翼飛行器的動(dòng)力學(xué)模型,利用Matlab提供的仿真工具Simulink來(lái)進(jìn)行仿真。
由公式(2-13)給出的四旋翼無(wú)人機(jī)動(dòng)力學(xué)模型,我們可以對(duì)其進(jìn)行簡(jiǎn)化(只考慮低空和低速運(yùn)動(dòng)),得到公式的簡(jiǎn)化模型。
根據(jù)簡(jiǎn)化后的公式(3-1),即四旋翼無(wú)人機(jī)動(dòng)力學(xué)模型,將四旋翼無(wú)人機(jī)的控制系統(tǒng)分為三個(gè)控制回路:位置控制回路、姿態(tài)控制回路和旋翼轉(zhuǎn)速控制回路。四旋翼無(wú)人機(jī)的飛行控制系統(tǒng)如圖所示
圖1 四旋翼無(wú)人機(jī)的飛行控制系統(tǒng)結(jié)構(gòu)圖
整體仿真框圖如圖2所示。被控對(duì)象四旋翼的模型由.m文件編程實(shí)現(xiàn),輸入為四個(gè)電機(jī)的轉(zhuǎn)速w1、w2、w3、w4,輸出為3個(gè)位置加速度和3個(gè)角加速度。Rotor模擬電機(jī),輸入為4個(gè)轉(zhuǎn)速給定信號(hào)輸出為四個(gè)轉(zhuǎn)速。
圖2 整體仿真框圖
為了提高四旋翼無(wú)人機(jī)飛行的穩(wěn)定性,需要對(duì)位置和姿態(tài)角進(jìn)行控制。我們將四旋翼無(wú)人機(jī)的控制部分分為位置控制和姿態(tài)角控制兩個(gè)回路,一個(gè)是內(nèi)環(huán),用于控制四旋翼的姿態(tài);一個(gè)是外環(huán),用于控制四旋翼的位置。
位置控制回路的原理是將目標(biāo)參考位置與飛機(jī)當(dāng)前位置作比較,根據(jù)加速度方程計(jì)算出目標(biāo)航線飛行所需要的姿態(tài)角,并將其輸出到姿態(tài)控制回路。位置控制回路的作用是保證四旋翼無(wú)人機(jī)能夠按照特定的航線軌跡飛行。
姿態(tài)控制回路的原理是通過(guò)對(duì)位置控制計(jì)算得到的姿態(tài)角與當(dāng)前無(wú)人機(jī)姿態(tài)角信息作比較,利用角速度方程計(jì)算出目標(biāo)飛行姿態(tài)所需要的力矩大小,反饋給電機(jī)控制器,通過(guò)調(diào)節(jié)四個(gè)螺旋槳的轉(zhuǎn)速來(lái)實(shí)現(xiàn)升力和力矩的控制。
2.2.1 姿態(tài)回路控制器的設(shè)計(jì)
又∵
可得
可以得到對(duì)應(yīng)電機(jī)的轉(zhuǎn)速:
公式(3-5)中CT,CQ分別是阻力系數(shù)和升力系數(shù)。
由此,我們得到了如圖所示的姿態(tài)控制回路??刂破鞯膍atlab框圖如圖所示:
圖3 姿態(tài)控制回路示意圖
2.2.2 位置控制回路設(shè)計(jì)
又∵
令ψ_c為已知,則有:
由此,我們得到了位置控制器,如圖所示:
圖4 位置控制回路示意圖
2.2.3 仿真結(jié)果
圖5 x,y,z位置響應(yīng)曲線
圖6 偏航、俯仰、滾轉(zhuǎn)響應(yīng)曲線
仿真結(jié)果,表明了通過(guò)觀察x,y,z位置響應(yīng)曲線以及偏航、俯仰、滾轉(zhuǎn)響應(yīng)曲線,看到了結(jié)果最終都達(dá)到了穩(wěn)定、無(wú)靜差;同時(shí),響應(yīng)速度也較為迅速。但是由于有6個(gè)PID控制器存在,參數(shù)調(diào)節(jié)較為困難,未得到最好的結(jié)果,仍需改進(jìn)。