羅國榮
(廣州科技職業技術大學 自動化工程學院,廣州 510550)
隨著汽車保有量的增長,汽車安全事故也逐年增加,事故原因主要是由駕駛員注意力不集中而引起,因此研發無人駕駛汽車迫在眉睫,其中車道變換過程中的路徑規劃和路徑跟蹤是無人駕駛汽車的一個關鍵技術,其性能的好壞直接影響到無人駕駛汽車的體驗。冀杰等人[1]構建了多約束模型預測控制算法用于車道變換路徑跟蹤,能有效跟蹤期望行駛路徑,但僅考慮到車道變換時間、橫向加速度及變化率等約束條件,沒有考慮到安全距離、縱向加速度等約束條件。閆琪[2]利用圖像處理技術識別車道,提出了基于斜率的車道線選擇方法,實現了車道偏離控制,但其僅用于汽車的輔助駕駛。吳小龍等人[3]提出了一種基于能量最優化的路徑跟蹤控制策略,該策略使用非線性模型預測控制來計算所需要的動力參數和前輪轉角,并根據電機狀態動態調節無級變速器以滿足車輛動力需求,具有良好的跟蹤性能和節能潛力,但其僅考慮路徑跟蹤控制,并未配合路徑規劃闡述。杜利民等人[4]提出了一種針對無人駕駛汽車在路徑跟蹤過程中的縱向速度控制方法,該方法采用增量PID控制,結合坡道速度增量預估模型,實現無人駕駛汽車在上坡和下坡時的速度相對穩定,但其只適用于縱向速度控制,未考慮車道變換中的橫向控制。針對上述不足,本研究提出一種自動車道變換控制方法。
無人駕駛汽車的架構是由環境感知層、傳感器數據融合認知層、動態規劃和決策層、車輛自動控制層等構成[5]。其中動態規劃和決策層的核心技術是無人駕駛汽車的軌跡規劃,無人駕駛汽車的自主行駛是首先通過高精度地圖和目的地進行道路拓撲結構的分析,利用全局路徑規劃算法搜尋一條最短(優)的到達目的地路徑,使無人駕駛汽車沿著這條路徑行駛,在行駛過程中通過傳感器數據融合認知層提供的周圍環境動靜態障礙物信息,進行運動軌跡規劃,計算出一條動態的最優局部路徑軌跡,并輸出給車輛自動控制層,控制無人駕駛汽車的轉向角、速度、加速度和制動力等數據,使汽車沿著這條運動軌跡行駛[6]。
全局路徑規劃算法計算到達目的地的全局參考路徑僅考慮到地圖的道路拓撲幾何結構,沒有考慮到汽車運動學特性和環境動態性,為使汽車的自動控制層能線性地控制汽車沿著規劃好的運動軌跡行駛,在受運動學和慣性載荷條件約束的前提下,確保汽車的位置、速度和加速度的連續性,必須使路徑軌跡具有一定的平滑性。本研究采用五次多項式生成平滑的路徑軌跡集合,并對路徑軌跡進行運動學可行性、碰撞和成本評估,以選擇最優局部路徑軌跡作為汽車的行駛路徑。
由于全局參考路徑是在笛卡爾坐標系下得出的,路徑軌跡也存在彎曲部分,但在該坐標系下難以用簡單的曲線對參考路徑進行描述,為了簡化問題,采用Frenet坐標系,如圖1所示,圖1中(x,y)表示笛卡爾坐標系,(s,d)表示Frenet坐標系,s方向與道路邊緣平齊,表示每個路點沿著參考路徑到起始點的路程,d方向與s的切線方向垂直,表示與參考路徑上對應點的橫向偏差,汽車在某一時刻的位置狀態即可應用s和d兩個向量來描述車輛的運動狀態,從而在軌跡曲線擬合時,減少處理坐標信息的工作量。

圖1 笛卡爾坐標系與Frenet坐標系
Frenet坐標系下,汽車的運動規劃就可用縱向分量s、橫向分量d和時間t三個維度來處理,描述汽車的運動狀態即分解為橫向分量d(t)和縱向的分量s(t)。路徑軌跡的五次多項式公式為
p(t)=c0+c1t+c2t2+c3t3+c4t4+c5t5。


求解這兩組方程組,即可求得6個系數,從而確定一條橫向運動軌跡,配置不同的初末狀態時刻和汽車的橫向偏移、橫向速度和橫向加速度,即可求得橫向運動軌跡的候選集合。
為了在候選集合中選取最優的運動軌跡,需要設計損失函數作為運動軌跡的質量評估函數,損失函數為



求解這兩個方程組,即可求得6個系數,從而確定一條縱向運動軌跡,配置不同的初末狀態時刻和汽車的縱向偏移、縱向速度和縱向加速度,就可求得縱向運動軌跡的候選集合,其損失函數為

由于橫向運動和縱向運動之間在時刻點上相互耦合,與時間t的取值一一對應,綜合上述得到的橫縱向路徑運動軌跡候選集合,再將兩個方向的損失函數合并為一個,其公式為
Ctotal=klatCd+Klongcs,
其中:Ctotal為橫縱向損失函數代價值;klat為橫向損失函數權重值;klong為縱向損失函數權重值,通過最小化Ctotal即可得到一條最優化路徑軌跡。
在用上述模型求解局部最優路徑軌跡后,需要對路徑軌跡進行跟蹤,使無人駕駛汽車沿著這條路徑軌跡行駛。為了滿足安全距離、速度、加速度和轉向角約束要求,采用模型預測控制算法(MPC)控制汽車跟隨路徑軌跡行駛。
設無人駕駛汽車的車輛系統狀態量為χ,其表達的物理量為

