1. 程式人生 > >解析智行者自動駕駛方案(側重感測器資訊融合)

解析智行者自動駕駛方案(側重感測器資訊融合)

“以前有你的時候可以叫天份,現在沒有你了只能叫天分。”

 

Black Hair

TRACK

 

因為最近再看apollo的感測器融合模組,就想到了之前看到智行者CEO張德兆的方案分享,作為清華系自動駕駛初創公司的創始人,有著和百度不一樣的方案,故整理於此。

 

基於自動駕駛智慧車控制決議計劃系統開發,有4個方面的闡述:

  • 概述;

  • 多感測器資訊融合;

  • 決議計劃規劃;

  • 車輛控制決議計劃演算法。

概述就不用說了,主要是一些結構框架性、結構性的東西:

可以看出,智慧車涉及的產業鏈非常長,先不說後續的運營和服務,光是智慧車開發本身就涉及環境感知、中央決策、底層執行等多個模組,每一個模組拎出來都可以造就一批偉大的公司。對於智行者而言,主要聚焦在中央決策系統的開發以及智慧車整個大系統的整合,主要包括三部分工作:多感測器資訊融合;決策規劃;車輛控制。由於本人就是研究自動駕駛感測器融合這一方向的,所以對資訊融合這一塊也比較感興趣。

那究竟如何做多感測器資訊融合呢?

【乾貨】如何做好自動駕駛智慧車控制決策系統開發? | 硬創公開課

對於自動駕駛應用來說,沒有一種感測器是完美的,所以我們要做融合,取長補短。對於多感測器融合主要包含三個功能模組:採集及預處理,座標轉換、資訊融合。

【乾貨】如何做好自動駕駛智慧車控制決策系統開發? | 硬創公開課

在採集及預處理模組中,我們在 ROS 系統中各個感測器以單獨的節點進行,然後進行訊號解析、訊號處理、訊號篩選、誤差補償等工作。

【乾貨】如何做好自動駕駛智慧車控制決策系統開發? | 硬創公開課

座標轉換實際上就是將多感測器統一到一個座標系下,這是靠標定相關資料後能在軟體中瞬間實現的。

【乾貨】如何做好自動駕駛智慧車控制決策系統開發? | 硬創公開課

最難的部分在資訊融合模組。我們將其分為 4 個步驟:資料關聯、時間同步、資料融合、目標生命週期管理。

  • 因為每個感測器誤差特性不一樣,同一個目標對應不同感測器得到的位置資訊可能不一樣,所以我們需要先進行資料關聯。這一步驟的難點在於需要對不同感測器的誤差特性均有充分的瞭解。

  • 每個感測器資訊傳送週期不一樣,即使按其標稱週期進行同步,也會存在固定時漂和隨機時漂的問題,所以時間同步這一步驟的關鍵點在於:瞭解各感測器的訊號週期和時漂。

  • 資料融合步驟可以使用的方法有很多,例如卡爾曼濾波。但實際上,因為每個感測器各自建模的難度較大,我們直接採用粒子濾波的方法,可以不依賴於建模。

  • 目標生命週期管理主要用於在有噪聲干擾的情況下保證各幀資料的連貫性。

 

在獲取環境資料並確定「我在哪」之後,智慧車需要做決策規劃了,簡單說下它的決策規劃吧:

【乾貨】如何做好自動駕駛智慧車控制決策系統開發? | 硬創公開課

決策規劃實際包含三部分:定位、決策、路徑規劃。定位即我在哪;決策即我該怎麼辦,跟著走還是繞過去;路徑規劃即我是從左繞還是從右繞。

實際上,大部分公司是把決策和路徑規劃放在一個模組裡一起做了。具體使用基於傳統規則的方法、基於安全場的深度學習方法實現決策規劃功能。

基於傳統規則的方法大家都比較熟悉,其主要是以某一個或某一些固定的變數作為條件切換的判斷依據,例如跟車的時候,規定和前車的相對速度或距離小於某一值就不跟了,馬上換道。

但實際上人駕駛時一般不會這麼幹,所以完全基於規則的方法無法讓智慧車適應人的特性,無法讓智慧車「正常」的融入整個交通流。

現在深度學習方法可以比較好的解決這個問題,可以讓智慧車跟人學習,實現智慧車的擬人化控制。但是深度學習有一個過程,並且他決策出來的路徑會有一個偏差和概率的分佈,不能完全避免碰撞和駛出馬路等事故的發生,所以我們還得結合傳統規則的方法來做:用 rule-based 保障安全,用深度學習實現擬人化決策。

 

決策規劃完成以後,在車輛行駛過程中,就需要對車進行實時控制了:

 

以上就是智行者大致的解決方案,可能省略了一些,原諒筆者偏重感知模組,後續還會對apollo 3.0的感知融合部分進行分析。

加油!

相信時間會堅定實力。