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

 

 

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