車輛系統的控制量為u=δf,其中δf為無人駕駛汽車前車輪轉向角。
模型預測控制算法的控制過程如下:
在每一個采樣時刻,根據觀測獲得的車輛系統狀態量χ,結合局部最優路徑軌跡,通過構建模型并預測系統狀態量的未來輸出值,利用這個未來輸出值與實際輸出值進行比較,將得到的偏差對模型的預測結果進行修正,再通過某一性能指標在線求解一個有限時間的控制序列u,并將控制序列的第一個元素作用于被控對象,從而形成一個路徑跟蹤控制周期。在下一個采樣時刻重復上述過程。
車輛動力學模型是非線性的,基于非線性模型預測車輛的未來狀態存在運算量大、耗內存及實時性差等問題,所以對模型進行線性化處理,得到線性時變方程為


將方程進行離散化處理,可得
其中:Ak=I+AT,Bk=BT,T為采樣時間矩陣,I為單位矩陣,k∈+。
為對控制增量進行精確約束,將離散的狀態量χ(k)與控制量u(k-1)組合為新的狀態量,其值為
ζ(k)=[χ(k)u(k-1)]T,
得到新的車輛動力學狀態空間方程為

此時,Np時域內系統的輸出量可表示為
Y(t)=ψtζ(t|t)+OtΔU(t),
其中:
Np為預測時域;Nc為控制時域。
為了獲得最佳控制量序列,設計成本函數為
其中:λy,λφ,λu和ρ為權重系數(反映了各優化目標的優先級),ε為松弛因子,其作用是為了保證在每一時刻該成本函數都能得到可行解。
實際控制過程中,需要滿足的約束條件為:
其中:ΔUmin和ΔUmax分別為控制增量的最小值與最大值;Umin和Umax分別為控制量的最小值與最大值;yh,max和yh,min分別為輸出量的上下邊界;ys,max和ys,min分別為包含松弛因子的輸出量的上下邊界。在每個控制周期完成上述求解后,將控制序列中的第一個元素作用于控制系統,在下一時刻,重復上述操作,以此實現對系統的持續控制。
試驗是在Matlab2020a軟件環境下完成的。硬件環境中的CPU采用主頻為2.4 GHz的英特爾酷睿四核i7-10750H處理器,顯卡采用顯存為4 GB的GTX1650Ti顯卡,內存16 GB。構建的試驗仿真模型如圖2所示。試驗仿真模型是由環境感知模塊、車道變換規劃模塊、車道變換控制模塊、車輛動力學模塊和指標評估模塊組成。

圖2 整車模型
其中:環境感知模塊是對道路環境、汽車及車載傳感器等進行設置的;車道變換規劃模塊計算整車的局部最優參考路徑;車道變換控制模塊是利用路徑跟隨控制器生成控制命令的,以控制整車模塊沿車路徑規劃的車道路徑行駛;車輛動力學模塊計算整車的自身運動狀態,并根據車道變換控制模塊輸出的控制命令調節整車的運動狀態;指標評估模塊主要是指定指標來評估整車模型系統的行為性能。
自動駕駛汽車整車模型的主要技術參數如表1所示。

表1 自動駕駛汽車整車模型參數
縱向控制的仿真結果如圖3所示,在圖3(a)中,在0~11秒期間,無人駕駛汽車一直保持著設定的速度行駛,在11~16秒期間,進行了間距控制,在16~20秒期間又恢復到設定的速度行駛;在圖3(b)中顯示無人駕駛汽車與前車的距離大于或等于安全距離,滿足與前車距離保持在40 m范圍外的要求;在圖3(c)中顯示無人駕駛汽車的加速度在11~16秒期間減速和加速的波動,其他時間保持著穩定的狀態;在圖3(d)中顯示無人駕駛汽車是否發生碰撞,其值一直處于0狀態,說明無人駕駛汽車是安全的。

(a)速度

(b)距離

(c)加速度

(d)碰撞狀態圖3 縱向控制
橫向控制的仿真結果如圖4所示,圖4(a)表示無人駕駛汽車與車道中心線的偏移值,其值控制在0.2 m范圍內,并能跟隨局部參考路徑軌跡順利變換車道;圖4(b)顯示相對于車道中心線的偏航角誤差在0.03 rad范圍內;在圖4(c)中顯示無人駕駛汽車的方向盤轉向角在13~14秒期間有一個小波動,其他時間總體上是平穩的。因此,仿真結果表明,上述設計的局部路徑優化算法和路徑軌跡跟蹤控制算法能有效地實現車道變換,證明了該方法可行有效。

(a)橫向偏移

(b)偏航角

(c)方向盤轉向角圖4 橫向控制
本文首先介紹了無人駕駛汽車的架構,針對全局參考路徑沒有考慮到汽車動力學的缺點,在Frenet坐標系下,提出了采用五次多項式對全局參考路徑的局部軌跡進行優化的方法,設計了自適應模型預測控制算法,對局部路徑軌跡進行跟蹤控制。并利用Matlab軟件在仿真平臺上建模仿真,在高速公路駕駛場景中,在滿足汽車動力學的約束條件下,無人駕駛汽車能有效、安全地進行車道變換,實現避障行駛,在局部路徑優化、路徑跟蹤這兩方面的性能表現良好。實驗證明,上述設計的算法可行有效,為無人駕駛汽車的自動行駛控制提供了參考。