張 強(qiáng),趙法信,金義富
(湛江師范學(xué)院 信息科學(xué)與技術(shù)學(xué)院,廣東 湛江524048)
車輛自適應(yīng)巡航控制 (adaptive cruise control,ACC)是一種車輛輔助系統(tǒng),可以增強(qiáng)道路安全性和乘客的舒適度。由于系統(tǒng)的非線性和動(dòng)態(tài)切換,以及存在的限制使得設(shè)計(jì)ACC存在很多挑戰(zhàn),傳統(tǒng)的控制技術(shù)已經(jīng)不適用[1]。
模型預(yù)測控制 (model predictive control,MPC)在多種系統(tǒng)建模方法中具有重要地位,如為混合系統(tǒng)建立模型[2],但是MPC在線優(yōu)化過程中因需要大量的計(jì)算而不適合在需要頻繁采樣的ACC系統(tǒng)中使用[3]。近年來,學(xué)者為降低計(jì)算時(shí)間提出很多方法。文獻(xiàn) [4]提出離線計(jì)算即顯示MPC,但是顯示MPC 限制在相對(duì)小的問題規(guī)模中 (典型1~2個(gè)輸入,至多8個(gè)狀態(tài))[5]。為了處理大規(guī)模的混合系統(tǒng),文獻(xiàn) [6]提出混合模型預(yù)測控制 (hybrid model predictive control,HMPC),并且設(shè)計(jì)混合系統(tǒng)描述語言(hybrid systems description language,HYSDEL)為開環(huán)系統(tǒng)的切換和受限建模,自動(dòng)將模型轉(zhuǎn)換成一系列線性等式和不等式?;?合 整數(shù)線性 規(guī) 劃 (mixed integer linear programming,MILP)是基于線性等式和不等式組的無限優(yōu)化控制,一些元素必須等于0或1。在公共領(lǐng)域MILP問題求解器有GNU (gnu's not unix)線性編程工具GLPK (gnu linear programming kit),商 用 混 合 整 數(shù) 規(guī) 劃 軟 件 有CPLEX[7]。
隨著人工智能的發(fā)展,開始在MPC 中引入智能算法。Susuki等人利用粒子群優(yōu)化算法 (particle swarm optimization,PSO)調(diào)整MPC的參數(shù)[8]。Na等人設(shè)計(jì)了一種基于PSO 的模型預(yù)測控制器[9]。標(biāo)準(zhǔn)PSO 適用于優(yōu)化非凸連續(xù)問題,因此在混合或者離散問題中使用PSO 時(shí),設(shè)計(jì)變量都應(yīng)該作為連續(xù)變量來處理,也就是要將離散的設(shè)計(jì)變量通過一些方法轉(zhuǎn)換成連續(xù)變量[10]。
針對(duì)ACC 系統(tǒng)計(jì)算時(shí)間過長問題,將多目標(biāo)優(yōu)化(multi-objective optimization,MOO)技術(shù)引入到標(biāo)準(zhǔn)PSO算法中,如Pareto 支配[11],提出一種改進(jìn)的粒子群優(yōu)化(modified particle swarm optimization,MPSO)算法。MPSO 基本思想:利用HMPC 為ACC 建立混合模型;采取HYSDEL將模型轉(zhuǎn)換成MILP問題;將MILP 問題轉(zhuǎn)換成MOO 問題,利用MPSO 算法在線求解MILP問題;最后利用優(yōu)化得到的控制序列作用于巡航車輛,自適應(yīng)改變車輛的速度。
混合邏輯動(dòng)態(tài) 模型 (mixed logical dynamical,MLD)主要用于混合系統(tǒng)的建模和控制,其模型可以用線性動(dòng)態(tài)方程組和線性約束不等式組來描述。ACC 系統(tǒng)的混合模型預(yù)測控制設(shè)計(jì)思想:在給定限制條件下建立預(yù)測模型,然后構(gòu)造相應(yīng)的約束優(yōu)化,采用MLD 將MPC 的優(yōu)化問題轉(zhuǎn)換成混合整數(shù)線性規(guī)劃問題,實(shí)現(xiàn)混合模型預(yù)測控制的滾動(dòng)優(yōu)化過程。
混合模型預(yù)測控制采取的MLD 模型為
式中:x (k)——第k 個(gè)采樣時(shí)刻系統(tǒng)的狀態(tài)向量,包括車輛當(dāng) 前 位 置 和 當(dāng) 前 速 度,即x (k)= [s,v]。u(k)——系統(tǒng)控制輸入向量,δ (k)和z (k)——輔助變量,其中δ (k)∈ {0,1},z (k)∈R。A 和Bi——實(shí)數(shù)常量矩陣。
基于巡航車的安全、舒適考慮,需要給系統(tǒng)一些限制,因此在巡航車的位置、速度和加速度上增加如下限制
式中:x (1,k)和rx (1,k)——表示巡航車和前車的位置,dsafe——前車 與 巡 航 車 之 間 的 安 全 距 離,x (2,k)——表示巡航車的速度,它的范圍為 [13m/s,34m/s],并且amin=-2m/s和amax=2.5m/s,Ts為采樣間隔。
滾動(dòng)優(yōu)化控制是模型預(yù)測控制的主要特征,通過在滾動(dòng)優(yōu)化域中計(jì)算一個(gè)最小化的無限域優(yōu)化控制問題來確定預(yù)測序列。
代價(jià)函數(shù)為如下形式
式中:Np——優(yōu)化控制域,x (k+j|k)和u (k+j|k)——k采樣時(shí)刻預(yù)測的k+j 時(shí)刻的系統(tǒng)狀態(tài)和控制輸入。rx (k+j)——k+j采樣時(shí)刻前車的狀態(tài)。QNp、R 和Qx——權(quán)值,可以離線計(jì)算。
由代價(jià)函數(shù)產(chǎn)生的預(yù)測序列分別為控制輸入向量U(k)、輔助向量ε (k)和Z (k)
控制序列中每個(gè)向量的第一個(gè)元素u (k)、δ (k)和z(k)作為MLD 模型式 (1)的輸入,求得x (k+1)的值??刂菩蛄兄衅渌乇粊G棄,x (k+1)作為初始狀態(tài)更新優(yōu)化問題式 (3)。
HYSDEL自動(dòng)將代價(jià)函數(shù)轉(zhuǎn)換為線性向量;位置、速度和加速度的限制及前車狀態(tài)轉(zhuǎn)換成不等式組。將模型預(yù)測控制轉(zhuǎn)化為在線求解混合整數(shù)線性規(guī)劃問題。即
式中:f——代價(jià)函數(shù)的線性向量,xm——Np 個(gè)控制輸入和輔助向量的序列,g——限制不等式集。
粒子群優(yōu)化算法的基本思想是:系統(tǒng)初始化一組隨機(jī)的合法解,粒子群中的每個(gè)粒子通過跟蹤自身的個(gè)體最優(yōu)解和整個(gè)粒子群的全局最優(yōu)解來不斷的更新每次迭代的位置和速度。當(dāng)?shù)玫皆试S誤差范圍內(nèi)的最優(yōu)解或達(dá)到最大迭代次數(shù)時(shí),粒子群優(yōu)化算法終止。
結(jié)合多目標(biāo)優(yōu)化的PSO 算法的主要思想是:將混合整數(shù)線性規(guī)劃問題轉(zhuǎn)換為具有兩個(gè)目標(biāo)的多目標(biāo)優(yōu)化問題,第一個(gè)目標(biāo)為原問題的目標(biāo)函數(shù)f (x),第二個(gè)目標(biāo)為粒子違反約束條件的程度G (x)[12]。然后根據(jù)Pareto支配原則挑選最優(yōu)解。
(1)違反約束程度
第i個(gè)解pi違反第j 個(gè)約束的程度可表示為
其中,i= {1,2,…,N},j= {1,2,…,q}。N 為粒子群的規(guī)模,q為約束不等式的個(gè)數(shù)。
解pi違反約束的程度記為
其中,如果G (pi)值為0,則表示pi為可行解,否則pi為不可行解。
(2)Pareto支配
如果解pi的Pareto支配解為pk,那么滿足
其中,l= {1,2,…,q}。解pi的Pareto支配解為pk記為pi<pk。
(3)被支配度
種群中所有支配解pi的個(gè)體組成的集合為Pareto支配集PDS
其中,Pop 為所有解的集合,PDS (pi)集合中元素個(gè)數(shù)為解pi的被支配度。
(1)速度更新
其中,k= {1,2,…,max_gen},max_gen 為最大迭代次數(shù),d= {1,2,…,D},D 為解的維數(shù),c1和c2為學(xué)習(xí)因子,分別表征了粒子思考自身和學(xué)習(xí)群體中其他粒子的能力。c1、c2在此實(shí)驗(yàn)中都設(shè)置為固定值2,r1d和r2d為隨機(jī)值,ω 為慣性權(quán)重,它的范圍是 [0.4,0.9],隨著迭代次數(shù)的增加,ω 遞減。計(jì)算式為
其中,ωmax=0.9,ωmin=0.4。
(2)位置更新
其中,k= {1,2,…,max_gen},d= {1,2,…,D}。
(3)個(gè)體最優(yōu)解更新
(4)全局最優(yōu)解更新
檢查所有粒子的個(gè)體最優(yōu)解,看個(gè)體最優(yōu)解中是否有可行解:①若有可行解,則從可行解集中找出具有最小適應(yīng)值的個(gè)體最優(yōu)解來更新整個(gè)粒子群的最優(yōu)解;②若沒有可行解,則計(jì)算粒子群中每個(gè)個(gè)體最優(yōu)解的被支配度,所有被支配度為0的粒子構(gòu)成Np 的非劣集F,比較非劣集F中所有個(gè)體的違反約束程度,用具有最小違反約束程度的個(gè)體最優(yōu)解來更新整個(gè)粒子群的最優(yōu)解。
改進(jìn)的粒子群算法的具體流程如下:
步驟1 采用隨機(jī)選取方式,初始化粒子群中每個(gè)粒子的速度和位置;
步驟2 使用粒子的位置信息進(jìn)行初始化,求解粒子群個(gè)體的最優(yōu)解;
步驟3 根據(jù)每個(gè)粒子的個(gè)體最優(yōu)解初始化粒子群的全局最優(yōu)解;重復(fù)步驟4至步驟6,直到獲得滿足要求的最優(yōu)解或達(dá)到最大迭代次數(shù);
步驟4 更新粒子的位置和速度;
步驟5 根據(jù)每個(gè)粒子的當(dāng)前位置和上一次迭代的個(gè)體最優(yōu)值更新當(dāng)前迭代的個(gè)體最優(yōu)解;
步驟6 從N 個(gè)粒子的個(gè)體最優(yōu)解中選擇最優(yōu)值更新粒子群全局最優(yōu)解;
步驟7 返回找到的全局最優(yōu)解。
將改進(jìn)的粒子群優(yōu)化算法應(yīng)用到混合模型預(yù)測控制中,具體算法流程如下:
步驟1 建立式 (1)的MLD 模型,作為算法的預(yù)測模型;
步驟2 為模型添加限制,建立模型的混合控制器;
步驟3 開始仿真控制器的控制過程,令k=1;
步驟4 在k采樣時(shí)刻,采樣獲得前車的狀態(tài),并根據(jù)此狀態(tài)更新系統(tǒng)的代價(jià)函數(shù)式 (3)和約束不等式 (7)。
步驟5 利用MPSO 計(jì)算MILP 問題,得到新的預(yù)測序列U (k)、ε (k)和Z (k);
步驟6 第一個(gè)控制輸入u (k)、δ (k)和z (k)用來執(zhí)行車輛控制,并且根據(jù)MLD 模型更新x (k+1);
步驟7 令k=k+1,重新從步驟4 開始,直到結(jié)束采樣。
仿真實(shí)驗(yàn)分別列出使用GLPK 和MPSO 算法求解MILP的混合模型預(yù)測控制巡航車得到的仿真結(jié)果,并對(duì)兩種混合模型預(yù)測控制框架得到的結(jié)果進(jìn)行比較。仿真工具采用MATLAB 7.8,編程工具采用Visual studio 2010,操作 系 統(tǒng) 是windows XP SP3,處 理 器 是AMD Athlon(2.81GHz)。
仿真環(huán)境是高速公路下的自適應(yīng)巡航控制。前車的初始速度為60km/h,巡航車輛初始速度為55km/h,與前車的初始距離為20m。
圖1顯示了仿真過程中前車的基于GLPK 的HMPC 和基于MPSO 算法的HMPC控制的巡航車速度變化情況??梢钥闯鰞煞NHMPC 框架的巡航車都能很好地跟蹤前車的速度。
圖1 仿真過程巡航車跟蹤前車的速度變化
圖2顯示了仿真過程巡航車的加速度變化。從結(jié)果可以看出兩種HMPC框架產(chǎn)生的加速度都滿足約束條件。
圖2 仿真過程巡航車的加速度變化
圖3顯示了仿真過程每次采樣的計(jì)算時(shí)間。采樣周期是0.5s。使用基于GLPK 的混合模型預(yù)測控制的采樣計(jì)算時(shí)間超過了采樣間隔,不能滿足汽車ACC 的實(shí)時(shí)要求。而基于MPSO 的混合模型預(yù)測控制的采樣計(jì)算時(shí)間都小于0.5s,符合采樣的時(shí)間要求。
由于巡航車的速度和每次采樣的計(jì)算時(shí)間不同,所以安全車間距也在不斷變化。仿真過程中,基于GLPK 的HMPC控制器和基于MPSO 的HMPC 控制器的安全車間距和兩車的實(shí)時(shí)車間距變化情況如圖4 和圖5,兩種HMPC框架得到的車間距都大于兩車的安全距離。
在車輛上實(shí)現(xiàn)ACC系統(tǒng)時(shí),使用C語言編程,為更準(zhǔn)確考察實(shí)現(xiàn)的程序在車輛上運(yùn)行能否滿足要求,在Visual studio 2010上實(shí)現(xiàn)了MPSO 的優(yōu)化過程,實(shí)驗(yàn)結(jié)果如圖6-圖9。結(jié)果顯示各方面的性能都優(yōu)于Matlab 7.8 上取得的結(jié)果,尤其是每次采樣的計(jì)算時(shí)間變得更短。
利用混合模型預(yù)測控制方法實(shí)現(xiàn)了車輛的自適應(yīng)巡航控制。提出的MPSO 算法結(jié)合了多目標(biāo)優(yōu)化技術(shù)和標(biāo)準(zhǔn)PSO 算法,適用于求解混合優(yōu)化問題。為了加速混合模型預(yù)測控制的過程,提出在模型預(yù)測控制的滾動(dòng)優(yōu)化階段采用MPSO 算法求解混合整數(shù)線性規(guī)劃問題。Matlab和VC仿真實(shí)驗(yàn)結(jié)果表明,提出的自適應(yīng)巡航控制方法能夠使巡航車輛很好地跟蹤前導(dǎo)車輛,并且MPSO 能夠加速混合模型預(yù)測控制,明顯改進(jìn)ACC系統(tǒng)的車輛跟蹤問題。
圖9 實(shí)驗(yàn)過程巡航車與前車的安全車間距
下一步將會(huì)在分布式系統(tǒng)上實(shí)現(xiàn)基于改進(jìn)的粒子群優(yōu)化算法的混合模型預(yù)測控制,利用多個(gè)電子控制單元 (e-lectronic control unit,ECU)的資源進(jìn)一步加速控制過程,實(shí)現(xiàn)更好的車輛主動(dòng)安全的性能。
[1]Rajamani R.Vehicle dynamics and control [M].Springer Science,2012:141-170.
[2]Zheng T.Model predictive control [M].Rijeka,Croatia:Ciyo,2010:1-110.
[3]Kouro S,Cortes P,Vargas R,et al.Model predictive control--a simple and powerful method to control power converters [J].IEEE Trans Industrial Electronics,2009,56 (6):1826-1838.
[4]Mariethoz S,Domahidi A,Morari M.High-bandwidth explicit model predictive control of electrical drives[J].IEEE Trans Industry Applications,2012,48 (6):1980-1992.
[5]Wang Y,Boyd S.Fast model predictive control using online optimization [J].IEEE Trans Control Systems Technology,2010,18 (2):267-278.
[6]Vratislav H,Lubos P,Jan S.Modeling of a system with hybrid dynamics [J].Acta Electrotechnica et Informatica,2011,11 (1):14-19.
[7]Michal K,Dawid Z,Iwona P K.Overlay multicast optimization:IBM ILOG CPLEX [J].International Journal of Electronics and Telecommunications,2013,58 (4):381-388.
[8]Susuki R,Kawai F,Nakazawa C,et al.Parameter optimization of model predictive control using PSO [C]//Proc SICE,2008:1981-1988.
[9]Na D,Zengqiang C,Qinglin S,et al.Particle-swarm optimization algorithm for model predictive control with constraints[J].Control Theory &Applications,2009,26 (9):965-969.
[10]Pradipto G,Bruce A C.Numerical trajectory optimization with swarm intelligence and dynamic assignment of solution structure[J].Journal of Guidance,Control,and Dynamics,2012,35 (4):1178-1191.
[11]HE Yijun,CHEN Dezhao.Hybrid particle swarm optimization algorithm for mixed-integer nonlinear programming [J].Journal of Zhejiang University,2008,42 (5):747-751 (in Chinese).[賀益君,陳德釗.適于混合整數(shù)非線性規(guī)劃的混合粒子群優(yōu)化算法 [J].浙江大學(xué)學(xué)報(bào),2008,42 (5):747-751.]
[12]WANG Yong,CAI Zixing,Zhou Yuren,et al.Constrained optimization evolutionary algorithms [J].Journal of Software,2009,20 (1):11-29 (in Chinese).[王勇,蔡自興,周育人,等.約束優(yōu)化進(jìn)化算法 [J].軟件學(xué)報(bào),2009,20(1):11-29.]