徐會麗, 石明全, 張 霞, 王曉東, 井光輝
(中國科學(xué)院大學(xué) 中國科學(xué)院 重慶綠色智能技術(shù)研究院,重慶 400714)
基于PIDNN的六旋翼無人機飛行控制算法研究*
徐會麗, 石明全, 張 霞, 王曉東, 井光輝
(中國科學(xué)院大學(xué)中國科學(xué)院重慶綠色智能技術(shù)研究院,重慶400714)
針對六旋翼無人機比例—積分—微分(PID)控制器參數(shù)優(yōu)化困難的問題,采用了PID神經(jīng)網(wǎng)絡(luò)(PIDNN)控制方法,利用其非線性映射和自學(xué)習(xí)的特性,實現(xiàn)了姿態(tài)控制參數(shù)的動態(tài)調(diào)整,增加了系統(tǒng)的自適應(yīng)性。為驗證方法的有效性,通過Matlab的Simulink模塊構(gòu)建了六旋翼無人機數(shù)學(xué)模型;利用S函數(shù)實現(xiàn)了基于反向傳播(BP)算法的PIDNN控制器;將仿真結(jié)果與傳統(tǒng)PID控制效果進(jìn)行對比,結(jié)果表明:在縮短姿態(tài)調(diào)整時間與減少超調(diào)量方面,PIDNN方法控制效果優(yōu)于PID方法。
六旋翼無人機; 比例—積分—微分神經(jīng)網(wǎng)絡(luò)算法; 姿態(tài)控制
目前,無人機研究大多數(shù)以四旋翼無人機為對象,但與四旋翼相比,六旋翼無人機在機體空間利用、負(fù)載能力等方面更具優(yōu)勢。另外,傳統(tǒng)的比例—積分—微分(proportion integration differentiation,PID)方法,雖然原理簡單,但用于多旋翼飛行器時,存在不易在線調(diào)參、自適應(yīng)性差等問題[1],對控制效果產(chǎn)生影響。
PID神經(jīng)網(wǎng)絡(luò)(PID neural network,PIDNN)控制是針對上述問題提出的一種控制策略,可用于解決非線性系統(tǒng)的在線控制問題[2,3]。白國振、俞潔皓[4]提出了采用基于Mamdani模型的模糊神經(jīng)網(wǎng)絡(luò),但五層Mamdani網(wǎng)絡(luò)結(jié)構(gòu)延長了訓(xùn)練時間,增加了網(wǎng)絡(luò)復(fù)雜度。陳宇峰[5]、盛賢君等人[6]提出了在輸出層得到參數(shù)優(yōu)化量Δkp,Δki,Δkd后再用于PID控制器,但存在輸入/輸出變量過多、實現(xiàn)難度大等缺點。鑒于以上各類型方法的不足,本文采用了將反向傳播NN(back propagation NN,BPNN)與PID融為一體的控制策略,即PIDNN控制方法。該方法不再顯式調(diào)用PID方法,而是將神經(jīng)網(wǎng)絡(luò)隱含層設(shè)置為比例神經(jīng)元、積分神經(jīng)元及微分神經(jīng)元,每次迭代均對連接權(quán)重進(jìn)行整定,增加了自適應(yīng)性[7]。該方法控制方案清晰且能夠?qū)⑸窠?jīng)網(wǎng)絡(luò)與常規(guī)PID控制理論的優(yōu)勢結(jié)合,提高了控制可靠性。
參照文獻(xiàn)[8~11]建立六旋翼無人機的線運動模型和角運動模型,如圖1所示。其中,1#,3#,5#電機順時針轉(zhuǎn)動,2#,4#,6#電機逆時針轉(zhuǎn)動,Pitch(θ),Roll(φ),Yaw(ψ)為俯仰角、橫滾角、航偏角。本文僅考慮飛行速度較小的情況,忽略空氣阻力[12],根據(jù)牛頓運動定律及大地坐標(biāo)系與機身坐標(biāo)系之間的轉(zhuǎn)換方程,六旋翼無人機的線性運動模型為
圖1 六旋翼飛行器結(jié)構(gòu)
(1)
(2)
式中x,y,z為質(zhì)心相對大地坐標(biāo)系的位置;u,v,w為運動線速度;Ti為第i螺旋槳產(chǎn)生的升力;b為轉(zhuǎn)速與升力的轉(zhuǎn)化系數(shù);Ωi(i=1,2…,6)為各旋翼轉(zhuǎn)速。由式(1)、式(2)可得到六旋翼線加速度與控制量、姿態(tài)角的關(guān)系。
在橫滾角、俯仰角較小(可忽略機身坐標(biāo)和大地坐標(biāo)之間的轉(zhuǎn)化)情況下,通過分析飛行器所受力矩與剛體動力學(xué)方程中力矩和轉(zhuǎn)動慣量的關(guān)系,可得到六旋翼無人機角運動模型
(3)
式中Jr為旋翼轉(zhuǎn)動慣量;Ix,Iy,Iz為繞機身坐標(biāo)系x,y,z軸的轉(zhuǎn)動慣量;U1,U2,U3,U4為油門、橫滾角、俯仰角、航偏角的輸入值;L為螺旋槳中心到機身質(zhì)心的距離。由式(3)可得到六旋翼角加速度與控制量、螺旋槳轉(zhuǎn)速以及當(dāng)前角速度之間的關(guān)系。
由式(1)~式(3)可知,六旋翼飛行器的角運動和其線運行情況無關(guān)。因此,可將飛行器3個歐拉角作為狀態(tài)值,U1~U4作為控制器輸出的控制量。
PIDNN基本結(jié)構(gòu)由3部分構(gòu)成:輸入層、隱含層和輸出層。系統(tǒng)結(jié)構(gòu)如圖2所示。神經(jīng)網(wǎng)絡(luò)輸入值為歐拉角反饋值和控制目標(biāo)值,輸出值為控制量。
圖2 控制系統(tǒng)結(jié)構(gòu)
各子網(wǎng)i的隱含層為PIDNN主要構(gòu)成部分,含有3種神經(jīng)元:比例神經(jīng)元(P)、積分神經(jīng)元(I)和微分神經(jīng)元(D)。比例神經(jīng)元的輸入輸出值關(guān)系為
(4)
積分神經(jīng)元的輸入輸出值關(guān)系為
(5)
微分神經(jīng)元的輸入輸出值關(guān)系為
(6)
PIDNN每次迭代結(jié)束,利用梯度下降法對隱含層到輸出層的連接權(quán)重更新。
另外,輸入層至隱含層模擬的是誤差的計算,可直接將子網(wǎng)的權(quán)重設(shè)定為w1i=[1 -1;1 -1;1 -1],i=1,2,3。隱含層到輸出層的權(quán)值更新公式為
(7)
(8)
式中J為3個誤差平方和;ym(k)為3個歐拉角;rm(k)為設(shè)定值;η為學(xué)習(xí)速率;Em為歐拉角誤差;m為輸出量個數(shù);j為輸出神經(jīng)元個數(shù);uj為角度控制量。
實驗為定點懸停狀態(tài)下實現(xiàn)對飛行器姿態(tài)的控制,控制對象為3個歐拉角。仿真實驗相關(guān)參數(shù)設(shè)置為:m=0.5 kg;gn=9.8 N/kg;L= 0.2 m;轉(zhuǎn)動慣量Ix=0.114 kg·m2,Iz=0.158 kg·m2;b=4.5。圖3為系統(tǒng)控制框圖,其中,姿態(tài)角控制模塊根據(jù)式(4)~式(8)設(shè)計完成,通過S函數(shù)實現(xiàn);控制分配模型、機身剛體模型根據(jù)式(1)~式(3)建立,通過改變6個電機轉(zhuǎn)速控制飛行器姿態(tài)。
首先利用傳統(tǒng)PID控制參數(shù)調(diào)整的方式獲得參數(shù)值,并將其設(shè)置為隱含層到輸出層的權(quán)重。初始權(quán)重設(shè)置為w21=[2 000,800,4 000,0,0,0,0,0,0],w22=[800,400,4 000,0,0,0,0,0,0],w23=[2 000,800,4 000,0,0,0,0,0,0]。將輸入量設(shè)為階躍信號,訓(xùn)練次數(shù)設(shè)為50,對比傳統(tǒng)PID和該PIDNN對六旋翼模型的控制效果,如圖4所示。
圖4 傳統(tǒng)PID和PIDNN控制效果對比
可以看出,3個歐拉角之間相互影響較小,能夠按照各自的設(shè)定值調(diào)整,具體調(diào)節(jié)時間與超調(diào)量如表1。
表1 實驗結(jié)果對比
由表1可以看出,橫滾角調(diào)節(jié)時間縮短了1.48 s,俯仰角調(diào)節(jié)時間縮短了0.34 s,航偏角調(diào)節(jié)時間縮短了0.56 s,達(dá)到設(shè)定值的時間均得到了縮短;航偏角超調(diào)量減少了0.024 rad??梢钥闯觯琍IDNN通過BP神經(jīng)網(wǎng)絡(luò)的自學(xué)習(xí)能力可有效地根據(jù)系統(tǒng)反饋調(diào)整控制參數(shù),提高收斂速度,減少姿態(tài)調(diào)整時間,并減小超調(diào)值。
本文主要研究六旋翼飛行器控制參數(shù)調(diào)整的動態(tài)性與姿態(tài)控制的有效性。將傳統(tǒng)PID方法融入神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),利用BPNN的誤差反向傳遞機制實現(xiàn)根據(jù)對象狀態(tài)實時調(diào)整參數(shù)的目的,實現(xiàn)了控制器的動態(tài)在線調(diào)整。同時,仿真結(jié)果表明:方法加快了六旋翼對象到指定狀態(tài)的速度,驗證了方法的有效性。
[1] Mohammadi M,Shahri A M.Adaptive nonlinear stabilization control for a quadrotor UAV:Theory,simulation and experimenta-tion[J].Journal of Intelligent and Robotic Systems,2013,71(1):1-18.
[2] Chen Y,He Y,Zhou M.Decentralized PID neural network control for a quadrotor helicopter subjected to wind disturbance[J].Journal of Central South University,2015,22(1):168-179.
[3] Luo X,Si J.Stability of direct heuristic dynamic programming for nonlinear tracking control using PID neural network[C]∥The 2013 International Joint Conference on Neural Networks(IJCNN),Dallas,Texas,USA:IEEE,2013:1-7.
[4] 白國振,俞潔皓.基于改進(jìn)模糊神經(jīng)網(wǎng)絡(luò)的PID參數(shù)自整定[J].計算機應(yīng)用研究,2016,33(11):1-9.
[5] 陳宇峰,蔡 琴.基于BP神經(jīng)網(wǎng)絡(luò)的PID控制參數(shù)整定[J].成都電子機械高等??茖W(xué)校學(xué)報,2007(3):15-17,65.
[6] 盛賢君,姜 濤,王 杰,等.基于BP神經(jīng)網(wǎng)絡(luò)的速度前饋PID控制器設(shè)計[J].計算機應(yīng)用,2015,25(S2):134-137.
[7] 楊 鵬,邢鈺姣,孫 昊,等.基于BP神經(jīng)網(wǎng)絡(luò)的正四面體陣列聲源定向研究[J].傳感器與微系統(tǒng),2012,31(5):8-9,12.
[8] 陸興華.姿態(tài)融合濾波的無人機抗干擾控制算法[J].傳感器與微系統(tǒng),2016,35(7):116-119.
[9] 王 偉,邱啟明.六旋翼飛行器建模及位置跟蹤控制[J].電子器件,2014,37(3):507-513.
[10] Cook M V.Flight dynamics principles[M].Oxford:Elsevier Ltd,2007:66-73.
[11] 李 俊,李運堂.四旋翼飛行器的動力學(xué)建模及PID控制[J].遼寧工程技術(shù)大學(xué)學(xué)報:自然科學(xué)版,2012,31(1):114-117.
[12] Hoffmann G M,Huang H,Waslander S L,et al.Quadrotor helicopter flight dynamics and control:Theory and experiment[C]∥Proceedings of the AIAA Guidance,Navigation,and Control Conference,Hilton Head,South Carolina:AIAA,2007:4.
Researchonflightcontrolalgorithmforsix-rotorunmannedhelicopterbasedonPIDNN*
XU Hui-li, SHI Ming-quan, ZHANG Xia, WANG Xiao-dong, JING Guang-hui
(UniversityofChineseAcademyofSciences,ChongqingInstituteofGreenandIntelligentTechnology,ChineseAcademyofSciences,Chongqing400714,China)
Aiming at problem that parameters of six-rotor unmanned helicopter proportion integration differentiation(PID) controller are difficult to be optimized,a PID neural network(PIDNN)method which has characteristics of nonlinear mapping and self-learning,is developed and employed.It can adjust attitude control parameters dynamically and promote the self-adaptability of controller system.To prove the effectiveness of the method,the mathematical modeling for six-rotor is established by Simulink module in Matlab,PIDNN controller based on back propagation(BP)algorithm is obtained by S-function.Simulation results are compared with control effects of PID,verifying that control effect of PIDNN is more valid in reducing attitude adjustment time and decreasing overshoots.
six-rotor unmanned helicopter; PID neural network(PIDNN)algorithm; control of attitude
10.13873/J.1000—9787(2017)12—0025—03
V 249.1
A
1000—9787(2017)12—0025—03
2017—01—09
基于虛擬現(xiàn)實技術(shù)的機械系統(tǒng)動力學(xué)仿真系統(tǒng)開發(fā)及應(yīng)用項目(CSTC2012GGB60001);重慶市北碚區(qū)應(yīng)用開發(fā)計劃項目(Y62Z120G10)
徐會麗(1992-),女,碩士研究生,主要研究方向為計算機控制、神經(jīng)網(wǎng)絡(luò)控制等。石明全(1975-),男,通訊作者,教授,博士研究生導(dǎo)師,主要研究領(lǐng)域為計算機控制、機電一體化系統(tǒng)設(shè)計、復(fù)雜機械系統(tǒng)動態(tài)仿真及優(yōu)化等,E—mail:shimq@cigit.ac.cn。