鐘小勇,任劍秋
(江西理工大學(xué)理學(xué)院,江西 贛州 341000)
四旋翼無人機(jī)是一種典型的四電機(jī)輸入、六自由度輸出的欠驅(qū)動復(fù)雜控制系統(tǒng),易于受到外界干擾,人工整定參數(shù)困難且不易獲得較佳的控制效果。為了提高控制精度,國內(nèi)外研究人員對無人機(jī)控制器參數(shù)優(yōu)化算法開展了廣泛研究。文獻(xiàn)[1]在傳統(tǒng)的粒子群算法基礎(chǔ)上參考遺傳算法,對適應(yīng)值不好的粒子進(jìn)行交叉保優(yōu),以提高粒子的多樣性,加快尋優(yōu)速度。文獻(xiàn)[2]將粒子群算法與仿人智能控制相結(jié)合,使用粒子群優(yōu)化算法對仿人智能控制中的比例、微分系數(shù)和衰減系數(shù)進(jìn)行優(yōu)化。文獻(xiàn)[3]設(shè)計模糊PID(Proportion-Integral-Differential,比例積分微分)控制器對無人機(jī)進(jìn)行控制,對模糊控制器中的模糊子集進(jìn)行基因編碼,設(shè)計改進(jìn)型遺傳算法實現(xiàn)模糊規(guī)則的再整定與優(yōu)化。文獻(xiàn)[4]提出一種改進(jìn)PSO(Particle Swarm Optimization,粒子群)算法優(yōu)化分?jǐn)?shù)階PID參數(shù)的方法,在迭代更新過程中,根據(jù)粒子的適應(yīng)度值按照一定淘汰率將部分粒子淘汰,并用隨機(jī)產(chǎn)生的新粒子代替,在保優(yōu)的同時增加了粒子群的多樣性。文獻(xiàn)[5]提出一種改進(jìn)人工蜂群算法優(yōu)化分?jǐn)?shù)階PID參數(shù)的方法,利用循環(huán)交換鄰域技術(shù)擴(kuò)大搜索范圍,并利用混沌的遍歷性跳出局部最優(yōu)解,得到了較好的時域性能。
以上研究大多是在粒子群算法的基礎(chǔ)上對控制器參數(shù)進(jìn)行整定,但是標(biāo)準(zhǔn)的PSO算法在處理復(fù)雜問題時容易陷入局部最優(yōu)解。因此本文采用差分進(jìn)化(Differential Evolution,DE)算法對串級PID控制器參數(shù)進(jìn)行整定,在標(biāo)準(zhǔn)DE算法的基礎(chǔ)上,提出定向搜索的策略,根據(jù)上一次適應(yīng)度比較的結(jié)果定向影響本次變異的方向,將這種算法應(yīng)用到四旋翼仿真模型中尋找出最優(yōu)的控制器參數(shù)。實驗結(jié)果表明將定向差分進(jìn)化(directed Differential Evolution,dDE)算法尋找出的控制器參數(shù)帶入模型后得到的控制器參數(shù),仿真結(jié)果明顯優(yōu)于PSO算法和標(biāo)準(zhǔn)DE算法,證明了該算法的可行性和實用價值。
粒子群算法是一種生物優(yōu)化算法,它根據(jù)自己和同伴的經(jīng)驗在搜索空間中找到全局最優(yōu)解。假設(shè)區(qū)域中只有一塊食物(即優(yōu)化問題中的最優(yōu)解),鳥群的任務(wù)就是找到這個食物。鳥群在整個搜索過程中可以相互傳遞信息,讓彼此知道各自的位置,來判斷自己是否離食物更近,最終整個鳥群都能聚集到食物周圍,問題收斂。
(1)
式中1≤j
≤D
,1≤i
≤NP
;D
為變量的總維數(shù);ω
為慣性權(quán)重,起到平衡全局和局部搜索能力的作用;c
,c
分別為認(rèn)知系數(shù),使粒子具有繼承自身優(yōu)點并向種群中其它優(yōu)秀個體學(xué)習(xí)的能力;r
,r
為[0,1]范圍內(nèi)的隨機(jī)數(shù),用來保持群體的多樣性。相對人工整定控制參數(shù)而言,粒子群算法能加快尋優(yōu)速度,但發(fā)現(xiàn)針對四旋翼無人機(jī)這類復(fù)雜的控制器參數(shù)確定時,容易陷入局部最優(yōu)。.
2.
1 差分進(jìn)化算法基本原理差分進(jìn)化算法是在1995年,首先由Storn和Price提出的,它最初被用于求解切比雪夫多項式的問題。DE算法原理跟遺傳算法十分相似,都屬于進(jìn)化算法的范圍,包含變異、交叉、選擇三個操作,但DE算法的這三個過程與遺傳算法有很大的不同。DE算法的變異是使用差分策略,利用父代種群中個體之間的差異來產(chǎn)生變異個體。交叉操作是從原來的目標(biāo)個體和變異個體中用概率選擇的方法構(gòu)成新的候選個體。選擇操作是采用“貪婪原則”,讓目標(biāo)個體和候選個體進(jìn)行競爭,選擇適應(yīng)度函數(shù)較優(yōu)的個體,使搜索過程逐漸接近最優(yōu)解?;綝E算法包括以下環(huán)節(jié):
1)種群初始化
(2)
2)變異操作
DE算法的個體變異是通過父代群體中三個不同的個體,采用選定的進(jìn)化模式來生成。根據(jù)不同的變異方式,其進(jìn)化模式也多種多樣。但都可以統(tǒng)一使用DE/x/y/z
的形式來描述。其中x
代表被變異個體的選擇方式,如選擇最優(yōu)個體best
或隨機(jī)產(chǎn)生的個體rand
;y
表示差分向量的個數(shù);z
表示交叉模式,包含二項交叉bin
和指數(shù)交叉exp 。假設(shè)選用的變異策略是DE/rand/
1/bin
,那么變異個體可以表示為(3)
k
,k
,k
是隨機(jī)生成的三個彼此互不相同的整數(shù),k
,k
,k
∈{1,2,…,MP
},所以種群數(shù)量必須要超過4個。F
表示縮放因子,F
∈[0,1],它決定著差分個體的縮放量,是控制種群收斂性和多樣性的重要參數(shù)。F
取值大意味著搜索步長較長,也就易于跳出局部最優(yōu)解,但在演化后期容易錯過最優(yōu)解。反之如果F
取值較小,則對種群造成的擾動小,有助于加快算法的收斂速度,但不易跳出局部最優(yōu)解,陷入成局部收斂。在變異過程中,也可能產(chǎn)生超出搜索范圍[L
,U
]的個體,這時就要進(jìn)行算子修補(bǔ)。定義修補(bǔ)過程的操作為(4)
3)交叉操作
(5)
式(5)中CR
∈(0,1)為交叉因子,CR
取值的大小,決定了個體在不同位點發(fā)生交叉的概率大小,決定著歷史信息與當(dāng)前種群信息的權(quán)重。CR
取值越大,則選中變異個體的概率越大,種群多樣性就會增加,但收斂速度就會變慢。CR
取值小,則種群多樣性小,有利于提高算法的收斂速度,但容易造成過早收斂。4)選擇操作
(6)
.
2.
2 定向搜索策略(7)
(8)
為了描述四旋翼無人機(jī)的運動姿態(tài)與位置變化,需要在地理坐標(biāo)系和機(jī)體坐標(biāo)系上建模,同時分析兩個坐標(biāo)之間的變換關(guān)系。四旋翼無人機(jī)運動示意圖如1所示。
在研究物體轉(zhuǎn)動和位置的變化中,常用俯仰角、橫滾角φ
、航向角ψ
來表示確定向量的轉(zhuǎn)動位置,無人機(jī)各軸的角度變化用歐拉角表示,需要依次繞三個軸進(jìn)行旋轉(zhuǎn)才能求出復(fù)合后的旋轉(zhuǎn)矩陣。用歐拉角來表示無人機(jī)從載體坐標(biāo)系b
旋轉(zhuǎn)到地理坐標(biāo)系n
的旋轉(zhuǎn)矩陣如公式所示。圖1 四旋翼無人機(jī)運動示意圖
(9)
式中c
、s
分別表示cos 和sin 函數(shù)。建立四旋翼無人機(jī)的動力學(xué)模型時,需要假定一些初始條件:
1)假設(shè)無人機(jī)為剛體,不考慮槳片的形變和彈性震動。
2)假設(shè)無人機(jī)絕對對稱,機(jī)體質(zhì)量分布均勻,重心與機(jī)體坐標(biāo)原點重合。
3)忽略地面效應(yīng)造成的影響。
4)忽略地球自轉(zhuǎn),地理坐標(biāo)系與慣性坐標(biāo)系重合,重力加速度不變。
設(shè)無人機(jī)的地理坐標(biāo)為ξ
=[x
,y
,z
],無人機(jī)的姿態(tài)角為Θ
=[φ
,θ
,ψ
],角速度為ω
=[p
,q
,r
]。根據(jù)動量定理和動量矩定理,結(jié)合無人機(jī)所受外力和合外力矩,給出無人機(jī)的角運動方程(10)
式中U
,U
,U
分別代表橫滾、俯仰和偏航運動力矩,I
(i
=x
,y
,z
)代表機(jī)體繞各軸旋轉(zhuǎn)的慣性張量,J
為轉(zhuǎn)動慣量,Ω
為機(jī)體轉(zhuǎn)速。再給出無人機(jī)的平移運動和垂直運動方程(11)
式中U
代表垂直運動力矩,m
為飛行器重量,g
為重力加速度,U
(i
=1,2,3,4)可以表示為(12)
式中,Ω
(i
=1,2,3,4)代表四個電機(jī)的轉(zhuǎn)速,F
(i
=1,2,3,4)代表四個旋翼單獨轉(zhuǎn)動時產(chǎn)生的升力,b
為升力系數(shù),d
為阻力矩系數(shù),l
為無人機(jī)質(zhì)心到旋翼中心的長度。控制部分采用PID控制器,常用的PID控制器如圖2所示,由比例單元P、積分單元I、微分單元D組成,實現(xiàn)對被控對象的控制與調(diào)節(jié)。
圖2 PID控制器模型
在圖2中,輸入信號為r
(t
),輸出信號為y
(t
),PID控制器輸入為e
(t
)=r
(t
)-y
(t
),PID控制器輸出u
(t
)表達(dá)式為(13)
式中,K
、K
、K
是PID控制器的三個參數(shù),分別為是比例系數(shù)、積分系數(shù)和微分系數(shù)。為了提高控制精度,對四旋翼每個姿態(tài)角采用內(nèi)外環(huán)串級PID控制,如圖3所示。相對常用的PID控制器,串級PID控制器更能夠準(zhǔn)確實時地控制四旋翼無人機(jī)的姿態(tài)。在圖3中,外環(huán)為角度PID控制器(比例系數(shù)、積分系數(shù)、微分系數(shù)分別設(shè)為K
1、K
1、K
1),輸入為期望角度與反饋實時角度的差值,輸出為期望角速度;內(nèi)環(huán)是角速度PID
控制器,(比例系數(shù)、積分系數(shù)、微分系數(shù)分別設(shè)為K
2、K
2、K
2),輸入為期望角速度與反饋實時角速度的差值,輸出至四旋翼動力模型。根據(jù)四旋翼動力模型表達(dá)式(12),計算U
、U
、U
、U
,最終根據(jù)模型參數(shù),計算并反饋實際角度與實際角速度。在四旋翼串級PID控制過程中,PID參數(shù)的整定及優(yōu)化是實現(xiàn)穩(wěn)定控制的基礎(chǔ)。圖3 四旋翼無人機(jī)串級PID控制
f
,其表達(dá)式為:(14)
在參數(shù)整定過程中,f
的值越小越好,約束條件為系統(tǒng)調(diào)節(jié)時間t
、超調(diào)比例σ
與調(diào)節(jié)誤差err
。改進(jìn)差分進(jìn)化算法整定PID控制器參數(shù)步驟如圖4所示。圖4 dDE優(yōu)化PID流程圖
7)判斷最大迭代次數(shù)是否達(dá)到,若達(dá)到,則停止;否則轉(zhuǎn)到第2)步。
利用差分進(jìn)化算法對PID控制器參數(shù)進(jìn)行優(yōu)化的過程流程圖如圖4所示。優(yōu)化算法與四旋翼模型之間,通過優(yōu)化算法傳遞PID的控制參數(shù),從四旋翼模型中獲得仿真數(shù)據(jù),利用得到的數(shù)據(jù),通過適應(yīng)度函數(shù)得到該組參數(shù)對應(yīng)的適應(yīng)度值,獲取適應(yīng)度最優(yōu)的參數(shù)。
為了對本文所提出算法的控制精度及實時性進(jìn)行驗證,本文采用圖5所示的四旋翼無人機(jī)為原型,實驗以該機(jī)為模型,具體參數(shù)如表1所示。
圖5 四旋翼無人機(jī)
表1 四旋翼模型參數(shù)
運用MATLAB和Simulink進(jìn)行仿真并分析仿真結(jié)果。以橫滾通道為例,設(shè)置PSO的粒子群規(guī)模為NP=20、維度參數(shù)D=6、位置區(qū)間為X
=[0 0 0 0 0 0]到X
=[100 5 5 100 5 5],最大迭代次數(shù)50,速度區(qū)間V
為位置區(qū)間的0.
2倍,認(rèn)知系數(shù)c
,c
=2,慣性權(quán)重ω
從0.
9線性遞減至0.
4。設(shè)置DE
和dDE
算法的種群大小MP
=20、維度參數(shù)N
=6、位置區(qū)間為X
=[0 0 0 0 0 0]到X
=[100 5 5 100 5 5]、和最大迭代次數(shù)maxG
=50,縮放因子F
=0.
5,交叉概率因子CR
=0.
9。三種算法迭代50次后,得到的優(yōu)化PID參數(shù)值和各性能指標(biāo)如表所示。
表2 橫滾通道PID參數(shù)和各性能指標(biāo)
以橫滾角為例,將三種算法下得到的PID
參數(shù)帶入四旋翼模型中,期望角度為30°時,角度變化曲線如圖6所示。圖6 不同算法PID控制效果
三種算法下適應(yīng)度隨迭代次數(shù)變化曲線如圖7所示。
圖7 適應(yīng)度隨迭代次數(shù)變化曲線
dDE
算法參數(shù)優(yōu)化隨迭代次數(shù)變化如圖8所示。由于靜差相對較小,積分系數(shù)及變化量均很小,圖中只列出了比例系數(shù)及微分系數(shù)。圖8 dDE算法中的參數(shù)變化曲線
由圖6可以看出,系統(tǒng)在階躍輸入下,dDE
算法能夠以最快的速度達(dá)到期望值,并且達(dá)到穩(wěn)定狀態(tài)的時間最短。從圖7中可以看到,DE
算法在第15次迭代,PSO
算法在第9次迭代左右就已經(jīng)收斂,不再變化。而結(jié)合圖8可以看到,dDE
算法在第15代之后依然可以跳出局部最優(yōu)解,防止了過早收斂,得到了整體的最優(yōu)結(jié)果。PID
應(yīng)用于四旋翼控制系統(tǒng)中,并用Simulink
對四旋翼飛行器進(jìn)行了建模仿真。針對四旋翼飛行器PID
參數(shù)人工調(diào)試難度較大的問題,提出了DE
算法對四旋翼PID
參數(shù)進(jìn)行優(yōu)化,并對標(biāo)準(zhǔn)DE
算法進(jìn)行改進(jìn),加入了定向搜索策略。通過與標(biāo)準(zhǔn)PSO
算法和DE
算法相比較,結(jié)果表明基于dDE
算法的串級PID
控制技術(shù)具有更快的收斂速度和更穩(wěn)定的性能。