在安装Kalibr需要OpenCV2版本,但是目前环境的很多依赖都是需要OpenCV3,于是寻找两个版本共存的解决方案。网上没有详细对Kalibr从安装到标定使用的完整教程,对初学者不是很友好,所以记录自己的学习过程,方便以后参考。
使用Kalibr工具线对相机+IMU离线标定,常见SLAM算法的定位精度主要看传感器的情况,传感器的精度保证才能让算法更加准确,所以对传感器的标定显得尤为重要,Kalibr是唯一能标定camToImu的工具,
文章目录
一、安装OpenCV2以及依赖
1、下载ROS package包opencv2_catkin和catkin_simple,也可以截至克隆(git clone)下来
2、建立ROS工作空间
mkdir -p ~/kalibr_ws
3、下载好的两个package放到工作空间
4、新建src目录,然后编译
catkin_make
5、新建src目录,然后编译
catkin_make
二、安装标定工具以及依赖
1、将kalibr复制到工作空间src路径下
catkin_make
2、安装SuiteSparse库
apt-cache search suitesparse # 查看apt源是否有这个库
sudo apt-get install libsuitesparse-dev # 安装SuiteSparse库
3、安装依赖库
sudo apt-get install python-setuptools python-rosinstall ipython libeigen3-dev libboost-all-dev doxygen libopencv-dev ros-melodic-vision-opencv ros-melodic-image-transport-plugins ros-melodic-cmake-modules software-properties-common libpoco-dev python-matplotlib python-scipy python-git python-pip ipython libtbb-dev libblas-dev liblapack-dev python-catkin-tools libv4l-dev
sudo apt-get install software-properties-common
4、安装python-igraph
sudo apt-get install python-igraph
5、修改BSplinePython.cpp
增加头文件
#include <functional>
然后修改参数_1改成std::placeholders::_1
home/gyh/kalibr_workspace/src/kalibr/aslam_nonparametric_estimation/bsplines_python/src/BSplinePython.cpp
6、编译
catkin build -DCMAKE_BUILD_TYPE=Release -j4
7、恢复工作空间
source ~/kalibr_ws/devel/setup.bash
Kalibr通过使用校准版的完整优化过程来恢复最佳的校准,提供了地面标准、相对位姿,可用于校准相机内参和其他参数
离线标定的好处是,我们可以模拟多种运动已达到我们想要的IMU的状态
8、检查是否运行
rosrun kalibr kalibr + TAB键