
自DARPA挑戰(zhàn)賽以來,自動駕駛的規(guī)劃算法大量涌現(xiàn),但目前還沒有一種算法能夠覆蓋所有的場景。
在面對高速場景、低速場景、自動泊車場景、復雜動態(tài)的非結(jié)構(gòu)化道路場景,交通參與者密集場景等場景時,大多數(shù)自動駕駛系統(tǒng)會根據(jù)其模型最可能的場景來規(guī)劃運動,以確定周圍物體的作用。
目前大多數(shù)自動駕駛汽車能夠以3 Hz至10 Hz的速度運行運動規(guī)劃系統(tǒng),但這遠遠不夠。
美國杜克大學內(nèi)部孵化的公司Realtime Robotics能夠以1000 Hz運行,并行通過大量可能軌跡的數(shù)據(jù)網(wǎng)絡,從而讓系統(tǒng)在更短時間內(nèi)考慮更多潛在結(jié)果,做出最佳決策。
這得益于他們專門為運動規(guī)劃定制的處理器,提高了運算效率。
Realtime Robotics最初在桌面手臂機器人上做實驗,基于FPGA開發(fā)出了一種可快速進行機器人運動規(guī)劃的定制處理器,使運動規(guī)劃流程的速度提升了三個數(shù)量級,而使用的電量僅為之前的二十分之一。
現(xiàn)在,他們計劃把這種芯片運用在自動駕駛汽車上。

一
為什么要關(guān)注運動規(guī)劃芯片技術(shù)?
答案很簡單,它是自動駕駛汽車上的決策大師,會決定車輛下一步要做什么。
為這個決策過程加速不僅意味著車輛做起決定來更加雷厲風行,還意味著決策質(zhì)量的提高,并最終為車輛安全性添磚加瓦。
在這個無法預知的世界中,計算機是真正的“猜拳大師”,它非常擅長推測人類的下一步動作,尤其是在像公路這樣的半結(jié)構(gòu)化環(huán)境中。
在對非確定性物體(那些有獨立動作的物體)的動作進行預測時,大多數(shù)計算機用的是概率性模型。
舉例來說,大多數(shù)模型都會默認高速上的前方車輛會待在自己的車道里以相同的速度進行巡航,如果不打轉(zhuǎn)向,它變線的概率比較低,至于突然剎車的概率就更低。
大多數(shù)自動駕駛系統(tǒng)運動規(guī)劃主要靠存儲模型,而這些模型涵蓋了大多數(shù)大概率情況,如果不出意外,車輛周邊物體會遵循這些模型運動。
這些模型能為車輛提供信息級別,這樣一來系統(tǒng)就能根據(jù)該級別做出運動規(guī)劃。
舉例來說,當系統(tǒng)無法判斷下一步會發(fā)生什么時它就會選擇減速停車。
不過,這樣的規(guī)劃每次只能對應一個場景,而非像奇異博士那樣一次看穿14000605種可能(包括那些低概率的可能)。
在理想化狀態(tài)下,自動駕駛系統(tǒng)確實應該一次看穿所有可能并做出那個最優(yōu)抉擇以便讓車輛保持最佳狀態(tài)。
可惜,大多數(shù)自動駕駛系統(tǒng)所用的芯片都“智商”不夠用,它們每次只能處理一個運動規(guī)劃,速率介于3 Hz與10 Hz之間。
Realtime Robotics的技術(shù)就強大得多,它能一次做出數(shù)十甚至數(shù)百個運動規(guī)劃,每個運動耗時還不到1毫秒,也就是說Realtime Robotics的運動規(guī)劃速率為1000 Hz。
有了這項技術(shù),系統(tǒng)就能在更短時間里考慮更多可能并從中找出最佳決策。

