通過基於搜索的過程內容生成進行自動測試無人駕駛汽車

2021-02-16 慕測科技

摘要

自動駕駛汽車依賴於需要進行全面測試的軟體。在真實交通中測試自動駕駛汽車軟體不僅昂貴,而且危險,已經造成了死亡。與自然主義現場操作測試相比,虛擬測試可在計算機仿真中對自動駕駛汽車軟體進行測試,從而提供了一種更有效,更安全的選擇。但是,創建合適的測試方案既費力又困難。在本文中,我們結合了過程內容生成(一種現代視頻遊戲中常用的技術)和基於搜索的測試(一種已在許多領域證明有效的測試技術),以便自動創建具有挑戰性的虛擬場景來測試自動駕駛汽車軟體。我們的 AsFault 原型採用這種方法來生成用於測試車道保持性的虛擬道路,這是自動駕駛的定義特徵之一。對兩種不同的自動駕駛汽車軟體系統的評估表明,AsFault 可以生成有效的虛擬道路網絡,從而成功地揭示出軟體故障,這些故障表現為汽車駛離了車道。與隨機測試相比,AsFault 不僅效率更高,而且引起的車道偏離多達兩倍。

1 引言

最近,自動駕駛已成為該行業的重要組成部分,專家預測這將對社會產生深遠影響,特別是通過提高安全性。但是,情況還不是這樣:即使 Waymo-Google,Tesla 或 Uber 等著名公司的原型已經達到了很高的自治度,並且可以駕馭日常的城市交通,但是仍然會導致撞車甚至致命事故。顯然,自動駕駛汽車軟體需要進行更好的測試,但是尚無標準化的程序來測試自動駕駛汽車,而且傳統汽車的測試方法和傳統軟體測試方法都無法很好地轉化到自動駕駛汽車的領域。一種常見的方法是在自然的現場操作測試(N-FOT)中進行,該測試在現實世界中對自動駕駛汽車進行了試驗,但這不僅昂貴且危險,而且效果有限。

虛擬測試是測試自動駕駛汽車軟體的一種更有效、風險更低的替代方法。虛擬測試遵循 X-in-the-loop 範式,並通過向自動駕駛汽車軟體提供模擬的感官數據,合成圖像或抽象測試場景來測試自動駕駛汽車軟體。通常,這些方法需要實現自動駕駛汽車及其傳感器的硬體模型。一種更通用的方法是生成整個數字現實,即虛擬世界,在其中部署自動駕駛汽車軟體。產生用於測試自動駕駛汽車軟體的虛擬環境面臨兩個主要技術挑戰:(i)產生環境要素,例如地形,天氣,道路;(ii)將它們組合成可實現相關測試用例的模擬,即對自動駕駛汽車軟體提出挑戰的測試用例,因此有可能暴露其實現中的問題。

為了應對這些挑戰,我們提出了一種系統地測試自動駕駛汽車軟體的方法,該方法結合了(1)程序內容生成(PCG)和(2)基於搜索的測試(SBST)。PCG 是現代視頻遊戲的核心元素,可以自動創建逼真的虛擬環境。SBST 描述了使用有效的元啟發式搜索算法來生成實現測試目標(例如實現覆蓋率或發現故障)的程序輸入。PCG 和 SBST 以前已經進行了組合,例如,通過從玩遊戲的用戶那裡收集的反饋來生成新的遊戲元素。在賽車遊戲方面,Loiacono 等人使用通用算法來創建具有各種轉彎和速度曲線的賽道,以增加玩家的娛樂性;而 Georgiou 等人則根據玩家的生物特徵反饋(例如視線和動作)自動生成具有挑戰性的賽道。相反,在本文中,我們將它們結合起來以系統地創建虛擬測試,從而有效地揭示自動駕駛汽車軟體中的問題。特別是,我們的 AsFault 原型針對自動駕駛汽車的車道保持功能。

根據 SAE International 的規定,行車道保持是自動駕駛的基本特徵,無論天氣情況或道路形狀如何,無人駕駛汽車都應能夠始終在車道內行駛。為了測試行車道保持性,AsFault 使用遺傳算法將虛擬路網迭代優化為那些導致被測自動駕駛汽車軟體(即自動車)從車道中心移開的虛擬路網。最終,AsFault 會生成虛擬道路,從而導致自駕車駛離車道。圖 1 顯示了一個由 AsFault 生成的道路網絡的示例,該網絡導致自駕車三度駛離車道。

圖 1:AsFault 生成的測試用例示例

詳細而言,本文的貢獻如下:

我們引入了一種基於過程內容生成的方法來生成虛擬道路網絡(第 3 節)。

