
本文將繼續為大家解析自動駕駛所涉及到的核心技術,上篇《感知篇》內容可以查看歷史原文。
二、決策篇
在一套相對成熟的自動駕駛技術體系中,如果將環境感知模塊比作人的眼睛和耳朵,那么決策規划模塊就相當於自動駕駛汽車的大腦。
自動駕駛汽車在進行決策規划時,會從環境感知模塊中獲取道路拓撲結構信息、實時交通信息、障礙物(交通參與者)信息和主車自身的狀態信息等內容。
結合以上這些信息,決策規划系統會對當前環境作出分析,然后對底層控制執行模塊下達指令,這一過程就是決策規划模塊的主要任務。

換言之,自動駕駛汽車的行為決策與路徑規划是指依據環境感知和導航子系統輸出信息,通過一些特定的約束條件規划出給定多條可選安全路徑,並從中選取一條最優路徑作為車輛行駛軌跡的過程。
本文將詳細介紹自動駕駛決策規划模塊的技術結構體系、技術方法以及主流算法、芯片。
Ξ 1.技術結構體系
自動駕駛決策規划領域常見的技術結構體系可分為分層遞階式、反應式以及二者混合式。
1)分層遞階式體系結構
分層遞階式可以理解為一個串聯結構,自動駕駛系統的各個模塊有序排列在一條直線上,上一模塊處理的內容將直接進入到下一階段,如下圖所示:

分層遞階式的優點是各模塊次序分明,層層遞進式的結構讓每個模塊所處理的工作范圍逐漸縮小,處理問題的准確度逐漸上升,更容易實現高層次的智能控制。
不過,分層遞階結構也存在一些問題。首先,分層遞階結構需要實時調用傳感器信息,對傳感器的要求較高。此外,分層遞階式的布局,從環境感知到執行控制,中間存在一定延遲,缺乏實時性和靈活性。
最后,分層遞階式的串聯結構存在可靠性不高的問題。在初中物理學上,大家都接觸過電路的串聯與並聯知識。與並聯模式相比,串聯模式最大的問題就是整體系統的任何部分都不能出現問題,否則信息流和控制流的傳遞通道就會受到影響,整個系統會隨時處於崩潰的狀態中。
2)反應式體系結構
反應式體系結構與分層遞階式體系結構的最大區別在於,反應式體系結構使用的是並聯結構,如下圖所示:

在反應式體系結構中,決策規划模塊內容以並聯模式布置,環境感知的內容會同步傳輸至多個決策規划模塊內,可突出“感知-動作”的特點,易於適應完全陌生的環境。
與分層遞階式體系結構相比,反應式結構體系占用存儲空間較小,響應快,實時性高。同時,並聯結構提高了整體結構的穩定性,決策規划模塊內的某一層內容出現故障,也不會影響到其他層級內容的正常運行。不過,這也提高了整體系統運行的復雜度,需要更高等級智能技術的支持。
3)二者混合式體系結構
由於分層遞階式體系結構和反應式體系結構均存在某些問題,單獨一個體系難以滿足自動駕駛處理復雜多變場景的實際需求,所以混合體系結構受到越來越多的關注。

混合式體系結構將兩者優點結合,全局規划與局部規划分別適用不同的體系結構,使得自動駕駛汽車能夠更加適應復雜多變的真實路況。
Ξ 2.技術方法
根據對環境信息掌握程度的不同,自動駕駛路徑規划可分為全局路徑規划和局部路徑規划兩種。
1)全局路徑規划
全局路徑規划,又可以稱之為駕駛任務規划,主要內容為行駛路徑范圍的規划。
全局路徑規划會在已知環境中,給自動駕駛汽車規划出一條理想路徑,路徑規划的精度取決於環境感知模塊獲取信息的准確度。這是一種事前規划,類似於我們日常生活中常用的“導航”功能:輸入出發地與目的地,APP就會自動規划出一條最優路徑。
需要注意的是,全局路徑規划需要預先知道環境的准確信息,當環境發生變化時,規划結果很可能就會失效。
目前,常用的全局路徑規划算法有Dijkstra和A*算法,以及兩者的改進型。
Dijkstra(單源最短路徑)算法是由科學家Edsger W. Dijkstra在1956年提出,主要用於解決尋找圖形中節點之間最短路徑的問題。

