不確定環境下自動駕駛如何改進軌跡規劃?
本文經自動駕駛之心公眾號授權轉載,轉載請聯系出處。
論文題目《An Improved Model Predictive Control-Based Trajectory Planning Method for Automated Driving Vehicles Under Uncertainty Environments》
發表期刊:IEEE Transactions on Intelligent Transportation Systems
發表時間:2023.04
以下是我自己的論文閱讀筆記,主要是我自己覺得重點的部分,非全文翻譯,該文章接著前一篇文章,梳理了本論文的實驗驗證部分。前一篇文章如下:
fhwim:一種針對不確定環境下自動駕駛車輛的基于改進的模型預測控制的軌跡規劃方法
https://zhuanlan.zhihu.com/p/658708080
1. 仿真驗證
(1)仿真環境
聯合仿真工具包括Prescan、PyCharm、Matlab/Simulink,其中Prescan用于搭建仿真的交通場景,PyCharm(有神經網絡還是用pytorch輕松)用來寫融合預測模塊,Matlab/Simulink(有MPC工具箱)用來搭建軌跡規劃模塊以及實現車輛控制,整體工具的選擇思路還是比較自然合理。控制這一部分橫向控制用的是LQR,縱向控制用的是PID,也是比較常用的控制方法。融合預測模塊中的LSTM encoder-decoder采用的是開源代碼,作者說來自參考文獻[31]Comprehensive Review of Neural Network-Based Prediction Intervals and New Advances這篇文章,但是我看這篇文章發表于2011年,有點久遠(2011就有LSTM encoder-decode呢?),不知道作者有沒有在此基礎上改代碼。

圖1 仿真環境搭建
(2)MRPI集的求取




圖2 子系統的MRPI集
(3)case1:靜態避障場景
靜態避障場景指一輛障礙車靜止不動,軌跡規劃結果如下圖:

圖3 一般MPC方法和tube-based MPC方法的對比
這里我懷疑他圖例有問題,按照前文,最終參考軌跡reference trajectory由期望軌跡desired trajectory 和調整軌跡adjustment trajectory相加得到,同時他在分析結果的時候也說tube-based MPC在圖3(b)區域 和 的誤差較大,由于adjustment trajectory減小了誤差,那應該是把圖3(b)的desired trajectory和reference trajectory兩個圖例交換一下才符合他這個文章的邏輯,也就是綠線是最終的reference trajectory,藍線是中間結果desired trajectory。包括下面的速度曲線、橫縱向誤差曲線也是,不過大概懂作者意思就行,tube-based MPC中綠色曲線是最終的結果,藍色曲線是未加adjustment trajectory的結果。

圖4 一般MPC方法和tube-based MPC方法速度變化對比

圖5 橫向位置對比

圖6 橫縱向誤差對比
作者還比較了方向盤角度變化的平穩程度,這里就不贅述了,反正是有所提升。同時作者給出了加adjustment trajectory效果好的理論理由,加了之后軌跡的誤差總是在MRPI集合內,就是說tube-based MPC的跟蹤偏差始終在MRPI集中,而一般的MPC的跟蹤偏差在不確定環境下沒有一個邊界,可能會很大。
(4)case2:動態避障場景
和上一個場景相比就是障礙車動起來了,還是比較整體軌跡、速度變化、橫縱向誤差、方向盤變化平穩性這些東西,不再贅述,這里只放一個整體軌跡的圖。

圖7 一般MPC方法和tube-based MPC方法的整體軌跡對比
(5)case3:真實駕駛場景
作者在這里選擇使用NGSIM數據集來驗證自己的方法,首先是驗證融合預測方法,NGSIM數據集中有車輛的軌跡數據,拆分成歷史軌跡和未來軌跡構成訓練集讓LSTM encoder-decoder去學習,作者選了10000條軌跡,其中7500條作為訓練集,2500條作為驗證集,優化器用的Adam,學習率設置為0.01。預測效果如下圖:

