Intel Realsense D435i各类标定教程
??在之前的實驗中用到了realsense-D435i,為了提高精度使用之前必須要進(jìn)行標(biāo)定。本篇文章就介紹下各類標(biāo)定方法。因為我最終的目的是完成IMU和雙目的聯(lián)合標(biāo)定,整個流程都是圍繞整個目的展開的。過程中包括:RGB標(biāo)定、單目標(biāo)定、IMU標(biāo)定、雙目標(biāo)定、IMU-雙目標(biāo)定
??標(biāo)定使用了kalibr標(biāo)定庫,整篇參考了系列博客:路徑規(guī)劃_Nankel Li的博客-CSDN博客。具體的內(nèi)容可以去看這個,但在實現(xiàn)中還是有所不同(特別是標(biāo)黃色的注意部分)。在此做下記錄希望能夠幫助到各位。
第一步 環(huán)境配置:
參考:D435i標(biāo)定攝像頭和IMU筆記一(配置環(huán)境篇)_Nankel Li的博客-CSDN博客
注:最后一個命令改為:
kalibr_create_target_pdf --type checkerboard --nx 5 --ny 8 --csx 0.045 --csy 0.045會在~/kalibr_workspace生成PDF文件,就是標(biāo)定板文件
第二步,RGB標(biāo)定
參考:D435i標(biāo)定攝像頭和IMU筆記二(RGB攝像頭標(biāo)定篇)_Nankel Li的博客-CSDN博客
注:rosbag包錄制的時候要用到標(biāo)定板文件,打開rviz,用攝像頭對齊然后開始錄制,錄制一段時間之后,有成功的顯示為止,在~/calib_data/camera_calib下生成三個文件
第三步:IMU標(biāo)定
參考:D435i標(biāo)定攝像頭和IMU筆記三(IMU標(biāo)定篇)_Nankel Li的博客-CSDN博客_d435i imu標(biāo)定
??選擇的方法是:港科大imu_utils進(jìn)行標(biāo)定
注:ceres-solver安裝教程參考:
在linux ubuntu18.04版本中安裝ceres solver_YMWM_的博客-CSDN博客_linux安裝ceres
注:執(zhí)行l(wèi)aunch文件,出現(xiàn)wait for imu data,再執(zhí)行rosbag回放,再等待一下,會有結(jié)果。錄制rosbag要至少兩個小時,計算參數(shù)也要至少兩個小時。這個錄制rosbag可以不對齊標(biāo)定板,靜置錄制環(huán)境即可。
第四步:進(jìn)行雙目標(biāo)定
參考:D435i標(biāo)定攝像頭和IMU筆記二-2(RGB+雙目多攝像頭標(biāo)定篇)_Nankel Li的博客-CSDN博客_d435是雙目嗎
注:原文中關(guān)閉結(jié)構(gòu)光的步驟說的不是很明確,可以參考這篇:Realsense D435i關(guān)閉IR結(jié)構(gòu)光_Hecttttttttt的博客-CSDN博客。需要注意下新版的界面現(xiàn)在是下面這樣的(設(shè)置emitter_enabled為off(0)即可):
注:如果只想要雙目的話,可以不管那個color話題。采集rosbag數(shù)據(jù)時要對準(zhǔn)標(biāo)定板checkboard進(jìn)行采集,否則會報錯無法提取corners錯誤。采集角點時對齊的三個軸是下面這三個:
注:realsense默認(rèn)雙目是不開的,所以為了有infra1和infra2話題,要設(shè)置下rs_camera.launch。設(shè)置如下:
報錯:
信息如下:
解決:https://blog.csdn.net/DarlingXXY/article/details/119563632
第五步:進(jìn)行雙目IMU聯(lián)合標(biāo)定
參考:D435i標(biāo)定攝像頭和IMU筆記四-2(雙目攝像頭與IMU聯(lián)合標(biāo)定篇)_Nankel Li的博客-CSDN博客
注:還是要對齊標(biāo)定板錄制rosbag文件
報錯:
解決:https://blog.csdn.net/qq_38337524/article/details/115589796
無關(guān)參考:我感覺D435i的使用有必要寫出一篇教程,什么燒寫升級固件,更改分辨率幀率,標(biāo)定,發(fā)布IMU數(shù)據(jù)等等_TYINY的博客-CSDN博客_d435i 使用
總結(jié)
以上是生活随笔為你收集整理的Intel Realsense D435i各类标定教程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python-nmap使用及案例
- 下一篇: CEF3—在网页加载前给js对象填值