白成盼,惠 飛,景首才
(長安大學(xué) 信息工程學(xué)院,陜西 西安 710064)
隨著車輛數(shù)量的不斷增加,越來越多的交通事故發(fā)生,其中大多數(shù)是由于駕駛?cè)藛T操作不當(dāng)造成[1]。研究表明,由于車輛換道引發(fā)交通事故的可能性有4%~10%,同時10%的道路堵塞和延遲由換道車輛造成[2]。智能車輛能夠準(zhǔn)確檢測周圍車輛的實時動態(tài)信息,并通過有效的控制方法實現(xiàn)車輛的自主駕駛,提高交通安全和控制效率。
目前,智能車換道的控制算法有很多。在軌跡規(guī)劃方面,文獻[3]將車輛表示為多個以車身寬度為直徑的動態(tài)圓,實現(xiàn)車輛的碰撞檢測,并利用多項式方法實現(xiàn)車輛換道的軌跡規(guī)劃;文獻[4]將軌跡規(guī)劃問題轉(zhuǎn)化為對變道時間和變道距離約束的優(yōu)化問題,為正常變道、緊急變道和超車變道規(guī)劃參考軌跡;文獻[5]將路徑局部最小曲率變化作為約束條件,利用彈性帶理論對車輛緊急路徑進行規(guī)劃,提高了車輛的操縱穩(wěn)定性;文獻[6]提出了一種基于環(huán)境識別的自動變道算法,利用車載傳感器檢測多種信號,并對變道后的本車與周圍車輛的最終位置進行估計;文獻[7]針對運動開始瞬間的軌跡規(guī)劃問題,將障礙物表示為簡化的s-topes,利用五次多項式結(jié)合動力學(xué)約束條件求得優(yōu)化軌跡。在跟蹤控制方面,文獻[8]提出基于機器視覺和模糊控制的方法實現(xiàn)智能車輛駕駛軌跡跟蹤控制;文獻[9]利用滑??刂品椒ㄓ嬎丬囕v的行駛速度和橫擺角速度進而實現(xiàn)跟蹤目的。
模型預(yù)測控制(MPC)能夠有效克服模型精度誤差等不利因素,保證被控對象具有良好的穩(wěn)定性,因此被廣泛應(yīng)用于智能車控制領(lǐng)域。文獻[10]利用MPC設(shè)計了一種主動轉(zhuǎn)向控制器,使車輛在滿足約束條件的情況下對目標(biāo)軌跡進行跟蹤;文獻[11]基于行車環(huán)境勢場建模與車輛動力學(xué)建模,利用MPC的優(yōu)化控制算法生成最優(yōu)參考軌跡,在實現(xiàn)軌跡規(guī)劃的同時進行跟蹤控制。
文中將微分平坦理論和模型預(yù)測控制算法相結(jié)合,提出了一種安全高效的換道軌跡規(guī)劃和跟蹤算法并對其進行驗證。
由于一次性的軌跡規(guī)劃計算量大且不易實現(xiàn),因此文中利用路徑-速度分解的方法對智能車實現(xiàn)換道軌跡規(guī)劃。對智能車輛換道行駛軌跡的生成,按照現(xiàn)有的道路線形條件規(guī)劃出一條適合其行駛的軌跡,然后根據(jù)軌跡上的點來引導(dǎo)智能車輛行駛,同時軌跡規(guī)劃曲線的平坦性保證了智能車輛軌跡生成的可執(zhí)行性。結(jié)合車輛行駛狀態(tài)的各項約束求解得到滿足車輛行駛目標(biāo)的sigmoid函數(shù),將其作為控制算法中的全局參考路徑;同時,利用微分平坦理論,構(gòu)造目標(biāo)優(yōu)化函數(shù)進而對車輛的行駛速度進行規(guī)劃。
車輛在行駛過程中的路徑規(guī)劃需要滿足安全約束、曲率連續(xù)約束以及側(cè)向位移約束等條件,sigmoid函數(shù)本身具有曲率連續(xù)的性質(zhì),且滿足側(cè)向加速度約束。因此文中提出在sigmoid函數(shù)的基礎(chǔ)上實現(xiàn)對智能車的軌跡規(guī)劃算法,其安全換道路徑曲線如圖1所示。
圖1 基于sigmoid函數(shù)換道曲線
圖中O為被控車輛,L為被控車行駛過程中的障礙車輛。sigmoid函數(shù)表達式為:
其中,x,y為車輛的縱向和側(cè)向位移;k為縱向比例增益,表示車輛安全行駛的最大側(cè)向偏移;a,b分別表示從源車道換至目標(biāo)車道之間過渡軌跡中心的水平偏移量和陡度參數(shù);c為側(cè)向偏移量,根據(jù)仿真需求設(shè)計。通過求解下列約束方程即可獲得滿足車輛安全行駛的參考路徑曲線參數(shù)a,b,c,k:
(1)安全距離約束。
(2)起始點車輛側(cè)向位移約束。
其中,ymax是車輛初始時刻最大側(cè)向位移。
(3)車輛最大側(cè)向加速度約束。
在側(cè)向位移k=3.5 m換道工況下,對上述約束進行求解即可得到任意兩點之間光滑且可微的sigmoid函數(shù),可將其作為一項平坦輸出進行速度規(guī)劃,其路徑曲線如圖2所示。
圖2 換道路徑曲線
依據(jù)智能車輛運動學(xué)模型微分平坦性質(zhì),運用多項式參數(shù)化曲線進行軌跡生成,這種方法只需變換曲線的參數(shù)就可以實現(xiàn)車輛不同的軌跡規(guī)劃行為,從而使智能車輛軌跡規(guī)劃更具實時性、靈活性。
如果一個系統(tǒng)能夠找到平坦輸出,使得系統(tǒng)的輸入和狀態(tài)可以由平坦輸出及有限微分項表示出來,這樣的系統(tǒng)稱為平坦系統(tǒng)[12]。利用微分平坦實現(xiàn)軌跡規(guī)劃既可以降低規(guī)劃空間的維數(shù)同時也能保證規(guī)劃處的軌跡對系統(tǒng)的可執(zhí)行性[13]。利用微分平坦進行軌跡規(guī)劃具體步驟如下:
(1)確定平坦輸出:利用微分平坦進行軌跡規(guī)劃的核心部分就是平坦輸出的選定。文中將z=[x,y]作為平坦輸出,利用其表示車輛系統(tǒng)運動學(xué)模型的表達式為:
對于該模型,u=[v,δ]為控制輸入,具體平坦輸出表示如下:
(2)平坦輸出參數(shù)化:軌跡是輸入和狀態(tài)關(guān)于時間的函數(shù),因此,將平坦輸出變量參數(shù)化為適當(dāng)?shù)臅r間函數(shù),可以確保產(chǎn)生參考軌跡的可行性。由于sigmoid函數(shù)自身曲率連續(xù)且滿足側(cè)向加速度約束的特點,文中利用簡單多項式與sigmoid函數(shù)結(jié)合,將系統(tǒng)平坦輸出參數(shù)化為:
(3)軌跡生成。
對上述平坦輸出進行參數(shù)化后,需要對某一系統(tǒng)性能指標(biāo)進行優(yōu)化求解得到一組對應(yīng)的系統(tǒng)參數(shù),從而獲得滿足約束條件的軌跡參數(shù)作為目標(biāo)平坦輸出軌跡。文中對智能車行使時間以及能量函數(shù)進行目標(biāo)優(yōu)化,使其在最短的時間內(nèi)完成高效的換道運動。具體目標(biāo)函數(shù)及約束條件如下所示:
在一般情況下,非線性規(guī)劃問題只能對其計算解析解,因此,需要將無限維的優(yōu)化問題進行有限離散化,常用的離散化方法將優(yōu)化時間域N等分,在N+1個離散點上對狀態(tài)、控制輸入和路徑等進行約束。然后利用非線性規(guī)劃算法求解最優(yōu)參數(shù),得到滿足約束的最優(yōu)軌跡。將得到的平坦輸出直接帶入車輛模型中,可以得到對應(yīng)的控制輸入u=[v,δ],控制智能車速度和轉(zhuǎn)向完成換道。本次微分平坦非線性優(yōu)化求解得到最優(yōu)時間tf=19 s,其橫縱向加速曲線如圖3所示。
從圖中可以看出,求得的優(yōu)化軌跡其加速度均在其約束范圍之內(nèi)。由于微分平坦理論控制車輛是一個完全離線操作的過程,實時性較差,因此文中選擇模型預(yù)測控制算法對智能車進行在線實時軌跡跟蹤實現(xiàn)換道。
圖3 加速度曲線
在上一節(jié)中,利用微分平坦理論只需經(jīng)過簡單的微分和函數(shù)運算即可得到期望的智能車換道狀態(tài)軌跡和控制輸入軌跡,方便對其是否滿足約束條件進行檢驗。為滿足智能車換道控制系統(tǒng)的實時性,本節(jié)將利用動力學(xué)模型構(gòu)造目標(biāo)函數(shù)以實現(xiàn)智能車換道的軌跡跟蹤控制。
動力學(xué)模型作為對車輛系統(tǒng)動態(tài)分析的數(shù)學(xué)模型,其中典型的三個自由度的車輛模型與車輛運動學(xué)模型相結(jié)合,詳細(xì)反映了車輛各項狀態(tài)變量之間的非線性關(guān)系[14],該模型具體表達式如下所示:
ξ(t+1)=ξ(t)+T·f(ξ(t),u(t))
模型預(yù)測控制的核心就是對優(yōu)化問題的求解,其主要組成部分有目標(biāo)函數(shù)和約束條件,前者確保對自主車輛控制的某些特性需求,后者則主要是對控制量或控制增量等進行附加約束。由于微分平坦中選擇的平坦輸出[x,y]均是對時間函數(shù)的參數(shù)化,為實現(xiàn)對智能車的有效跟蹤,利用模型預(yù)測控制算法設(shè)計如下目標(biāo)函數(shù):
其中,各項分別表示預(yù)測時域(Np)內(nèi)被控車的實際縱向與側(cè)向軌跡和參考軌跡之間的偏差;控制時域(Nc)內(nèi)對控制增量的要求;第四項中ε為松弛因子,它可以保證在優(yōu)化求解過程中不會出現(xiàn)沒有可行解的情況[15];Q,S,R,ρ分別為各項權(quán)重系數(shù)。另外,對控制量和控制增量加以適當(dāng)?shù)募s束能進一步確保車輛穩(wěn)定行駛。
在每個優(yōu)化求解周期內(nèi)將得到的控制序列中首個元素作為實際的控制輸入并作用于CarSim整車系統(tǒng)繼而進行下次循環(huán),直到完成換道。
本節(jié)利用車輛動力學(xué)仿真軟件CarSim與MATLAB/Simulink聯(lián)合仿真對提出的軌跡規(guī)劃算法進行驗證。
實驗場景中所涉及的車輛使用CarSim整車模型,具體模型參數(shù)見表1。文中將微分平坦優(yōu)化得到的平坦輸出軌跡帶入到S函數(shù)中結(jié)合模型預(yù)測控制對被控車進行跟蹤控制,對軌跡規(guī)劃算法完成驗證,具體Simulink仿真圖如圖4所示。
表1 車輛模型參數(shù)
圖4 Simulink仿真圖
場景中車道寬度為3.5 m,將第一節(jié)中得到的具有安全性的sigmoid函數(shù)作為參考路徑進行換道,結(jié)合微分平坦求解得到的系統(tǒng)輸入對被控車的速度進行實時控制,安全高效地完成換道。在軌跡跟蹤過程中,模型預(yù)測控制器的參數(shù)設(shè)置如表2所示。
表2 控制器參數(shù)設(shè)置
在仿真過程中,將規(guī)劃層中利用約束求解以及微分平坦得到滿足加速度約束的路徑曲線和參考速度作為下層跟蹤控制的參考,利用表2參數(shù)對提出的代價函數(shù)進行優(yōu)化求解,從而將求解得到的前輪轉(zhuǎn)角輸出至CarSim整車模型以實現(xiàn)車輛的換道控制。經(jīng)驗證,智能車在換道場景中的行駛軌跡和速度曲線(a)、航向角與前輪轉(zhuǎn)角變化曲線(b)、實際跟蹤軌跡與參考軌跡的位移偏差(c)如圖5所示。圖6為Carsim仿真動畫效果截圖,可以直觀地反映車輛在換道過程中的7個時刻的狀態(tài)。結(jié)合圖5、6可以看出,控制參數(shù)轉(zhuǎn)向角在約束范圍之內(nèi),同時其軌跡跟蹤誤差極小,證明了該算法有效。
(a)軌跡和速度曲線
(b)航向和前輪轉(zhuǎn)角曲線
(c)位移偏差
圖6 Carsim仿真動畫
針對智能車換道安全控制問題,提出了一種基于sigmoid函數(shù)與微分平坦理論相結(jié)合的換道軌跡規(guī)劃算法,并利用基于車輛動力學(xué)模型預(yù)測控制算法對智能車參考軌跡進行跟蹤控制,使其能夠及時有效地完成換道。相較于其他軌跡規(guī)劃的算法,系統(tǒng)的微分平坦特性和全狀態(tài)反饋線性化特性是等價的,因此,在軌跡規(guī)劃過程中會完全再現(xiàn)系統(tǒng)的動力學(xué)特性;sigmoid函數(shù)本身的優(yōu)越性質(zhì)加上微分平坦理論簡化了整個系統(tǒng)的復(fù)雜性,同時經(jīng)仿真驗證,該算法適用于對智能車換道行為的軌跡規(guī)劃。