![]()
作者 | Avraam Tolmidis
譯者 | 平川
簡 介
人們在討論自動駕駛系統時,往往聚焦于其 AI 能力或高層次的倫理問題。然而,對于構建這些系統的軟件架構師和工程師而言,現實卻是與延遲、帶寬及計算資源限制的博弈。本文深入探討了自動駕駛(AV)技術棧的端到端技術架構,闡釋了從上下文感知傳感器融合到模型預測控制(MPC)求解器等優化技術,如何在毫秒級時限內將數千兆字節的原始傳感器數據轉化為安全的控制指令。
端到端架構:
從傳感器到執行器
乍一看,自動駕駛系統顯得極其復雜。這些系統并非簡單的線性流程,而是由感知、預測、規劃和控制組成的遞歸式實時循環。
要了解需要進行優化的環節,首先得分析下數據流。本質上,生產級自動駕駛技術棧是一個由發布 / 訂閱組件構成的分布式數據流圖(實際應用中通常因反饋和重新規劃而呈現循環特性),通常通過 基于 DDS(數據分發服務)的 ROS 2 這樣的中間件來實現。該管道必須每秒從攝像頭、雷達、激光雷達、GNSS 和 IMU 中采集并處理海量的數據。
圖 1 概述了這一端到端架構,涵蓋從高采樣率傳感器輸入,到感知 / 定位與融合,再到規劃、控制和執行,主要的數據流和計算流一目了然。
![]()
圖 1 :AV 軟件高層架構
典型數據吞吐量
激光雷達:大約 0.3–260 萬點 / 秒(通常每個傳感器大約 35–255 Mbps,具體取決于配置)。
攝像頭:4K/60fps 視頻流(全彩無壓縮視頻可能需要大約 12 Gbps;生產系統通常采用 RAW 格式和 / 或壓縮技術)。
雷達:稀疏檢測 / 軌跡(通常帶寬低、刷新率高)。
優化感知管道:資源動態分配
感知層負責將原始數據轉化為世界模型。一種簡單粗暴的方法是按全分辨率和最高采樣率處理每個傳感器的數據。然而,若以全保真度每秒處理數千兆字節的數據,任何車輛的計算資源都會被耗盡。
基于上下文的傳感器優先級排序
感知方面的優化通常意味著基于上下文的優先級排序:調整感知、預處理和推理的資源投入,以便適應當前的運行設計域(ODD)。通常,自動駕駛技術棧會對關鍵管道階段的計算成本進行建模,并應用針對精度、延遲和資源使用等因素做過充分權衡的策略(或基于優化的控制器)。
高速公路場景
由于感興趣區域(ROI)窄,所以長距離精度變得至關重要。為此,自動駕駛技術棧通常會優先處理前視激光雷達和長距離攝像頭,同時通過降采樣、降幀率 / 掃描率或選擇性處理感興趣區域(ROI)等方式,減輕側視傳感器的負載。
城市場景
對于交叉車流、弱勢道路使用者以及復雜的交互場景而言,周邊視野的覆蓋變得愈發重要。這些系統通常優先采用廣角攝像頭和側向傳感器,并可能為語義感知和目標追蹤分配更多的計算資源。
![]()
圖 2 :動態傳感器加權邏輯
技術實現:從預處理到融合
在實際應用的自動駕駛程序中,感知管道需要這種靈活的資源分配。許多團隊已經突破單階段目標列表的限制,設計出能夠以低延遲處理高幀率傳感器數據流的管道,并且涵蓋了從早期預處理到推理和跟蹤的整個流程。實際上,這種融合通常涉及兩個互補的控制機制。首先,通過處理參數(幀率、感興趣區域、分辨率、模型選擇)來管理計算負載。其次是融合權重,用于調節追蹤中的測量不確定性(如測量協方差 R)。
激光雷達數據處理原始點云( x , y , z , 強度)通常會進行離散化處理(體素化或柱狀化),隨后由 3D 檢測網絡(如 VoxelNet 系列方法或 PointPillars )進行處理。體素 / 柱狀的分辨率是空間保真度與推理延遲 / 計算之間的關鍵權衡點。
雷達數據處理雷達測量數據(距離、方位角、距離變化率)常被用于獲取可靠的速度信息以及支持車輛在惡劣天氣條件下行駛;其不確定性可根據具體上下文和雜波特性進行調整。
工具部署管道通常會使用 TensorRT 等推理加速器,在嵌入式 GPU 平臺上(例如 NVIDIA Xavier 級系統;新一代產品還支持 Orin 系列硬件)對深度學習模型進行優化和運行。模型選擇會隨技術棧而變化,但在計算機視覺領域,標準骨干網絡(如 ResNet )和檢測器家族(如 YOLO 風格)被廣泛采用;而在自動駕駛領域,則同時采用 3D/BEV 專用架構。
正如 Ahn 等人所述,將數據并行執行與選擇性 GPU 卸載相結合,可以在保持精度目標的同時,提升感知管道的端到端吞吐量及降低延遲。
為了直觀地了解該邏輯在跟蹤 / 融合層中的表現,不妨考慮一個基于上下文的權重管理器。在基于卡爾曼濾波器的跟蹤器中,傳感器可信度可以通過測量協方差矩陣 R 來表示(通常按傳感器和測量類型分別計算):協方差矩陣越大,濾波器對該測量的依賴程度越低;反之,協方差矩陣越小,依賴程度越高。
偽代碼:動態傳感器加權(Python)
)軌跡規劃:MPC 的數學原理
感知處理的是概率,而規劃處理的是約束條件。規劃模塊會生成一條可行的軌跡,通常是以狀態和控制值序列的形式(如下圖所示),在一個固定的控制周期內對整個規劃時域進行參數化。
優化問題
通常,軌跡生成被視為一個模型預測控制(MPC)問題。工程師們不再采用硬編碼規則,而是定義一個成本函數(J),由求解器對其進行最小化(如下圖所示)。
通常,軌跡生成被視為一個模型預測控制(MPC)問題。工程師們不再采用硬編碼規則,而是定義一個成本函數(J),由求解器對其進行最小化(如下圖所示)。
其中, 表示預測時段內的參考軌跡。
:第 k 步的狀態向量(位置、速度、偏航角)。
:第 k 步的控制輸入(轉向角、加速度)。
:第 k 步的參考狀態(即某個時點的期望位置/航向/速度),通常由更高層次的規劃器、路由或行為模塊提供。
:預測期結束時的終端參考狀態(即第 N 步的參考狀態),用于促使系統朝著預期的終點狀態條件收斂。
Q 、 R 和 P :權重矩陣。通過調整 Q、R 和 P,工程師們在“主動性”與“舒適性”之間進行優化。
基于約束條件求解
求解器必須在滿足硬約束的條件下求得 J 的最小值。
執行機構與動力學限制,
如有必要,還得加上速率限制。
安全通道
規劃出的“自我足跡( ego footprint )”必須位于可行駛區域內,并與障礙物保持安全距離(通常通過通道邊界、符號距離約束或碰撞幾何體的凸面近似來表示)。
![]()
圖 3: MPC 控制循環
求解器和算法
在自動駕駛領域,MPC 被用于在安全響應的同時平衡速度與舒適性。為了滿足嵌入式系統的時限要求,開發團隊通常依賴于“熱啟動”求解器:對于凸 MPC 建模,使用 OSQP 等 QP 求解器;對于非線性建模,則使用非線性規劃求解器(如 Ipopt)或實時 NMPC 工具鏈。
Allamaa 等人 在 2024 年的研究中闡明了增強型 MPC 建模和混合優化技術如何實現安全、敏捷的決策。Zhang、Rossi 和 Pavone 于 2015 年發表的早期研究 提供了一個更廣泛的例子,展示了 MPC 作為滾動時域決策在車隊協調層面的應用,而不局限于一輛車的軌跡控制。此外,Arrigoni、Braghin 和 Cheli 在 2021 年的研究 探索了一種替代方法,即利用遺傳算法策略求解 NMPC 軌跡規劃器。在實際(通常為 C++)的實現中,優化循環必須具備高效率、可預測性,并需針對最壞的情況進行性能監測。
偽代碼:MPC 成本函數( C++ )
}實時計算預算與中間件
自動駕駛系統是一個“繁忙的生態系統”。定位、感知、預測和控制模塊均并行運行,爭用相同的 CPU 和 GPU 資源。如果感知模塊處理圖像耗時過長,那么規劃模塊可能會錯過其更新窗口。
確定性調度
為避免這一問題,許多團隊將計算預算本身視為一個工程優化問題:他們通過測量執行時間、分配處理器內核、設置優先級以及調整服務質量(QoS)來確保正確的任務在正確的時間執行。最壞情況執行時間(WCET):每個節點都有一個經過測量(或保守估計)的 WCET 值和一個明確的截止時間預算。確定性調度策略:在安全 / 控制非常關鍵的領域,通過實時操作系統(RTOS)強制執行實時調度;在通用操作系統上則通過實時調度配置來實現。比較常見的是固定優先級的搶占式調度;諸如優先級繼承之類的協議有助于限制對共享資源的阻塞,并保護具有嚴格截止時間的任務。
在實踐中,這些預算采用多速率設計:高級規劃通常以大約 10-20 Hz(50-100 ms)的速率運行,而低級控制環路則可在專用控制器上以大約 50-100 Hz(10-20 ms)的速率運行;具體速率取決于平臺和安全架構。
![]()
表 1:100 毫秒控制周期的延遲預算示例(僅供參考)
Sun 等人(2023) 強調了這種嚴謹性的重要性,他們提出了一個綜合框架,用于分析多速率自動駕駛軟件棧中的端到端延遲,以確保關鍵任務鏈能夠滿足其時限要求。
調試與可解釋性:數據層
優化使系統更加智能,但也增加了調試難度。當 MPC 求解器選擇一條路徑時,它的依據是成本函數的收斂性,而非簡單的“如果……那么……”這樣的邏輯。
為了解決這個問題,開發團隊設計了健壯的日志記錄管道。他們會記錄所考慮的具體約束條件、權衡取舍過程以及最終選擇的路徑。
數據格式
對于時間同步的機器人數據,常見的選項包括容器格式(如廣泛用于機器人日志捕獲和回放的 MCAP )以及 Dataset-Oriented 格式(如 HDF5 ),具體使用哪種取決于分析工作流和存儲限制。
模式
許多團隊使用 Protocol Buffers 或 FlatBuffers 定義嚴格的、帶版本控制的模式,從而確保類型安全、向前 / 向后兼容性,以及跨組件的可靠工具支持。
示例:感知對象模式( Protobuf )
}這些數據結構是可解釋性的核心。Suresh Kolekar 等人(2022)的研究 表明,Grad-CAM 等可視化工具為人們提供了一個窗口,讓人們可以了解 AI 模型是如何看待世界的。這種洞察不僅有助于安全檢查,還能在解釋模型行為時提升透明度。
小 結
對于自動駕駛車輛而言,優化不僅僅是一種數學方法,而是維系整個系統運轉的紐帶。它決定了感知任務如何調度與加速(包括在適時進行的 GPU 內核級和圖級優化),規劃過程中的受約束優化問題如何建模和求解,以及實時調度策略和中間件服務質量(QoS)如何配置以滿足延遲和安全要求。
對于軟件工程師而言,結論不言而喻:開發自動駕駛技術棧不僅僅是編寫遵循邏輯的代碼,更是構建一個能夠同時管理資源、時間和物理約束的系統。在行業不斷突破自動駕駛邊界的過程中,優化這些權衡的能力仍將是決定性的核心技能。
https://www.infoq.com/articles/optimization-in-automated-driving/
聲明:本文為 InfoQ 翻譯,未經許可禁止轉載。
![]()
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.