Tesla AI Day決策規劃部分解析


作者 |  果然東
來源 |  知乎


功能升級:高速路-> 城市道路
特斯 拉之前釋放的規劃算法都是Highway的場景,道路環境更加簡單,而本次AI DAY介紹的則是FSD相關的規劃,場景拓展到了城市、鄉村道路等更加復雜的場景。

優化目標:安全-舒適-效率
安全:不碰撞;
舒適:加速度在一定范圍內,加加速度(jerk)盡量小;
效率:通行時間盡量短。

Tesla AI Day決策規劃部分解析的圖1

規劃任務難點
1. 空間非凸
空間非凸即意味著如果采用牛頓梯度下降等迭代數值求解,大概率限于局部最優解而無法搜索到全局最優解。

2. 參數高維
參數維度過高意味著搜索使用搜索求解到最優會非常耗時,例如如果一個維度采樣100個點,2個維度有100的2次方即1萬個組合需要搜索,而如果3個維度就有100萬個組合需要搜索遍歷,會造成算力消耗過大,計算實時性也難以保證,而規劃控制對實時性要求極高。

Tesla AI Day決策規劃部分解析的圖2

結構化道路:技術方案
使用傳統學院派常用的路線:coarse to fine(粗糙到精細)的分步優化。

首先使用搜索的方法搜到最優解所在的凸走廊(空間),然后在凸的問題空間內使用最優化方法求出最優解。

這就好像我們先查閱地圖搜索到了喜馬拉雅山有最高峰的潛力,然后在喜馬拉雅山不斷努力攀登達到最高峰,而不是上來就一味低頭向上爬,最后爬到山頂才發現原來爬的是上海的佘山。

這樣的分布優化求解的思想也適合日常的研發管理,凸空間類似當前已有的方案,我們需要refine方案,但是首先要確保的是當前的方案有較好的優化潛力,確保在此凸空間最優解被求解出來時方案依然在大市場環境下有著不錯的競爭力,否則花費大量時間停留在已有落后方案上優化,工作起來可能看似和諧舒適,但在激烈的競爭環境中卻實際上不斷地浪費時間、錯失機遇。而在如何決定我們應該在哪個凸空間的方案上優化前進,哪個凸空間更有潛力且優化起來更有效率?這就是專家的價值。

Tesla AI Day決策規劃部分解析的圖3

這里特斯拉針對換道任務的規劃舉了個栗子:

圖A是一開始搜索的一個解,其換道動作相對激烈,會造成不舒適感(滿足硬約束,但非最優);

圖B是另一個搜索的解,其可能錯過導航的換道時機,不滿足硬約束條件。

圖C右側是搜索的過程,左側是最后搜索到的粗糙解,并在此基礎上進行最優化平衡安全-舒適-效率。

Tesla AI Day決策規劃部分解析的圖4
圖A:換道軌跡過于激烈,舒適度差

Tesla AI Day決策規劃部分解析的圖5
圖B:換道時機過晚,錯過導航左轉

Tesla AI Day決策規劃部分解析的圖6
圖C:左側搜索結果,右側搜索過程

討論:這里的例子其實不是很詳盡、對應,因為沒有顯著闡述第一步搜索出來的是一個凸走廊,而是類似于apollo方案中的EM planner,搜索出來一條粗糙的軌跡。后文左轉的case里面則體現了凸走廊這一個步驟。

周邊車輛規劃(預測-博弈-決策)
前文的coarse to fine的思路與當前科技公司主流技術方案基本一致,而為周邊車輛規劃則“可能”是特斯拉規劃算法的一大特色。

之所以說“可能”,是因為特斯拉沒有闡述算法細節。特斯拉的描述是為其它車輛規劃,本質上當前業界自動駕駛技術體系內的預測就是其它車輛的規劃,因此究竟是和業界主流的預測算法一樣,還是將自車的規劃算法打包應用在周邊車輛上,仍然不清楚,我覺得前者的概率更大,因為后者思路玩起來難度實在太大,對整體算法即代碼的效率、算力的要求、感知模塊的精度都有很強的要求。

我個人判斷,有2種可能: 1)特斯拉大概率是提取了一套粗糙簡化的決策規劃算法應用于環境車輛,以此完成博弈;2)預測多條軌跡,基于車速、環境等輔助信息,判斷各條軌跡的選擇概率。

下面有2個具體案例。

案例1:
圖A:開始自車在一個窄過道上行駛,因為這里是沒有車道線的非結構化道路,因此使用的應該是open space的一套規劃算法規劃出自車軌跡。

圖B:這時檢測到了前方來車,因此自車有一個減速的規劃,軌跡前方設定了一個停止點。