我們引入了一種基於搜索的方法,以使虛擬道路網絡朝著導致自駕車離開道路的關鍵安全場景發展(第 4 節)。

我們在兩個自動駕駛汽車軟體系統上評估了我們的 AsFault 原型實現(第 5 節)。

我們的廣泛評估包括對兩個測試對象執行超過 160,000 個虛擬測試,表明 AsFault 有效地生成了虛擬道路,該虛擬道路總是導致電動汽車在各種情況下駛離車道。與隨機測試相比,AsFault 不僅速度更快,而且生成的測試套件更為有效,與我們的測試對象之一的隨機測試相比,其引起的異常發作(OBE)的發生率高出兩倍。

2 道路網絡的程序生成

生成道路網絡的目的是根據折線精確描述道路及其車道的結構和幾何形狀(第 3.1 節)。我們使用增量方法生成這些路段:首先,通過程序化生成路段(第 3.2 節)並將路段密封在一起以確保暢通無阻的路段(第 3.3 節)來隔離道路。道路路段是根據預定義的參數化類型建模的,例如「30m 長的直線路段」,「20º 左轉」等,而道路是從地圖的起點發展而來的連續道路路段的序列。然後,我們在相同的地圖上將道路合併在一起以形成道路網(第 3.4 節)。

2.1 將道路表示為折線

折線是離散的點序列,它們定義了二維形狀的邊界,即我們工作中的車道,並且是許多遊戲引擎,駕駛模擬器和地理信息系統使用的道路的基本幾何表示。圖 2 顯示了一個以一組折線表示的路段示例,這些折線定義了它的五個車道中的每條車道(在道路主幹 SP 的左側為三個,在其右側為兩個),以及該路段的外部邊緣(即 LE 和 REs)。基於折線的道路表示簡化了渲染和操縱道路的常見操作的實現,並簡化了對其幾何特性(例如,自相交,部分重疊)的檢查。考慮到折線的本質是離散的,折線的精度不如迴旋曲線等其他幾何構造。儘管如此,正如 Althoff 等舉例說明,在自動駕駛汽車軟體的驗證中,使用基於折線的道路表示具有與其他格式(例如基於迴旋線的 OpenDrive)相當的表達能力。

圖 2:以多段線表示的多車道路段示例。

2.2 生成路段

程序性生成道路時的基本活動是創建路段,我們將其定義如下:對於路段 s,(a)我們從路的起點 IP 構造其後沿(Bs)。脊柱 SP;Bs 是定義道路段起點的邊緣,並且包含定義車道的折線的起始點。(b)通過對所有 Bs 點應用仿射變換來構建路段前線(Fs);我們通過平移生成直線路段,並通過額外旋轉生成轉彎路段。(c)通過插值計算車道折線的所有內部點的位置;最後,(d)獲得路段車道的幾何表示。

2.3 生成道路

程序是通過將一個路段縫合到下一個路段來生成的。要構建無間隙的道路,我們限制道路段的生成,以使用道路段的前線作為下一條的後線。

在車道保持測試的背景下,為了避免使用不可能的道路配置來測試自動駕駛汽車軟體,程序性道路生成必須確保僅生成有效道路。在這項工作中,我們將有效的道路定義為不僅暢通無阻而且不會自相交的道路。此外,為了適應當前無法在極長距離上準確模擬物理並且通常根據地圖進行推理的駕駛模擬器的功能,我們通過檢查道路來限制程序道路生成以在固定尺寸地圖的邊界內生成道路在地圖邊界上開始和結束。

給定一系列路段和道路在地圖邊界上的初始位置,我們按如下程序生成道路:(a)從地圖邊界上的給定初始位置向在地圖的內部,以確保通過構造確保定義了第一條反向線的方向。(b)接下來,我們如上所述生成後續的路段,並檢查到目前為止生成的道路是否有效。如果道路變得無效(例如由於自身相交),則道路生成會失敗;否則,我們將繼續開發下一個路段。(c)最後,在生成所有路段之後,我們檢查該路段是否有效,即它是否越過地圖邊界;否則,道路生成將失敗。

2.4 生成路網

為了通過程序生成道路網絡,我們生成道路並將其放置在同一地圖上。和以前一樣,我們需要確保結果配置有效,否則我們將無法生成路網。

我們將有效道路網絡定義為僅包含有效相交道路的網絡,即它們包含其中心折線(SP)至少相交一次的有效道路。另外,為了確保在給定道路網絡的情況下可以以所有可能的方式測試車道保持性,我們要求有效的道路網絡應允許汽車從任意兩個路段行駛。

3 基於搜索的車道保持測試3.1 概述

