周晶晶,徐友春,李明喜
(1.軍事交通學(xué)院 研究生管理大隊(duì),天津 300161; 2.蚌埠汽車士官學(xué)校 運(yùn)輸勤務(wù)系,安徽 蚌埠 233011;3.軍事交通學(xué)院 軍用車輛系,天津 300161)
?
● 車輛工程Vehicle Engineering
基于改進(jìn)的QP算法和MPC理論的智能車縱向速度控制方法
周晶晶1,2,徐友春3,李明喜3
(1.軍事交通學(xué)院 研究生管理大隊(duì),天津 300161; 2.蚌埠汽車士官學(xué)校 運(yùn)輸勤務(wù)系,安徽 蚌埠 233011;3.軍事交通學(xué)院 軍用車輛系,天津 300161)
基于模型預(yù)測控制(MPC)理論的智能車縱向速度控制問題可以轉(zhuǎn)換為二次規(guī)劃問題。針對該二次規(guī)劃(QP)問題,利用一種改進(jìn)的有效集(IASM)二次規(guī)劃算法減少M(fèi)PC計(jì)算成本。該方法包含兩步:首先對等式約束引進(jìn)一種降維算法;然后利用梯度投影方向?qū)τ行Ъ惴ǖ乃阉鞣较蜻M(jìn)行改進(jìn)。改進(jìn)的QP算法減少了迭代次數(shù),降低了MPC縱向控制的計(jì)算成本。仿真結(jié)果證明了該方法的有效性。
二次規(guī)劃;改進(jìn)的有效集算法;模型預(yù)測控制;縱向速度控制;智能車
模型預(yù)測控制(model predictive control,MPC)是20世紀(jì)80年代初發(fā)展起來的一類新型控制算法。MPC直接運(yùn)用于工業(yè)過程控制的實(shí)際應(yīng)用,并在與工業(yè)應(yīng)用的緊密結(jié)合中不斷地完善和成熟[1]。文獻(xiàn)[2-4]將MPC運(yùn)用于智能車的橫向或縱向控制,均取得了一定的效果。但目前面臨的主要問題之一是在優(yōu)化目標(biāo)較多時計(jì)算成本較高,影響智能車控制系統(tǒng)實(shí)時性的要求。本文討論MPC轉(zhuǎn)化為二次規(guī)劃(quadratic programming,QP)問題后,通過改進(jìn)QP算法來降低計(jì)算成本,提高M(jìn)PC的實(shí)時性。
QP問題的求解方法很多,可以采用內(nèi)點(diǎn)法[5]、并行二次規(guī)劃法[6]、有效集法(active set method,ASM)或者原始對偶法[7]等求解。其中等式約束凸二次規(guī)劃一般采用零空間法[8-9]和拉格朗日法[7];一般凸二次規(guī)劃常用方法是有效集法和內(nèi)點(diǎn)法。本文首先將基于MPC理論的智能車縱向速度控制問題轉(zhuǎn)化為QP問題;而后針對該問題,利用一種改進(jìn)的有效集二次規(guī)劃算法減少迭代次數(shù)、改進(jìn)搜索方向以減少計(jì)算量;最后用Matlab進(jìn)行仿真驗(yàn)證。
車間運(yùn)動學(xué)模型是一種簡單描述兩輛同向行駛的車輛之間位置變化關(guān)系的數(shù)學(xué)模型[3](如圖1所示)。建立xoy坐標(biāo)系,被控車輛位置為xh,其速度、加速度為vh、ah;目標(biāo)車輛位置為xd,其速度、加速度為vd、ad;兩車間相對距離、相對速度和相對加速度為xr、vr和ar;期望車間距和實(shí)際車間距分別為Δxdes、Δx,δ為二者間距誤差。
圖1 車間運(yùn)動學(xué)模型示意
在李明喜等[3]、羅莉華等[4]車間運(yùn)動學(xué)模型的基礎(chǔ)上,建立如下模型。其中兩車間相對距離xr、相對車速vr可由安裝在智能車前方的雷達(dá)測得,被控車輛的速度vh、加速度ah可由車載慣導(dǎo)測得。設(shè)采樣時間為Ts,執(zhí)行器慣性環(huán)節(jié)時間常數(shù)為τ,期望加速度指令(控制輸入)為u,車輛的加加速度(加速度的導(dǎo)數(shù))為j,反應(yīng)Δxdes的時間常數(shù)為χ。為了保證安全,采用魯棒MPC的思想,把前面車輛的加速度視為有界干擾,并對車間運(yùn)動學(xué)模型進(jìn)行離散化。在初始時刻(t=0)條件下,車間運(yùn)動學(xué)方程為
(1)
將目標(biāo)車輛加速度ad(k)視為控制系統(tǒng)的擾動w(k),控制變量向量u(k)=[ah(k)],狀態(tài)變量向量x(k)=[Δx(k),vr(k),vh(k),ah(k),jh(k)]T表示相對距離、相對速度、本車速度、本車加速度、本車加加速度;y(k)=[δ(k),vh(k),ah(k),jh(k)]T為輸出變量向量,表示車間距誤差、本車速度、本車加速度、本車加加速度。車間縱向運(yùn)動學(xué)模型為
(2)
式中:x為5維狀態(tài)向量;u為控制輸入向量;w為系統(tǒng)擾動輸入向量;y為輸出向量;A、B、C、D分別為狀態(tài)矩陣、控制輸入矩陣、狀態(tài)輸出矩陣及擾動矩陣,各系數(shù)矩陣如下:
同時為保證縱向控制的平穩(wěn)性和舒適性,在設(shè)定y(k)的參考軌跡時,取平穩(wěn)趨近于y(k)期望值的指數(shù)衰減函數(shù)作為參考,其函數(shù)為
式中:τδ、τv、τa、τj分別為相應(yīng)參考軌跡的時間常數(shù);E=diag[Eδ,Ev,Ea,Ej],且均在(0,1)區(qū)間,則參考軌跡向量為
yref=(k+i)=Eiy(k),i=1,2,…Np
搭建好縱向控制的預(yù)測模型之后,智能車縱向控制的目標(biāo)函數(shù)J可以構(gòu)建為
(3)
式中:ε為松弛因子;ρ為松弛因子權(quán)重系數(shù);Q為輸出變量權(quán)重矩陣;R為控制變量權(quán)重矩陣;Np、Nc分別為MPC的預(yù)測時域和控制時域。
此外,為保證智能車縱向控制的安全性(d0為最小安全距離)、平穩(wěn)性和舒適性,狀態(tài)變量及輸出變量需要滿足如下約束條件:
因此,可將基于車間運(yùn)動學(xué)和MPC理論的智能車縱向速度控制問題轉(zhuǎn)化為式(4)帶有等式、不等式約束的QP問題:
(4)
考慮一般的QP問題表達(dá)式為
(5)
式中:H為n×n階對稱方陣(Hessian矩陣);c為常數(shù)向量。
有效集法求解QP問題的基本原理為:從一個初始點(diǎn)x0開始計(jì)算,用拉格朗日乘子法求解等式約束子問題得到全局極小點(diǎn)和對應(yīng)的拉格朗日乘子dk、λk。若dk=0且等式約束子QP問題是原QP問題的可行解,則判斷λk的正負(fù):若λk非負(fù),則該解是全局極小點(diǎn),停止迭代;若λk為負(fù),則去掉一個約束重新求解等式約束子問題。若dk不為零,重新確定搜索方向和步長因子,調(diào)整有效集。若等式約束子QP問題不是原QP問題的可行解,那么需要增加約束繼續(xù)迭代求解所得的QP問題。
2.1等式約束QP求解的改進(jìn)
首先考慮式(6)的等式約束QP問題(ECQP)的改進(jìn)方法。為解決此問題,采用文獻(xiàn)[11]中的降維算法(dimension reduction algorithm,DRA)。
(6)
設(shè)H、A矩陣及x、b、c向量為
x=[x1x2…xn]T
b=[b1b2…bn]T
c=[c1c2…cn]T
設(shè)A行滿秩,即r(A)=m,A中一個非奇異子矩陣為M,且A=M+N,M、N分別為
其中,{i1,…,im}∪{j1,…,jp}={1,2,…,n},
m+p=n。J對x求梯度:
▽J(x)=Hx+c=P(x)+Q(x)
(7)
式中P(x)、Q(x)分別為
令N*=M-1N,增廣矩陣(A,b)經(jīng)初等行變換變?yōu)?A*,b*),則式(6)的ECQP問題轉(zhuǎn)換為
(8)
相應(yīng)地滿足Kuhn-Tucker條件的拉格朗日乘子為λ=-(M-1)T(Hmx+cm)。ECQP問題降維算法流程如圖2所示??梢园l(fā)現(xiàn),DRA算法和拉格朗日乘子法求解ECQP問題都是通過求解方程組得到最優(yōu)解,但DRA算法中方程組個數(shù)為n個,而拉格朗日乘子法方程組個數(shù)為m+n個,DRA算法維數(shù)降低,減少了存儲空間和計(jì)算成本。
圖2 ECQP問題DRA算法流程
2.2改進(jìn)的QP問題求解算法
式(5)的一般QP問題中,定義如下集合:I(x)={i∈I|aiTx=b},S(x)=E∪I(x)為有效集。文獻(xiàn)[10]已經(jīng)證明:若H矩陣是半正定的,則式(5)是一個凸二次規(guī)劃;如果有至少一個向量滿足約束并且在可行域有下界,則凸二次規(guī)劃問題就有一個全局最小值;如果H是正定的,則式(5)為嚴(yán)格的凸二次規(guī)劃,那么全局最小值是唯一的。從圖2可以看出,當(dāng)ECQP的最優(yōu)解不是式(5)QP問題的可行解時,xk+1=xk+αkdk中雖然保證沿下降方向搜索,但不能確定是最速下降方向。為了提高QP算法的收斂速度,采用文獻(xiàn)[12]中的梯度投影算法(gradient-projection algorithm,GPA),用GPA算法解決最速搜索方向問題。為改進(jìn)搜索方向,設(shè)xk是式(5)QP問題的可行解,有效集為S(xk)=E∪I(xk)。
(9)
圖3 IASM算法流程
3.1IASM算法數(shù)值實(shí)驗(yàn)
利用Matlab實(shí)現(xiàn)上述IASM算法,并與Matlab優(yōu)化工具箱中的QUADPROG算法(以下簡稱QP算法)及文獻(xiàn)[7]中的希爾德雷思二次規(guī)劃(hildreth quadratic programming,HQP) 算法比較,將IASM算法與QP、HQP算法在迭代次數(shù)、計(jì)算時間(10次取平均值,單位ms)進(jìn)行對比。IASM算法使用Matlab(R2010a)編寫。采用文獻(xiàn)[13]中的典型測算例進(jìn)行對比測試,P為算例編號、n為優(yōu)化變量數(shù)、x0為初始點(diǎn),對比結(jié)果見表1,其中A1為HQP算法、A2為QP算法、A3為IASM算法。
表1 IASM算法與QP、HQP算法算例對比
3.2縱向速度控制Matlab仿真
運(yùn)用上述算法,解決式(4)的基于車間運(yùn)動學(xué)的和MPC理論的智能車縱向速度控制問題。仿真參數(shù)值為:Np=15,Nc=5,Ts=0.01 s,Nsim=400,χ=1.2 s,τ=τδ=τv=τa=τj=0.5 s,d0=Δx=5 m,xh0=5 m/s。輸出變量權(quán)重系數(shù)和控制變量權(quán)重系數(shù)分別為0.6和0.8;約束條件為vhmin=0 m/s,vhmax=5 m/s,ahmin=0m/ s2,ahmax= 4 m/s2,jhmax= 0 m/s3,ahmax= 0.8 m/s3,改變預(yù)測時域Np,3種算法的MPC計(jì)算成本(單位ms)對比見表2。
表2 MPC計(jì)算成本對比 ms
通過表1可以看出,在優(yōu)化變量數(shù)n較少(n≤4)時,IASM算法迭代次數(shù)較少,計(jì)算成本比QP及HQP算法更低;當(dāng)優(yōu)化變量數(shù)n增加到一定程度(n≥5)時,IASM算法計(jì)算成本優(yōu)勢不明顯,原因是在求解最速搜索方向時需要計(jì)算梯度投影。仿真結(jié)果表明算法是有效的。表2表明,在相同初始條件和預(yù)測時域下,IASM算法計(jì)算有一定優(yōu)勢。Np≤60時,計(jì)算成本小于智能車實(shí)時控制周期100 ms,滿足控制實(shí)時性要求。
[1]李國勇.智能預(yù)測控制及其MATLAB實(shí)現(xiàn)[M].2版.北京:電子工業(yè)出版社,2010:255-268.
[2]FALCONE P, BORRELLI F, ASGARI J, et al. Predictive active steering control for autonomous vehicle systems[J]. Control Systems Technology, IEEE Transactions, 2007, 15(3): 566-580.
[3]李明喜,章永進(jìn),彭永勝,等.車間運(yùn)動學(xué)模型在智能車速度跟蹤控制中的應(yīng)用[J].軍事交通學(xué)院學(xué)報.2015,17(11):49-53.
[4]LUO Lihua, LIU Hong, LI Ping, et al. Model predictive control for adaptive cruise control with multi-objectives: comfort, fuel-economy, safety and ca-following[J]. Journal of Zhejiang University SCIENCE A, 2010,11(3):191-201.
[5]KUHNE F, LAGES W F. Model predictive control of a mobile robot using linearization[J]. Proceedings of Mechatronics and Robotics, 2004:525-530.
[6]BRAND M, SHILPIEKANDULA V, YAO C, et al. A parallel quadratic programming algorithm for model predictive control[C]//Proc. 18th World Congress of the International Federation of Automatic Control, 2011,18(1): 1031-1039.
[7]WANG Liuping. Model Predictive Control System Design and Implementation Using MATLAB[M]. London: Springer, 2009:60-73.
[8]盧桂馥,王勇,鄒健.一種快速的零空間算法[J].西安交通大學(xué)學(xué)報,2012,46(2):59-63.
[9]桂湘云,劉樹成.一般二次規(guī)劃問題的交換型零空間方法[J].應(yīng)用數(shù)學(xué)學(xué)報,1988,11(2):209-221.
[10]馬昌鳳.最優(yōu)化方法及其Matlab程序設(shè)計(jì)[M].北京:科學(xué)出版社,2010:190-211.
[11]易穎華.二次規(guī)劃的改進(jìn)有效集算法[D].南昌:江西師范大學(xué),2008:8-13.
[12]崔睿贇.求解凸二次規(guī)劃的自適應(yīng)投影梯度算法[D].南京:南京大學(xué),2009:14-20.
[13]HOCK W, SCHITTKOWSKI K. Test Examples for Nonlinear Programming Codes[A]. Lecture Notes in Economics and Mathematical Systems.Berlin: Springer-Verlay, 1981, Vol. 187:44-76.
(編輯:張峰)
Longitudinal Speed Control Method of Intelligent Vehicle Based on Improved QP Algorithm and MPC Theory
ZHOU Jingjing1,2, XU Youchun3, LI Mingxi3
(1.Postgraduate Training Brigade, Military Transportation University, Tianjin 300161, China;2.Transportation Service Department, Bengbu Automobile NCO Academy, Bengbu 233011, China;3.Military Vehicle Department, Military Transportation University, Tianjin 300161, China)
The problem of longitudinal speed control of intelligent vehicle based on MPC (model predictive control) theory can be converted to QP (quadratic programming) problem. Considering this QP problem, the paper proposes a method which can reduce MPC costs with IASM(improved active set method). Firstly, it introduces a dimension reduction algorithm for equality constraints. Then, it improves the search direction of active set algorithm with gradient-projection direction. The improved QP algorithm reduces the number of iterations and the computational cost of MPC longitudinal control. The simulation result verified the effectiveness of the method.
QP; IASM; MPC longitudinal speed control; intelligent vehicle
2016-06-02;
2016-08-23.
國家自然科學(xué)基金項(xiàng)目(91120306;91220301).
周晶晶(1986—),男,碩士研究生;
徐友春(1972—),男,博士,教授,博士研究生導(dǎo)師.
10.16807/j.cnki.12-1372/e.2016.10.012
TP273
A
1674-2192(2016)10- 0049- 05