這種算法的優點是給出的路徑是最優的,但是缺點也明顯,那就是計算復雜度較高,因為是向周圍探索,沒有一個明確的方向。
A*算法是由Stanford研究院的Peter Hart, Nils Nilsson以及Bertram Raphael在1968年發表,被認為是Dijkstra算法的擴展。
這種算法的實質為寬度優先搜索,通過在寬度優先搜索的基礎上增加條件控制,以盡快找到目標節點。其公式表示為:f(n)=g(n)+h(n),f(n)是從初始點經由權節點n到目標點的估價函數,g(n) 是在狀態空間中從初始節點到n節點的實際代價,h(n)是從n到目標節點最佳路徑的估計代價。
2)局部路徑規划
局部路徑規划,又可稱之為實時路徑規划。自動駕駛汽車在有障礙物的環境中,會利用自身傳感器實時感知周邊環境,尋找出一條最優的局部行駛路徑,避免碰撞和保持安全距離。
局部路徑規划的優勢是可以實時對規划結果進行反饋與校正,確保了自動駕駛車輛始終處於最優的駕駛路徑中。缺點是缺乏全局環境信息,可能發生找不到正確路徑或完整路徑的情況。
總體而言,全局路徑規划和局部路徑規划並沒有本質上的區別。兩者協同工作,自動駕駛車輛可以更好地規划出最優路徑。
Ξ 3.算法與芯片
目前,自動駕駛汽車常用的行為決策算法主要有三種類型:
1)基於神經網絡:自動駕駛汽車的決策系統主要采用神經網絡確定具體的場景並做出適當的行為決策。
2)基於規則:工程師想出所有可能的“if-then 規則”的組合,然后再用基於規則的技術路線對汽車的決策系統進行編程。
3)混合路線:結合了以上兩種決策方式,通過集中性神經網絡優化,通過“if-then 規則”完善。混合路線是最流行的技術路線。
在芯片領域,常用的主流自動駕駛芯片主要有兩種,一種是英特爾-Mobileye 開發的Mobileye® EyeQX™系列車載計算平台,另一種是英偉達提供的 NVIDIA Drive PX 系列車載計算平台。
Mobileye公司成立於1999年,主要目標是開發和推廣交通領域的視覺輔助系統。其在2017年被英特爾公司收購,並且將其作為自動駕駛技術的研發戰略核心。
以Mobileye公司最新的EyeQ5芯片為例,EyeQ5的運算性能達到了12Tera/每秒,且最多可以支持20個外部傳感器(攝像頭、雷達或激光雷達)。
此外,EyeQ5具有異構性,完全可編程的加速器,芯片內置的四種類型加速器均經過算法優化,更有助於實現“傳感器融合”。

NVIDIA DRIVE平台是英偉達針對自動駕駛推出的AI平台。其將深度學習、傳感器融合和環繞視覺技術相結合,旨在改變駕駛體驗。
NVIDIA DRIVE平台可以實時理解車輛周圍的環境變化、在高清地圖上精確定位自身,還可以規划前方的安全路線。
目前,DRIVE PX2為該產品的最新版本。其基於16nm FinFET工藝制造,TDP達250W,支持12路攝像頭輸入、激光定位、雷達和超聲波傳感器,單精度計算能力達到8 TFlops,是目前先進的自動駕駛平台。
未完待續……
本文參考資料:
1.《2017中國人工智能系列白皮書——智能駕駛》-中國人工智能學會
2.《2018年人工智能之自動駕駛研究報告》-Aminer
3.《自動駕駛汽車決策與控制》-清華大學