AsFault 使用遺傳算法來開發道路網絡,目的是發現自動駕駛汽車的車道保持功能中的錯誤。遺傳算法使用隨機道路網絡的初始種群進行初始化。為了評估測試用例的適用性,將道路網絡實例化為駕駛模擬,在這種駕駛模擬中,指示自駕車沿著由 AsFault 選擇的導航路逕到達目標位置。在仿真過程中,AsFault 會定期跟蹤自我汽車的位置,以便能夠識別出超出範圍的事件(物體),即車道偏離。車道中心與自我車位置之間的距離用於計算個人的適應度。這通過重組和變異道路網絡來指導遺傳算法發展測試用例。該算法將繼續執行和演變測試用例,直到滿足用戶定義的結束條件為止,此時 AsFault 返回最終的測試套件並停止。

3.2 表示

道路網絡使用可操作的編碼表示,與折線相比,它更適合於自動發展道路網絡。編碼由將道路網絡與道路以及道路與路段相關聯的分層數據結構組成。這使 AsFault 可以在需要時自動生成道路的折線。除道路網外,測試案例還需要定義自駕車的駕駛任務。在保持車道的情況下,這基本上對應於沿著給定的導航路逕行駛通過道路網絡的任務。有效的測試要求沿道路可以導航,這是我們程序性道路網絡生成為其所生成的所有道路網絡保證的屬性。AsFault 通過以下方式識別此類導航路徑:(i)建立道路網絡的圖形表示,其中邊建模道路段,節點建模道路交叉點(內部節點)或道路與地圖邊界之間的交叉點(源節點和目標節點),並且(ii)選擇在隨機選擇的源節點和目標節點之間的導航路徑。這樣做時,AsFault 依賴於這樣的事實,即道路網絡可以在任意兩個路段之間行駛,從而產生完全連接的圖形。

儘管有這種簡化,但選擇導航路徑並非易事。一方面,源節點和目標節點之間可能存在大量可能的路徑(如果從道路網絡得出的圖形包含循環,則可能是無限的);另一方面,同一網絡中的不同路徑可能對應於具有非常不同的幾何特性並可能以不同方式對自駕車施加壓力的道路。例如,為了增加觀察多個 OBE 的機會,測試自動車的道路不應太短,並且不同的路徑應導致幾何形狀不同的道路。另外,為了避免使自我車受到相同的刺激,一條路徑不應比必要時更頻繁地穿越相同種類的路段。

由於一般無法有效地計算出路徑選擇問題的解析解,AsFault 採用了一種啟發式方法,旨在最大程度地提高測試執行過程中穿越的道路網絡的數量,同時保持路徑選擇的快速性,儘管它非常複雜。特別是,在給定道路網絡 AsFault 的情況下,首先,隨機採樣給定源節點和目標節點之間的一組簡單路徑 1;然後,在其中選擇最長的導航路徑。在 AsFault 的上下文中,最長的導航路徑對應於包含採樣路段中路段數量最多的路段。

3.3 測試的實施和執行

將測試的基因型表示轉換為駕駛模擬是過程內容生成的地方。AsFault 使用代碼模板生成必要的仿真代碼,該代碼從折線實例化行駛仿真中的虛擬道路,將自駕車放置在預期的起始位置,並指示自駕車如何到達目標位置。自我 carthen 沿著選擇的導航路徑沿著虛擬道路行駛。

仿真代碼還包含超時邏輯,該超時邏輯會使測試執行失敗,並且如果自駕車無法足夠快地到達目標位置,則暫停仿真。AsFault 根據到達導航路徑末端的行進距離和最小恆定巡航速度(即 1m/s)計算超時值。

準備好模擬代碼後,AsFault 會生成駕駛模擬器並通過以恆定速率(即每 250 毫秒)對轎廂位置進行採樣來觀察自我轎廂的駕駛行為。樣本被存儲到一條軌跡中,該軌跡使 AsFault 能夠通過查找觀察序列來識別 obe 的發生,這些觀測序列的記錄的自我汽車位置與車道中心之間的距離大於車道寬度的一半。圖 1 以圖形方式說明了在實驗評估期間 AsFault 識別出的幾次 obe 出現時的這些概念。

AsFault 以質心表示模擬汽車,因此,只有當足夠多的自我汽車超出車道時,才能識別出 OBE;因此,AsFault 無法識別非常小的違規行為。擴展 AsFault 在檢查 obe 的同時考慮自我車的邊界框是一項工程上的工作,它不會影響該方法的通用性,而只會影響其精度。

