kalibr标定IMU

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kalibr标定IMU相关的知识,希望对你有一定的参考价值。

步骤:

1:如何标定
2:标定的结果
3:如何验证标定结果的正确性

相机IMU标定的准备工作

【1】环境配置:需要安装ROS,可根据http://wiki.ros.org/ROS/Installation 选择安装版本(我安装的ubuntu版,http://wiki.ros.org/cn/jade/Installation/Ubuntu ).ROS安装成功的标志为,任意打开一个终端,运行:roscore,无报错

【2】标定工具箱:

The following two sources for the toolbox are available:

  (1)building from source(我选择的这个,参考http://www.cnblogs.com/Jessica-jie/p/6536272.html

Depends on a working installation of ROS indigo and a catkin workspace.

  (2)CDE package

1.如何标定https://github.com/ethz-asl/kalibr/wiki/camera-imu-calibration

标定所需文件:
【1】 XX.bag:包含有图片信息和IMU数据的ROS包

    • 将采集的数据制成.bag文件,.bag文件制作参考: https://github.com/ethz-asl/kalibr/wiki/bag-format

      • .bag文件的生成需要:采集图片和Imu数据
      • Kalibr的所有应用程序使用ROS包作为图像和IMU数据的源。
      • .bag文件生成命令: (创建ROS包)
        kalibr_bagcreater –folder dataset-dir –output-bag awsome.bag
      • 需要注意的是:在包含图片的文件夹的同一目录下需要一个:output空白文件夹,否则 .bag 文件无法生成
      • 生成的.bag文件使用:rosbag info XX.bag 判定是否生成成功,如果只有4kb,则生成失败,而一般情况都是路径问题

   提示:

 

  • 标定工具中需要目标标定板:使用的目标标定板为April类型中的 7*5
  • 图像数据的采集,采集的图像是为了制成可被接下来使用的bag包,其中相机的采集频率建议为20Hz,IMU的采集频率建议为200Hz

    • 图像采集时,尽量激活所有的IMU轴,包括旋转和平移
    • 避免震动,特别是在开始和结束时
    • 不可移动过快,否则会出现移动模糊

【2】camchain.yaml:包含相机的内参和畸变参数的文件YAML formats该文件包含相机内在和外在参数的校准以及IMU相对于相机的空间和时间校准参数。)
【3】IMU.yaml:包含IMU的基本参数,噪音等 YAML formats
【4】target.yaml:标定目标板的参数。(标定工具中需要目标标定板:使用的目标标定板为April类型中的 7*5)

当上述的文件都有时,使用命令,完成标定.

 

kalibr_calibrate_imu_camera --bag [filename.bag] --cam [camchain.yaml]
--imu [imu.yaml] --target [target.yaml]

默认情况下,时间校准关闭,可以使用--time-calibration参数启用。

有关选项的详细信息,请使用help参数:

kalibr_calibrate_imu_camera --h 

2.标定结果(由以下示例跑出的结果)

 

3.标定结果的评定标准:

校准将生成以下输出文件

  • report-imucam-%BAGNAME%.pdf :以PDF格式报告。 包含所有图表的文档。
  • results-imucam-%BAGNAME%.txt :将结果摘要作为文本文件。
  • camchain-imucam-%BAGNAME%.yaml :YAML格式的结果。 此文件基于输入camchain.yaml ,所有摄像机相对于IMU添加了转换(以及可选的时间移位)。 

使用示例数据集的示例

Downloads页面下载数据集IMU-camera calibration并解压(需要FQ下载)。

The archive will contain the bag, calibration target and IMU configuration file.

使用命令,完成标定.

kalibr_calibrate_imu_camera –target xx/target.yaml –cam xx/camchain.yaml
–imu xx/IMU.yaml –bag xx/xx.bag –bag-from-to 5 45 

 注意:由于数据集中存在冲击,因此仅使用5到45秒之间的数据。


 

以上是关于kalibr标定IMU的主要内容,如果未能解决你的问题,请参考以下文章

kalibr标定IMU

ROS实验笔记之——基于Kalibr标定event 与imu

【SLAM】kalibr工具IMU和双目相机标定

技术分享 | 带你解读Kalibr和VINS标定参数

ROS实验笔记之——基于kalibr来标定DAVIS346

了解imu以及imu的标定