譚惠東, 李天松, 莫 雄, 盧艷菊, 嚴(yán)一超
(桂林電子科技大學(xué) 信息與通信工程學(xué)院,廣西 桂林 541004)
四旋翼無(wú)人機(jī)因體積小、結(jié)構(gòu)簡(jiǎn)單、機(jī)動(dòng)性能好等特點(diǎn),使其由單一的航模玩具領(lǐng)域不斷向著遙感、航拍、地圖繪制、軍事偵察、火災(zāi)搜救、公安追捕等領(lǐng)域發(fā)展,具有非常廣泛的研究?jī)r(jià)值和市場(chǎng)前景[1]。它通過4個(gè)電機(jī)的不同輸入可實(shí)現(xiàn)對(duì)姿態(tài)和位置的調(diào)整。由于它擁有4個(gè)輸入量,具有6個(gè)自由度,是一個(gè)欠驅(qū)動(dòng)非線性系統(tǒng),同時(shí)各通道之間具有強(qiáng)耦合關(guān)系[2],使得對(duì)無(wú)人機(jī)控制性能有較高要求。
傳統(tǒng)的PID算法因其穩(wěn)定性高且不依賴于精準(zhǔn)模型的特點(diǎn)被廣泛應(yīng)用于無(wú)人機(jī)控制算法,但在面對(duì)風(fēng)擾影響時(shí),由于參數(shù)難以實(shí)時(shí)調(diào)整,無(wú)人機(jī)飛行受到限制。在此基礎(chǔ)上,文獻(xiàn)[3]提出了改進(jìn)型的雙閉環(huán)PID控制算法,該算法提高了四旋翼無(wú)人機(jī)抗干擾能力,但依賴于精確模型,且當(dāng)外界干擾發(fā)生變化時(shí)難以適應(yīng)。文獻(xiàn)[4]采用模糊PID來(lái)實(shí)現(xiàn)四旋翼無(wú)人機(jī)姿態(tài)控制,具有魯棒性好、調(diào)節(jié)速度快、超調(diào)量小等優(yōu)點(diǎn),但模糊控制規(guī)則因無(wú)成熟的設(shè)計(jì)方法而難以制定。
在風(fēng)擾影響下,由于風(fēng)對(duì)無(wú)人機(jī)產(chǎn)生的力的作用存在不確定性,傳統(tǒng)PID控制算法無(wú)法使無(wú)人機(jī)保持穩(wěn)定。針對(duì)這一問題,設(shè)計(jì)了NMPC-PID無(wú)人機(jī)控制算法,可對(duì)下一時(shí)刻無(wú)人機(jī)機(jī)身所受荷載進(jìn)行預(yù)測(cè),并自適應(yīng)調(diào)整PID控制參數(shù)。仿真結(jié)果表明,NMPC-PID無(wú)人機(jī)控制算法可提高無(wú)人機(jī)的抗風(fēng)能力,實(shí)驗(yàn)驗(yàn)證了本控制算法具有適應(yīng)外界風(fēng)速變化的特點(diǎn)。
四旋翼無(wú)人機(jī)通過對(duì)電機(jī)轉(zhuǎn)速的改變,可以實(shí)現(xiàn)無(wú)人機(jī)升力的變化,從而引起無(wú)人機(jī)姿態(tài)和位置的改變。由于PID控制算法的輸出為控制電壓,可以直接控制電機(jī)轉(zhuǎn)速來(lái)影響無(wú)人機(jī)的運(yùn)動(dòng)狀態(tài),通過PID參數(shù)對(duì)無(wú)人機(jī)姿態(tài)和高度進(jìn)行建模,能夠更為直觀地反映無(wú)人機(jī)姿態(tài)與高度的調(diào)整。四旋翼無(wú)人機(jī)運(yùn)動(dòng)規(guī)律可從牛頓-歐拉公式得到[5]:
(1)
(2)
(3)
其中:K為增益;T為時(shí)間常數(shù)。
增益K可通過測(cè)試四旋翼無(wú)人機(jī)的螺旋槳升力得到。將四旋翼無(wú)人機(jī)放在電子秤上,先測(cè)量無(wú)人機(jī)質(zhì)量,當(dāng)給定電機(jī)電壓時(shí),旋翼開始旋轉(zhuǎn)并產(chǎn)生升力,總質(zhì)量的減少量即為螺旋槳升力[7]。通過擬合,可得增益K約為0.936。
時(shí)間常數(shù)T為轉(zhuǎn)速階躍響應(yīng)上升到穩(wěn)態(tài)值的0.632倍時(shí)的時(shí)間。經(jīng)測(cè)量,時(shí)間常數(shù)T約為0.178 s。因此,電機(jī)的傳遞函數(shù)為
(4)
對(duì)于高度控制,假設(shè)只考慮Z軸的改變,保持其他軸不變,僅使用式(1)中的
(5)
已知Z軸誤差值eZ為
eZ=Zref-Z>0,
(6)
(7)
同時(shí)PID的傳遞函數(shù)為[8]
(8)
其中Kp、Ki、Kd為PID控制算法參數(shù)。因此,整個(gè)系統(tǒng)的閉環(huán)傳遞函數(shù)為
(9)
其中,KB=0.9362,KC=0.178。
四旋翼無(wú)人機(jī)的姿態(tài)僅受橫滾角、俯仰角、偏航角的影響,所以選取式(1)中的3個(gè)式子進(jìn)行分析:
(10)
經(jīng)簡(jiǎn)化,對(duì)其進(jìn)行拉普拉斯變換,得到四旋翼姿態(tài)裝置的橫滾、俯仰、偏航的傳遞函數(shù)[9]:
(11)
其中:Ixx、Iyy、Izz為各軸的轉(zhuǎn)動(dòng)慣量;L為無(wú)人機(jī)質(zhì)心與旋翼中心的距離。
PID控制算法誤差計(jì)算式為
(12)
其中:θref、φref、φref為理想值;θ、φ、φ為輸入值。
通過電機(jī)的閉環(huán)傳遞函數(shù),姿態(tài)角閉環(huán)傳遞函數(shù)可表示為
(13)
(14)
傳統(tǒng)的PID控制算法參數(shù)難以實(shí)時(shí)改變,因此跟蹤風(fēng)速變化的能力較弱。當(dāng)受風(fēng)擾影響時(shí),固定的PID參數(shù)難以做出快速而準(zhǔn)確的變化,無(wú)人機(jī)的室外飛行能力受到限制。因此,采用基于動(dòng)態(tài)遞歸神經(jīng)網(wǎng)絡(luò)的NMPC-PID控制算法。相較于本質(zhì)為靜態(tài)網(wǎng)絡(luò)的前饋神經(jīng)網(wǎng)絡(luò),動(dòng)態(tài)遞歸神經(jīng)網(wǎng)絡(luò)具有自身反饋特性,其反饋的內(nèi)容中存有上一時(shí)刻的輸入輸出信息,因而具有動(dòng)態(tài)建模能力且更容易收斂,更適用于非線性系統(tǒng)。NMPC-PID控制算法框圖如圖1所示。
圖1 NMPC-PID控制算法框圖
從圖1可看出,NMPC-PID控制算法運(yùn)用了基于NNI神經(jīng)網(wǎng)絡(luò)的系統(tǒng)辨識(shí)器和基于NNC神經(jīng)網(wǎng)絡(luò)的優(yōu)化控制器2個(gè)神經(jīng)網(wǎng)絡(luò)。NMPC-PID控制算法的工作原理為在對(duì)控制對(duì)象在線辨識(shí)的基礎(chǔ)上,通過對(duì)NNC神經(jīng)網(wǎng)絡(luò)的權(quán)系數(shù)進(jìn)行實(shí)時(shí)調(diào)整,使系統(tǒng)具有自適應(yīng)性,從而達(dá)到有效控制的目的[10]。
神經(jīng)網(wǎng)絡(luò)訓(xùn)練的目標(biāo)函數(shù)[11]為
(15)
(16)
yr(k+j)為柔化序列,其動(dòng)態(tài)方程為
(17)
其中:a為柔化因子,它是系統(tǒng)時(shí)間常數(shù)的理想值,柔化因子越小表示系統(tǒng)反應(yīng)越快;r(k)為當(dāng)前時(shí)刻設(shè)定值。
在風(fēng)擾情況下,無(wú)人機(jī)控制系統(tǒng)具有強(qiáng)非線性的特點(diǎn),傳統(tǒng)的PID控制算法難以應(yīng)對(duì)這一情況,因此采用基于對(duì)角遞歸神經(jīng)網(wǎng)絡(luò)的辨識(shí)器對(duì)下一時(shí)刻系統(tǒng)所受荷載進(jìn)行預(yù)測(cè)。對(duì)角遞歸神經(jīng)網(wǎng)絡(luò)是一種特殊的動(dòng)態(tài)遞歸神經(jīng)網(wǎng)絡(luò),具有結(jié)構(gòu)相對(duì)簡(jiǎn)單且可處理非線性問題的特性。對(duì)角遞歸神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 對(duì)角遞歸神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
(18)
其中:n為系統(tǒng)輸出的階次;W(k)為所有神經(jīng)元的權(quán)值組成的權(quán)值向量。該辨識(shí)系統(tǒng)輸入輸出表達(dá)式[10]為
(19)
根據(jù)對(duì)角遞歸神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)對(duì)權(quán)值調(diào)整算法進(jìn)行修正,輸入層權(quán)值調(diào)整算法修正為
Wj,o(k)f′(Sj(k))Zj(k-1)。
(20)
隱含層權(quán)值調(diào)整算法修正為
(21)
NNI神經(jīng)網(wǎng)絡(luò)訓(xùn)練的目標(biāo)函數(shù)為
(22)
通過BP算法可以修正權(quán)值[10]:
(23)
由于增量式PID受誤差的影響,設(shè)計(jì)優(yōu)化控制算法NNC的輸入?yún)?shù)為
(24)
NNC的輸出結(jié)果為PID控制參數(shù),優(yōu)化神經(jīng)網(wǎng)絡(luò)NNC訓(xùn)練的目標(biāo)函數(shù)[11]為
(25)
其權(quán)值Wc修正方法為
(26)
其中,
(27)
l可取p、i、d。
對(duì)建立的模型以及控制算法進(jìn)行MATLAB仿真,以驗(yàn)證本設(shè)計(jì)的控制系統(tǒng)的有效性。四旋翼無(wú)人機(jī)仿真初始參數(shù)設(shè)置如表1所示。
表1 四旋翼無(wú)人機(jī)仿真初始參數(shù)設(shè)置
設(shè)定高度理想值為1 m,系統(tǒng)階躍相應(yīng)測(cè)試結(jié)果如圖3所示。從圖3可看出,雖然傳統(tǒng)PID算法與NMPC-PID算法具有類似特性,但是傳統(tǒng)PID算法最大超調(diào)量為15.2%,NMPC-PID算法的最大超調(diào)量為3.5%,傳統(tǒng)PID控制算法比NMPC-PID控制算法超調(diào)嚴(yán)重,且到達(dá)穩(wěn)定的時(shí)間比NMPC-PID控制算法長(zhǎng),當(dāng)風(fēng)力發(fā)生變化時(shí),阻力系數(shù)會(huì)隨之改變。圖4為阻力系數(shù)逐漸改變時(shí)橫滾角曲線與階躍響應(yīng)比較。從圖4可看出,初始時(shí)傳統(tǒng)PID控制算法超調(diào)量較大,響應(yīng)時(shí)間長(zhǎng),在第一個(gè)階躍響應(yīng)時(shí),可以趨于平穩(wěn),但隨著阻力系數(shù)的改變,傳統(tǒng)PID控制算法開始出現(xiàn)震蕩,難以適應(yīng)阻力系數(shù)的變化,且無(wú)法保持平穩(wěn),而NMPC-PID控制算法通過預(yù)測(cè)下一時(shí)刻荷載并實(shí)時(shí)調(diào)整PID參數(shù),可以一直保持穩(wěn)定的周期性變化。
圖3 2種算法高度變化曲線與階躍響應(yīng)比較
圖4 阻力系數(shù)逐漸改變時(shí)橫滾角曲線與階躍響應(yīng)比較
為了驗(yàn)證NMPC-PID控制算法在風(fēng)擾時(shí)的控制情況,采用自制的四旋翼無(wú)人機(jī)進(jìn)行定點(diǎn)懸停實(shí)驗(yàn)。所用四旋翼無(wú)人機(jī)如圖5所示。
設(shè)定初始狀態(tài)時(shí)無(wú)人機(jī)高度為1 m,姿態(tài)角均為0°。對(duì)無(wú)人機(jī)3個(gè)姿態(tài)角進(jìn)行采樣,采樣時(shí)間間隔為100 ms。用電機(jī)旋轉(zhuǎn)帶動(dòng)槳葉產(chǎn)生風(fēng),通過風(fēng)速儀測(cè)量風(fēng)速,約為8.3 m/s,在5級(jí)風(fēng)力的范疇。圖6為采用傳統(tǒng)PID控制算法的無(wú)人機(jī)懸停時(shí)俯仰角變化曲線。從圖6可看出,在約10 s處加入單向風(fēng)干擾后,無(wú)人機(jī)姿態(tài)角發(fā)生了持續(xù)劇烈抖動(dòng),抖動(dòng)范圍為-12.32°~9.87°,無(wú)法進(jìn)入穩(wěn)定狀態(tài)。圖7為采用NMPC-PID控制算法的無(wú)人機(jī)懸停時(shí)俯仰角變化曲線。從圖7可看出,在約10 s處加入單向風(fēng)干擾,無(wú)人機(jī)在受到干擾后10 s內(nèi)有較大程度的抖動(dòng),抖動(dòng)范圍為-9.53°~10.32°。之后,逐漸趨于穩(wěn)定,并使抖動(dòng)范圍減小到-3.98°~5.36°,標(biāo)準(zhǔn)差為2.566,相較于采用傳統(tǒng)PID控制算法的無(wú)人機(jī)減少了42.09%。在風(fēng)擾情況下,分別采用NMPC-PID控制算法和傳統(tǒng)PID控制算法的無(wú)人機(jī)懸停時(shí)偏航角和橫滾角變化如表2所示。從表2可看出,采用NMPC-PID控制算法的無(wú)人機(jī)抖動(dòng)范圍為穩(wěn)定以后的抖動(dòng)范圍,而采用傳統(tǒng)PID控制算法的無(wú)人機(jī)因難以跟蹤風(fēng)力的變化而難以趨于穩(wěn)定,抖動(dòng)范圍較大。采用NMPC-PID控制算法的無(wú)人機(jī)雖然開始受風(fēng)擾時(shí)抖動(dòng)明顯,但最終能夠趨于穩(wěn)定。
圖5 本實(shí)驗(yàn)的四旋翼無(wú)人機(jī)
圖7 NMPC-PID控制算法的無(wú)人機(jī)懸停時(shí)俯仰角變化曲線
表2 NMPC-PID控制算法與傳統(tǒng)PID控制算法的橫滾角及偏航角比較
通過仿真與實(shí)驗(yàn)分析可知,采用NMPC-PID控制算法的無(wú)人機(jī)具有超調(diào)量小,抗干擾性能強(qiáng),魯棒性好,能夠適應(yīng)風(fēng)速變化的優(yōu)點(diǎn)。
針對(duì)無(wú)風(fēng)擾情況下采用傳統(tǒng)PID控制算法的無(wú)人機(jī)難以“御風(fēng)飛行”的情況,構(gòu)建了四旋翼無(wú)人機(jī)數(shù)學(xué)模型,設(shè)計(jì)了NMPC-PID控制算法,并將NMPC-PID控制算法與傳統(tǒng)PID控制算法進(jìn)行對(duì)比仿真實(shí)驗(yàn)。模型的建立使高度與姿態(tài)角直接受PID參數(shù)控制,控制算法的設(shè)計(jì)使無(wú)人機(jī)在風(fēng)擾情況下能夠自適應(yīng)調(diào)節(jié)PID參數(shù)。仿真結(jié)果表明,NMPC-PID控制算法較傳統(tǒng)PID控制算法提高了抗干擾能力與魯棒性,且具有超調(diào)量小的特點(diǎn)。通過對(duì)比實(shí)驗(yàn),驗(yàn)證了NMPC-PID控制算法的可行性,比傳統(tǒng)PID控制算法更能適應(yīng)風(fēng)的影響,在風(fēng)中能夠趨于穩(wěn)定。