【学习总结】Kalibr标定相机与IMU

本文仅用于记录自己学习过程。

使用方法

Kalibr包括:相机内参,多相机外参, (已知IMU和相机内参的)相机与IMU标定,以及扩展Kalibr支持IMU内参标定。

当已知IMU内参和相机内参后,使用按照指定方式录制的rosbag,用如下指令进行标定:

rosrun kalibr kalibr_calibrate_imu_camera \--bag /home/larrydong/imu_ws/data/imu_cam.bag \--cam /home/larrydong/imu_ws/data/imu_cam-camchain.yaml \--imu /home/larrydong/imu_ws/data/imu.yaml \--target /home/larrydong/imu_ws/data/aprilgrid.yaml

可以看到,输入参数包括:rosbag,相机内参,imu内参,和棋盘格配置文件。

内参获取

相机内参获取

个人实际使用时,首先将相机内参单独标定,以获得xxx-camchain.yaml配置文件,可以采用kalibr的代码,但它这个代码初始化时总有些问题,无法收敛。因此我采用matlab先进行标定,再将matlab标定的参数修改camchain.yaml配置文件。

IMU内参标定

IMU内参标定理论上可以用Kalibr-extend进行,但这里采用另一个工具,imu_utils进行标定。详见:【学习记录】IMU内参标定:Allan方差与代码。同样,标定后修改imu.yaml配置文件。

运行过程与结果

可以看到进行了一个优化,
在这里插入图片描述最后优化得到了最终结果,误差还是蛮大的(毕竟相机和IMU都比较差),得到了IMU到camera的坐标系变换:旋转矩阵基本是 [ 1 , 0 , 0 ; 0 , 0 , − 1 ; 0 , 1 , 0 ] [1,0,0; 0,0,-1; 0,1,0] [1,0,0;0,0,1;0,1,0],即绕x轴正向转了90°:
在这里插入图片描述

在这里插入图片描述


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部