一、概述
多傳感器的外參標(biāo)定和時(shí)間同步(統(tǒng)稱時(shí)空標(biāo)定)是融合的重要前提條件,前面介紹的所有融合都是默認(rèn)已經(jīng)標(biāo)定好了的。但實(shí)際上,標(biāo)定當(dāng)然是需要在融合之前做的,之所以放在后面講,是因?yàn)闃?biāo)定所用到的知識比融合多,或者可以講,標(biāo)定是一種更高級別的融合。
由于標(biāo)定的方法多種多樣,要標(biāo)定的內(nèi)容也十分的多,所以本篇文章無法對每一種方法進(jìn)行詳細(xì)的介紹,索性我們在這里把常見方法的思路匯總梳理一下,弄清楚什么情況下該選什么類型的方法,等真正用到再去了解它的細(xì)節(jié),也未嘗不可。
二、外參標(biāo)定方法
相比于時(shí)間標(biāo)定,外參的標(biāo)定更簡單一些,那么我們就先從簡單的開始介紹。
外參標(biāo)定方法可以按以下方式進(jìn)行分類
之所以按有無共視進(jìn)行區(qū)分,是因?yàn)槎咴谠砗途壬隙加斜举|(zhì)區(qū)別,而且在實(shí)際應(yīng)用中,也會盡可能讓傳感器之間產(chǎn)生共視。
1.雷達(dá)和相機(jī)外參標(biāo)定
?
這類任務(wù)中,主要是用的就是pnp方法,可參考的資料有:
論文1:LiDAR-Camera Calibration using 3D-3D Point correspondences
代碼1:https://github.com/ankitdhall/lidar_camera_calibration
論文2:Automatic Extrinsic Calibration for Lidar-Stereo Vehicle Sensor Setups
代碼2:https://github.com/beltransen/velo2cam_calibration
詳細(xì)的公式和實(shí)現(xiàn)細(xì)節(jié)大家可以看論文和代碼,這里更傾向于用文字描述直觀地解釋一下它的原理。有共視的視覺與雷達(dá)的標(biāo)定原理很簡單,從圖片中可以看到,二者都可以掃到標(biāo)定物,而且都能夠提取物體的邊緣(線或點(diǎn)),建立一個(gè)殘差模型,描述二者的邊緣之間的距離,殘差是以外參為自變量的,因此進(jìn)行優(yōu)化讓殘差最小,即可找到二者之間的外參。
2.多雷達(dá)外參標(biāo)定
參考資料:
論文:A Novel Dual-Lidar Calibration Algorithm Using Planar Surfaces
代碼:https://github.com/ram-lab/lidar_appearance_calibration
這類方案的核心思路是,在每個(gè)雷達(dá)各自的點(diǎn)云中提取平面特征,理論上,當(dāng)外參已知且精確時(shí),同一個(gè)平面在所有雷達(dá)中的掃描應(yīng)該是重合的(轉(zhuǎn)換到同一個(gè)坐標(biāo)系下),反之,當(dāng)二者不重合時(shí),即說明外參有誤差,以平面的不重合度為殘差,以外參作為自變量,建立優(yōu)化模型,進(jìn)行優(yōu)化,即可得到外參結(jié)果。
3. 手眼標(biāo)定
手眼標(biāo)定的名字最早來自于機(jī)械手的標(biāo)定,機(jī)械手上有攝像頭,標(biāo)定攝像頭和機(jī)械手之間外參的方法被叫做手眼標(biāo)定。但是這種工作原理,可以應(yīng)用在所有無共視且二者都能進(jìn)行位姿解算的傳感器標(biāo)定任務(wù)中(比如相機(jī)與IMU、雷達(dá)與IMU、相機(jī)與雷達(dá)等等)。
它的原理很簡單,就一個(gè)公式:
其中 X 就是要標(biāo)定的外參,A和B分別為兩個(gè)傳感器各自解算的相對位姿。這個(gè)公式結(jié)合上面的圖,我想應(yīng)該就不用過多解釋了。
相關(guān)參考資料為:
論文:LiDAR and Camera Calibration using Motion Estimated by Sensor Fusion Odometry
https://github.com/ethz-asl/lidar_align
4. 融合中標(biāo)定
我們通過前面多篇文章的介紹,應(yīng)該已經(jīng)明白融合是怎么回事,也應(yīng)該清楚融合的模型是什么樣子,而在融合中標(biāo)定,指的是把外參作為狀態(tài)量加入到融合模型中去,一起進(jìn)行狀態(tài)估計(jì)。隨著變量的增多,融合的精度、觀測性要求都更高,因此前面才說標(biāo)定是一種更高級別的融合。
在實(shí)際使用中,融合中標(biāo)定方法的一個(gè)重要貢獻(xiàn)是可以進(jìn)行在線標(biāo)定,即在融合任務(wù)執(zhí)行的過程中,就把外參給搞定了,而不需要像其他方法一樣先標(biāo)定再融合。這方面的工作有很多,其中包含眾多vio/lio系統(tǒng),如vins、lio-mapping、M-Loam 等。由于都是很出名的工作,所以論文和代碼就不一一列出了。
三、時(shí)間標(biāo)定方法
在實(shí)際使用中,很多時(shí)候各個(gè)傳感器都是用自己的時(shí)鐘,由于各個(gè)時(shí)鐘之間不同步,因此需要估計(jì)他們之前的時(shí)間差,也就是這里所說的時(shí)間標(biāo)定。
時(shí)間標(biāo)定是一個(gè)很復(fù)雜,且很難做的精確的事情。因此在實(shí)際使用中,更傾向于用硬件解決問題,比如讓多個(gè)傳感器使用同一個(gè)時(shí)鐘源,或者用一個(gè)共同的時(shí)間戳給所有傳感器打時(shí)間標(biāo)簽等等。總之,時(shí)間標(biāo)定是一個(gè)沒有辦法的辦法,它是有精度代價(jià)的,一般在沒有條件做硬件同步(比如手機(jī))時(shí),才做這一項(xiàng)工作。
時(shí)間標(biāo)定方法按照原理主要可以分為離散時(shí)間方法和連續(xù)時(shí)間方法。
1.離散時(shí)間方法
離散時(shí)間方法指的是在原有離散時(shí)間融合模式下,簡單地解決時(shí)間同步問題。
在業(yè)內(nèi),比較有名的有下面兩類方法。
1)方案1
這是港科大秦通的一篇工作,應(yīng)用在vins上,論文為 Online Temporal Calibration for Monocular Visual-Inertial Systems。
它的思想很巧妙,讓IMU時(shí)間保持不變,圖像上特征點(diǎn)基于勻速運(yùn)動模型修改位置(示意圖如下)。與不考慮時(shí)間誤差時(shí)相比,架構(gòu)不變,使用極小的改動,實(shí)現(xiàn)了期望的效果。
2)方案2
第二個(gè)方案的思路是在濾波中計(jì)算相機(jī)位姿時(shí),直接按時(shí)間差對積分區(qū)間進(jìn)行調(diào)整(論文題目:Online Temporal Calibration for Camera-IMU Systems: Theory and Algorithms)。
此時(shí)對應(yīng)的狀態(tài)量為
相機(jī)位姿估計(jì)的模型就變?yōu)?/p>
2. 連續(xù)時(shí)間方法
連續(xù)時(shí)間指的是把輸入(加速度、角速度)建立為連續(xù)時(shí)間函數(shù),而不是它原來的離散時(shí)刻。這是因?yàn)椋A(yù)積分中把時(shí)間差作為待估狀態(tài)量,對時(shí)間差進(jìn)行建模時(shí),會得到以下結(jié)果:
由于要對時(shí)間差求雅可比,因此插值函數(shù)必須可導(dǎo)(可到要求必須連續(xù),因此要使用連續(xù)時(shí)間模型),此時(shí)雅可比如下:
剩下的就可以使用正常的優(yōu)化步驟去求解問題了。
當(dāng)然連續(xù)時(shí)間slam是一個(gè)很大的話題,三言兩語肯定介紹不完,感興趣的可以去看以下論文
a. kalibr 系列
論文:Continuous-Time Batch Estimation using Temporal Basis Functions
論文:Unified Temporal and Spatial Calibration for Multi-Sensor Systems
論文:Extending kalibr Calibrating the Extrinsics of Multiple IMUs and of Individual Axes
代碼:https://github.com/ethz-asl/kalibr
b. 其他
論文:Targetless Calibration of LiDAR-IMU System Based on Continuous-time Batch Estimation
代碼:https://github.com/APRIL-ZJU/lidar_IMU_calib
四、總結(jié)
有工程經(jīng)驗(yàn)的都知道,方法歸方法,效果歸效果,理論的東西推導(dǎo)的再完整,他們的效果總歸是有差異的,因此選擇方法時(shí)要有一個(gè)優(yōu)先級。
對于外參標(biāo)定方法,可以粗略認(rèn)為,三種思路的精度由高到低依次為
a. 基于共視的標(biāo)定
b. 融合中標(biāo)定
c. 手眼標(biāo)定
因此,當(dāng)高精度等級的方法能夠使用時(shí),就盡量不要使用低精度等級的方法。
對于時(shí)間標(biāo)定方法,應(yīng)盡量使用硬件同步方案,不得已時(shí),再使用算法去估計(jì)時(shí)間差,而且,估計(jì)時(shí),應(yīng)該在環(huán)境好(特征充足)的情況下去估計(jì)。
審核編輯:黃飛
?
評論
查看更多