Open Source Robotics

精選高品質的開源機器人專案、工具與軟體,推動機器人社群向前發展。

Pylot: A Modular Platform for Exploring Latency-Accuracy Tradeoffs in Autonomous Vehicles

作者: Ionel Gog, Sukrit Kalra, Peter Schafhalter, Matthew A. Wright, Joseph E. Gonzalez, Ion Stoica · ICRA 2021

授權條款

  • 開放取用
  • 論文: CC BY 4.0

以下內容皆依據論文全文,依其 CC BY 4.0 授權條款使用;圖表已標示作者。

一句話摘要

建立在資料流執行環境上的模組化、確定性 AV 管線:替換偵測器、追蹤器、預測器或規劃器,觀察其執行時間如何影響 CARLA 或真實汽車中的端到端駕駛。

為何重要

打造駕駛或移動機器人軟體堆疊的團隊,可以在完整管線中測試新的偵測器或規劃器,並量測碰撞與乘坐舒適度,而不只是離線精度。論文顯示最佳元件選擇會隨駕駛速度與情境而改變,這支持在實際情境中評估元件。

問題

自動駕駛車輛的元件通常以平均精確度(average precision)等離線指標來評判,這些指標忽略了執行時間,即使緩慢但精確的模型可能讓車輛更不安全。Autoware 與 Apollo 等現有開源堆疊提供的模擬器介面有限,沒有擬真照片級的攝影機,而其發布-訂閱設計使駕駛情境難以確定性重播。

提出的方法

Pylot 將整條管線(偵測、追蹤、預測、規劃、控制)建構為由運算子組成的資料流圖,運算子之間交換帶有時間戳記與水位線的訊息,並在作者的 ERDOS 系統上執行;這使執行具確定性,且可替換執行時間不同的元件而不必重新調校。它為每個元件提供數個參考實作,外加來自 CARLA 的真值「完美」版本,以及一種偽非同步模式:以超過 200 Hz 同步執行 CARLA,同時將每個控制指令依管線實測的執行時間延遲送出。一個 ROS 轉接層(shim)讓同一條管線能駕駛真實車輛。

關鍵見解

  • 及時精度(timely accuracy)以輸出就緒當下的世界狀態、而非輸入被擷取時的世界狀態,來為模組輸出評分,揭露了在移動場景中執行時間如何侵蝕精度。
  • 最佳偵測器或追蹤器取決於情境:在高速下,快速但精度較低的偵測器勝過緩慢但精度較高的偵測器;SORT、DeepSORT 與 DaSiamRPN 各自適合不同情況。
  • 在緊急轉向閃避情境中,執行時間較短的規劃器配置較常避開碰撞,而 Frenet Optimal Trajectory 規劃器的乘坐比 RRT* 平順,代價是避開的碰撞較少。
  • 帶有水位線(watermark)的資料流模型把管線化約為 Kahn 行程網路(Kahn Process Network),提供發布-訂閱系統所欠缺、可用於除錯的確定性重播。

主要結果

  • 10 ms 的執行時間就使完美語意分割元件的平均及時 mIoU 降至約 0.75,低於 Cityscapes 前三名提交結果的 mIoU。
  • 完美行人偵測器的平均及時 AP50 在 35 ms 執行時間下減半。
  • 在 20 ms 執行時間下,40 m/s 時的及時 mIoU 中位數比 10 m/s 時低 28%,及時 AP50 中位數則從 10 m/s 時的 1.0 降到 40 m/s 時的 0。
  • 在被遮蔽的行人情境(Table I)中,緩慢的 FOT(P99 550 ms)、RRT(P99 76 ms)與 Hybrid A(P99 760 ms)配置在 16 到 22 m/s 的每個目標速度下都失敗,而每種規劃器的快速配置在 16 m/s 時都避開了碰撞。
  • 將管線從 CARLA 移植到 Lincoln MKZ 測試車用了 434 行 Python 程式碼;Pylot 本身約有 28,000 行 Python。
  • 據報告,底層資料流系統的通訊延遲比 ROS 低 30%,而 Pylot 被描述為 CARLA 自動駕駛挑戰賽 HD 地圖組排名第一的提交。

限制

  • 尚不支援以強化學習進行駕駛的方法;OpenAI Gym 介面被列為未來工作。
  • 端到端規劃器比較使用的是真值感知,而非感知模型,且只有一個緊急情境。
  • 及時精度研究使用的是具模擬執行時間的完美感知元件,而非在迴路中執行之真實模型的執行時間。
  • 真實車輛部署被描述為使用現成模型的移植,並未報告在真實汽車上的駕駛指標。

對領域的影響

此論文入圍 IEEE ICRA 2021 無人機最佳論文獎決選,被引用 107 次。Pylot 以開源程式碼釋出,包含參考實作與真值元件實作,以及一套以 NHTSA 為基礎的 CARLA 測試情境。

摘要

我們提出 Pylot,一個用於自動駕駛車輛(AV)研發的平台,其建置目標是讓研究人員能研究自身模型與演算法的延遲和精度對 AV 端到端駕駛行為的影響。這是透過模組化結構達成的,而此結構由我們的高效能資料流系統支援:該系統將 AV 軟體管線的各元件(物件偵測器、運動規劃器等)表示為由運算子構成的資料流圖,運算子之間以帶時間戳記的訊息在資料串流上通訊。Pylot 能輕易介接 CARLA 等常用的 AV 模擬器,並只需極少的程式碼修改就能輕鬆部署到真實車輛上。為了減輕為評估單一元件而開發整條管線的負擔,Pylot 為 AV 管線的各個元件提供數個最先進的參考實作。利用這些參考實作,以 Pylot 為基礎的 AV 管線能夠駕駛真實車輛,並在 CARLA 自動駕駛挑戰賽中獲得高分。我們也介紹數個由 Pylot 促成的案例研究,包括需要依情境而定之元件的證據,以及各元件的時間分配。Pylot 為開源,程式碼可於 https://github.com/erdos-project/pylot 取得。

連結

  • arXiv 2104.07830: https://arxiv.org/abs/2104.07830
  • DOI 10.1109/ICRA48506.2021.9561747: https://doi.org/10.1109/ICRA48506.2021.9561747
  • PDF: https://arxiv.org/pdf/2104.07830v1
  • 程式碼: https://github.com/erdos-project/pylot

本網站需要 JavaScript 才能正常運作。請啟用 JavaScript 以瀏覽我們的開源機器人專案。