最近炒得比較火的影子模式實際就是在通過數據收集的方式不斷模擬自動駕駛系統按照人類駕駛習慣實現人之間的交互過程。對于開發者而言,則需要重新思考人類駕駛員之間是如何正常且正確交互的,從而在設計實現所標定的控制參數中不斷模擬并實現社會面相契合的自動駕駛。 ?
實際上對于如何為自動駕駛真正有效的交互控制能力而言,其核心是需要尋求如下一系列基本問題的答案的: ?
首先,什么是實際道路駕駛中需要考慮的場景交互過程?各類場景交互的優劣如何評價?如何為合理且正確的場景交互行為建模?如何將建模結果應用于后續開發過程中? ?
回答如上問題就需要理解復雜交通場景中各行駛車輛之間動態交互的原則和傾向性,通過利用對環境目標行為或反應的信念和期望,產生不同的社會駕駛行為;預測該對應移動目標場景的未來狀態,可以最大限度的構建安全的智能車輛行駛行為,進而對行為預測和潛在碰撞過程提升相應的檢測能力;最終為開發創建逼真的仿真駕駛模擬器。
如何定義可解釋的駕駛行為 ?
在某種程度上,預測需要圍繞在高階自動駕駛系統中觀察到的軌跡是否具備可解釋性而構建的,目標識別過程有助于直觀解釋其軌跡預測的合理性,從而有助于進行系統分析和調試。這樣將朝著使我們的自動駕駛系統將向更值得信賴的方向發展,也是證明系統決策的能力的關鍵。
自車以藍色顯示,條形圖顯示非自車的目標概率。對于每個目標,最多顯示兩個最有可能到達目標的預測軌跡,其表示寬度與概率成正比。這里的可解釋性指的是自車對其目標車的所有實際行為所做出的預判都具備可解釋性、合理性分析。比如如下為典型的4個自動駕駛場景下,可以分別給出不同的解釋性說明。
(a)場景1:T字路口換道避撞????????????????
(b) 場景2:十字路口
(c)場景3:環島路口駛出避撞????????????????
(d) 場景4:紅綠燈復雜場景 ? ? ? ? ?
(a)S1:自車目標是一個前方藍色目標。車輛 V1 在自車道上,V1 從左向右變道,如果偏離自車的預測軌跡,那么自動駕駛控制將會退出。由于避撞需要大幅減速,自車可以決定換道以避免被減速。因為如果 V1 的目標是向東行駛,則變道將是不合理的。 ?
(b)S2:自車目標是一個前方藍色目標。車輛 V1 正從東面接近交叉路口,車輛 V2 從西面接近。當 V1 接近交叉路口、減速并等待轉彎時,自車對 V1 將右轉的信念顯著增加,因為如果目標是左轉或直行,停下來是不合理的。由于自車識別出V1的目標是往北走,它預測V1會等到V2過去,給自車一個上路的機會。 ?
(c)S3:自車目標是綠色目標。當 V1 從環形交叉路口的內側車道變為外側車道并降低速度時,自車將預測V1 將從南出口駛出,因為這是實現該目標的合理行動過程。這樣,自車將在 V1 仍在環形交叉路口時駛入環形交叉路口。 ?
(d)S4:自車的目標是紫色目標。兩輛車在紅綠燈處停在路口,車輛 V1 從后面接近他們,車輛 V2 從相反的方向穿過。當 V1 達到零速度時,目標生成函數在其當前位置為 V1 添加一個停止目標(橙色),此目標分布將向它移動,因為停止對于北/西目標來說是不合理的。 ?
本文提出的車輛軌跡預測方法 ?
基于前序分析,可以說預測其他車輛的意圖和行駛軌跡的能力是自動駕駛的關鍵問題。首先,對于駕駛場景中這種耦合多代理交互是一種有限觀察數據,可以增強預測環境移動目標趨勢的能力,從而做出快速準確的預測,因此這個問題將變得非常復雜。
為了在這種情況下進行預測,自動駕駛研究的標準方法是假設車輛使用有限數量的不同高級操作之一,例如車道跟隨、變道、轉彎、停止等。 ? 最近基于深度學習的方法在自動駕駛中呈現了不少令人驚喜的結果。這些預測模型是在大型數據集上訓練的,這些數據集通過涉及傳感車輛(例如視頻、激光雷達、雷達)的數據收集活動變得可用。 ?
為了預測車輛的未來行駛動機,我們必須推理為了什么目的 - 車輛執行其過去的行駛路徑還是改變其預期路徑,這就需要了解其他車輛的目標來預測其未來的行駛動機和軌跡,這有助于在未來一定的時間范圍內進行精準規劃。那么,這種推理將有助于解決保守的自動駕駛問題。
?
這里我們需要通過分類器來根據觀察到的駕駛軌跡,預測當前車輛需要執行的操作。這種方法的局限性在于它們只能檢測其他車輛的當前動機,因此使用此類預測規劃器實際上受限于檢測到的運動時間尺度。另一種方法是為每個其他車輛指定一組有限的可能目標(例如道路出口點),并根據車輛觀察到的局部狀態規劃到每個目標的完整軌跡。雖然這種方法可以生成長期預測,但其局限性在于生成的軌跡必須與車輛相對緊密地匹配,才能對車輛的目標做出高置信度的預測。 ?
本文闡述了一種用于自動駕駛的集成預測和規劃系統,該系統使用“理性逆向規劃”(也就是逆向假設)來識別其他車輛的目標。目標識別通過蒙特卡洛樹搜索 (MCTS) 算法來規劃自車的最佳行駛策略。逆向規劃和 MCTS 利用一組共享的已定義演習和宏觀行動,以此來構建合理性說明的行動規劃。城市駕駛場景模擬評估表明該系統能夠穩健地識別其他車輛目標,使我們的車輛能夠利用重要的機會來顯著減少駕駛時間。在每種情況下都需要會為證明系統預測及決策是否合理輸出直觀的解釋。 ?
為此,利用可解釋的基于目標行為分析的預測和規劃 (IGP2),利用有限空間下的運動分析計算優勢,可以很好的擴展機動序列的規劃和預測方法。通過理性逆向規劃的新穎整合來實現這一目標,以識別其他車輛目標,并使用蒙特卡洛樹搜索 (MCTS)為自車規劃最佳行動軌跡。
實際上,這種最佳軌跡的預測是通過逆向規劃和 MCTS ,利用一組共享的已定義操作來構建合理性原則解釋的運動規劃,即規劃相對于給定指標應該是最優的,來實現的。 ?
IGP2:可解釋的基于目標的預測和規劃 ?
整個預測方法依賴于兩個假設:首先,每輛車都試圖從一組可能的目標中達到某個(未知)目標,同時,每輛車都遵循從一個有限的已定義操作庫來生成對應的規劃。 ?
下圖中概述了我們提議的 IGP2 系統中的組件。
? ?
在高層次上,可解釋的行為預測能力IGP2 近似最優自車行駛策略 π* 定義如下: 對于每個非自車情況,生成其可能的目標并為該車輛反向規劃每個目標。每個非自車的最終目標概率和預測軌跡是由蒙特卡洛樹搜索 (MCTS) 算法的模擬過程所提供的信息生成的,這一過程中包含了自車朝向其當前目標的最佳機動計劃。為了在逆向規劃和 MCTS 中保持所需的高效搜索能力,如上這些操作需要使用上下文信息靈活地連接操作。 ?
本文將在如下部分中詳細介紹如上圖中的這些組件如何生成。 ?
A. 行為預測 ?
在對智駕車輛進行行為預測分析的時候,需要提前做出一些行為假設。比如,我們可以假設每輛車都在執行以下操作之一:車道跟隨、左/右變道、左/右轉、讓路、停止。每個機動參數 ω 指定適用性和終止條件。例如,左變道僅適用于車輛左側有一條相同行駛方向的車道,并在車輛到達新車道且其方向與車道對齊時終止。 ?
一些動作有自由參數,例如 follow-lane 有一個參數來指定何時終止。如果適用,指定機動車輛要遵循的局部軌跡可以表示為 si 1:n,其中包括全局坐標系中的參考路徑和沿路徑的目標速度。為了便于說明,我們假設 si 使用與 si 相同的表示和索引,但通常情況并非如此(例如,s可以按縱向位置而不是時間進行索引,它可以插值到時間指數)。
此時,參考路徑是通過貝塞爾樣條函數生成的,該樣條函數擬合到從道路拓撲中提取的一組點,目標速度是使用類似于域啟發式方法進行設置。 ?
B.宏動作 ?
宏動作指定了智能汽車的常見機動序列,并根據道路布局等上下文信息自動設置機動車運動的自由參數。下表指定了我們系統中使用的宏操作。宏動作的適用條件由宏動作中第一個機動的適用條件以及可選的附加條件給出。宏動作的終止條件由宏動作中最后一個機動的終止條件給出。 ? ?
宏動作 | 附加應用條件 | 手動序列(操作參數) |
繼續行駛 | -- | 跟車(可見車道的尾部) |
繼續駛向出口 | 必須在環島且未在駛出車道 | 跟車(下一個出口點) |
變道左邊/右邊 | 有一個車道向左或右方 | 跟車(直道目標車道清晰),變道至左/右 |
退出至左/右方 | 出口點在車輛前方相同的車道上 | 跟車(出口點),給定道路(相關車道),轉向左/右 |
停止 | 存在一個停止目標在當前車道的前方 | 跟車(關閉向停止點),停止 |
? C. 速度平滑 ?
為了獲得車輛 i 的可行軌跡,需要定義一個速度平滑操作,用于優化給定軌跡 si 1:n 中的目標速度。設置 xt 為參考路徑上在 si 和 vt 處的縱向位置,其目標速度為 1 ≤ t ≤ n。我們將 κ : x → v 定義為點 xt 之間目標速度的分段線性插值。給定兩個時間步長差值為時間Δt;最大速度和加速度,vmax/amax;并設置 x1 = x^1, v1 = v^1,我們將速度平滑定義為: ?
?
其中,λ > 0 是給予優化目標的加速部分的權重。如上公式是一個非線性非凸優化問題,例如,使用原始對偶內點法可以解決該類問題。 ?
從問題的解決方案 (x2:n, v2:n) 中,利用插值可以獲得原始點在 x^t 處可實現的速度。 ?
D. 目標識別 ?
我們假設每個非自車 i 尋求達到有限數量的可能目標之一 Gi ∈ Gi ,使用從我們定義的宏觀行動中構建對應的運動規劃。我們使用理性逆向規劃的框架來計算 i 在時間 t 的目標的貝葉斯后驗分布: ?
?
其中 L(s1:t|Gi) 是假設 i 的目標為 Gi 時觀察到的軌跡的似然,p(Gi) 指定 Gi 的先驗概率。 ?
似然度是兩個計劃之間獎勵差異的函數:從 i 的初始觀察狀態 si1 到速度平滑后的目標 Gi ,得到最佳軌跡的獎勵 r^,沿著觀察到的軌跡直到時間 t 的軌跡獎勵 r ,然后繼續以最佳方式達到目標 Gi,平滑僅應用于 t 之后的軌跡。 ?
概率定義為一個縮放參數,這種可能性定義假設車輛以近似理性地(即最佳地)駕駛以實現其目標,同時允許有一些偏差。如果目標不可行,我們將其概率設置為零。 ?
1)目標生成: 啟發式函數用于根據車輛 i 的位置和上下文信息(例如道路布局)生成一組可能的目標 Gi。在我們的系統中,我們包括當前道路和連接道路可見端的目標(以自車的視野區域為界)。除了此類靜態目標之外,還可以添加取決于當前流量的動態目標。例如,密集合并場景中,動態添加停止目標以模擬車輛允許自車在前方合并的意圖。 ?
2)機動檢測: 機動檢測用于檢測車輛當前(在時間t)需要執行的動作,在持續規劃之前允許逆向規劃所需要完成的動作。假設有一個模塊計算每輛車 i 的當前動作概率 p(ωi),一種選擇是貝葉斯變點檢測。由于不同的當前動作可能暗示不同的目標,可以對 p(ωi) > 0 的每個可能的當前動作執行逆向規劃。因此,每個當前動作產生其相關的目標后驗概率可以表示為 p(Gi| s1:t , ωi). ?
3)逆向規劃: 逆向規劃是使用 A*search 對宏觀行動進行規劃。A* 在完成產生初始軌跡 s^1:τ 的當前機動 ωi 后開始。每個搜索節點 q 對應于一個狀態 s ∈ S,初始節點處于狀態 s^τ ,并且宏動作通過它們應用于 s 的適用性條件進行過濾。A* 選擇通向節點 q’ 的下一個宏操作,該節點對目標 Gi 的估計總成本最低,由 f(q’ ) = l(q’ ) + h(q’)到達節點 q’ 的成本 l(q’ )計算得出。由從 i 在初始搜索節點中的位置到它在 q’ 中的位置行駛時間給出,遵循通向 q’ 的宏動作返回的軌跡。 ?
?
A* 假設所有其他未計劃在觀察到的軌跡后使用恒速車道跟隨模型的車輛。我們在逆向規劃期間不檢查碰撞。用于估計從 q’ 到目標 Gi 的剩余成本的成本啟發式 h(q 0 ) 由在限速下從 i 在 q0 中的位置通過直線到目標的行駛時間給出。h(q0 ) 的這個定義根據 A* 理論是可接受的,它確保搜索返回最優計劃。找到最優計劃后,我們從計劃中的機動和初始段 s^1:τ 中提取完整的軌跡 s^i 1:n。 ?
4) 軌跡預測: 我們的系統必須要為給定的車輛和目標預測多個可能的軌跡。因為在某些情況下,不同的軌跡可能是(接近)最佳的,但可能導致不同的預測,這可能需要自車的不同行為。我們運行 A* 搜索一段固定的時間,并讓它計算一組具有相關獎勵的計劃(最多一些固定數量的計劃)。 ?
每當 A* 搜索找到一個達到目標的節點時,相應的計劃就會添加到計劃集中。給定一組平滑軌跡{s^i,k 1:n |ω i, Gi} k=1..K 到具有初始狀態 ω i 和相關獎勵 rk = Ri(s^i,k1:n) 的目標 Gi,我們通過如下波爾茲曼分布預測可以得到最優軌跡: ?
其中 γ 是縮放參數(設定 γ = 1)。 ?
E. 自車規劃
為了計算自車的最佳計劃,我們使用目標概率和預測軌跡來實現蒙特卡羅樹搜索 (MCTS) 算法。 ?
該算法執行多個閉環模擬 s^t:n,從當前狀態 s^t = st 開始向下到某個固定的搜索深度或直到達到目標狀態。在每次模擬開始時,對于每個非自車,我們首先對當前機動進行采樣,然后使用相關概率對車輛的目標和軌跡進行采樣。搜索樹中的每個節點 q 對應于一個狀態 s ∈ S 并且宏動作通過它們應用于 s 的適用性條件進行過濾。
在使用一些探索技術選擇宏動作 μ 之后,根據宏動作 μ 生成的軌跡和非自車的采樣軌跡,對當前搜索節點中的狀態進行前向模擬,生成部分軌跡 s^τ:ι 和新的搜索節點 q0 與狀態 s^ι 。 ?
軌跡的前向模擬使用比例控制和自適應巡航控制的組合來控制車輛的加速和轉向。根據對車輛的觀察,在每個時間步長中監控車輛運動的終止條件。對s^τ:ι 執行碰撞檢查以檢查自車是否發生碰撞,在這種情況下,我們將獎勵設置為 r ← rcoll進行反向傳播,其中 rcoll 是方法參數。如果新狀態 s^ι 達到自車目標 Gε,我們計算反向傳播的獎勵為 r ← Rε (s^t:n)。如果搜索達到其最大深度 dmax 而沒有碰撞或實現目標,我們設置 r ← rterm,它可以是一個常數或基于類似于 A* 搜索的啟發式獎勵估計。 ?
? 總結 ?
本文介紹了一種通過理性逆向規劃進行目標識別和多模態軌跡預測的方法。通過將目標識別與MCTS 計劃相結合,為自車生成優化計劃。在模擬城市駕駛場景中的評估顯示準確的目標識別、提高的駕駛效率以及解釋預測和自我計劃的能力。??
審核編輯:劉清
評論
查看更多