imu相机标定_Kalibr联合标定Camera-IMU (总结)

Kalibr联合标定Camera-IMU

1. Kalibr安装

2. 制作标定板

3. Camera标定

3.1采集数据

3.2开始标定

3.3标定验证

4. IMU标定

5. Camera与IMU联合标定

1. Kalibr安装

安装依赖库

sudo apt-get install python-setuptools python-rosinstall ipython libeigen3-dev libboost-all-dev doxygen libopencv-dev ros-indigo-vision-opencv ros-indigo-image-transport-plugins ros-indigo-cmake-modules python-software-properties 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 pip install python-igraph --upgrade

创建工作空间

mkdir -p ~/catkin_kalibr/src

cd ~/catkin_kalibr/src

catkin_init_workspace

cd ..

catkin_make

echo "source ~/catkin_kalibr/devel/setup.bash" >> ~/.bashrc

source ~/.bashrc

cd ~/catkin_kalibr/src

git clone https://github.com/ethz-asl/Kalibr.git

cd ..

catkin_make

等待一段时间(20分钟左右),安装编译完成.

2. 制作标定板

使用aprilgrid标定板,可以使用kalibr自带工具自定义生成不同大小的标定板,命令行如下:

kalibr_create_target_pdf --type apriltag --nx [NUM_COLS] --ny [NUM_ROWS] --tsize [TAG_WIDTH_M] --tspace [TAG_SPACING_PERCENT]

// 例如

kalibr_create_target_pdf --type apriltag --nx 5 --ny 5 --tsize 0.025 --tspace 0.4

将以上命令生成的标定板PDF格式(例子使用的是A4纸大小),直接无缩放比例打印出来,就可以直接使用。

可能会出现问题

No moudule named pyx

译器报错,import不到pyx这个包(pyx这个python包用于产生pdf文件)

解决方法

输入一下命令安装即可,pip安装的话,没有效果,依旧存在错误,(很迷)

sudo apt-get install python-pyx

3. Camera标定

3.1采集数据

设置采样频率,并转换话题

制作好标定板之后,就可以使用相机对标定板进行拍摄,进行数据采集,相机要从多个角度对标定进行拍摄,这样相机pose要足够多。命令行如下:

rosrun topic_tools throttle messages /camera/rgb/image_color 5.0 /kinect

命令行中 topic_tools throttle 为ROS中改变 topic 发布频率的命令,通常设备采集频率为30Hz左右,这会使得标定的图像太多,急剧增加计算量,最好将 ros topic 降到 5hz左右进行数据采集。要确保图像不要模糊,运动不要太快!

制作rosbag

数据采集好了之后就可以进行 bag 的制作了,命令行如下:

rosbag record -O mono_calibra.bag /kinect

3.2开始标定

kalibr_calibrate_cameras --bag '/home/guofeng/mono_calibra.bag' --topics /kinect --models pinhole-equi --target april_5x5_25x10mm.yaml

3.3标定验证

可以使用calibration validator进行标定结果的验证,原理是对重投影误差进行量化分析。命令行如下:

kalibr_camera_validator --cam camchain.yaml --target april_5x5_25x10mm.yaml

命令行中 camchain.yaml 与 target.yaml 分别为上述中 camera 标定的结果以及标定板的 yaml 文件。

4. IMU标定

参见另一篇博客:IMU标定及Allan方差分析

5. Camera与IMU联合标定

你可能感兴趣的:(imu相机标定)