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