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. 結果示例