





【摘" 要】介紹激光雷達的基本工作原理和仿真原理,并解釋激光雷達的組成部分和常見的應用領域。通過仿真測試流程的介紹,可以了解到激光雷達的基本仿真思路、仿真數據的處理以及仿真環境所涉及相關軟件的基本介紹。提供的仿真方案旨在更快速地幫助仿真開發人員進行相關的仿真工作。
【關鍵詞】激光雷達;仿真;光追;CANoe;自動駕駛
中圖分類號:U463.675" " 文獻標識碼:A" " 文章編號:1003-8639( 2023 )11-0066-03
LiDAR Basic Introduction and Simulation Test Flow
WEN Qiqi
(Shanghai Polelink Information Co.,Ltd.,Beijing 200333,China)
【Abstract】This paper introduces the basic working principles and simulation principles of LiDAR and explains its components and common application areas. By exploring the simulation testing process,we can understand the fundamental approach to LiDAR simulation,handling of simulated data,and a basic introduction to the relevant software involved in creating the simulation environment. The provided simulation solution aims to expedite simulation work for developers in the field.
【Key words】LiDAR;simulation;ray tracing;CANoe;automatic driving
1" 前言
隨著智能駕駛領域的快速發展與普及,激光雷達的輕量化、電子化和芯片化也逐漸成為趨勢。由于激光雷達不受光線影響,分辨率高,支持3D立體、點云和AI算法訓練等優點,一些主流車型在L3級別的智駕功能應用上搭載了激光雷達,從而完成更可靠和準確的目標探測。在L2+或L3級以上的智駕功能應用中,激光雷達可提供更高精度的融合定位和目標識別能力,也可基于豐富的點云信息完成高精地圖的繪制。激光雷達發送和反射的追蹤光線可通過不同材質的反射率識別到更加豐富的目標類型。
在實驗室環境下的智能駕駛HiL仿真測試階段,采用真實激光雷達無法獲取動態的環境信息,需要通過場景軟件來進行動態場景仿真,從而完成周邊感知環境信息的構建,此時需要進行激光雷達模型搭建和點云仿真。本文將介紹激光雷達的基礎原理及仿真測試流程,希望能幫助應用者更好地理解激光點云的仿真過程。
2" 激光雷達介紹
激光雷達主要由激光發射器、激光接收器以及激光計算單元組成。激光雷達的分類很多,常見的有機械旋轉式、MEMS、轉鏡式、Flash等。本文以機械式激光雷達來簡要說明其工作原理。激光雷達通過激光發射器將生成的激光光束向外發出,通過伺服電機與反光鏡后,激光光束將被反射到各個方向,反射到周圍環境中的激光會一直往前飛行,當激光在飛行途中與障礙物相交時,會觸發激光產生折射或反射等現象,而反射的部分激光會原路返回至雷達的激光接收模塊,最后通過計算單元解析生成點云數據。激光雷達工作基本原理如圖1所示。
在智能駕駛輔助車輛廣泛應用毫米波和超聲波雷達等傳感器進行目標感知的前提下,使用激光雷達的優點如下。
1)由于激光的傳播速度為光速,較其它傳感器傳播速度更快,因此激光雷達有很好的靜態和動態探測能力。
2)激光雷達豐富的點云信息可勾勒出目標輪廓,也可用于目標距離、方位、高度、速度和姿態信息的探測。相比于其它傳感器,激光雷達探測精度和抗干擾能力更好,且能夠比傳統毫米波多探測一個高度的信息。
3)激光雷達可與其他傳感器(如攝像頭、毫米波雷達等)進行融合定位以提供更精確的環境感知。
4)在一些L3級智駕功能策略及應用場景上,激光雷達目標設備優先級比較高,如Camera識別到目標但Lidar沒識別到,感知算法融合后會判定沒有目標,此時會極大影響后續的規劃控制算法,從而影響智駕功能。
綜上所述,在車輛高速環境下對靜態物體的識別、遠距離場景對行人及其它交通環境目標的識別,需要更加準確和類別化,激光雷達在高級智能駕駛的應用變得尤為重要。在當前L2+ 和L3及以上智駕場景中,激光雷達由于產品芯片量產和技術的提高,價格也逐漸親民化,因此在一些典型的中高端車型中逐漸趨向量產化。
3" 激光雷達光線追蹤仿真
在現實生活中,看到物體的完整光路歷程為:光源發出光線,光線在飛行過程中遇到障礙物后發生反射,反射的部分光線被人眼接收,最后在視網膜上生成圖像。而光線追蹤技術就是將這個過程反過來,光線由眼睛發出,最后通過復雜的光路歷程回到光源處,如圖2所示。這個過程將經過以下步驟:①創建從環境到傳感器光路的相反路徑;②光線擊中目標對象;③計算光線屬性;④將光線屬性寫入緩存。
使用NVIDIA的OptiX API來完成上述工作,OptiX是一個在GPU上實現高性能光線追蹤的應用程序框架,它提供了一套完整靈活的光線追蹤算法。在知道基本的仿真邏輯以及明確了仿真數據之后,就可以編譯相應的激光雷達模型。編寫完的激光雷達模型將會同仿真數據一起完成一系列復雜的計算過程,經過創建及配置光線、運算光線追蹤算法和數據處理,最終輸出需要的點云數據。如圖3所示。
4" 點云數據
點云是某個坐標系下所有點的數據集群,而點云數據就是表示包含三維坐標XYZ、顏色、強度值等的數據集群。為了使仿真的激光雷達光線的出射方向與真實激光雷達保持一致,需要將真實的激光雷達光線的出射角度轉換成三維方向坐標后打包生成DAT數據文件,在編譯激光雷達模型時引入此DAT文件作為入參,即可實現非均勻打點方式的仿真。非均布打點激光雷達掃描場景如圖4所示。
通過對OptiX過程以及點云數據的理解,可以根據實際需求來仿真激光雷達,編輯相關的激光雷達仿真模型。最后,通過Optix對光線緩存結構的數據寫入與傳出,在激光點云仿真過程中,可以編輯光線緩存結構來定義需要的點云數據。
通過搭建仿真場景(圖5)以及加載編譯好的激光雷達仿真模型(圖6)進行點云數據的處理。點云數據的處理需根據不同激光雷達產品的通信協議進行,圖7為一個簡易的雷達協議結構示例。
不同的激光雷達產品可能在通信協議或組包結構上各不相同,需要依據實際情況對點云數據進行重構組包。為了更方便地處理這些點云數據以及后期整體工程的管理,在后續工作中使用CANoe來完成組包的工作。
激光雷達的雷達協議大致包含包頭信息、設備信息、時間戳和測距信息等。有關包頭、設備信息等信息,可通過產品說明書對其進行確定。測距信息里面存放的是仿真的點云數據,一般激光雷達協議中的點云數據有固定的排列方式,這部分就需要按照不同激光雷達產品的通信協議來確定。
由于點云數據量龐大,對點云數據的處理組包可以通過CANoe的總線仿真功能來完成。CANoe支持多種數據的解析,可以使用其內置的函數對來完成點云數據的組包工作,CANoe提供了良好的管理平臺和豐富的內置函數來輔助完成這部分。
1)在CANoe中建立接收的套接字和發送的套接字,可以拿到仿真的點云數據,并對數據進行解析以便進行后續處理。
2)解析完點云數據之后,可按照真實激光雷達的UDP組包協議將解析完成的點云數據填充至相應的UDP結構內,同時將部分信息保存至系統變量,以便后期實現傳感器數據相關的故障仿真等。
3)將一幀的完整點云數據組包完成之后,通過建立的套接字將數據發送至目標IP或激光雷達的上位機進行驗證。
至此,即可完成激光雷達的基本仿真流程。
5" 結束語
在智駕HiL應用階段,激光點云數據在實現L2+或L3級功能測試的過程中尤為重要,在獲取到激光雷達仿真的點云數據后,可使用CANoe進行智駕域控制器的閉環驗證。①獲取仿真的激光雷達點云數據、毫米波數據和視頻流數據等,驗證域控制器的感知融合算法;②使用激光雷達點云數據與其他仿真數據,通過CANoe將不同的總線協議信號一起注入給智駕域控制器,實現ACC、AEB等規控功能的驗證;③通過CANoe直接處理的點云數據,也可實現對激光雷達進行通道故障、點云丟失、幀數據不同步等仿真,從而驗證域控制器的功能安全機制。
(編輯" 楊凱麟)
作者簡介
文奇琪(1997—),男,汽車應用工程師,主要從事ADAS自動駕駛HIL仿真測試工作。