AsFault 脫機檢查跟蹤;因此,它不會在觀察到第一次請求後停止測試執行。取而代之的是,測試將繼續進行,直到自主汽車在給定的超時時間內到達目標位置或超時觸發為止。AsFault 採取這種策略來平衡運行昂貴的計算機仿真的成本,並在同一測試執行的背景下收集儘可能多的 obe 實例,從而達到平衡的目的。AsFault 不僅使用執行跟蹤來計算自我汽車駛出車道的次數,還用於評估測試的適用性,這些測試將指導我們在下一節中描述的演變過程。

3.4 適應度函數

在保持車道的情況下,有效的測試是那些導致自動駕駛汽車軟體超出車道界限,即導致 OBE 的測試。因此,AsFault 使用 DLANE(方程式 1)作為適應度函數,該函數對那些導致自駕車最遠離車道中心的測試進行獎勵。給定一個測試(T),定義它的導航路徑(PT)以及在執行期間收集的執行跟蹤(v=(v1,...,vn)),我們將 DLANE 定義為:

其中 D(•,PT)是點(•)到路徑 PT 中車道中心的最短距離,而 WLANE 是該車道的寬度。

DLANE 捕捉到直覺,即導致自駕車駛離車道中心的測試可能包含路段,這些路段給自動駕駛汽車軟體帶來更大壓力,最終導致自駕車駛離道路。AsFault 在 OBE 是例外而不是規則的假設下工作。在此假設下,使用到車道中心的平均距離可以消除並有效地過濾出越界事件;因此,我們選擇到車道中心的距離的最大值來定義 DLANE。另外,為了促進在導致 OBE 的測試套件中生成更多測試,而不是生成試圖暴露更多極端問題的測試,我們將 DLANE 的價值限制為 WLANE/2,以實現其目的。

3.5 搜索算子

AsFault 通過應用搜索算子來發展道路網絡,該搜索算子會根據可配置的概率對道路和道路網絡進行變異和重組。

AsFault 通過將道路段隨機替換為新的道路段來改變道路,而它使用聯接交叉算子重新組合道路。合併交叉算子在隨機點將道路與父級道路網分開,然後重新合併改組後的路段,以使後代道路網中沒有兩個路段來自同一父級道路網;值得注意的是,該搜索算子不會更改道路網絡中的道路數量。為了生成其中具有不同道路的道路網絡,AsFault 使用合併交叉算子,該算子從父道路網絡中選擇隨機的,可能為空的道路子集,然後將其重新分配給它們的後代。

這些搜索算子可能會產生無效的道路配置。例如,在改變道路或應用交叉路口後,道路可能會自相交或不再與地圖邊界相交;同樣,應用合併後,交叉路口可能會部分重疊。當檢測到這種情況時,AsFault 會以放棄的概率重試同一搜索運算符的應用,而每次嘗試失敗的概率都會增加。這樣,AsFault 可以確保快速找到有效配置,或者中止整個搜索操作,以便測試生成過程可以繼續。搜索運算符的應用效率很高,並且可以在很短的時間內生成許多不同的配置。因此,我們更喜歡「生成和驗證」配置,而不是使用約束求解器來生成有效的配置。我們將研究在將來的工作中使用約束條件生成有效道路的情況。

對道路網絡進行突變和重組也可能會生成類似的測試,即在具有相似幾何特性的導航路徑上定義的測試。我們期望類似的測試以類似的方式強調車道保持;因此,執行這些測試不太可能提供有關車道保持行為的任何其他信息,而這會大大減慢生成過程的速度。因此,為了提高測試生成的效率,AsFault 在執行之前先識別並過濾掉相似的測試。我們的期望基於以下事實:AsFault 是黑盒子且是隨機的,因此,它不能依靠有關被測系統內部的信息來系統地指導搜索,以在眾多類似的測試中識別出極少數的對抗性測試。可以通過變異和交叉產生。

AsFault 通過路段的 Jaccard 索引來計算測試之間的相似度。形式上,給定測試 T1 和 T2,我們通過等式 2 定義它們的相似性:

其中 CTi 是指給定大小的連續路段的序列。相似度值接近 1 表示測試包含許多常見的路段子序列,而相似值接近 0 則表明測試在許多方面有所不同。

由於篩選出無效和相似的測試用例,新一代的後代數量可能少於配置的種群數量。在這種情況下,AsFault 會用前一個最合適的人來填充新的一代,然後繼續執行該過程,只執行新生成的測試。

4 評估

為了評估使用程序內容生成來測試車道保持系統的好處,並了解 AsFault 的主要配置參數如何影響測試生成過程及其生成的測試的質量,我們調查以下主要研究問題:

