安全力場 (Safety Force Field , SFF) 是一種穩固可靠的駕駛策略,能夠分析並預測車輛所處環境。
自動駕駛實驗室
這是 NVIDIA DRIVE Labs 自動駕駛實驗室系列視頻的第八集,在上一集中我們介紹了 NVIDIA 如何借助高精度神經網絡 LaneNet DNN 預測車道線。在自動駕駛實驗室系列視頻中,我們將以工程技術為重點的視角關注實現自動駕駛汽車的各個挑戰以及 NVIDIA DRIVE AV 軟件團隊如何應對這些問題。
安全力場 SFF 如何保護車輛不受碰
NVIDIA 安全力場( SFF )軟件專為避免碰撞而設計。它好比一個獨立的監督員,對車輛主要規劃和控制系統的操作進行監督,既可以人為操作也可以自主運行。
具體而言, SFF 會對主要係統的控制決策進行實時復核。如果 SFF 判定控制操作不安全,它將否決並糾正主要係統的決策。
SFF 是經過驗證且安全的。就是說,如果所有道路參與者都遵守 SFF 規則,並且感知和車輛控制都在預先設計的範圍內運行,就能通過數學的方式證明 SFF 可實現零碰撞。
安全力場 SFF 如何運作
SFF 利用來自不同類型傳感器的感知數據,計算出一個基於物理的正向仿真,其中包含周圍交通環境中所有的感知對象。
SFF 通過正向計算為他們制定一個安全程序,即一條讓每個對像都能夠安全抵達目的地的軌道。例如,一個安全程序可以定義為車輛僅執行製動操作,另一個可以定義為車輛與交通方向保持一致進行轉向然後製動。
每個對像都會產生出一條運動軌跡,或者可以說,每個對像在執行一個安全程序時在物理層面都會佔據時空中的體積,我們稱之為車輛的“所有空間”。
在物理層面上,如果不同對象的所有空間有所重疊,那麼他們就有在未來某一時間同時佔有相同空間的風險,即發生碰撞。當所有空間發生重疊時, SFF 會立即命令這些對象採取行動來緩解危險情形,並為每個對象計算出最佳的實時控制指令。
為了針對每個對象制定“最佳”的控制指令, SFF 利用了一種叫做安全潛力的數學函數,該函數可以計算出給定情況的安全性數值。 SFF 針對各個對象所有空間的重疊進行擾動分析,以確定何種控制操作能夠避免碰撞,以及與基本的安全程序相比可以優化到何種程度。
圖:本車的所有空間(黃色)與左轉車輛的所有空間(粉色)有所重疊,且該車輛沒有適當為本車讓行,表明有發生碰撞的可能。本車中運行的 SFF 做出了製動決策以避免碰撞。
在所有的控制指令中, SFF 選擇了製動與轉向組合,該組合對主要係統所規劃的控制操作干擾最小,同時可以實現與安全程序一樣的安全性。
在運行過程中, SFF 可以將車輛轉向和製動操作相結合。當緊急制動無效時,轉向操作模仿了人類駕駛員正確的直覺,這一操作可將車輛帶到避免碰撞的範圍內。
SFF 會對車輛執行安全程序的情況進行仿真,而不是讓其以觀察得到的速度和加速度繼續前行。這是因為安全程序始終由安全允許的控制操作所定義。安全程序會一直進行正向仿真,直到場景中所有的對像都到達既定目的地。至此, SFF 可以保證不會發生任何碰撞。
縱向橫向因素均需考慮
SFF 正向仿真和碰撞核查是通過 GPU 計算加速在三維時間空間內進行的。 SFF 並沒有將這些操作根據縱向和橫向進行拆解,而是在 3D 的環境下運行,這就需要更高的計算能力。
綜合考慮縱向和橫向的因素是至關重要的。因為在現實世界的交通環境中,很多操作既不屬於完全的縱向也不屬於完全的橫向,綜合考慮可以讓駕駛變得更加安全(例如在擁擠的交通環境中變道)。
此外,在一些特定的實際場景中,比如缺少車道線標記和在停車場駕駛的情況下,我們甚至很難分辨出哪個方向為縱向。 SFF 獨特的地方之一就在於它能夠輕鬆處理這些複雜的駕駛場景。
針對車上的實際應用, SFF 還設定了安全程序預留空間。因為考慮到現實世界的反應時間,以及其他自動駕駛車輛軟件組件和子系統可能帶來的缺陷和延遲。