Camera-IMU標定工具Kalibr的編譯【源碼編譯】

github地址:https://github.com/ethz-asl/kalibr

1.安裝

Kalibr 提供兩種使用方式。第一種爲CDE下直接使用,作者將所需的庫文件打包好,省去了配置dependency的步驟,可以直接從

https://github.com/ethz-asl/kalibr/wiki/downloads

下載之後直接用

./cde-exec+命令 即可使用對應的工具。

例如如果我們想使用kalibr內的kalibr_calibrate_cameras功能,

使用

./ced-exec kalibr_calibrate_cameras --target april_6x6.yaml --bag static.bag --models pinhole-equi pinhole-equi omni-radtan omni-radtan --topics /cam0/image_raw /cam1/image_raw /cam2/image_raw /cam3/image_raw

即可。

但是此方法不能使用其中的某些功能,例如我們想使用calibration validator,在CDE環境下是無法使用的。

所以作者建議我們build from source。

根據https://github.com/ethz-asl/kalibr/wiki/installation的part B中的描述進行安裝。

在安裝過程中,可能會遇到wget相關的錯誤,比如說在安裝到suitesparse庫的時候,對應的cmakelists中會通過wget 下載壓縮包,若無法下載則整個kalibr都無法成功安裝,那麼我們需要進行一番修改。

當然你也可以自己編寫cmakelists,不過個人覺得有點麻煩。

2. 源碼編譯

參考:https://www.cnblogs.com/SongHaoran/p/6912042.html

按照官方教程,安裝相關的依賴之後編譯,詳細教程請移步:http://blog.leanote.com/post/[email protected]/camera-IMU%E6%A0%87%E5%AE%9A%E6%95%99%E7%A8%8B

問題解決 1:關於catkin_make過程中下載suitesparse過久甚至失敗的問題

參考:https://www.jianshu.com/p/b48e74f4b21f

問題解決2:提示找不到 numpy/numpyconfig.h

參考:https://blog.csdn.net/qq_25599287/article/details/103870750

github上有此問題的提問:https://github.com/ethz-asl/numpy_eigen/issues/3
具體操作,可以在numpy_eigen包的CMakeLists.txt中添加:

include_directories("/usr/local/lib/python2.7/dist-packages/numpy/core/include")

就是將numpy/numpyconfig.h的具體地址添加進去。

3. 開始標定

在編譯之後,運行標定程序之前需要先source一下:

sudo gedit ~/.bashrc

在 ~/.bashrc文件中添加一下內容:

source /home/修改爲kalidr文件夾/devel/setup.bash

然後在終端中 source ~/.bashrc


標定測試:

數據集爲官方給出的示例數據:

命令行直接運行以下指令:

kalibr_calibrate_imu_camera --target april_6x6.yaml --cam camchain.yaml --imu imu_adis16448.yaml --bag dynamic.bag --bag-from-to 5 45

4. 結果示例

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章