RQ1 我們可以通過程序生成道路來揭露車道保持系統中的安全關鍵問題嗎?據我們所知,我們是第一個使用程序化道路生成來測試車道保持系統的公司。因此,我們有興趣了解這是否會導致有效的測試。

RQ2 基於搜索的測試是否可以通過過程內容生成來提高測試的有效性?使用搜索生成道路網絡比隨機生成道路網絡更為複雜。這就提出了一個問題,即使用遺傳算法是否比隨機生成測試導致更多 OBE。

5.1 實驗設置

為了解決研究問題,我們在原型中實施了 AsFault,並通過在運行 Windows 10 並配備 AMD Ryzen 7 1700X 8-的商用「遊戲」PC 上執行 AsFault 和駕駛模擬器來進行了大量實驗。核心 CPU(3.4GHz),64GB 內存和 NVIDIA Geforce GTX 1080 GPU。

駕駛模擬器。在當前的實現中,AsFault 依賴於最新的駕駛模擬器 BeamNG.research,這是商業遊戲 BeamNG.drive 的可免費獲取的面向研究的版本。我們選擇 BeamNG.research 主要有兩個原因:首先,BeamNG.research 公開了直觀的 API,用於以編程方式配置虛擬道路和控制模擬,其他模擬器目前未提供;其次,它具有非常精確的駕駛物理引擎。

實驗設計。儘管我們可以生成每個交通方向具有多個車道的道路,但我們將程序化道路生成配置為僅生成每個交通方向具有一個車道的道路。我們將 AsFault 配置為在小地圖(1Km2)和大地圖(4Km2)上生成單路和多路網絡。此外,當對成對的路段計算出的相似度值等於或大於 0.9 時,我們將 AsFault 配置為過濾相似的測試用例。為了生成單路網絡,AsFault 始終使用聯接交叉算子,而多路網絡則以相等的概率(50%)選擇聯接或交叉。在這兩種情況下,AsFault 都會突變後代的機會為 5%。

5.2 測試對象

我們考慮了兩個測試對象,它們都實現了所有必要的功能,以自動駕駛自我車並在車道上行駛。

BeamNG.AI。BeamNG.research 附帶了一個駕駛 AI,我們稱之為 BeamNG.AI。它具有虛擬道路的完美知識,並通過計算一條理想的行駛軌跡以保持在車道中央來駕駛自駕車。然後,它得出遵循該軌跡的實際駕駛動作(即加速,制動和轉向)。

深度駕駛。DeepDriving 是 Chen 等人開發的基於視覺的自動駕駛汽車軟體。在本次評估中,我們使用了基於 A. Netzeband 提供的 TensorFlow2 的 DeepDriving 開源實現,並通過包括模仿當前自動駕駛汽車設置的安全邏輯對其進行了擴展。我們的擴展程序監視 DeepDriving 預測的質量,並在 DeepDriving 的預測質量不令人滿意時取消接合。此時,對自駕車的控制權將傳遞給 BeamNG.AI,直到 DeepDriving 預測的質量恢復到可接受的值,並且自駕車重新獲得車道的中心。

5.3 RQ1

為了回答第一個研究問題,我們以程序方式隨機生成了單路道路網,並將其用於測試 BeamNG.AI 和 DeepDriving。特別是,為了測試 BeamNG.AI,我們進化了 25 個人的種群,使用了大地圖,並在 24 小時後停止了生成;我們重複此實驗 n=40 次。在每個實驗的最後,AsFault 生成了包含最佳 25 個測試的測試套件。

DeepDriving 要求以同步模式運行仿真,以適當控制自我車。這比我們用來測試 BeamNG.AI 的設置要慢得多,因此,為了減少運行實驗的執行時間,我們減少了每次迭代執行的測試數量。因此,為了測試 DeepDriving,我們使用小地圖生成了由 20 個測試組成的測試套件。我們重複此實驗 n=10 次。此外,我們將發電預算限制為 5 個小時,因為在測試 BeamNG.AI 時收集的經驗證據表明,大約在那時,AsFault 會聚並在此之後才有所改善。

圖 3 和圖 4 繪製了由最佳隨機生成的測試套件在「隨機單路大地圖」和「隨機單路小地圖」標籤下標識的總 OBE 量。從結果中我們觀察到,在執行開始時,以程序方式有效生成道路就可以在兩個測試對象中引起大量 OBE。例如,在第一個小時之後,Random 在 BeamNG.AI 中平均造成 21.4OBE,而在 DeepDriving 中造成 13.6OBE。隨著測試生成的進行,Random 繼續導致更多的 OBE,並且在執行結束時,它在 BeamNG.AI 中平均造成 29.1OBE,而在 DeepDriving 中平均造成 18.1OBE。這些結果使我們得出以下結論:在我們的實驗中,程序生成的道路網絡在兩個測試對象中平均發現了 29 和 18OBE。

