双目相机标定

1. 简介

双目相机:小觅mynteye-d D1000-50

操作系统:Ubuntu 16.04 + ROS kinect

目标:用mynteye运行msckf_vio模型

刚开始先是把msckf_vio模型运行起来,但是发现相机不动的时候已经在非常快速的向某一个方向漂移,所以决定先做相机标定。

2. 相关链接

      msckf_vio模型。其中提到Kalibr标定的参数可以直接用于msckf_vio模型。

https://github.com/KumarRobotics/msckf_vio

      如何用 kalibr 标定 MYNTEYE(小觅相机官方文档)。虽然是mynteye-s的文档,但是对D系列同样适用。

https://mynt-eye-s-sdk.readthedocs.io/zh_CN/2.3.6/src/slam/how_to_use_kalibr.html

Kalibr: 相机标定工具

https://github.com/ethz-asl/kalibr

imu_tk:内参标定工具

https://github.com/Kyle-ak/imu_tk

imu_tk的ROS wrapper:imu_tk里面要求mat格式数据,没有找到录制方式,用这个wrapper可以直接在ROS上面运行。

https://github.com/Neil-Oyoung/imu_tk

imu_utils

https://github.com/gaowenliang/imu_utils

3. 标定过程

根据《如何用 kalibr 标定 MYNTEYE》,标定过程分为以下步骤:

1. 用imu-tk标定imu内参;

      文档里面只是提到了要标定imu内参,并没有说明标定后要做什么。通过与技术支持沟通,需要把imu内参信息写入相机。

(这里吐槽一下,小觅技术支持只能通过邮件交流,效率太低。)

标定得到两个文件,imu_acc.calib和imu_gyro.calib,文件中的数据格式:


imu_acc.calib和imu_gryo.calib文件中的数据格式

其中,第一个矩阵对应下面相机内参数据格式中的assembly,第2个矩阵对应scale,最后3列对应drift。

通过MYNT_EYE-D-SDK/tools/_output/bin/writer/save_all_infos获取的相机内参数据格式:


2. 用imu_utils得到统计数据参数

先安装ceres

https://blog.csdn.net/weixin_39373577/article/details/81285420

用imu_utils标定:安装时需要避免的坑

https://blog.csdn.net/fang794735225/article/details/92804030

得到数据格式:

imu统计数据参数


根据这篇博客https://blog.csdn.net/u011178262/article/details/83316968,把结果改成这种格式,a把Gyr和Acc下的a:

其中,Gyr对应Gyroscopes,Acc对应Accelerometers,都取其中的平均数据avg-axis.

n对应noise density,w对应random walk.

n,w也分别对应相机内参数据格式中的nosie和bias。

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