張宇龍,楊金山,王鵬偉,黃炯,肖文龍
(1. 山東理工大學 交通與車輛工程學院,山東 淄博 255049;2.江鈴汽車股份有限責任公司,江西 南昌 330001)
智能車輛局部路徑規(guī)劃常用方法包括人工勢場法[1]、貝塞爾曲線法[2]、遺傳算法[3]、B樣條曲線算法[4]等。由于這些方法提出年代較早,在現代應用中難免存在計算復雜、效率低下等缺陷,為此,學者提出多種改進方案[5]。楊楊等[6]在傳統(tǒng)人工勢場算法的基礎上引入速度勢場函數,把橫、縱向危險影響范圍設定為不同值,保證車輛避障路徑滿足車輛動力學要求。張新鋒等[7]提出了一種基于貝賽爾曲線的軌跡規(guī)劃算法,并且對路徑的最大曲率與目標狀態(tài)曲率進行約束,規(guī)劃出一條曲率連續(xù)有界的避障路徑。徐美清等[8]將神經網絡與遺傳算法相結合,使用遺傳算法特性來調整神經網絡中的權值,從而保證在未知復雜道路上規(guī)劃出一條順利避開障礙物的較優(yōu)路徑。屈盼讓等[9]通過建立完整的分布規(guī)劃模型對B樣條曲線算法進行改進,最終得到最優(yōu)規(guī)劃路徑,且路徑生成高效,滿足實時規(guī)劃路徑的要求。在眾多路徑規(guī)劃算法中,B樣條曲線算法作為一種典型的多項式曲線,其規(guī)劃路徑平滑性好,且計算原理簡單,計算量小,符合路徑規(guī)劃系統(tǒng)對算法實時性的要求,深受學者關注。
因此,針對無人車實際局部避障情況,本文提出基于三次準均勻B樣條算法的路徑規(guī)劃方案。通過在傳統(tǒng)B樣條算法中引入無碰撞約束與車輛動力學約束條件,確定控制點,生成滿足要求的規(guī)劃路徑,并采用CarSim與Matlab聯(lián)合仿真驗證路徑合理性。
B樣條曲線是在貝塞爾曲線基礎上推導而來,該曲線是Schoenberg于20世紀40年代提出的,由De Boor和Cox分別提出的遞推定義[10],通過控制點與B樣條基函數組合生成曲線形狀。本文采用三次準均勻B樣條曲線進行路徑規(guī)劃,因其兩端節(jié)點有重復度k,使曲線起始于第一個控制點,終止于最后一個控制點。規(guī)劃路徑時,先確定智能車輛進行避障過程中的碰撞約束、動力學約束等條件,保證車輛順利躲避障礙物,再根據上述條件選取控制點,最后通過控制點與B樣條基函數結合得到符合要求的避障路徑。
曲線、控制點與B樣條基函數具體關系如下。假定P0,P1,P2,…,Pn一共n+1個控制點對B樣條曲線進行控制,則k階B樣條為
(1)
式中:Bi,k(u)表示第i個k階B樣條基函數;u為自變量。
B樣條基函數的遞推公式為
(2)
式中ui為第i個節(jié)點,所有節(jié)點組成非遞減序列的節(jié)點向量U=[u0,u1,…,umax][11]。
在式(2)中約定:
(3)
智能車輛局部避障路徑規(guī)劃過程由障礙物檢測、信息處理、避障路徑生成三部分組成。智能車輛使用車載傳感器檢測周圍環(huán)境信息,并確定車輛位姿信息。信息處理器綜合所有信息,通過分析影響避障的因素,確定當前存在的安全隱患,進而采取合適的避障策略規(guī)劃最優(yōu)避障路徑。
設定行駛道路是直行雙車道,智能車輛在一側道路中心線上行駛,當檢測到前方障礙車后,需行駛到另一側道路,以躲避障礙車,并在完成避障后返回原車道行駛。設定智能車長為h0、寬為m0,障礙車長為h1,寬為m1,并分別簡化為m0×h0與m1×h1的矩形。道路可行駛區(qū)域設定為長為L,寬為2r的矩形,兩條車道由虛線分隔。將道路環(huán)境放在二維坐標系下,如圖1所示,A1表示智能車,A2表示障礙車。車輛行駛過程中車身要在道路邊界之內,以保證不與道路邊界碰撞,則B樣條控制點位置(x,y)選取范圍為
(4)
圖1 道路約束示意圖
此外,車輛經過障礙車恰好不碰撞的臨界位置如圖2所示,需保證車輛經過該位置外,以避免碰撞發(fā)生。
圖2 智能車輛不與障礙車碰撞的臨界示意圖
則智能車與障礙車縱向初始安全距離限制為
D≥xA1-xA2,
(5)
式中:xA1為智能車縱向位移;xA2為障礙車縱向位移。
為避免智能車輛避障過程中發(fā)生側滑,需設定車輛動力學約束:
(6)
式中:yA1為智能車輛橫向位移;ay,max為智能車輛最大側向加速度。
避障路徑規(guī)劃過程中需要考慮障礙物位置、尺寸、速度等因素。為保證車輛避障系統(tǒng)出現失誤后有足夠的距離剎車,不與障礙物發(fā)生碰撞,本文設定在躲避障礙物過程中,避障初始位置由TTC碰撞時間與當前車速結合確定?;诒疚难芯恐悄苘囕v,計算TTC時間時不需要考慮與駕駛員有關的影響因素。則TTC時間為車輛持續(xù)產生制動力到車輛速度減至與障礙車速度相同所需時間以及制動生效到液壓器產生制動的時間之和。假定持續(xù)制動過程中車輛保持最大制動加速度,該過程所花費的時間為
(7)
式中:v是智能車輛行駛速度;a是智能車輛制動加速度(取7.84 m/s2);v0是障礙車速度(靜態(tài)障礙車速度取0)。
假定在制動生效到液壓器產生制動的時間內,車輛速度不變,則實現車輛與障礙物之間不發(fā)生碰撞的安全距離為
(8)
式中t1是制動生效到液壓器產生制動的時間,該時間大約為0.15~0.3 s[12],本文取0.2 s。
采用此種方法得到的安全距離會隨智能車輛車速降低而減少,為避免低車速時轉彎半徑過小,智能車難以穩(wěn)定進行避障操作,本文在安全距離之外加入一段調節(jié)距離z,經過多次實驗得出調節(jié)距離與車速關系為
(9)
假定智能車開始避障時,障礙車尾部中心點初始位置是(x1,-0.5r),則第一個控制點為P0=(x1-x0-z,-0.5r)。同時,為滿足初始時刻智能車輛航向角為零且不發(fā)生突變,設定P2=(x1-x0-z+d,-0.5r),為進一步加強該約束,設定控制點P1=(x1-x0-z+0.5d,-0.5r)。d取值過大易造成避障換道過程中縱向距離不足,難以滿足車輛動力學約束,故設定d與智能車輛車長相同。
智能車保持原速行駛,從與障礙車距離為x0到不與障礙車發(fā)生碰撞的臨界位置時,障礙車行駛距離為
(10)
從而得到臨界位置時,障礙車尾部橫坐標為x1+x2,如果智能車輛車頭橫坐標位于x1+x2時,能運行到另一側道路中心線處,智能車將與障礙車、路邊均有足夠安全距離,且該過程中智能車輛橫向位移較小,能保證側向加速度在合理范圍內,故選定控制點P3=(x1+x2,0.5r)。
智能車換道后一直沿另一側道路中心線行駛,當智能車輛車尾處橫坐標超過障礙車的車頭橫坐標半個車身長度時,智能車輛進行返回原車道的操作,以此確保返回過程中不與障礙車發(fā)生碰撞。忽略智能車輛換道過程中多消耗的時間,則智能車輛從行駛至避障道路中心線到上述位置所用的時間為
(11)
則進行轉向操作的橫坐標位置為
x3=x1+x2+vt3,
(12)
因此選取控制點P4=(x1+x2+0.5vt3,0.5r)、P5=(x3,0.5r),將返回原車道的路徑設定為與避障路徑對稱的狀態(tài),故選取控制點P6=(x3+x0+z+x2-d,-0.5r)、P7=(x3+x0+z+x2-0.5d,-0.5r)、P8=(x3+x0+z+x2,-0.5r)。
為驗證路徑規(guī)劃方案合理性,運用CarSim與Matlab進行聯(lián)合仿真。首先,在Matlab中得出不同工況下的規(guī)劃路徑;其次,設置CarSim中的仿真場景,將CarSim中信息發(fā)送到Matlab/Simulink,由Simulink橫向控制模塊控制車輛沿規(guī)劃路徑行駛,并觀測車輛動力學參數波動范圍。
設置智能車輛與障礙車的寬為2 m,長為4.79 m,仿真車道單條車道寬度為3.5 m,長度為100 m,路面摩擦系數設置為0.85。在靜態(tài)避障場景中,靜止障礙車尾部橫坐標設置于50 m處。智能車輛分別以10 m/s與15 m/s的速度躲避靜止障礙車的路徑如圖3、圖4所示,其中紅色矩形為障礙車簡化模型,綠色曲線為規(guī)劃路徑。
圖3 車速恒定10 m/s躲避靜止障礙車
圖4 車速恒定15 m/s躲避靜止障礙車
圖3、圖4表明在此場景下智能車能夠躲避靜止障礙車,并且成功返回原車道行駛,證明規(guī)劃路徑適用于此種工況。
路徑平滑性主要根據路徑曲率求得,車速恒定10 m/s時躲避靜止障礙車工況下的規(guī)劃路徑曲率波動范圍為-0.038 0~0.068 0 m-1,車速恒定15 m/s時為-0.027 4~0.042 3 m-1。該結果表明路徑曲率變化幅度較小,平滑性較好。
在動態(tài)避障場景中,低速障礙車速度設置為5 m/s,并且當障礙車運行到車尾橫坐標為50 m時,智能車輛正好到達應該進行避障操作的位置。得出智能車輛分別以15 m/s與20 m/s的速度躲避障礙車的路徑如圖5、圖6所示,其中藍色矩形為智能車簡化模型。
圖5、圖6表明在此場景下智能車能夠躲避低速障礙車,并且成功返回原車道行駛,證明規(guī)劃路徑適用于此種工況。
圖5 車速恒定15 m/s躲避低速障礙車
圖6 車速恒定20 m/s躲避低速障礙車
車速恒定15 m/s時躲避低速障礙車工況下的規(guī)劃路徑曲率波動范圍為-0.028 9~0.060 7 m-1,車速恒定20 m/s時為-0.018 0~0.038 2 m-1。該結果表明路徑曲率變化幅度較小,平滑性較好。
根據本文設定的數據信息在CarSim中搭建仿真場景,同時結合Matlab/Simulink中基于規(guī)劃路徑的LQR控制模型對路徑合理性進行驗證。
為驗證路徑合理性,本文采用較高車速車輛在較低車速下規(guī)劃得出的路徑上行駛,觀測車輛動力學參數波動情況。設定以15 m/s車速在10 m/s車速下、以20 m/s車速在15 m/s車速下、以25 m/s車速在20 m/s車速下規(guī)劃出的路徑行駛,得出車輛質心側偏角、前輪轉角以及橫擺角速度波動范圍見表1。
表1 不同工況下智能車輛各類動力學參數波動范圍
從表1能夠看出,不同工況下智能車輛動力學參數波動均在合理范圍內[13-15],能夠保證車輛運行過程中具有較好平順性與橫向穩(wěn)定性。
本文對智能車輛局部避障路徑規(guī)劃問題進行分析,設計了一種基于B樣條算法的避障路徑規(guī)劃方法,進而規(guī)劃出不同工況下的局部避障路徑。通過仿真驗證不同工況下規(guī)劃路徑曲率及智能車輛各類動力學參數。結果表明規(guī)劃路徑能夠滿足車輛動力學約束、路徑平滑、無碰撞等條件,適用于智能車輛局部避障過程。