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