圖 3:測試套件的有效性— BeamNG.AI 圖 4:測試套件的有效性-DeepDriving

5.4 RQ2

為了回答第二個研究問題,我們將 AsFault 配置為在大地圖上生成單路道路網絡。和以前一樣,為了測試 BeamNG.AI,我們使用大型地圖和 24 小時的生成預算來演化由 25 個個體組成的種群,並重複進行 40 次實驗。為了測試 DeepDriving,我們使用小地圖和 5 個小時的生成預算演化了 20 個人的種群,並重複了 10 次實驗。

比較圖 3 中「AsFault 單路大地圖」和「Random 單路大地圖」標籤下的結果,我們觀察到在整個生成中,AsFault 在 BeamNG.AI 上產生的 OBE 要多於 Random(1 小時後,Aˆ12 的範圍為 0.85),則在 24 小時後變為 0.96,並且 p 始終小於 0.005)。

我們還觀察到,AsFault 識別出的 OBE 數量從 1 小時後的平均數量 30.1OBE 迅速增加到 3 小時後的平均數量 42.1,然後穩定到 24 小時後達到平均數量 47.5OBE。與此相比,Random 達到的測試效果從 1 小時後的平均 21.4OBE 增加到 3 小時後的平均 25.2OBE,而緩慢增加。此外,在觀察期內,Random 沒有趕上 AsFault,在 24 點之後,它發現的平均 OBE 數為 29.1。

圖 4 中報告的結果對於 DeepDriving 也顯示了類似的趨勢。在這種情況下,AsFault 總是比 Random 引起更多的 OBE,並且由兩種技術引起的 OBE 數量之間的差異隨著執行時間的增加而增加。在 1 到 5 小時之間,由 AsFault 引起的 OBE 平均數幾乎翻了一番,從 16.9 增加到 36,同期由 Random 引起的 OBE 平均數僅略有增加,從 13.6 上升到 18(Aˆ12 從 0.68 增加設為 1,而 p 值從 0.18 降至小於 0.005)。根據這些結果,我們得出以下結論:在我們的實驗中,遺傳算法平均發現 47.5 和 36 個 OBE,是隨機搜索的 obe 的兩倍。

7 結論與未來工作

基於模擬的測試已經成為通過 N-FOT 進行自動駕駛汽車測試的危險和昂貴實踐的替代方法。然而,基於仿真的測試面臨著系統化生成測試的主要挑戰,這些測試將自動駕駛汽車的安全關鍵行為暴露在眾多可以模擬的駕駛場景中。

在本文中,我們介紹了 AsFault,這是一種系統測試車道保持系統的新穎方法。AsFault 通過將基於搜索的測試與程序內容的生成相結合來生成虛擬道路,從而導致自動駕駛汽車偏離其車道,從而解決了基於模擬的測試所面臨的挑戰。我們的廣泛評估表明,AsFault 可以生成有效的測試套件,並在許多配置中暴露與車道保持相關的許多安全關鍵問題。

儘管 AsFault 取得了積極的成果,但我們將程序內容生成與基於搜索的測試相結合來測試自動駕駛汽車的工作仍處於初步階段;因此,我們計劃在將來解決該研究的一些相關方面。我們正在進行的工作包括(i)擴展道路生成算法,以生成具有變化的車道和寬度的道路,該道路遵循高地和低地地形;(ii)利用現有的地形和真實的道路作為一代的種子;(iii)擴大測試生成算法的範圍,以在道路上生成障礙物和交通;(iv)擴展程序內容生成算法以生成更現實的虛擬環境,可能從現實世界中收集的數據中汲取靈感;(v)研究替代的基於搜索的技術,例如新穎性搜索,以生成有效的基於模擬的測試。

將來,我們還計劃通過使用替代模型和機器學習組件來提高測試生成的效率,並將 AsFault 擴展到具有多目標適應性功能的功能,該功能可以捕獲駕駛的其他方面,例如乘客的舒適度,此外安全。

致謝

本文由南京大學軟體學院 iSE 實驗室 2020 級碩士生惲葉霄翻譯轉述。

