趙雅蓉,鮮 浩,牛興龍,林 都,李大威
(中北大學(xué) 電氣與控制工程學(xué)院, 太原 030051)
非標(biāo)準(zhǔn)X型四旋翼飛行器不僅具有X型四旋翼飛行器的特性,還更符合實(shí)際生活的應(yīng)用。與十字型四旋翼飛行器相比,X型四旋翼飛行器靈活性更強(qiáng),性能更加穩(wěn)定。對(duì)于外形各異的四旋翼飛行器來說,旋臂間夾角不再固定,會(huì)隨適用的場景而變化,例如,折疊式X型四旋翼飛行器為考慮輕裝便捷,根據(jù)模型樣式對(duì)旋臂夾角做適當(dāng)調(diào)整。
非標(biāo)準(zhǔn)X型四旋翼飛行器是4輸入6輸出的欠驅(qū)動(dòng)系統(tǒng),由于控制變量個(gè)數(shù)小于系統(tǒng)自由度個(gè)數(shù),在節(jié)約能量、降低造價(jià)、增強(qiáng)系統(tǒng)靈活度等方面較完整驅(qū)動(dòng)系統(tǒng)有很強(qiáng)的優(yōu)越性,同時(shí),由于系統(tǒng)嚴(yán)重非線性、強(qiáng)耦合等原因,欠驅(qū)動(dòng)系統(tǒng)又足夠復(fù)雜,只能用自動(dòng)控制器來控制飛行姿態(tài)。
近年來,非標(biāo)準(zhǔn)X型四旋翼飛行器迅速成為國內(nèi)外的研究熱點(diǎn)。文獻(xiàn)[1-6]中結(jié)合氣動(dòng)效應(yīng),研究了飛行器的姿態(tài)控制問題,建立了一種連續(xù)多變量姿態(tài)控制器。上述文獻(xiàn)的研究對(duì)象多是十字型四旋翼飛行器,而非標(biāo)準(zhǔn)X型四旋翼飛行器姿態(tài)飛行聯(lián)動(dòng)性更好,實(shí)用價(jià)值更高。文獻(xiàn)[7]中講述了非標(biāo)準(zhǔn)X型四旋翼飛行器總體建模的數(shù)學(xué)理論。文獻(xiàn)[8-9]中講述了非標(biāo)準(zhǔn)X型四旋翼飛行器總體布局設(shè)計(jì)。由于飛行器的嚴(yán)重非線性和強(qiáng)耦合性,很難對(duì)模型精確刻畫,故對(duì)模型進(jìn)行線性化處理,見文獻(xiàn)[10-11]。文獻(xiàn)[12-18]中運(yùn)用了多種控制方法跟蹤飛行器的飛行軌跡,如PID控制、魯棒控制、全動(dòng)力學(xué)軌跡控制、滑??刂频?。
文獻(xiàn)多選用十字型四旋翼飛行器作為研究對(duì)象,與其相比,非標(biāo)準(zhǔn)X型四旋翼飛行器的飛行姿態(tài)聯(lián)動(dòng)性更好。由于標(biāo)準(zhǔn)X型四旋翼飛行器不能滿足多變化應(yīng)用場景的需求,因此DIY飛行器盛行。
針對(duì)一種非標(biāo)準(zhǔn)X型四旋翼飛行器,本文首先建立數(shù)學(xué)模型,再用測量方法估計(jì)模型中的未知參數(shù)。然而,由于控制效率模型復(fù)雜,控制器設(shè)計(jì)難度增加,因此本文選用算法成熟且可靠的PD控制器,設(shè)計(jì)PD串級(jí)控制器,通過內(nèi)外環(huán)的控制策略,對(duì)控制器進(jìn)一步調(diào)控,最后通過數(shù)值仿真驗(yàn)證控制器的穩(wěn)定性和收斂性。
非標(biāo)準(zhǔn)X型四旋翼飛行器的姿態(tài)由滾轉(zhuǎn)角φ,俯仰角θ,偏航角ψ來描述。同時(shí)同量減小螺旋槳1和2的轉(zhuǎn)速,增加螺旋槳3和4的轉(zhuǎn)速,不平衡力矩使飛行器向右滾轉(zhuǎn);同理,減少螺旋槳1和4的轉(zhuǎn)速,增加螺旋槳2和3的轉(zhuǎn)速,引起飛行器向前俯仰;減小螺旋槳2和4的轉(zhuǎn)速,增加螺旋槳1和3的轉(zhuǎn)速,使前后和左右飛行的力矩為零,逆時(shí)針的偏航力矩增加,飛行器逆時(shí)針偏航。
如圖1所示,螺旋槳1和3順時(shí)針旋轉(zhuǎn)為正,反扭矩逆時(shí)針偏轉(zhuǎn),螺旋槳2和4逆時(shí)針旋轉(zhuǎn)為正,反扭矩順時(shí)針偏轉(zhuǎn)。根據(jù)右手定則建立坐標(biāo)系,z軸向下為正方向。地球固聯(lián)坐標(biāo)系用于研究飛行器相對(duì)于地面的運(yùn)動(dòng)狀態(tài),下標(biāo)用e表示地球固聯(lián)坐標(biāo)(earth),機(jī)體坐標(biāo)系下標(biāo)用b表示機(jī)體坐標(biāo)(body)。
圖1 機(jī)體坐標(biāo)示意圖
圖2 姿態(tài)角分步轉(zhuǎn)動(dòng)示意圖
按照Z-Y-X旋轉(zhuǎn)順序下的旋轉(zhuǎn)矩陣如下:(由機(jī)體坐標(biāo)到地球固聯(lián)坐標(biāo))
(1)
根據(jù)位置動(dòng)力學(xué)模型
(2)
姿態(tài)變化率和機(jī)體旋轉(zhuǎn)角速度的關(guān)系:
(3)
由式(3)可知,
(4)
由于
w=T·wb
(5)
以一定假設(shè)為前提,對(duì)飛行器進(jìn)行機(jī)理建模[2,8-9]。假設(shè)1:飛行器為剛體模型,且無任何損壞;假設(shè)2:幾何中心和重心一致;假設(shè)3:質(zhì)量和轉(zhuǎn)動(dòng)慣量不變;假設(shè)4:螺旋槳奇數(shù)編號(hào)順時(shí)針旋轉(zhuǎn)為正,偶數(shù)編號(hào)逆時(shí)針旋轉(zhuǎn)為正;假設(shè)5:飛行器只受重力和拉力影響;假設(shè)6:所有狀態(tài)都可以得到反饋,且-π/2<θ<π/2,-π/2<φ<π/2。
(6)
圖3 建模流程框圖
輸入油門指令σ,通過電調(diào)輸入電壓Um,發(fā)動(dòng)電機(jī)帶動(dòng)螺旋槳旋轉(zhuǎn),得到螺旋槳轉(zhuǎn)速,如圖4所示。動(dòng)力單元模型公式如下所示,見文獻(xiàn)[8]。
圖4 動(dòng)力系統(tǒng)信號(hào)傳遞框圖
圖5中,飛行器中螺旋槳產(chǎn)生的水平方向力矩不同,如式(9)所示,cT表示拉力氣動(dòng)系數(shù),φi表示電機(jī)距離x軸與旋轉(zhuǎn)臂的旋轉(zhuǎn)角度(機(jī)體順時(shí)針旋轉(zhuǎn),φ1表示x軸正方向到電機(jī)1的旋轉(zhuǎn)角度,φ2表示x軸正方向到電機(jī)2的旋轉(zhuǎn)角度,其他角度同理),d表示旋臂的長度,cM表示轉(zhuǎn)矩氣動(dòng)系數(shù)。cT和cM受氣體密度和螺旋槳葉片類型等因素影響。
圖5 非標(biāo)準(zhǔn)X型四旋翼飛行器機(jī)體示意圖
其中,ρ表示空氣密度(kg/m2);DP表示螺旋槳直徑(m);CT表示螺旋槳拉力系數(shù);CM表示螺旋槳轉(zhuǎn)矩系數(shù)。
機(jī)體系下位置動(dòng)力學(xué)模型如式(3)所示,將機(jī)體坐標(biāo)變?yōu)閼T性坐標(biāo)。在滿足6個(gè)假設(shè)的前提下,只考慮重力和拉力對(duì)飛行器的影響。
位置動(dòng)力學(xué)模型:
(7)
即
姿態(tài)動(dòng)力學(xué)模型:
(8)
由式(2)、式(5)將機(jī)體坐標(biāo)變換為慣性坐標(biāo),得到機(jī)體速度和角速度的方程。當(dāng)飛行器懸停時(shí),拉力抵消重力,4個(gè)螺旋槳拉力產(chǎn)生的滾轉(zhuǎn)、俯仰力矩為零,偏航力矩為零,4個(gè)螺旋槳反扭矩效應(yīng)均被抵消。如下式所示。
對(duì)于非標(biāo)準(zhǔn)X型四旋翼飛行器系統(tǒng),由于三角函數(shù)相互聯(lián)系很難找到閉環(huán)形式的解,所以,線性化是在小振蕩的簡化模型上進(jìn)行的。通過將正弦函數(shù)與其幅角近似,將余弦函數(shù)與單位近似得到。
基于非標(biāo)準(zhǔn)X型四旋翼飛行器的非線性模型,忽略陀螺力矩和-wb×(J·wb),得到姿態(tài)模型,在無擾動(dòng)的情況下,只與力矩有關(guān)。通過懸停點(diǎn)的小角度線性化,得到下列方程組式(9)(見文獻(xiàn)[9-11]):
(9)
(10)
本文重點(diǎn)使用式(9)中的6個(gè)公式,根據(jù)加速度和角加速度,通過積分即可求得系統(tǒng)位置和姿態(tài)角。
(11)
將式(9)化簡為式(11),其余6個(gè)公式中,機(jī)體坐標(biāo)約等于慣性坐標(biāo)。
一個(gè)可解的線性代數(shù)方程組只有一個(gè)解,當(dāng)且僅當(dāng)系統(tǒng)矩陣是滿秩。所以根據(jù)系統(tǒng)矩陣的秩,檢測模型在有限時(shí)間內(nèi)的可觀性和可控性。
由引言可知,非標(biāo)準(zhǔn)X型四旋翼飛行器模型有4個(gè)輸入變量,總拉力ft和在3個(gè)坐標(biāo)軸的分力矩τx、τy、τz,6個(gè)輸出變量位置(x,y,z)和姿態(tài)(φ,θ,ψ)。
圖6為根據(jù)數(shù)值建模流程搭建的仿真模型,根據(jù)圖3建模流程的順序,仿真模型同樣共分3部分內(nèi)容。
圖6 機(jī)體仿真模型示意圖
如圖7所示,動(dòng)力單元模型是對(duì)電機(jī)油門值到電機(jī)轉(zhuǎn)速過程的建模,分為動(dòng)態(tài)部分測試和穩(wěn)態(tài)部分測試,動(dòng)態(tài)測試部分遵照設(shè)計(jì)的通訊協(xié)議發(fā)送“aa aa aa 7f xx xx”,前4位為數(shù)據(jù)起始位,后2位為發(fā)送的油門值,通過算法組合送到CCR1寄存器中,通過PWM程序控制電機(jī),當(dāng)單片機(jī)收到油門指令立即發(fā)送計(jì)數(shù)器中編碼器的位置,通過微分和濾波得到轉(zhuǎn)速。測量并記錄不同油門值下的動(dòng)態(tài)和穩(wěn)態(tài)數(shù)據(jù),計(jì)算一階慣性系統(tǒng)的穩(wěn)態(tài)增益K與時(shí)間常數(shù)。穩(wěn)態(tài)測試部分實(shí)驗(yàn)過程與動(dòng)態(tài)過程基本一致,實(shí)驗(yàn)中需要改用光電檢測轉(zhuǎn)子轉(zhuǎn)速從而獲得更加準(zhǔn)確的速度測試值。清除死區(qū)的影響,除去前四組數(shù)據(jù),使用MATLAB的curve fitting tool,最小二乘法擬合得出圖8(d)。動(dòng)力單元模型近似收斂為一階傳遞函數(shù)30/(0.14s+1)形式。
圖7 動(dòng)力單元模型測速框圖
圖8 動(dòng)力單元模型數(shù)據(jù)測量
控制效率模型子系統(tǒng),由式(9)可知,力和力矩與螺旋槳轉(zhuǎn)速的平方有關(guān),輸入轉(zhuǎn)速的平方,輸出拉力和三軸力矩,具體測量見圖9所示。電機(jī)力矩測試如圖9(a)所示,電機(jī)固定在木板上,木板通過4個(gè)螺栓固定在主體木塊上面,在主體木塊上安裝兩個(gè)軸承,這兩個(gè)軸承與電機(jī)應(yīng)當(dāng)盡量共軸,主體木塊通過長螺栓與支撐柱連接,保證主體木塊在垂直方向上可以自由轉(zhuǎn)動(dòng),同時(shí)水平方向上的運(yùn)動(dòng)盡量減小,這樣一來,電機(jī)轉(zhuǎn)動(dòng)時(shí)產(chǎn)生的轉(zhuǎn)矩轉(zhuǎn)換到了主體木塊上,木塊左端安裝一根螺桿,調(diào)節(jié)長度使得螺桿壓在電子秤上的同時(shí),也保證主體木塊盡量水平。通過發(fā)送不同的油門值給單片機(jī),來獲得電機(jī)的轉(zhuǎn)速和相應(yīng)的力,測試結(jié)果如圖9(b)所示。使用Mayatech MT10PRO電機(jī)拉力測試臺(tái),平臺(tái)最大支持10 kg拉力測試,支持拉力計(jì)電流功率數(shù)顯。先將拉力用3 m固定貼和螺絲固定在桌面,接5~26 V電池,打開控制盒開關(guān),歸零。裝上合適電機(jī)和槳,開始測試,如圖9(c)所示。實(shí)驗(yàn)通過上位機(jī)向單片機(jī)發(fā)送油門指令,然后通過儀器讀出升力的值,單片機(jī)串口向上位機(jī)發(fā)回測得的轉(zhuǎn)速,從而獲得轉(zhuǎn)速與升力的對(duì)應(yīng)關(guān)系。測試結(jié)果如圖9(d)所示??刂苿傮w模型子系統(tǒng)(狀態(tài)空間描述),通過式(11)完成非標(biāo)準(zhǔn)X型四旋翼飛行器模型結(jié)構(gòu)變換,即建立狀態(tài)空間模型。根據(jù)4個(gè)輸入變量,總拉力ft和在3個(gè)坐標(biāo)軸的分力矩τx、τy、τz,輸出位置變量和姿態(tài)變量,具體數(shù)據(jù)如下,見表1(角度仿真采用弧度進(jìn)行計(jì)算)。
圖9 電機(jī)控制效率模型數(shù)據(jù)測量
表1 非標(biāo)準(zhǔn)X型四旋翼飛行器模型參數(shù)
本文設(shè)計(jì)PD串級(jí)控制策略,根據(jù)期望值和實(shí)際輸出值構(gòu)成的偏差,將偏差通過比例和微分的線性組合對(duì)非標(biāo)準(zhǔn)X型四旋翼飛行器進(jìn)行控制。如圖10所示,設(shè)計(jì)采用內(nèi)外環(huán)的控制策略,其中,內(nèi)環(huán)對(duì)非標(biāo)準(zhǔn)X型四旋翼飛行器姿態(tài)角參數(shù)進(jìn)行控制,外環(huán)對(duì)非標(biāo)準(zhǔn)X型四旋翼飛行器的飛行高度和水平位置等物理量進(jìn)行控制,外環(huán)控制器為內(nèi)環(huán)控制器提供指令。內(nèi)環(huán)控制器先對(duì)系統(tǒng)進(jìn)行“粗調(diào)”,外環(huán)控制器再進(jìn)一步對(duì)系統(tǒng)進(jìn)行調(diào)控,因此,PD串級(jí)控制品質(zhì)優(yōu)于普通控制系統(tǒng),其優(yōu)點(diǎn)是控制器的工作頻率增加,控制響應(yīng)時(shí)間減少。
圖10 PD串級(jí)控制閉環(huán)框圖
當(dāng)有地面效應(yīng)或大氣紊流時(shí),可以調(diào)節(jié)積分增益,提高姿態(tài)角的精度,從而消除穩(wěn)態(tài)誤差。在控制四旋翼時(shí),無論室內(nèi)室外,四旋翼飛行高度一般不會(huì)低于1 m,地面效應(yīng)對(duì)四旋翼的影響微小,本文針對(duì)的是實(shí)驗(yàn)室場景、晴朗無風(fēng)或微風(fēng)場景下,故不考慮大氣紊流對(duì)四旋翼的影響。并且,對(duì)于多變量的非標(biāo)準(zhǔn)X型四旋翼飛行器PID串級(jí)控制,PID控制增益的選擇非常復(fù)雜,DIY四旋翼時(shí)參數(shù)的調(diào)整難度大,故不考慮積分控制器。
PD內(nèi)環(huán)控制即姿態(tài)控制,姿態(tài)是一個(gè)隨動(dòng)控制系統(tǒng),它的期望值隨水平位置控制器(外環(huán))的輸出而變化。一般來說,姿態(tài)控制能夠被實(shí)現(xiàn),水平位置跟蹤問題就可以被解決。
理想的PD控制器:
(12)
其中,u(t)為控制輸出;e(t)為姿態(tài)誤差,選擇設(shè)計(jì)參數(shù)kP和kD來實(shí)現(xiàn)期望的閉環(huán)性能。對(duì)式(16)作拉普拉斯變換,得到的方程如下式:
U(s)=(kP+kDs)E(s)
姿態(tài)控制器由3個(gè)解耦控制器組成,一個(gè)滾轉(zhuǎn)控制器,一個(gè)俯仰控制器和一個(gè)偏航控制器。由于本文設(shè)計(jì)的是理論模型,積分環(huán)節(jié)為0,不影響系統(tǒng)的控制誤差。在無外環(huán)控制下,選擇3個(gè)控制器的期望參數(shù),模擬估計(jì)模型使用不同增益值得到的控制器參數(shù),具體參數(shù)如表2所示。
表2 PD串級(jí)控制參數(shù)
非標(biāo)準(zhǔn)X型四旋翼飛行器PD串級(jí)控制參數(shù)的調(diào)節(jié)較為復(fù)雜,需針對(duì)各個(gè)軸分別進(jìn)行PD控制參數(shù)的調(diào)節(jié)。首先針對(duì)無人機(jī)的內(nèi)環(huán)進(jìn)行調(diào)參,控制其姿態(tài),然后對(duì)外環(huán)進(jìn)行調(diào)參,控制其位置。
比例增益系數(shù)太低,飛行器行動(dòng)將變遲緩,增益系數(shù)過高,會(huì)導(dǎo)致誤差(超調(diào))過度修正,微分增益系數(shù)防止超調(diào),抑制誤差變化,減小振動(dòng)。由于垂直動(dòng)態(tài)特性比水平動(dòng)態(tài)特性快,因此水平動(dòng)態(tài)控制將嚴(yán)重影響大變化的垂直動(dòng)態(tài)。對(duì)于偏航角的控制,需達(dá)到期望高度后再控制角度。
期望位置動(dòng)態(tài):
(13)
為實(shí)現(xiàn)定點(diǎn)控制,位置動(dòng)態(tài)的期望速度和期望加速度均為0,故將式(13)化簡得到下式:
由于非標(biāo)準(zhǔn)X型四旋翼飛行器處于懸停狀態(tài),ft/m≈g,sin(θ)≈θ,cos(θ)≈1,將式(7)化簡可得式(14)、式(15):
(14)
(15)
由式(14)、式(15)可得:
(16)
根據(jù)水平位置控制量轉(zhuǎn)化為期望的姿態(tài)角指令φd,θd。由式(13)可知,通過外環(huán)的PD控制器可以求得期望水平位置加速度,通過式(16)矩陣求逆可以得到期望姿態(tài)角指令,如下式所示,具體數(shù)據(jù)參考表2。
為驗(yàn)證所提出的PD串級(jí)控制器的有效性,給定期望的偏航角為10*pi/180(弧度值),期望的水平位置,x為1 m,y為1 m,設(shè)定高度z為-10 m,因?yàn)楸疚脑O(shè)定z軸向下為正方向,所以非標(biāo)準(zhǔn)X型四旋翼飛行器向上飛時(shí),z的值應(yīng)為負(fù)值。
從仿真結(jié)果圖11中可以看出,圖11(d)中,飛行器在2 s內(nèi)持續(xù)平穩(wěn)垂直上升,姿態(tài)角和水平位置無變化,飛行器為了到達(dá)期望高度和位置,2s后開始產(chǎn)生滾轉(zhuǎn)角和俯仰角,如圖11(a)(b),且在飛行到一定高度后下降,飛行器最終在4 s 時(shí)穩(wěn)定在10 m高度,后趨于穩(wěn)定。滾轉(zhuǎn)角和俯仰角大角度的轉(zhuǎn)動(dòng),對(duì)水平通道位置的影響較大,如圖11(e)(f),對(duì)高度通道位置影響微小,如圖11(d),z只產(chǎn)生了微小的抖動(dòng)。飛行器姿態(tài)角調(diào)節(jié)角度,飛行器向期望水平位置移動(dòng),并在10 s后,偏航角穩(wěn)定于0.175弧度,即偏航角為10°,如圖11(c),最終在8 s后穩(wěn)定。滾轉(zhuǎn)角和俯仰角沒有大幅度的偏轉(zhuǎn)后,水平位置到達(dá)1 m后穩(wěn)定。
圖11 仿真曲線
本文選用非標(biāo)準(zhǔn)X型四旋翼飛行器,模型更具普遍性,能夠適合實(shí)際應(yīng)用中對(duì)模型樣式的多種需求。通過討論非標(biāo)準(zhǔn)X型四旋翼飛行器的建模過程,系統(tǒng)的分析了模型內(nèi)部從輸入油門指令到動(dòng)力學(xué)輸出位置和姿態(tài)的全過程,并對(duì)參考文獻(xiàn)[8-10]中未提及或詳細(xì)說明的動(dòng)力單元模型轉(zhuǎn)速和控制效率模型螺旋槳拉力系數(shù)和螺旋槳轉(zhuǎn)矩系數(shù)的測量方法進(jìn)行了補(bǔ)充,具有實(shí)際參考價(jià)值。為了便于DIY飛行器玩家根據(jù)不同的應(yīng)用場景調(diào)試參數(shù)來達(dá)到控制穩(wěn)定性,設(shè)計(jì)了連續(xù)多變量的PD串級(jí)控制器,通過內(nèi)環(huán)姿態(tài)控制,外環(huán)位置控制,能夠更方便精準(zhǔn)的實(shí)現(xiàn)對(duì)非標(biāo)準(zhǔn)X型四旋翼飛行器模型的進(jìn)一步調(diào)控。