Realtime Robotics在搭建車輛運動規(guī)劃系統(tǒng)時第一個用到的是網(wǎng)格,整個過程在5-10秒之間,這個預先計算好的巨大圖表包含了所有車輛在無障礙環(huán)境下的不同軌跡。
除此之外,網(wǎng)格還包含了節(jié)點與界限:
其中節(jié)點指的是特定車輛構(gòu)型(比如位置、速度和行駛方向),而界限則連接了節(jié)點并代表著1秒之內(nèi)這些構(gòu)型間的軌跡。
在這個網(wǎng)格上有數(shù)不清的界限,它反映了網(wǎng)格涵蓋的完整時間線上構(gòu)型狀態(tài)間的所有可能。
每個界限都有自己的“代價”,比如燃料消耗或乘客舒適度,其中“代價”最低的界限即是最高效也最平緩的動作。
二
在每個規(guī)劃區(qū)間(約為每10毫秒)內(nèi),Realtime的芯片用了如下步進順序來完成運動規(guī)劃:
1、將來自攝像頭、雷達、激光雷達和其它傳感器的感知數(shù)據(jù)灌入自動駕駛系統(tǒng),系統(tǒng)用這些數(shù)據(jù)來識別靜止障礙物(例如建筑物和樹木)、可確定的移動障礙(比如足球)和那些非確定的移動物體(比如其他車輛、行人和自行車等)。
帶有靜止和可確定障礙物(在模型中會被看做大號的靜止物體)地理位置的感知數(shù)據(jù)會下沉入網(wǎng)格,而那些與障礙物相交的界限“代價”很高,因為你可不想讓自己的車跟在這些障礙物屁股后。
2、至于那些非確定性的障礙物,系統(tǒng)就必須進行有根據(jù)的推測,判斷它們在規(guī)劃時間間隔中會遵循什么軌跡。
目前已經(jīng)有許多研究人員在這個問題上花了大量時間,因此相關(guān)的模型并不少。系統(tǒng)會根據(jù)這些模型做出推測,在模型中將非確定性障礙視作靜止物體,并對網(wǎng)格界限進行升級。
3、網(wǎng)格中“吸附”了所有障礙物數(shù)據(jù)后,真正的運動規(guī)劃就要開始了。這時,Realtime Robotics的定制化硬件會正式登場,其核心秘方是FPGA芯片,它能在硬件中完成網(wǎng)格數(shù)據(jù)的編碼,隨后穿過網(wǎng)格界限(大多數(shù)是平行的)以找尋那個“代價”最低的路徑。
硬件的平行性讓運動規(guī)劃步驟變得異常迅速,不到一毫秒就能生成一個規(guī)劃。此外,如果你想擴大規(guī)模,直接添加更多硬件就行。
4、這時,你從Realtime系統(tǒng)中拿到的運動規(guī)劃已經(jīng)完全可以和其他系統(tǒng)平起平坐了。它們的不同在于Realtime的系統(tǒng)比競品快了一到兩個數(shù)量級,這也意味著它能直接繞回第三步,然后用稍有不同的推測重新將這個過程走一遍,以便猜測非確定的移動障礙物下一步會有什么動作。
鑒于大多數(shù)模型只做概率性的推測,因此它們對未來的判斷只能算很有可能,與真實發(fā)生的還是會有差距,情況越復雜推測正確的難度就越大。重復執(zhí)行第三和第四步,不論是10遍還是100遍,你就能挑出可能性最高的情況,做出最有安全保證的運動規(guī)劃。
5、最后一步就是執(zhí)行運動規(guī)劃,或者更精確地說,告訴車輛下一步切入網(wǎng)格的哪個界限。
鑒于每個界限代表著車輛1秒鐘的行駛時間,而一個新的運動規(guī)劃每10毫秒就能完成計算和執(zhí)行。
因此,最后一步其實更像是每秒刷新100遍的運動規(guī)劃中的第一個動作。車輛可能會按這個規(guī)劃執(zhí)行,也可能轉(zhuǎn)投效果更好的新規(guī)劃(甚至是完全不同的)。
在這個無法預知的世界里,更快地運動規(guī)劃就意味著你的車輛能以最快的速度做出最佳決策。
這一切不只是要在短時間內(nèi)生成大量運動規(guī)劃,還與速度息息相關(guān),畢竟系統(tǒng)做運動規(guī)劃時,車輛可是在高速行駛的。
在60公里/小時的速度上,10毫秒與100毫秒規(guī)劃速度之間能差出一米半的距離,這點距離足可以決定一個行人的生死。
在更快的速度和更加受限的環(huán)境中,例如高速公路上,系統(tǒng)可能要考慮更少的規(guī)劃以換取更快的速度,從而為車輛騰出更多的反應空間。
在更復雜的環(huán)境中車輛速度較慢,系統(tǒng)就可以花更長的時間進行規(guī)劃以應對不可預知的情況。
三
Realtime已經(jīng)在模擬環(huán)境中做了大量測試,視頻中列舉了在兩個場景下,這一系統(tǒng)被證明安全性顯著提高:
1騎自行車者(沒有通行權(quán))穿過一個十字路口

一個騎自行車的人在一輛車的遮擋下,違規(guī)通過十字路口。
通過模擬不同車速,自行車速度和自行車穿越時間下,以目前自動駕駛做決策的平均速度10Hz為例,會有6.25%的幾率發(fā)生碰撞;而在Realtime系統(tǒng)1000Hz下碰撞不會發(fā)生。
2行人突然從停放的汽車后面出現(xiàn)

行人突然從停放的汽車后面出現(xiàn),從感知到做出決策的時間很短,通過不同車速和行人移動速度的不同組合測試,發(fā)現(xiàn)按照一般決策系統(tǒng)處理的速度22%的幾率會擊中行人,而更快決策速度下,可以避免此事故。
毫無疑問,計算的速度當然是越快越好。
目前,Realtime Robotics的芯片已經(jīng)應用在桌面手臂機器人上,在自動駕駛汽車上的應用還處于模擬環(huán)境中,在真實交通環(huán)境中的表現(xiàn)如何,還有待進一步測試。
在這個以AI與傳感器為主要創(chuàng)新突破口的時代,Realtime的芯片創(chuàng)新確實令人欣喜,下一步就看業(yè)界怎么用好這項技術(shù)了。