周晶晶,徐友春,張自立,李明喜,蘇致遠(yuǎn)
(1.蚌埠汽車士官學(xué)校 運輸勤務(wù)系,安徽 蚌埠 233011; 2.軍事交通學(xué)院 軍用車輛系,天津 300161;3.軍事交通學(xué)院 研究生管理大隊,天津 300161)
?
● 車輛工程 Vehicle Engineering
IPSO-MPC算法在智能車縱向速度控制中的應(yīng)用
周晶晶1,徐友春2,張自立1,李明喜2,蘇致遠(yuǎn)3
(1.蚌埠汽車士官學(xué)校 運輸勤務(wù)系,安徽 蚌埠 233011; 2.軍事交通學(xué)院 軍用車輛系,天津 300161;3.軍事交通學(xué)院 研究生管理大隊,天津 300161)
基于模型預(yù)測控制(MPC)理論的智能車縱向速度控制問題可以轉(zhuǎn)換為二次規(guī)劃問題(QP)。針對該QP問題,利用一種改進的粒子群算法(IPSO)減少MPC計算成本。通過引入收縮因子保證粒子群算法收斂,引入慣性因子避免粒子在全局最優(yōu)解附近振蕩,引入“備胎機制”來處理QP約束。數(shù)值試驗驗證了改進的IPSO算法可減少迭代次數(shù)、降低計算成本。將IPSO算法與MPC算法結(jié)合形成IPSO-MPC算法,智能車縱向速度控制仿真結(jié)果證明IPSO-MPC算法有效。
縱向速度控制;智能車;粒子群算法;模型預(yù)測控制
模型預(yù)測控制(model predictive control,MPC)算法是19世紀(jì)80年代發(fā)展起來的一類控制算法[1]。粒子群算法(particle swarm optimization,PSO)是一種基于鳥類群體行為仿真的隨機優(yōu)化算法。PSO算法規(guī)則簡單、收斂速度快、可調(diào)參數(shù)少,并具有群體智能,已廣泛應(yīng)用于函數(shù)優(yōu)化、神經(jīng)網(wǎng)絡(luò)訓(xùn)練和模糊控制系統(tǒng)等領(lǐng)域[2]。目前MPC在智能車控制應(yīng)用中面臨的主要問題是在優(yōu)化目標(biāo)較多時計算成本較高,影響控制系統(tǒng)實時性的要求。為降低計算成本,提高控制的響應(yīng)速度,文獻(xiàn)[3]提出減少目標(biāo)函數(shù)和確定預(yù)測時域的方法降低計算成本;文獻(xiàn)[4]以可編程邏輯門陣列(FPGA)為平臺實現(xiàn)了PSO-MPC控制器;文獻(xiàn)[5]在粒子更新過程中加入收縮因子以保證PSO收斂;文獻(xiàn)[6]增加擾動項來更新粒子速度,并用簡化的k-最近鄰算法動態(tài)調(diào)整粒子生存期;文獻(xiàn)[7]將PSO算法和混合蛙跳算法結(jié)合起來,將粒子群進行分組搜索,各組利用不同公式進行迭代更新以保證粒子的差異性;文獻(xiàn)[8]將基于MPC理論的、多變量多約束的智能車縱向速度控制問題轉(zhuǎn)化為二次規(guī)劃(quadratic programming,QP)問題。
本文在此基礎(chǔ)上,通過改進的粒子群算法(improved PSO,IPSO)來求解QP問題:通過引入收縮因子保證粒子群算法收斂、引入慣性因子避免粒子在全局最優(yōu)解附近振蕩、引入“備胎機制”來處理QP約束,而后將IPSO與MPC結(jié)合形成IPSO-MPC算法來求解帶約束的MPC問題。
文獻(xiàn)[8]將基于車間運動學(xué)和MPC理論的智能車縱向速度控制問題轉(zhuǎn)換為帶有等式、不等式約束的QP問題。為求解此QP問題,首先對基本粒子群算法(basic PSO,BPSO)進行改進。
(1)
式中:正常數(shù)c1、c2為學(xué)習(xí)因子,分別調(diào)整粒子飛向局部、全局最優(yōu)位置的步長,一般取c1=c2=2;r1、r2為相互獨立且服從[0,1]上均勻分布的兩個隨機數(shù);vin(k)為粒子速度,滿足約束vin(k)∈[-vmax,vmax],vmax為粒子最大速度;正常數(shù)ω為慣性因子,其大小調(diào)整粒子的局部、全局搜索能力;n為粒子i的第n維變量,n=1,2,…,N。
設(shè)目標(biāo)函數(shù)為f(x),第i個粒子PiN計算式為
PiN(k+1)=
(2)
BPSO算法的流程如圖1所示。
圖1 BPSO算法流程
在式(1)的基礎(chǔ)上,對BPSO算法中粒子進化方式進行如下改進:
(3)
式(3)改進的粒子群算法速度更新方法中,引入收縮因子ξ可以保證BPSO收斂[11];加入動態(tài)調(diào)整慣性因子ω,避免粒子在全局最優(yōu)解附近振蕩;c1對應(yīng)項反映了粒子的局部搜索能力;c2對應(yīng)項反映了粒子的全局搜索能力;c3對應(yīng)項反映了粒子利用過去行為預(yù)測未來搜索的能力。
為研究慣性因子ω對改進PSO算法的影響,使ω動態(tài)調(diào)整,設(shè)第k次進化取值為ωk,T為最大進化次數(shù)(k=1,2,…,T),分別為最大、最小慣性因子,為正常數(shù)。研究以下5種方法動態(tài)調(diào)節(jié)ωk:
ωk=ωmax-(ωmax-ωmin)k/T
(4-1)
ωk=ωmax-(ωmax-ωmin)(k/T)1.5
(4-2)
ωk=ωmax-(ωmax-ωmin)(k/T)2
(4-3)
ωk=ωmax-(ωmax-ωmin)[2k/T-(k/T)2]
(4-4)
ωk=ωmax-(ωmax-ωmin)T/(1+ck)
(4-5)
利用Matlab實現(xiàn)上述IPSO算法,并與典型粒子群算法(以下簡稱BPSO算法)對比。使用式(5)經(jīng)典測試函數(shù),函數(shù)的圖形如圖2所示。
(5)
圖2 經(jīng)典測試函數(shù)
可以看到該測試函數(shù)在設(shè)定的搜索空間范圍內(nèi)有很多極大值點,而在原點處取得全局極大值(約為1.005 4)。用Matlab實現(xiàn)IPSO算法,并與BPSO算法進行對比,仿真參數(shù)為:T=300,M=20,vmax=1,ωmax=0.9,ωmin=0.4,c1=2.1,c2=2,c=10,ε=4.1,ξ=0.729 8。比較5種調(diào)節(jié)ωk方法,為分析IPSO算法性能,參數(shù)設(shè)置不變,各實驗運行50次取均值,認(rèn)為接近最優(yōu)解范圍為gbest∈[1.005 1-0.01,1.005 1+0.01],gbest在其他區(qū)間認(rèn)為陷入局部最優(yōu)解,其性能對比見表1。
表1 BPSO及IPSO性能對比
從表1可以看出,改進的算法均能明顯減少進化代數(shù),快速求出最優(yōu)解,提高了BPSO算法效率。其中IPSO4算法收斂速度較快,陷入局部最優(yōu)解次數(shù)少。將IPSO4算法作為最終改進的算法(IPSO),測試經(jīng)典函數(shù)Rastrigin(R函數(shù))和Schaffer(S函數(shù)),其函數(shù)表達(dá)式為
(6)
式中x,y∈[-5,5]。
仿真參數(shù)為:T=100,M=20,vmax=1,ωmax=0.9,ωmin=0.1,c1=2.1,c2=c3=2,c=10,ε=4.1,ξ=0.729 8。比較5種動態(tài)調(diào)節(jié)方法,IPSO和PSO算法各仿真10次取平均值,對比圖形如圖3所示,結(jié)果見表2。
從圖3和表2的對比發(fā)現(xiàn),IPSO算法與PSO都能找到全局最小值,但改進后IPSO算法收斂更快,尋優(yōu)結(jié)果精度至少提高一個數(shù)量級,并能有效避免早熟現(xiàn)象。
圖3 R函數(shù)、S函數(shù)IPSO、PSO適應(yīng)度對比
函數(shù)全局最優(yōu)位置平均最優(yōu)值BPSOIPSOBPSOIPSOR9.673.460.3711.34S0.07070.001050.03190.00327
將上述IPSO算法與MPC結(jié)合,求解文獻(xiàn)[8]帶有等式、不等式約束的QP問題。IPSO-MPC算法流程如圖4所示。
為了處理QP約束,引入“備胎機制”,即每次更新完粒子的位置后,將新位置向量代入約束不等式,如果不滿足約束,不直接將此粒子拋棄,而是將它的位置直接設(shè)置為當(dāng)前的全局最優(yōu)值(作為一個“備胎”)。在IPSO算法的基礎(chǔ)上,為保證優(yōu)秀粒子的影響力,將不滿足約束的粒子的位置設(shè)置為全局最優(yōu)值gbest。u(0),u(1),…,u(Nc-1)為MPC求解產(chǎn)生最優(yōu)控制序列,只將u(0)作用于控制系統(tǒng),為在初始化時提高IPSO-MPC算法效率,將u(1),…,u(Nc-1)作為粒子的gbest初值。
圖4 IPSO-MPC算法流程
為驗證IPSO-MPC算法在智能車縱向速度控制中的應(yīng)用效果,使用該算法解決文獻(xiàn)[8]的智能車縱向速度控制問題。運用Matlab仿真,仿真參數(shù)值為:Np= 10,Nc= 2,d0=Δx=5 m,Ts= 0.1,χ= 1.2 s,T= 100,τ=0.5 s,Nmin= 1 500,ε=4.1,vh0= 5 m/s,c2=c3=2,M = 20,vmax=1,ωmax=0.9,ωmin=0.9,c1=2.1,c=10,ξ=0.729 8。輸出變量權(quán)重系數(shù)和控制變量權(quán)重系數(shù)分別為0.6和0.8;約束條件為vhmin=0 m/s,vhmax= 25 m/s,ahmin= -0.5 m/s2,ahmax= 0.5m/s2。MPC目標(biāo)速度設(shè)置為:0~1 s為5 m/s,1~50 s逐漸加速到18 m/s,50~100 s保持勻速18 m/s,100~150 s逐漸減速到靜止。為保證縱向控制的平穩(wěn)性和舒適性,取平穩(wěn)趨近于目標(biāo)速度的指數(shù)衰減函數(shù)作為參考速度。狀態(tài)變量和輸出變量仿真結(jié)果如圖5所示。
仿真結(jié)果表明,智能車實際速度能快速跟蹤目標(biāo)速度,加速度滿足其約束要求|ah|≤0.5 m/s2,保證了控制平穩(wěn)性的要求。當(dāng)預(yù)測時域Np≤ 50時,算法計算成本小于智能車實時控制周期100 ms,故可以滿足控制實時性要求。
圖5 速度與控制變量仿真結(jié)果
本文針對基于MPC的智能車縱向速度控制問題的二次規(guī)劃問題,提出IPSO-MPC來求解該問題。引入收縮因子和變慣性權(quán)重因子對有PSO算法進行改進,引入“備胎機制”來處理MPC約束。
仿真實驗證明:在滿足約束的前提下,改進的算法減少了迭代次數(shù)和MPC計算成本。Matlab仿真結(jié)果證明了IPSO-MPC算法對基于MPC理論的智能車縱向速度控制問題是有效的。
[1] 李國勇.智能預(yù)測控制及其Matlab實現(xiàn)[M].2版.北京:電子工業(yè)出版社,2010:255-268.
[2] 余勝威.Matlab車輛工程應(yīng)用實戰(zhàn)[M].北京:清華大學(xué)出版社,2014:392-395.
[3] 李明喜,章永進,彭永勝,等.車間運動學(xué)模型在智能車速度跟蹤控制中的應(yīng)用[J].軍事交通學(xué)院學(xué)報,2015,17(11):49-53.
[4] 羅犇.基于FPGA的預(yù)測控制算法并行加速研究[D].杭州:浙江大學(xué),2011.
[5] 張俊溪,張嘉桐,張玉梅.一種改進的粒子群優(yōu)化算法[J].陜西師范大學(xué)學(xué)報(自然科學(xué)版), 2016(2):15-20.
[6] 謝承旺,鄒秀芬,夏學(xué)文,等.一種多策略融合的多目標(biāo)粒子群優(yōu)化算法[J].電子學(xué)報,2015(8):1538-1544.
[7] 黃太安,生佳根,徐紅洋,等.一種改進的簡化粒子群算法[J]. 計算機仿真, 2013, 30(2):327-330.
[8] 周晶晶,徐友春,李明喜.基于改進的QP算法和MPC理論的智能車縱向速度控制研究[J].軍事交通學(xué)院學(xué)報.2016,18(10):49-53.
[9] 高飛.Matlab智能算法超級學(xué)習(xí)手冊[M].北京:人民郵電出版社,2014:225-226.
[10] 董娜,陳增強,孫青林,等.基于粒子群優(yōu)化的有約束模型預(yù)測控制器[J].控制理論與應(yīng)用,2009,26(9):965-969.
[11] 羅犇,邵之江,徐祖華,等.一種新的基于PSO的MPC及其硬件實現(xiàn)[J].控制工程,2013,20(2):227-230.
(編輯:張峰)
Application of IPSO-MPC Algorithm in Longitudinal Velocity Control of Intelligent Vehicle
ZHOU Jingjing1, XU Youchun2, ZHANG Zili1, LI Mingxi2, SU Zhiyuan3
(1.Transportation Service Department, Bengbu Automobile NCO Academy, Bengbu 233011, China;2.Military Vehicle Department, Military Transportation University, Tianjin 300161, China;3.Postgraduate Training Brigade, Military Transportation University, Tianjin 300161, China)
The problem of longitudinal velocity control of intelligent vehicle based on model predictive control(MPC) theory can be converted to quadratic programming(QP). Considering this QP problem, an improved particle swarm optimization(IPSO) algorithm is applied to reduce MPC computational cost. In this paper, shrinkage factor is introduced to guarantee particle swarm algorithm convergence, the inertia factor is introduced to avoid the particle oscillating around the global optimal solution, and “spare tire mechanism” is introduced to deal with QP constraint. Numerical experiments show that the improved IPSO algorithm can reduce iterations and computational cost. IPSO-MPC algorithm is formed of IPSO algorithm and MPC algorithm, and the simulation result of intelligent vehicle longitudinal velocity control verified its effctiveness.
longitudinal speed control; intelligent vehicle; particle swarm optimization(PSO); model predictive control(MPC)
2016-10-25;
2016-11-28.
國家自然科學(xué)基金項目(91220301);國家重點基礎(chǔ)研究發(fā)展計劃項目(2016YFB0100903).
周晶晶(1986—),男,碩士.
10.16807/j.cnki.12-1372/e.2017.04.010
TP273
A
1674-2192(2017)04- 0038- 05