作者 | 七七沫沫
小編 | 吃不飽
隨著智能駕駛領域的快速發展與普及,激光雷達的輕量化、電子化和芯片化也逐漸成為趨勢。由于激光雷達不受光線影響、分辨力高、支持3D立體,點云還支持AI算法訓練等優點,一些主流車型在L3級別的智駕功能應用上搭載了激光雷達,從而完成更可靠和準確的目標探測。
在L2+或L3級以上的智駕功能應用中,激光雷達可提供更高精度的融合定位和目標識別能力,也可基于豐富的點云信息完成高精地圖的繪制。激光雷達發送和反射的追蹤光線可通過不同材質的反射率可以識別到更加豐富的目標類型。
但是,在實驗室環境下的智能駕駛HiL仿真測試階段,采用真實激光雷達無法獲取動態的環境信息,需要通過場景軟件來進行動態場景仿真,從而完成周邊感知環境信息的構建,此時需要進行激光雷達模型搭建和點云仿真。本文將介紹激光雷達的基礎原理及仿真測試流程,希望能幫助應用者更好的理解激光點云的仿真過程。01什么是激光雷達
在討論所有問題之前,需先了解激光雷達的基本組成結構,激光雷達主要由激光發射器、激光接收器以及激光計算單元組成。激光雷達的分類很多。常見的有機械旋轉式、MEMS、轉鏡式、Flash等等。以機械式激光雷達來簡要說明其工作原理。激光雷達通過激光發射器將生成的激光光束向外發出,通過伺服電機與反光鏡后,激光光束將被反射到各個方向,反射到周圍環境中的激光會一直往前飛行,當激光在飛行途中與障礙物相交時,會觸發激光產生折射或反射等現象,而反射的部分激光會原路返回至雷達的激光接收模塊,最后通過計算單元解析生成點云數據。
圖 1激光雷達工作基本原理圖
在智能駕駛輔助車輛廣泛應用毫米波和超聲波雷達等傳感器進行目標感知的前提下,為什么還要使用激光雷達呢?
激光雷達的廣泛應用
(1)對于其他傳感器來說,由于激光的傳播速度為光速,因此這讓激光雷達有很好的靜態和動態探測能力。(2)其豐富的點云信息可勾勒出目標輪廓,也可用于目標距離、方位、高度、速度和姿態信息的探測。相比于其他傳感器,激光雷達探測精度和抗干擾能力更好,且能夠比傳統毫米波多探測一個高度的信息。(3)在日益復雜和多元化的交通環境下,需要用到多傳感器融合來感知自駕車輛周邊環境,激光雷達可與其他傳感器(如攝像頭、毫米波雷達等)進行融合定位以提供更精確的環境感知。(4)在一些L3級智駕功能策略及應用場景上,激光雷達目標設備優先級比較高,如Camera識別到目標但Lidar沒識別到,感知算法融合后會判定沒有目標,此時會極大影響后續的規劃控制算法,從而影響智駕功能。所以,在車輛高速環境下對靜態物體的識別、遠距離場景對行人及其他交通環境目標的識別,需要更加準確和類別化,激光雷達在高級智能駕駛的應用變得尤為重要。
在當前L2+ 和L3及以上智駕場景中,激光雷達由于產品芯片量產和技術的提高,價格也逐漸親民化,因此在一些典型的中高端車型中逐漸趨向量產化。02激光雷達如何仿真
了解了激光雷達的基本工作原理后,可按照此原理來對激光雷達進行仿真,真實的激光雷達光線其實是從傳感器發出到最后返回到傳感器。那么在實際工程實踐中,有沒有一種方法來實現光線發射及反射來回過程的仿真呢?其實是有的——光線追蹤(Optix)。
光線追蹤
什么是光線追蹤?在現實生活中,看到物體的完整光路歷程如下圖2所示。首先光源發出光線,光線在飛行過程中遇到障礙物后發生反射,反射的部分光線被人眼接收,最后在視網膜上生成圖像。而光線追蹤就是將這個過程反過來,光線由眼睛發出,最后通過復雜的光路歷程回到光源處,這就是光線追蹤。
光線追蹤步驟
1、創建從環境到傳感器光路的相反路徑。2、光線擊中目標對象。3、計算光線屬性。4、將光線屬性寫入緩存。圖 2光線追蹤原理圖
使用NVIDIA的OptiX API來完成上述工作,OptiX是一個在GPU上實現高性能光線追蹤的應用程序框架,它提供了一套完整靈活的光線追蹤算法。
圖 3 Optix處理的基本邏輯如圖3,在知道基本的仿真邏輯以及明確了仿真數據之后,就可以編譯相應的激光雷達模型了,編寫完之后的激光雷達模型將會同仿真一起完成一系列復雜的計算過程,經過創建及配置光線、運算光線追蹤算法和數據處理,最終輸出需要的點云數據。
點云數據
想要知道點云數據具體包含的內容,首先需要解釋一下點云是什么。點云就是某個坐標系下所有點的數據集群。而點云數據就是表示包含三維坐標XYZ、顏色、強度值等的數據集群。既然點云數據包含的點是三維坐標,然么激光雷達光線的出射方向該如何實現仿真呢?為了使仿真的激光雷達光線的出射方向與真實激光雷達保持一致,需要將真實的激光雷達光線的出射角度轉換成三維方向坐標后打包生成dat數據文件,在編譯激光雷達模型時引入此dat文件作為入參,即可實現非均勻打點方式的仿真了。
圖 4非均布打點激光雷達掃描場景
通過對OptiX過程以及點云數據的理解,可以根據實際需求來仿真激光雷達,編輯相關的激光雷達仿真模型。最后,通過Optix支持對光線緩存結構的數據寫入與傳出支持。在激光點云仿真過程中,可以編輯光線緩存結構來定義需要的點云數據。03點云數據處理
了解了點云數據之后,通過搭建仿真場景以及加載編譯好的激光雷達模型,就可以進行點云數據的處理了。點云數據的處理是根據不同激光雷達產品的通信協議來說的,如圖5為一個簡單的示例。
圖 5簡易的雷達協議結構
不同的激光雷達產品可能在通信協議或組包結構上都各不相同,需要依據實際情況對點云數據進行重構組包。為了更方便的處理這些點云數據以及后期整體工程的管理,在后續工作中使用CANoe來完成組包的工作。激光雷達的雷達協議大致包含包頭信息、設備信息、時間戳,測距信息等等。有關包頭、設備信息等信息,可通過產品說明書對其進行確定。而測距信息里面存放的就是仿真的點云數據,一般激光雷達協議中的點云數據有固定的排列方式,這部分就需要按照不同激光雷達產品的通信協議來確定。由于點云數據量龐大,對點云數據的處理組包,可以通過CANoe的總線仿真功能來完成這部分工作。CANoe支持多種數據的解析,可以使用其內置的函數對來完成點云數據組包工作。
CANoe提供了良好的管理平臺和豐富的內置函數來輔助完成這部分工作:
1.首先,在CANoe中建立接收的套接字和發送的套接字,此時可以拿到仿真的點云數據,并對數據進行解析以進一步進行后處理。
2.在解析完點云數據之后,可按照真實激光雷達的UDP組包協議來將解析完成的點云數據填充至相應的UDP結構內,同時將部分信息保存至系統變量,以便后期實現傳感器數據相關的故障仿真等等。
3.最后,在將一幀的完整點云數據組包完成之后,通過建立的套接字來將數據發送至目標IP或激光雷達的上位機進行驗證。
至此,即可完成激光雷達的基本仿真流程。圖 6仿真環境(上圖)仿真激光雷達(下圖)在智駕HiL應用階段,激光點云數據在實現L2+或L3級功能測試的過程中尤為重要,在獲取到激光雷達仿真的點云數據后,可使用CANoe進行智駕域控制器的閉環驗證。
1.比如獲取仿真的激光雷達點云數據、毫米波數據和視頻流數據等,驗證域控制器的感知融合算法;
2.使用激光雷達點云數據與其他仿真數據,通過CANoe將不同的總線協議信號一起注入給智駕域控制器,實現ACC、AEB等規控功能的驗證;
3.通過CANoe直接處理的點云數據,也可實現對激光雷達進行通道故障、點云丟失、幀數據不同步等仿真,從而驗證域控制器的功能安全機制。
04總結
至此,激光雷達基礎介紹與仿真測試流程到這里就正式結束了。北匯信息作為Vector的技術合作伙伴,覆蓋智能駕駛系統MiL/HiL/ViL測試、車聯網測試,傳感感知測試等,為客戶提供優質的智駕測試解決方案、測試集成系統和服務,助力智能駕駛仿真測試系統的快速驗證和測試。
-
測試
+關注
關注
8文章
5369瀏覽量
126928 -
激光雷達
+關注
關注
968文章
4022瀏覽量
190233
發布評論請先 登錄
相關推薦
評論