相關焦點

  • 蘇州相城區發布智能駕駛「上路計劃」,福特開放自動駕駛汽車數據集
    豐田表示,該項目將對車企和用戶開放共同的資料庫,每個人都可以在資料庫中安全地寫入和共享數據,這些數據包括自動駕駛汽車的測試和駕駛記錄數據,以及自動駕駛共享出行的用戶們的使用數據等,以此實現的應用包括為自動駕駛汽車行業保險定價等。
  • 劉盛翔:百度Apollo自動駕駛測試技術與實踐
    其中,在10月21日舉辦的「智能汽車產業鏈安全與技術創新」專題論壇上,百度自動駕駛測試負責人、高級技術經理劉盛翔發表了核心為《百度Apollo自動駕駛測試技術與實踐》的精彩演講。以下內容為現場演講實錄:
  • 人工智慧測試:關於無人車測試的案例研究
    而當今的無人駕駛車輛智能測試都對任務進行了明確的界定;其二,早期圖靈測試有人來判定測試結果,而為了檢驗無人駕駛車輛的識別算法是否通過各種可能場景的測試,我們必須使用機器來幫助判定數以萬記的測試任務是否通過。總之,我們需要建立一系列的可以量化的測試任務,這是智能性測試最根本的基礎。3.1.2.
  • 「無人駕駛」:4D成像毫米波雷達將掀起「革命」?蘋果自動駕駛汽車...
    這次破冰,意味著在汽車核心零部件領域,中國毫米波雷達公司的研發實力和測試驗證能力,獲得國際同行的認可。從2018年開始,應多個主機廠和ADAS系統商的測試和共同開發邀請,行易道配合客戶就支持ADAS和/或L3級ADS的77GHz中近程毫米波雷達進行定製開發和共同展開了大量的試驗場地測試和路試。
  • 克魯斯剛剛獲得了無人駕駛汽車的許可
    無人駕駛汽車公司Cruise獲準在加利福尼亞州放開其EV,而無需配備人工後備駕駛員,這表明計劃在年底之前完全開始自動駕駛。通用汽車公司擁有的公司-今年早些時候推出了一款定製設計的電動車-Cruise Origin-將在最深處潛水,其無人駕駛車輛在舊金山的街道上漫遊。
  • 百度自動駕駛部王石峰:詳解自動駕駛大腦、傳感器、硬體架構及汽車...
    本文來自百度自動駕駛技術部高級產品經理王石峰,在Apollo開發者社群內分享了有關自動駕駛汽車硬體系統的內容,讓開發者學習Apollo技術的同時,進一步了解自動駕駛汽車的硬體架構、傳感器、線控等硬體系統。
  • 北京發布自動駕駛路測報告,上汽通用五菱率先建成無人駕駛物流線路
    ,率先基於寶駿基地廠區建成了一條無人駕駛物流線路。通過此次發起的無人配送實驗室計劃,智能車聯和美團號召行業各方力量都能夠參與進來,共同搭建行業發展所需的政策、標準、市場等多維度合作平臺。實驗室將聚焦無人配送場景的自動行駛輪式車道路測試和數據分析,進行無人配送運營和商業化探索,對無人配送領域進行深度行業分析,開展自動行駛輪式車的相關標準研製,積極支持各級政府部門出臺政策和相關研究工作。
  • Apollo自動駕駛技術論壇
    基於Frenet Frame的解耦合的路徑和速度規劃3. 基於規則的路徑和速度決策4. 基於數值優化的路徑和速度軌跡生成演講者簡介: 張笑,百度高級研發工程師,從事百度Apollo開源平臺感知方向的算法研發工作。
  • AutoX推出全無人車隊 探索無安全員自動駕駛
    儘管各家的RoboTaxi持續落地,但是大多數情況下,行駛中均配備有安全員,而最終去掉安全員是大家共同的目標,才是真正的「無人駕駛」,今年Waymo在美國鳳凰城推出了一些沒有安全員的自動駕駛車輛,國內出於政策和技術等因素,完全無人駕駛的車輛不能在普通道路上行駛。但是,現在越來越多的自動駕駛企業也進行無安全員的駕駛測試。
  • 自動駕駛機器人如何駕駛?
    以一款自主開發的自動駕駛機器人為研究對象,介紹自動駕駛機器人功能和結構,分析自動駕駛機器人的關鍵技術,開發自動駕駛機器人在車輛道路測試試驗、車道保持、跟車、換道和遠程駕駛方面的應用。隨著汽車工業的大力發展,人們對汽車的安全性能提出越來越高的要求,這需要大量的汽車可靠性和耐久性試驗來不斷提高設計水平[1]。
  • Cruise獲加州測試牌照 可在舊金山街頭測試無人駕駛汽車
    蓋世汽車訊 據外媒報導,10月15日,Cruise獲得了加利福尼亞州機動車管理局的許可,成為第一家在無安全員的情況下在舊金山街頭測試無人駕駛汽車的企業。Cruise自動駕駛汽車(圖片來源:Cruise)通用汽車持有Cruise的大多數股份,本田和軟銀也是該公司的投資方。此前該公司一直在舊金山測試,擁有180輛自動駕駛汽車,但是在此前的測試中,車輛需要配備安全員。該公司此次獲得的許可,意味著其中5輛自動駕駛汽車可以在無安全員的情況下上路。
  • 長沙市智能網聯汽車測試及示範區域擴大,以後去橘子洲可體驗自動...
    不一定,你有可能會搭乘無人駕駛車。9月15日,長沙市政府召開新聞發布會。記者從發布會上獲悉,長沙市智能網聯汽車測試及示範區域新增了橘子洲景區、洋湖溼地公園、金霞物流園等典型場景示範區域。而橘子洲與洋湖溼地公園的無人駕駛車有可能會用於接駁遊客。
  • 全球最快落地量產的L4自動駕駛來了!威馬讓「停車難」成為過去時
    以一組數據來證明,同樣在美國加州地區進行的自動駕駛測試,百度Apollo自動駕駛測試車,在去年的測試成績為平均每2.9萬公裡,才需要人工介入一次;而谷歌Waymo自動駕駛,僅平均不到2萬公裡,就需要人工介入一次。兩相對比,孰優孰劣,相信大家心中也已經有數了。
  • 車頂戴「頭盔」、假人試安全……無人駕駛測試很有意思
    無人駕駛場地什麼樣?行人突然衝出來能不能剎住車?無人駕駛車輛靠什麼在路上暢行無阻?伴隨著技術發展,「無人駕駛」距離普通市民的日常生活越來越近。近日,記者實地探訪了上個月剛投用的本市第三個自動駕駛封閉測試場——國家智能汽車與智慧交通京冀示範區順義基地尋找答案。
  • 師從李德毅、李克強,清華無人車領隊張新鈺詳解智能駕駛進程、關鍵...
    到第二步,百度想推廣固定車道的自動駕駛,這才是比較關鍵的。它要公布高精地圖、傳感器等一系列感知、定位技術。然後是真正意義上的自動駕駛,這個就更加遙遠了,如果到今年年底百度能把這塊開放,那麼說明「阿波羅」真是一個很開放的平臺。從自動駕駛的上層技術來看,百度在國內處在領先位置。2015年12月,百度的自動駕駛汽車在北京五環上進行了測試。
  • 小馬智行的自動駕駛汽車在美國送快遞了
    亞米網會在其平臺上向這些自動駕駛車輛分配訂單,當地的物流配送中心負責分揀包裹,然後這些車會直接開到客戶的郵寄地址,由安全員放在門前或者客戶也可以從後備箱自取,整個過程無需接觸。「我們迅速對現有的自動駕駛計程車隊做出改變,將其改用於貨物運輸。」
  • 蘋果自動駕駛汽車2018年測試裡程達到8萬英裡
    蘋果一直對其自動駕駛項目的細節保密。2018年,蘋果在加州進行的道路測試裡程達到79745英裡(合128337公裡),遠低於Alphabet Inc.旗下自動駕駛部門Waymo,後者在全球道路上進行的測試裡程高達1000萬英裡,但蘋果去年的測試裡程遠遠超過了上一年度。上一年度,該公司自動駕駛測試裡程僅為838英裡。
  • 國內首個自動駕駛主題景區投入運行
    呆萌可愛的無人駕駛環衛車清掃著公園道路;無人駕駛觀光車上,遊客們安心愜意地欣賞著沿途風景;如果渴了就揮揮手,在無人駕駛售貨車上買瓶飲料……未來城市智慧出行的多種場景在這裡一一落地。作為國家智能網聯汽車(武漢)測試示範區的重要一環,國內首個自動駕駛主題景區投入運營,引領出行新趨勢。
  • 百度Apollo 5.0發布 將加速進入自動駕駛量產時代
    網易汽車7月4日報導7月3日,在「BaiduCreate 2019」百度 AI開發者大會上,百度重磅發布了Apollo5.0版本,該版本歷經七次迭代更新,已經成為了全球最大、最活躍的自動駕駛開放平臺。如今,全新亮相的Apollo5.0都進行了哪些升級?未來將如何為智能化交通出行賦能?我們在當天下午舉辦的智能駕駛分論壇中找到了答案。
  • 百度自動駕駛汽車,在「爆單」和吐嘈聲中開啟體驗
    百度Apollo GO百度方面表示,目前自動駕駛計程車在北京經濟技術開發區(亦莊)、海澱、順義等地共有十幾個站點可供下單試乘。用戶只需通過百度地圖Apollo GO App或百度App小程序,無需預約即可一鍵呼叫自動駕駛計程車Robotaxi。