武大重磅開(kāi)源Snail-Radar:專為4D Radar slam設(shè)計(jì)!
本文經(jīng)自動(dòng)駕駛之心公眾號(hào)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)聯(lián)系出處。
大規(guī)模4D radar數(shù)據(jù)集
近年來(lái),毫米波雷達(dá)因其在惡劣條件下的魯棒性而被用于里程計(jì)和建圖。常用的雷達(dá)類型有兩種:
- 掃描雷達(dá),它們通過(guò)旋轉(zhuǎn)捕獲360°視野的掃描
- 固態(tài)單芯片雷達(dá),通常具有大約120°的水平視野。
單芯片雷達(dá)頻率更高且不如掃描雷達(dá)笨重。通過(guò)多普勒速度,單芯片雷達(dá)可以輕松檢測(cè)移動(dòng)物體,從而解決基于攝像頭或激光雷達(dá)里程計(jì)方法中遇到的重要挑戰(zhàn)。然而,傳統(tǒng)汽車?yán)走_(dá)的垂直分辨率較差,導(dǎo)致低高物體在同一視野中的混淆。
近期的單芯片4D成像雷達(dá)進(jìn)展,使得垂直分辨率提高,能精確測(cè)量高度,同時(shí)具備距離、方位角和多普勒速度(因此稱為4D)。利用毫米波,4D雷達(dá)能輕松區(qū)分移動(dòng)物體,并在霧、雨和雪等惡劣條件下正常感知。這些特性使4D雷達(dá)對(duì)需要在動(dòng)態(tài)和惡劣環(huán)境中可靠運(yùn)行的自主系統(tǒng)(如機(jī)器人和汽車)具有吸引力。
現(xiàn)有的公共4D雷達(dá)數(shù)據(jù)集在參考軌跡的準(zhǔn)確性、數(shù)據(jù)采集平臺(tái)的多樣性、地理范圍以及同一路線的數(shù)據(jù)采集重復(fù)性等方面常常有所欠缺。
武漢大學(xué)SNAIL小組從2022年8月開(kāi)始的數(shù)據(jù)采集計(jì)劃的精心制作的數(shù)據(jù)集Snail-Radar[1]。該數(shù)據(jù)集包含了在一年內(nèi)使用手持設(shè)備、電動(dòng)自行車和SUV等多種平臺(tái)采集的各種數(shù)據(jù)序列。雖然每個(gè)平臺(tái)的傳感器配置略有不同,但每個(gè)傳感器架通常包括立體攝像頭、一到兩個(gè)4D雷達(dá)、一個(gè)3D激光雷達(dá)、一到兩個(gè)IMU和一個(gè)GNSS/INS系統(tǒng)。發(fā)布的序列數(shù)據(jù)覆蓋了從密集植被的大學(xué)校園到高速公路隧道等多種環(huán)境,在晴天或雨天和夜間進(jìn)行采集。
考慮到在同步定位與地圖構(gòu)建(SLAM)中的應(yīng)用,我們提供了使用地面激光掃描儀(TLS)數(shù)據(jù)生成的參考軌跡?;谝羊?yàn)證的技術(shù)進(jìn)行同步和精心校準(zhǔn),確保了我們數(shù)據(jù)的可靠性。我們相信這一數(shù)據(jù)集將大大有助于評(píng)估基于4D雷達(dá)點(diǎn)云的里程計(jì)、建圖和位置識(shí)別算法。數(shù)據(jù)集和配套工具可在我們的網(wǎng)站上獲取。
- 數(shù)據(jù)集鏈接:https://snail-radar.github.io/
- 數(shù)據(jù)集工具:https://github.com/snail-radar/dataset_tools
該數(shù)據(jù)集的貢獻(xiàn)總結(jié)如下:
- 發(fā)布了一個(gè)大規(guī)模多樣化的4D雷達(dá)數(shù)據(jù)集,覆蓋多種環(huán)境條件下由三種不同平臺(tái)在選定路線多次采集的數(shù)據(jù),包括雨天和夜晚、校園道路和高速公路。提供了數(shù)據(jù)在ROS包和文件夾格式之間轉(zhuǎn)換的工具及校準(zhǔn)結(jié)果。
- 提出了嚴(yán)格的程序,同步所有傳感器的運(yùn)動(dòng)相關(guān)信息,并校準(zhǔn)它們之間的外部參數(shù)。同步程序從激光雷達(dá)和GNSS的硬件同步開(kāi)始,然后所有傳感器時(shí)間映射到GNSS時(shí)間,以激光雷達(dá)時(shí)間為橋梁,最后估計(jì)所有運(yùn)動(dòng)相關(guān)信息類型之間的恒定時(shí)間偏差。外部參數(shù)通過(guò)手動(dòng)測(cè)量初始化并通過(guò)相關(guān)方法優(yōu)化。
- 提出了一個(gè)定位流水線,用于生成提供序列的參考位姿。流水線從使用TLS捕獲測(cè)試區(qū)域的點(diǎn)云開(kāi)始,這些拼接的點(diǎn)云在定位模式下被用作LIO方法中的子地圖。為了便于在序列末尾生成參考位姿,還提出了一種反向處理激光雷達(dá)里程計(jì)信息的方法。
雷達(dá)信號(hào)處理背景
如圖1頂部所示,發(fā)射天線發(fā)送頻率遞增的射頻信號(hào)。接收天線檢測(cè)由物體反射的波,并通過(guò)將信號(hào)與發(fā)射載波混頻來(lái)獲得中頻信號(hào)。這些信號(hào)然后通過(guò)模數(shù)轉(zhuǎn)換器(ADC)采樣,得到復(fù)數(shù)(同相和正交分量,I/Q)ADC樣本。這些ADC樣本被傳送到數(shù)字信號(hào)處理器(DSP)進(jìn)行進(jìn)一步處理。
數(shù)字信號(hào)處理,如圖1底部所示,包括四個(gè)基本組件:距離處理、多普勒處理、恒虛警率(CFAR)檢測(cè)和2D到達(dá)角(AoA)處理。每個(gè)組件在TI mmwave SDK文檔中有詳細(xì)說(shuō)明。這些組件的數(shù)學(xué)原理在Iovescu和Rao(2017)中解釋。這里我們提供這些組件的功能性高層描述,并省略了高級(jí)選項(xiàng)以便清晰。
以下是一些符號(hào)表示:
- :每幀的多普勒脈沖數(shù)
- :接收天線數(shù)
- $N_{T_x}:發(fā)射天線數(shù)
- :每脈沖的ADC樣本數(shù)
- $N_{D_b}:快速傅里葉變換(FFT)中的多普勒頻譜數(shù)
- :FFT中的距離頻譜數(shù)
距離處理過(guò)程以ADC脈沖樣本I/Q值為輸入,在活動(dòng)幀時(shí)間內(nèi)執(zhí)行1D距離FFT和可選的直流距離校準(zhǔn),輸出一個(gè)雷達(dá)立方體。ADC數(shù)據(jù)的大小為 · · · 。雷達(dá)立方體的大小為 · · · 。
多普勒處理過(guò)程以先前的雷達(dá)立方體為輸入,在幀間時(shí)間內(nèi)執(zhí)行2D多普勒FFT和能量求和,輸出一個(gè)大小為 · 的檢測(cè)矩陣。
CFAR過(guò)程從檢測(cè)矩陣開(kāi)始,執(zhí)行CFAR檢測(cè)和峰值分組,輸出范圍-多普勒域中的CFAR檢測(cè)列表。
2D AoA處理過(guò)程以雷達(dá)立方體和CFAR檢測(cè)列表為輸入,對(duì)檢測(cè)到的物體的相關(guān)條目進(jìn)行2D多普勒FFT,隨后進(jìn)行2D角度FFT和CFAR選擇峰值,以確定檢測(cè)物體的方位角和仰角,生成具有1D多普勒速度的3D點(diǎn)云。
圖1描述了典型的德州儀器(TI)4D雷達(dá)的工作原理(Iovescu和Rao,2017)。發(fā)射天線發(fā)射的射頻信號(hào)被物體反射,并由接收天線接收。信號(hào)被下變頻為中頻信號(hào),通過(guò)模數(shù)轉(zhuǎn)換器(ADC)進(jìn)行采樣,得到復(fù)數(shù)(同相和正交分量,I/Q)ADC樣本。這些樣本被傳送到數(shù)字信號(hào)處理器(DSP)進(jìn)行進(jìn)一步處理。
數(shù)字信號(hào)處理過(guò)程包括距離處理、多普勒處理、恒虛警率(CFAR)檢測(cè)和2D到達(dá)角(AoA)處理。每個(gè)步驟的詳細(xì)說(shuō)明可以在TI mmwave SDK文檔中找到。這些組件的數(shù)學(xué)原理在Iovescu和Rao(2017)中解釋。
距離處理過(guò)程包括對(duì)ADC樣本進(jìn)行1D距離FFT變換,并在活動(dòng)幀時(shí)間內(nèi)進(jìn)行可選的直流距離校準(zhǔn),最終生成一個(gè)雷達(dá)立方體。多普勒處理過(guò)程則是在幀間時(shí)間內(nèi)對(duì)雷達(dá)立方體進(jìn)行2D多普勒FFT變換和能量求和,生成檢測(cè)矩陣。CFAR過(guò)程基于檢測(cè)矩陣進(jìn)行CFAR檢測(cè)和峰值分組,生成CFAR檢測(cè)列表。最后,2D AoA處理過(guò)程對(duì)CFAR檢測(cè)列表中的相關(guān)條目進(jìn)行2D多普勒FFT和2D角度FFT,確定檢測(cè)物體的方位角和仰角,生成3D點(diǎn)云。
數(shù)據(jù)集
傳感器設(shè)置
數(shù)據(jù)集使用了三個(gè)平臺(tái):手持設(shè)備、電動(dòng)自行車和SUV。這些平臺(tái)的傳感器配置幾乎相同,包括一個(gè)Hesai Pandar XT32激光雷達(dá)、一個(gè)Oculii Eagle雷達(dá)、一個(gè)ZED2i立體攝像頭和一個(gè)Bynav X36D GNSS/INS系統(tǒng)。電動(dòng)自行車和SUV還配備了Continental ARS548雷達(dá)和XSens MTi3DK IMU。數(shù)據(jù)通過(guò)一臺(tái)運(yùn)行Ubuntu 20.04的ThinkPad P53筆記本實(shí)時(shí)預(yù)處理和記錄。
文件格式
每個(gè)序列的數(shù)據(jù)以一個(gè)整體的rosbag文件和一個(gè)包含單獨(dú)消息的文件夾形式提供。傳感器數(shù)據(jù)類型包括點(diǎn)云、圖像、IMU數(shù)據(jù)和GNSS/INS解決方案。文件夾內(nèi)的點(diǎn)云數(shù)據(jù)以pcd文件保存,壓縮圖像以jpg格式保存,其他類型數(shù)據(jù)以txt文件保存。
數(shù)據(jù)集提供了每個(gè)序列的參考軌跡,這些軌跡是在TLS地圖幀中以10Hz生成的。然而,對(duì)于大規(guī)模的SUV序列,僅提供起始子序列和結(jié)束子序列的參考位姿,這些子序列在TLS覆蓋范圍內(nèi)。所有TLS點(diǎn)云及其優(yōu)化后的位姿也提供在數(shù)據(jù)集中。數(shù)據(jù)還包括實(shí)時(shí)GNSS/INS解決方案及其相應(yīng)的UTM50N坐標(biāo)轉(zhuǎn)換結(jié)果。
Ground truth
在數(shù)據(jù)集中,Bynav GNSS RTK/INS系統(tǒng)的解決方案在高度上經(jīng)常會(huì)出現(xiàn)跳躍現(xiàn)象,誤差可達(dá)幾米。因此,我們使用精確的地面激光掃描儀(TLS)點(diǎn)云來(lái)生成參考位姿,類似于Ramezani等(2020)的方法,但我們采用的是逐幀對(duì)齊未失真的激光雷達(dá)幀到TLS地圖。
TLS掃描使用Leica RTC360掃描儀在晴天捕獲,覆蓋了“星湖”和“星湖塔”路線。這些掃描首先通過(guò)Cyclone Register 360程序處理,并在Open3D中進(jìn)一步通過(guò)點(diǎn)到平面ICP進(jìn)行優(yōu)化。最終的TLS地圖由93個(gè)掃描拼接而成,期望精度在5厘米以內(nèi)。
對(duì)于完全覆蓋在TLS地圖內(nèi)的序列,我們通過(guò)兩步法將激光雷達(dá)掃描相對(duì)于TLS地圖進(jìn)行定位:首先獲取初始位姿,然后在定位模式下運(yùn)行LIO方法。對(duì)于大型序列,由于TLS地圖僅覆蓋序列的開(kāi)始和結(jié)束部分,我們僅生成起始和結(jié)束子序列的參考軌跡。為了實(shí)現(xiàn)反向LIO處理,我們提出了數(shù)據(jù)反向技術(shù),通過(guò)時(shí)間反轉(zhuǎn)處理序列信息,從而在序列末端生成參考位姿。
反向處理還提供了一種驗(yàn)證參考精度的方法,通過(guò)比較前向和反向處理結(jié)果,我們確認(rèn)參考位置的精度通常在10厘米以內(nèi)。這一技術(shù)保證了數(shù)據(jù)集的高參考精度,有助于評(píng)估和開(kāi)發(fā)基于4D雷達(dá)的SLAM算法。
同步
由于在硬件上同步所有傳感器具有挑戰(zhàn)性,我們提出了一種方案,確保所有傳感器消息由同一個(gè)虛擬時(shí)鐘標(biāo)記。該方案首先使用激光雷達(dá)數(shù)據(jù)作為橋梁,將所有傳感器消息的時(shí)間戳映射到GNSS時(shí)間,以消除抖動(dòng)和長(zhǎng)期漂移。然后,使用里程計(jì)和相關(guān)算法估算傳感器數(shù)據(jù)與GNSS/INS解決方案之間的恒定時(shí)間偏差:
- 激光雷達(dá)同步:對(duì)所有傳感器消息的主機(jī)時(shí)間進(jìn)行平滑處理,以消除傳輸抖動(dòng)。XT32激光雷達(dá)通過(guò)GNSS時(shí)間同步,因此可以通過(guò)主機(jī)時(shí)間將所有消息時(shí)間戳映射到GNSS時(shí)間。
- 時(shí)間偏差估算:使用相關(guān)算法估算不同傳感器消息流之間的恒定時(shí)間偏差。對(duì)于激光雷達(dá)數(shù)據(jù),使用KISS-ICP方法計(jì)算3D激光雷達(dá)位姿,并通過(guò)中心差分法計(jì)算INS位姿和LO位姿之間的角速度,從而確定時(shí)間偏差。對(duì)于4D雷達(dá),通過(guò)GNC方法估算其自我速度,并與INS解進(jìn)行比較來(lái)確定時(shí)間偏差。對(duì)于IMU,直接計(jì)算IMU數(shù)據(jù)的角速度,并與INS解進(jìn)行比較來(lái)確定時(shí)間偏差。
- ZED2i同步:使用Swift-VIO方法估算ZED2i IMU和攝像頭之間的時(shí)間偏差。雖然在挑戰(zhàn)性序列中Swift-VIO的軌跡可能會(huì)漂移,但時(shí)間偏差通常能迅速穩(wěn)定下來(lái),精度在1ms以內(nèi)。
整體同步精度預(yù)計(jì)在10ms以內(nèi),這得益于GNSS/INS解的高頻率(100Hz)和相關(guān)算法的精細(xì)優(yōu)化,以及ZED2i曝光時(shí)間的合理設(shè)置(不超過(guò)5ms)。
最終,發(fā)布的數(shù)據(jù)集中的所有消息時(shí)間戳都已經(jīng)補(bǔ)償了與GNSS時(shí)間的時(shí)間偏差,確保了數(shù)據(jù)的高精度同步。
傳感器剛體標(biāo)定
為了確保數(shù)據(jù)集的準(zhǔn)確性,定義了基于激光雷達(dá)(XT32)的機(jī)體坐標(biāo)系,其x軸指向前方,y軸指向左側(cè),z軸指向上方。所有傳感器的外參相對(duì)于機(jī)體坐標(biāo)系進(jìn)行標(biāo)定。
初始標(biāo)定
- 傳感器的相對(duì)位置通過(guò)手動(dòng)測(cè)量獲得。
- 相對(duì)方向通過(guò)CAD圖紙確定。
精細(xì)標(biāo)定
- 使用激光雷達(dá)IMU校準(zhǔn)工具對(duì)ZED2i IMU或MTi3DK與XT32激光雷達(dá)之間的外部參數(shù)進(jìn)行優(yōu)化。
- 通過(guò)Swift-VIO方法獲取ZED2i攝像頭和IMU的時(shí)間偏差及其外部參數(shù)。
- 使用相關(guān)算法對(duì)Bynav系統(tǒng)的激光雷達(dá)與IMU之間的相對(duì)方向進(jìn)行校準(zhǔn)。
- 使用相關(guān)算法對(duì)Oculii Eagle和ARS548雷達(dá)與X36D IMU之間的相對(duì)方向進(jìn)行優(yōu)化。
每個(gè)傳感器的外部參數(shù)都經(jīng)過(guò)多種方法優(yōu)化,并提供在數(shù)據(jù)集中,以確保傳感器數(shù)據(jù)的準(zhǔn)確性和一致性。
總結(jié)一下
Snail-Radar是一個(gè)大規(guī)模的4D雷達(dá)數(shù)據(jù)集,專為基于多傳感器融合的定位和建圖應(yīng)用而設(shè)計(jì)。該數(shù)據(jù)集使用三種平臺(tái)在各種環(huán)境條件下進(jìn)行采集,包括雨天、夜晚、校園道路和隧道,共采集了44個(gè)序列,遍布八條路線的多次重復(fù)采集。
參考位置(對(duì)于大規(guī)模序列僅在開(kāi)始和結(jié)束部分)是使用LIO方法生成的,該方法依次將去失真的Hesai激光雷達(dá)幀定位到TLS地圖上。數(shù)據(jù)反向處理技術(shù)實(shí)現(xiàn)了時(shí)間上的反向LIO。傳感器數(shù)據(jù)通過(guò)兩步方案同步:
- 首先使用硬件同步的激光雷達(dá)數(shù)據(jù)將消息主機(jī)時(shí)間映射到GNSS時(shí)間,以消除抖動(dòng)和長(zhǎng)期漂移
- 使用里程計(jì)和相關(guān)算法估算傳感器數(shù)據(jù)與GNSS/INS解之間的恒定時(shí)間偏差。
所有傳感器之間的外部參數(shù)通過(guò)多種方法進(jìn)行優(yōu)化,并隨數(shù)據(jù)集一同提供。