盧艷軍,郭竟翔,李忠海
(1.沈陽航空航天大學(xué)自動化學(xué)院,遼寧 沈陽 110136;2.遼寧通用航空研究院,遼寧 沈陽 110136)
隨著科技水平的發(fā)展,小型旋翼無人機憑借可操作性強、機動性高、可穩(wěn)定懸停等優(yōu)點廣泛應(yīng)用于地形勘察、影視拍攝等領(lǐng)域來代替人類進行各種工作[1-2]。 多旋翼飛行器采用串級比例積分微分(proportion integration differentiation,PID)控制方法,因此PID參數(shù)整定就成為了保證動態(tài)性能和穩(wěn)定性的關(guān)鍵要素[3-4]。在實際工程應(yīng)用之中,由于旋翼無人機具有非線性、強耦合和欠驅(qū)動等特性[5],傳統(tǒng)人工整定無人機PID控制參數(shù)的方法太過繁瑣,只能通過經(jīng)驗法來進行試湊,效率低下且參數(shù)較差[6-7],因此無人機的參數(shù)整定是一個亟待解決的問題。
PID參數(shù)整定法早在1942年就被提出,隨著智能算法的廣泛應(yīng)用,利用其進行PID參數(shù)整定優(yōu)化的方法受到了國內(nèi)外學(xué)者的關(guān)注。文獻[8]使用基于頻域分析算法(FFT)和神經(jīng)網(wǎng)絡(luò)方法來自適應(yīng)整定閉環(huán)系統(tǒng)的參數(shù),證實了大部分實際工程中基于閉環(huán)系統(tǒng)的輸入-輸出響應(yīng)的PID整定方案是可取的;文獻[9]利用現(xiàn)有的智能算法,提出和驗證了在9種不同的非線性控制系統(tǒng)下,PID 參數(shù)整定方法的普遍適用性;文獻[10]提出一種改進模糊粒子群控制方法,并且通過6種復(fù)雜測試函數(shù)的驗證,驗證了該方法的有效性;文獻[11]利用改進粒子群算法應(yīng)用于數(shù)學(xué)模型傳遞函數(shù)方程問題,證明該算法的正確性,繼而驗證該方法可以對于無人機參數(shù)進行辨識,并且有很好的魯棒性。但上述研究僅關(guān)注了尋優(yōu)速度和參數(shù)精度對比,卻忽略了收斂精度的問題。
本文基于上述研究方法和思想,在其基礎(chǔ)之上提出一種改進粒子群優(yōu)化方法,使用復(fù)雜的測試函數(shù)驗證改進粒子群算法的有效性,利用其對無人機控制系統(tǒng)的PID參數(shù)進行整定。
本文采用四軸“×”形無人機為研究對象。為抵消自身的反扭矩,防止飛機出現(xiàn)自旋現(xiàn)象,無人機相鄰機翼旋轉(zhuǎn)方向相反,保證了自身的穩(wěn)定性。無人機可以通過對不同電機的轉(zhuǎn)速進行調(diào)節(jié)控制來完成滾轉(zhuǎn)、俯仰和偏航等一系列姿態(tài)轉(zhuǎn)換。
無人機機體、慣性坐標系轉(zhuǎn)換如圖1所示。為了更好地描述四旋翼無人機的運動,需要將各種運動量以及所受到的力轉(zhuǎn)換到統(tǒng)一坐標系下進行分析,建立對應(yīng)坐標系并且明確各個坐標系之間的相互轉(zhuǎn)換關(guān)系。
圖1 機體坐標系和慣性坐標系Fig.1 Aircraft coordinate system and inertial coordinate system
為了解決上述問題,本文引入歐拉角概念。四旋翼無人機在運動過程中會產(chǎn)生三種角度,其中滾轉(zhuǎn)運動產(chǎn)生滾轉(zhuǎn)角φ,俯仰運動產(chǎn)生俯仰角θ,偏航運動產(chǎn)生偏航角ψ。p、q、r分別代表滾轉(zhuǎn)角、偏航角和俯仰角的角速度。角速度變換如式(1)所示,三次歐拉角變換矩陣如式(2)所示。
(1)
(2)
因為無人機系統(tǒng)處于一種強耦合的狀態(tài),以姿態(tài)控制環(huán)節(jié)為例說明,四旋翼無人機姿態(tài)采集傳感器包括加速度計、陀螺儀、磁力計。當外界突然有風(fēng)、磁場等干擾時,加速度計和陀螺儀采集到的數(shù)據(jù)將會出現(xiàn)失真,這種情況下不能準確解算出歐拉姿態(tài)角,故而不能使用單級PID回路控制。由于角速度值變化靈敏,完全能夠跟隨無人機姿態(tài)的變化。鑒于此種情況,四旋翼無人機采用雙環(huán)串級PID控制系統(tǒng)[12-13]。
多旋翼無人機采用分層多環(huán)控制,外層控制器為內(nèi)層控制器提供指令,即將外環(huán)控制器所得到的輸出值作為理想值。姿態(tài)控制是位置控制的基礎(chǔ),只要姿態(tài)控制能夠被很好地實現(xiàn),位置控制的問題自然會迎刃而解。
四旋翼的飛行動力由4個不同的電機提供,可視作系統(tǒng)的4個輸入,但其在空間上具有3種平面運動和3種空間轉(zhuǎn)動,即總共有6個方向的輸出,因此可視作是一個4輸入6輸出的欠驅(qū)動系統(tǒng)。
常規(guī)的四旋翼無人機的動力學(xué)模型[14]如式(3)所示。Jx、Jy、Jz是x,y,z方向的轉(zhuǎn)動慣量,φ為滾轉(zhuǎn)角,θ為俯仰角,ψ為偏航角,m為無人機質(zhì)量,g為重力常數(shù),Ct則是升力系數(shù),Cm是反扭矩力系數(shù),l為半軸距。
(3)
無人機的狀態(tài)比較復(fù)雜,具有非線性和較強的耦合性,直接對其進行分析可能會比較難,為了簡化模型便于求解無人機的傳遞函數(shù),將其近似模擬在穩(wěn)定懸停的狀態(tài)下進行飛行,忽略實際情況中的較小的非線性因素,重力常數(shù)g視為不隨著高度而變化,同時也不考慮氣動效應(yīng)以及陀螺效應(yīng),采取最小擾動法對無人機的數(shù)學(xué)模型和傳遞函數(shù)進行求解。
將無人機的各個部分都視為剛體。常見的剛體姿態(tài)描述方法是歐拉描述以及矩陣描述,文中采用矩陣描述的方法。同時根據(jù)升力與轉(zhuǎn)速的平方成正比的數(shù)學(xué)關(guān)系,在小角度偏轉(zhuǎn)和較低的飛行速度下,無人機簡化控制模型公式[14-15]為
(4)
式(4)中,τφ、τθ、τψ為3個方向上的力矩,V為電壓,b為電機拉力系數(shù),d為電機扭力系數(shù),J為電機轉(zhuǎn)動慣量,Ω為電機轉(zhuǎn)速,Tm為時間常數(shù)。該無人機的相關(guān)飛行參數(shù)如表1所示。
表1 飛行器參數(shù)Tab.1 Aircraft parameters
根據(jù)文獻[14—15]中已有的簡化成為對角矩陣的計算方法,利用Matlab代入上述各個相關(guān)參數(shù)求解得到無人機傳遞函數(shù)的狀態(tài)空間表達式:
(5)
2.1.1基本概念
粒子群算法是一種啟發(fā)式算法,在1995年被美國學(xué)者Kennedy和Eberhart共同提出[16],其思想是利用信息共享原則,以群體感知個體,從單一到具體,從混沌到有序,使其在整個空間域中得到可行解。
粒子群算法的更新迭代公式如下:
(6)
式(6)中,ω是慣性權(quán)重(因子系數(shù)),ω取值區(qū)間為[0.9,1.2],通常取值為0.9;c1是個體學(xué)習(xí)(加速)因子;c2是社會學(xué)習(xí)(加速)因子;r1、r2是區(qū)間[0,1]內(nèi)的隨機值;t一般為1。在整個求解空間中,每個粒子通過不斷更新個體極值xpbest和全局極限值xgbest來確定粒子的速度和方向,朝著目標函數(shù)值運動。
2.1.2算法實現(xiàn)流程圖
粒子群算法的流程圖如圖2所示。
圖2 粒子群算法流程圖Fig.2 Flow chart of particle swarm optimization algorithm
在經(jīng)典PSO算法中,優(yōu)化后期粒子的多樣性顯得較為缺乏,同時也會提前收斂到局部極值[17-18],因此可以通過調(diào)整學(xué)習(xí)因子和慣性權(quán)重的大小,在搜索的初期,在整個求解空間中進行大范圍的搜索,繼而獲得多樣性更好的高質(zhì)量粒子,在搜索后期小范圍調(diào)整提升精度,并減小或消去局部極值的影響。
在考慮和解決實際優(yōu)化問題時,人們對于慣性權(quán)重的取值方式通常是線性遞減,但PSO的搜索過程極其復(fù)雜,并非單一的線性遞減,因此本文采用一種具有動態(tài)慣性權(quán)重的非線性遞減PSO算法,改進后的速度更新公式如下:
(7)
式(7)中,ωmin和ωmax是預(yù)先給定的最小及最大慣性系數(shù),一般取值為0.4和0.9;i是迭代次數(shù)(iteration),imax是最大迭代次數(shù)。
在Kennedy和Eberhart提出的粒子群算法中,c1和c2的取值在2左右較為合適??紤]到學(xué)習(xí)因子對算法的影響因素,本文采用一種降低自身經(jīng)驗參數(shù),提高群體經(jīng)驗參數(shù),并且c1和c2隨時間改變而發(fā)生變化的方法。關(guān)于c1和c2的改進如下所示:
(8)
式(8)中,c1i、c2i、c1f、c2f分別為c1、c2的迭代初值和終值。如表2所示,將尋優(yōu)得到的最優(yōu)解與已知真正的最優(yōu)解進行誤差比較,經(jīng)過多次實驗,結(jié)果表明,當c1從2.5降低到0.5,c2從0.5上升到2.5時,最有利于搜索最優(yōu)解,既保證了搜索能力,提高了數(shù)據(jù)的收斂精度,又能明顯降低搜索優(yōu)化時間。
表2 實驗誤差Tab.2 Experimental error
很多優(yōu)化算法需要利用測試函數(shù)來檢驗算法的可靠性和魯棒性,常用的測試函數(shù)一般包括多維度、多峰值的特點。在學(xué)術(shù)界,通常用某些固定的測試函數(shù)來驗證提出的優(yōu)化函數(shù)的質(zhì)量。所有測試函數(shù)都是連續(xù)的,可以根據(jù)它們的特性分為四類[19],如表3所示。
表3 測試函數(shù)的分類及特點Tab.3 Classification and characteristics of test functions
表3第三類和第四類主要用于檢驗智能優(yōu)化方法,例如GA、PSO、TS、SA等。為了驗證本文提出的改進粒子群算法的優(yōu)化性能,選擇兩個不同的基準函數(shù)Acklex函數(shù)和Rastrigin函數(shù)[19],對算法的優(yōu)化性能進行綜合測試,這兩個函數(shù)是被使用頻率最高的兩個函數(shù),并將算法改進前后的優(yōu)化結(jié)果進行比較。
Acklex函數(shù)表達式為
式中,-8≤x≤8。
該函數(shù)為一個n維函數(shù),具有較多的局部最小值,函數(shù)在(0,0)處取得最小值0。該函數(shù)具有較難辨別搜索方向的特點,查找全局最優(yōu)解較為困難,Ackley的函數(shù)圖形如圖3所示。
圖3 Acklex函數(shù)圖像Fig.3 Image of Acklex
Rastrigin函數(shù)表達式為
式中,-2≤x≤2。
該函數(shù)具有較多的局部極值,波形峰谷交替,難以求解到最優(yōu)值,最值的位置坐標為(0,0),測試函數(shù)如圖4所示。
圖4 Rastrigin函數(shù)圖像Fig.4 Image of Rastrigin
首先進行初始化處理,粒子群種群規(guī)模設(shè)置為20,終止迭代步數(shù)設(shè)置為200,其中原始粒子群算法的w初值設(shè)置為0.9,c1、c2初值設(shè)置為2;改進粒子群算法的w初值設(shè)置如式(7)所示,c1、c2初值設(shè)置如式(8)所示。
如圖5所示,分別是使用改進前后的粒子群算法針對于Acklex函數(shù)和Rastrigin函數(shù)的尋優(yōu)曲線走勢圖。
圖5 尋優(yōu)曲線走勢圖Fig.4 Trend chart of optimization curve
根據(jù)圖5可以看出,改進前后優(yōu)化的收斂效果都比較好,對于測試函數(shù)起到了較好的尋優(yōu)效果,但是相對于BPSO(discrete binary particle swarm optimization algorithm)算法,IMPSO(improved particle swarm optimization algorithm)算法的收斂速度相對較快,找到最優(yōu)解所需要的迭代步數(shù)更短。通過Matlab的計算結(jié)果得知,改進算法的收斂精度也相對之前的方法大大提升,距離最值點(0,0)的誤差在10-5級別。
綜上所述,IMPSO算法對于兩個不同測試函數(shù)的優(yōu)化結(jié)果都要優(yōu)于BPSO算法,從而驗證了改進算法的可行性和解決優(yōu)化問題的普遍適應(yīng)性,為該方法融入到無人機參數(shù)整定優(yōu)化的過程提供了可行的依據(jù)。
由于無人機姿態(tài)的改變都是通過各個電機轉(zhuǎn)速的不同而實現(xiàn)的。眾所周知,無人機的內(nèi)環(huán)是角加速度環(huán),外環(huán)則是角速度環(huán),為了方便研究,忽略內(nèi)外環(huán)節(jié)之間的負載效應(yīng),使得內(nèi)外環(huán)節(jié)相互關(guān)聯(lián)[20-21]。使用Simulink對文中無人機的系統(tǒng)模型進行等效模擬。
搭建的實驗仿真模型如圖6所示。三個通道分別代表單級、串級控制參數(shù)整定前和串級控制參數(shù)整定后。三個姿態(tài)角的仿真框圖均如圖所示,但是仿真結(jié)構(gòu)中的傳遞函數(shù)和內(nèi)外環(huán)參數(shù)各不相同。
圖6 動態(tài)響應(yīng)仿真模型Fig.6 Simulation model of dynamic response
傳統(tǒng)的人工整定方法難以快速獲得良好的控制器參數(shù),因為其都是通過經(jīng)驗法試湊得到的,整定時間較長且參數(shù)效果不佳[22],因此本文用改進粒子群來對PID參數(shù)進行優(yōu)化整定。首先確定適應(yīng)度函數(shù)確定參數(shù)的大致范圍,內(nèi)環(huán)和外環(huán)參數(shù)PID參數(shù)的范圍從[0,0,0,0,0,0]到[10,10,10,10,10,10]。利用粒子群算法對PID控制器參數(shù)進行整定優(yōu)化,通常使用的誤差性能指標包括ITAE、ISE、IAE等,本文選用ITAE誤差性能指標作為適應(yīng)度函數(shù),其定義為
(9)
利用改進粒子群方法進行多次迭代,對比控制效果,得到最優(yōu)的參數(shù)集如表4所示。
表4 整定得到的PID參數(shù)Tab.4 PID parameters by tuning
將尋優(yōu)整定完成得到的PID參數(shù)代入圖6所示的動態(tài)響應(yīng)仿真模型中,得到結(jié)果如圖7—圖9所示。
圖7 俯仰角通道仿真對比圖Fig.7 Simulation comparison of pitch angle
圖8 滾轉(zhuǎn)角通道仿真對比圖Fig.8 Simulation comparison of roll angle
圖9 偏航角通道仿真對比圖Fig.9 Simulation comparison of yaw angle
由計算得到的直觀數(shù)據(jù)匯總?cè)绫?所示。
表5 優(yōu)化前后結(jié)果對比Tab.5 Comparison of result before and after optimization
根據(jù)上述圖表所示結(jié)果可以分析得到:
1) 在各個姿態(tài)角響應(yīng)曲線中,單級控制回路的曲線振蕩情況比較劇烈,且調(diào)節(jié)時間稍長一些;而其他兩路串級控制響應(yīng)曲線的調(diào)節(jié)時間較短,且超調(diào)量也要遠遠小于單級控制。
2) 在兩個串級控制回路中,系統(tǒng)使用整定完成的參數(shù)后的曲線的動態(tài)性能更好,明顯優(yōu)越于參數(shù)整定之前,調(diào)節(jié)時間更短且超調(diào)量也更小。
3) 在兩個串級回路中,參數(shù)整定后相比較于整定前來說,超調(diào)量下降大約在60%~70%,調(diào)節(jié)時間縮短了20%~33%,說明參數(shù)整定優(yōu)化之后,無人機能快速到達穩(wěn)態(tài),動態(tài)性能明顯提升。
為了驗證整定完成的參數(shù)對于控制系統(tǒng)的抗干擾能力,進一步說明本文參數(shù)整定優(yōu)化的正確性和有效性,在仿真通道中分別加入階躍干擾信號和白噪聲干擾信號,分別模擬瞬時強干擾和持續(xù)弱干擾情況。圖10所示是分別添加兩種干擾信號的仿真模型。階躍干擾信號在T=3 s的時候開始加入,白噪聲信號在T=0 s的時候開始加入。
圖10 抗干擾仿真模型Fig.10 Simulationmodel of anti-interference
通過圖11—圖13的仿真效果比較分析可以看出:在兩種干擾信號的作用下,使用改進粒子群算法整定得到的參數(shù)控制系統(tǒng)抗干擾性能更好,快速性更佳,超調(diào)現(xiàn)象較小,曲線恢復(fù)至穩(wěn)態(tài)的過程也更加平滑。上述結(jié)果均表明了基于該參數(shù)組合的系統(tǒng)的抗干擾性能較強,再次驗證了基于改進粒子群算法整定得到的參數(shù)的優(yōu)越性。
圖11 俯仰角抗干擾仿真效果圖Fig.11 Anti-interference simulation result of pitch angle
圖12 滾轉(zhuǎn)角抗干擾仿真效果圖Fig.12 Anti-interference simulation result ofroll angle
圖13 偏航角抗干擾仿真效果圖Fig.13 Anti-interference simulation result of yaw angle
為了使本文結(jié)論不僅僅停留在理論層面,需要進行實際飛行測試,驗證本文的理論結(jié)果與實際飛行結(jié)果是否相符。首先建立飛行測試系統(tǒng)環(huán)節(jié),圖14是本次實際飛行測試系統(tǒng)。
圖14 飛行測試系統(tǒng)圖Fig.14 Flight test system
圖15—圖17所示是姿態(tài)角傳感器實際測量的回傳數(shù)據(jù)的可視化分析圖,分別顯示的是參數(shù)整定之前和參數(shù)整定之后的無人機飛行姿態(tài)角數(shù)據(jù)。
圖15 俯仰角傳感器數(shù)據(jù)圖Fig.15 Data of pitch angle sensor
圖16 滾轉(zhuǎn)角傳感器數(shù)據(jù)圖Fig.16 Data of roll angle sensor
圖17 偏航角傳感器數(shù)據(jù)圖Fig.17 Data of pitchyaw sensor
對上述三個姿態(tài)角數(shù)據(jù)的分析如表6所示。
表6 參數(shù)整定前后姿態(tài)角數(shù)據(jù)表Tab.6 Attitude angle data before and after parameter setting
根據(jù)上述圖表的數(shù)據(jù)分析可以得到:在室外實際飛行環(huán)境測試下,使用整定完成參數(shù)的無人機系統(tǒng)具有更加良好的穩(wěn)定性和動態(tài)性能,而且在旋翼高速旋轉(zhuǎn)帶動飛機震動的情況之下,整定后的系統(tǒng)無人機系統(tǒng)的姿態(tài)角變化量更小,與前文的理論結(jié)果相符,證實了改進粒子群算法應(yīng)用在四旋翼無人機參數(shù)整定工作的有效性和優(yōu)越性。
總體來說,通過改進粒子群算法的優(yōu)化整定后得到的參數(shù)所控制的效果相比較于傳統(tǒng)方法有了很大的提升,動態(tài)性能明顯改善,同時也極大地減少了參數(shù)整定時間,證實了利用改進粒子群方法對于無人機PID參數(shù)進行整定優(yōu)化的方法是可行的。
本文通過改進粒子群尋優(yōu)算法對無人機PID參數(shù)進行整定,減少了參數(shù)整定所需時間,避免了人工整定的困難,同時更加方便簡捷,提升了無人機的可操作能力和動態(tài)性能。
為驗證粒子群算法與PID模型的結(jié)合效果,使用Matlab/Simulink搭建無人機姿態(tài)控制模型并進行仿真。實驗結(jié)果證明:改進粒子群算法對無人機PID參數(shù)整定方法可行,在參數(shù)整定優(yōu)化之后,無人機的動態(tài)性能更佳,調(diào)節(jié)時間縮短了20%~33%;超調(diào)量降低了60%~70%,減小了到達穩(wěn)態(tài)過程中的震蕩,使得整個過程趨于平滑,抗干擾性能更好,提升了收斂精度。