圖8 橫縱向上軌跡預測和不確定性的結果
不過作者并沒有用軌跡預測領域一些常用的指標比如ADE、FDE之類的我感覺說服力不是那么強,不過也可以理解本文的重心還是在基于tube-based MPC的軌跡規劃上。
在驗證完軌跡預測后又進行了軌跡規劃進一步驗證軌跡預測模塊的作用,這里是比較了三種情況:
(a)在我已經知道障礙車未來真實軌跡的情況下,我去進行軌跡規劃,這個作為對照組
(b)在我不知道障礙車未來軌跡的情況下,我先進行軌跡預測(但是不計算不確定性),再進行軌跡規劃
(c)在我不知道障礙車未來軌跡的情況下,我先進行軌跡預測(計算不確定性),再進行軌跡規劃
結果如圖9,(a)、(b)、(c)的結果分別對應True Position, Prediction Results, Proposed Method
Proposed Method 也就是本文的方法得出的結果,可以看到Proposed Method更接近True Position,說明這個融合預測方法(尤其是不確定性的計算)是有作用的。

圖9 三種方法對比驗證軌跡預測模塊
這里可以發現case1和case2驗證的是軌跡規劃部分,一般的MPC和tube-based MPC前面的軌跡預測部分是一樣的,比較說明tube-based MPC的作用,case3則是驗證軌跡預測模塊,可以看到做了兩類驗證,第一類:直接比較預測軌跡和真實軌跡,第二類:先已知未來軌跡/預測未來軌跡(不計算不確定性)/預測未來軌跡(計算不確定性),再進行軌跡規劃,以True Position為標準,去對比有不確定性計算的軌跡預測方法和沒有有不確定性計算的軌跡預測方法的效果。對兩個模塊驗證的思路還是很清晰的。
2. 實車實驗驗證
實驗所用車輛如下圖所示:

圖10 實驗所用車輛
作者還給出了實驗車輛的參數和實驗所用電腦、傳感器的參數:

圖11 電腦、傳感器的參數

圖12 實驗車輛的參數
為了安全著想,作者設置的實驗場景和仿真實驗case1一樣,都是一個靜態避障場景,還是比較整體軌跡、速度變化、橫縱向誤差、方向盤變化平穩性這些東西,不再贅述。
3. 閱讀總結
首先是論文的思路,文章的主要內容就是帶不確定性計算的軌跡預測模塊和基于tube-based MPC的軌跡規劃模塊,主要還是軌跡規劃模塊,讓我比較有收獲的其實是他把軌跡預測真的用到軌跡規劃上了,而且是這種模塊化的形式,預測的輸出作為規劃的輸入,規劃這一部分僅僅只是確定一個安全閾值給到預測模塊,兩個模塊的耦合性較弱,其實換句話講這個預測模塊完全可以換成別的方法,只要給出的結果是預測的障礙車的軌跡和不確定性就行了,未來完全可以換成一個更高級的神經網絡來做預測直接給出軌跡和不確定性,這個融合預測算法感覺流程還是有點復雜。但是文章整體的思路我感覺還是很好,仿真和實車試驗的思路和工作量都令人滿意。
其次是文章閱讀時發現的一些低級的錯誤。比如在LSTM encoder-decoder那一部分,LSTM輸出的是未來 步的軌跡點,公式里寫的也是,但是文字里這寫成了 。

圖13 LSTM encoder-decoder部分的一些錯誤
然后是在仿真實驗部分,計算MRPI Set時說system(21)也就是 error system分成了子系統(32)和(34),但是實際上是子系統(30)和(32),這些小錯誤不影響整體方法但是也會影響讀者的閱讀體驗。

圖14 仿真實驗部分MRPI Set原文

圖15 error system分成了子系統(30)和(32)

原文鏈接:https://mp.weixin.qq.com/s/0DymvaPmiCc_tf3pUArRiA































