什么樣的芯片,能幫自動駕駛汽車更好做出決策?
自 DARPA 挑戰(zhàn)賽以來,自動駕駛的規(guī)劃算法大量涌現(xiàn),但目前還沒有一種算法能夠覆蓋所有的場景。
在面對高速場景、低速場景、自動泊車場景、復(fù)雜動態(tài)的非結(jié)構(gòu)化道路場景,交通參與者密集場景等場景時,大多數(shù)自動駕駛系統(tǒng)會根據(jù)其模型最可能的場景來規(guī)劃運動,以確定周圍物體的作用。
目前大多數(shù)自動駕駛汽車能夠以 3 Hz 至 10 Hz 的速度運行運動規(guī)劃系統(tǒng),但這遠遠不夠。
美國杜克大學(xué)內(nèi)部孵化的公司 Realtime Robotics 能夠以 1000 Hz 運行,并行通過大量可能軌跡的數(shù)據(jù)網(wǎng)絡(luò),從而讓系統(tǒng)在更短時間內(nèi)考慮更多潛在結(jié)果,做出最佳決策。
這得益于他們專門為運動規(guī)劃定制的處理器,提高了運算效率。
Realtime Robotics 最初在桌面手臂機器人上做實驗,基于 FPGA 開發(fā)出了一種可快速進行機器人運動規(guī)劃的定制處理器,使運動規(guī)劃流程的速度提升了三個數(shù)量級,而使用的電量僅為之前的二十分之一。
現(xiàn)在,他們計劃把這種芯片運用在自動駕駛汽車上。
一
為什么要關(guān)注運動規(guī)劃芯片技術(shù)?
答案很簡單,它是自動駕駛汽車上的決策大師,會決定車輛下一步要做什么。
為這個決策過程加速不僅意味著車輛做起決定來更加雷厲風行,還意味著決策質(zhì)量的提高,并最終為車輛安全性添磚加瓦。
在這個無法預(yù)知的世界中,計算機是真正的“猜拳大師”,它非常擅長推測人類的下一步動作,尤其是在像公路這樣的半結(jié)構(gòu)化環(huán)境中。
在對非確定性物體(那些有獨立動作的物體)的動作進行預(yù)測時,大多數(shù)計算機用的是概率性模型。
舉例來說,大多數(shù)模型都會默認高速上的前方車輛會待在自己的車道里以相同的速度進行巡航,如果不打轉(zhuǎn)向,它變線的概率比較低,至于突然剎車的概率就更低。
大多數(shù)自動駕駛系統(tǒng)運動規(guī)劃主要靠存儲模型,而這些模型涵蓋了大多數(shù)大概率情況,如果不出意外,車輛周邊物體會遵循這些模型運動。
這些模型能為車輛提供信息級別,這樣一來系統(tǒng)就能根據(jù)該級別做出運動規(guī)劃。
舉例來說,當系統(tǒng)無法判斷下一步會發(fā)生什么時它就會選擇減速停車。
不過,這樣的規(guī)劃每次只能對應(yīng)一個場景,而非像奇異博士那樣一次看穿 14000605 種可能(包括那些低概率的可能)。
在理想化狀態(tài)下,自動駕駛系統(tǒng)確實應(yī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 秒之間,這個預(yù)先計算好的巨大圖表包含了所有車輛在無障礙環(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ā)生的還是會有差距,情況越復(fù)雜推測正確的難度就越大。重復(fù)執(zhí)行第三和第四步,不論是 10 遍還是 100 遍,你就能挑出可能性最高的情況,做出最有安全保證的運動規(guī)劃。
5、最后一步就是執(zhí)行運動規(guī)劃,或者更精確地說,告訴車輛下一步切入網(wǎng)格的哪個界限。
鑒于每個界限代表著車輛 1 秒鐘的行駛時間,而一個新的運動規(guī)劃每 10 毫秒就能完成計算和執(zhí)行。
因此,最后一步其實更像是每秒刷新 100 遍的運動規(guī)劃中的第一個動作。車輛可能會按這個規(guī)劃執(zhí)行,也可能轉(zhuǎn)投效果更好的新規(guī)劃(甚至是完全不同的)。
在這個無法預(yù)知的世界里,更快地運動規(guī)劃就意味著你的車輛能以最快的速度做出最佳決策。
這一切不只是要在短時間內(nèi)生成大量運動規(guī)劃,還與速度息息相關(guān),畢竟系統(tǒng)做運動規(guī)劃時,車輛可是在高速行駛的。
在 60 公里/小時的速度上,10 毫秒與 100 毫秒規(guī)劃速度之間能差出一米半的距離,這點距離足可以決定一個行人的生死。
在更快的速度和更加受限的環(huán)境中,例如高速公路上,系統(tǒng)可能要考慮更少的規(guī)劃以換取更快的速度,從而為車輛騰出更多的反應(yīng)空間。
在更復(fù)雜的環(huán)境中車輛速度較慢,系統(tǒng)就可以花更長的時間進行規(guī)劃以應(yīng)對不可預(yù)知的情況。
三
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)應(yīng)用在桌面手臂機器人上,在自動駕駛汽車上的應(yīng)用還處于模擬環(huán)境中 ,在真實交通環(huán)境中的表現(xiàn)如何,還有待進一步測試。
在這個以 AI 與傳感器為主要創(chuàng)新突破口的時代,Realtime 的芯片創(chuàng)新確實令人欣喜,下一步就看業(yè)界怎么用好這項技術(shù)了。