當前位置:編程學習大全網 - 源碼下載 - SLAMkalibr工具IMU和雙目相機標定

SLAMkalibr工具IMU和雙目相機標定

推薦看壹下博客,評論內容也很豐富 ,很多問題都能在評論中找到答案:

/gaowenliang/imu_utils

運行程序前修改launch的 topic 等參數

launch文件中, <param name="max_time_min" type="int" value= "80"> <param name="max_cluster" type="int" value= "100"> 這兩個參數的意義是什麽?應該怎麽設置呢?

max_time_min:采集IMU數據的時間,越長越好,單位分鐘;

max_cluster:Allan方差的cluster,imu_utils中的launch文件中都是100,我壹般也設置100

運行命令

source ~/kalibr_workspace/devel/setup.bash

註意要在dataset-dir後加上/.,在根目錄運行這個命令即可(在文件目錄下輸出會生成壹個很小的bag文件),輸出的bag文件就在根目錄下。

制作bag包

運行標定命令

打開--show-extraction選項在標定過程中可以可視化角點檢測情況是否良好

發現角點重投影出現嚴重錯誤

角點重投影是為了顯示壹下用計算出來的相機矩陣對角點進行重投影得到的理論位置。

也是為了顯示,理論得到的角點與實際角點之間的差別。

重投影誤差最小化通常作為相機標定中的壹個目標函數來用的。

然後使用lakibr的相機標定重新標定了壹下模組,得到的結果重投影比較準確

註意要選擇合適的相機模型和畸變模型

相機模型和畸變模型: /okasy/article/details/90665534#t7

重投影誤差在 0.1~0.2 以內,標定結果較好。 我對相機標定完,發現右邊的圖範圍在1~~1之間, 這樣是不是標定的效果很差? 怎麽解決呢?

誤差範圍接近1的話效果應該很差

博主,請問標定誤差大 壹般出現的原因是什麽?

dymymao 9個月前#4樓博主妳好,請問壹般使用雙目會去做雙目極線對齊 cv::stereoRectify,這時是把雙目矯正後的圖像和imu放入kalibr標定Tic,還是先標定Tic',再去雙目極線矯正調整Ric=Ric' Rl;這兩種做法哪個更好?收起回復

白巧克力亦唯心 回復 dymymao

兩種都可以,但是要註意使用方式。通常大家都是用沒有去畸變的圖像和 imu 壹起標定外參數,這時候標定的外參數是不能用來和rectify後的圖像壹起做vio的。因為rectify的圖像是在畸變圖像上還會加壹個微小的旋轉,即畸變圖像和imu之間的外參數 和 rectify 圖像跟imu之間的外參數是不壹樣的。

dymymao 回復 白巧克力亦唯心

如果是畸變圖像和imu做的標定得到Tic',雙目矯正的左目旋轉為Rcc'->Tcc',則雙目VIO的Tic=Tic' Tcc'^T。我理解的對嗎? 此外,雙目參數的標定 用kalibr的Multiple camera calibration相比直接用opencv接口stereoCalibrate會好很多嗎?

白巧克力亦唯心 回復 dymymao

可以這麽認為,Tcc' 只是壹個旋轉矩陣,平移為0. 以前我用過opencv 和kalibra兩種方式標定攝像頭。在我標定過程中,kalibra標定的結果確實更好,當然這可能跟我采集數據的方式有關。無論如何,kalibra 相對於opencv標定的優點更多,比如 kalibra 使用apriltag 標定板,使得每個標定格子是帶 id 的,這樣就使得標定過程相機可以只捕捉部分標定板就能完成標定,相機運動可以更任意,更便捷。

IMU噪聲模型: 從零開始的 IMU 狀態模型推導

IMU校正 IMU校正以及姿態融合 - shenshikexmu的博客 - CSDN博客

  • 上一篇:arm架構Centos7.6部署Mysql集群的步驟(arm安裝mysql)
  • 下一篇:Unity源代碼大全
  • copyright 2024編程學習大全網