圖C:這時決策算法發現在狹路相逢時,自車右邊停滿了車,沒有空間讓車(pull over and yield),而對方卻有讓度空間,因此判斷對方會讓自己,于是恢復繼續前行的規劃。

Tesla AI Day決策規劃部分解析的圖7

案例2:
圖A:又發現一輛來車,因此進行減速停車的規劃;

圖B:如之前所述,為前車“規劃“了(即預測前車)2條可能的軌跡,由于當前前車速度較快,結合車輛姿態,判斷紅色軌跡概率更大,因此自車選擇減速靠邊避讓;

圖C:或許是自車向右避讓的幅度不大,對方車輛做出了避讓的動作,因此這時判斷對向來車選擇綠色軌跡,因此自車繼續規劃向前行駛的軌跡。

Tesla AI Day決策規劃部分解析的圖8

最優化求解
如圖A灰色區域,是一個凸走廊,即優化問題的硬約束;圖B則是優化迭代求解的初值;圖C是優化結果及過程(時間、碰撞風險、加速度、加加速度隨時間變化)。

Tesla AI Day決策規劃部分解析的圖9

Tesla AI Day決策規劃部分解析的圖10

從這一步釋放的材料中可以大致判斷,特斯拉的優化求解并不像apollo一樣分步驟優化(先優化求得路徑,再基于路徑優化路徑上速度點,這樣算力消耗更低,但可能次優),而是一同完成的優化。

代客泊車:基于神經網絡啟發式函數的Hybrid

A*
A*類算法中,啟發式函數設計的合理性直接決定整個問題求解的效率。

特斯拉這里比較了3種啟發式函數的效果;

歐氏距離啟發式函數:搜索398320步。通常產品方案都不會使用這個,僅作為baseline;

導航啟發式函數:搜索22224步,提升了10余倍,成熟方案常用的思路,但遇到導航路徑上有錐桶等障礙物時,搜索效率非常低;

傳統手動設計的啟發式函數局限性大,難以適應不同變化的場景,并且每一步的啟發是基于當前看到的局部環境而非全局考慮,調試起來無聊(tedious),于是特斯拉使用了神經網絡。

神經網絡啟發式函數:搜索228步,相對baseline提升1000余倍,相對導航啟發式函數提升了100倍;特斯拉特別強調這里還沒有結合導航啟發式函數,因為神經網絡是看整個空間,其中已經包含了導航信息。

Tesla AI Day決策規劃部分解析的圖11

特斯拉具體的做法是使用神經網絡計算出各種候選軌跡的啟發式函數的f值,并輸入蒙特卡洛樹,相比于傳統的碰撞后再回退的迭代,蒙特卡洛樹則考慮了人為接管、舒適性的情況提前回退,進一步優化了求解的質量。(這里具體的回退機制我也不是很清楚細節,如果有人更了解,歡迎評論)

Tesla AI Day決策規劃部分解析的圖12

架構總結
特斯拉規控整體架構會1)從感知端拿到周圍環境Vector Space,2)以及利用感知的中間層特征,拿到遷移學習得到的軌跡分布輸入。

Tesla AI Day決策規劃部分解析的圖13

思考
1. 環境目標預測算法(video module)從感知中間層提取intermediate features,本文的啟發式軌跡也是利用了感知神經網絡的中間層輸出特征,可見特斯拉總體方案中對于神經網絡中間層特征的重視程度,其好處有2點:1)共用了網絡前端的部分,避免重復消耗計算資源,2)中間層特征更加豐富,相對于僅僅使用輸出感知目標物結果(目標位置、速度等,噪聲也相對較大),還有更豐富的環境信息,因此有更大的潛力。在聽演講過程中,我驚訝于特斯拉的預測、規劃可以緊密地和感知合作完成耦合如此緊密方案的設計開發,這和組織的文化及架構都有很強的關系,如果組織部門墻嚴重,感知、預測、規劃又切分明確,則非常難以推進這樣的方案;

2. 高精度地圖
業界一直討論說特斯拉的自動駕駛方案多么牛,不用高精度地圖可以完成FSD,從這次AI DAY釋放的內容可以看出,其雖然沒有用業界認為的那種精確測量的高精度地圖,但實際感知算法中已經完成了眾包構圖的工作,有一個“中精度”地圖,而規劃中介紹的左轉case明顯也是有車道級“中精度”地圖的支撐。這就是馬斯克說的第一性原理,并不局限于“高精度”的概念爭辯,而是從原理出發,找到可行最優的解決方案。BTW,這也許就是為啥FSD在我國遲遲不OTA的原因,理論上FSD在大陸推出一定要等本土化數據中心落地,確保眾包構圖的數據存儲在本土不外流,否則國家信息安全法規可以直接將特斯拉掃地出門,而馬斯克眾生無法踏上這片熱土。

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP