IMU参数标定工具——imu_tk

前言

IMU-TK提供简单的函数和数据结构,用于校准基于MEMS的惯性导航单元,以及处理和显示IMU数据。IMU-TK实现了一种多位置校准方法,该方法不需要任何参数调整,只需要手动移动传感器并放置在一组不同的,自动检测的静态位置。IMU-TK还提供了一系列数据集成功能。

参考

  • D. Tedaldi, A. Pretto and E. Menegatti, “A Robust and Easy to Implement Method for IMU Calibration without External Equipments”. In: Proceedings of the IEEE International Conference on Robotics and Automation (ICRA 2014), May 31 - June 7, 2014 Hong Kong, China, Page(s): 3042 - 3049 (PDF
  • A. Pretto and G. Grisetti, “Calibration and performance evaluation of low-cost IMUs”. In Proceedings of the 20th IMEKO TC4 International Symposium, Sep. 15 - 17, 2014 Benevento, Italy, pages: 429 - 434 (PDF

要求

代码在Ubuntu 14.04上通过了测试。

IMU-TK需要以下工具和库:CMake,Eigen3,Ceres Solver,OpenGL,QT和Gnuplot。要在Ubuntu上安装这些必需的软件包,请在终端执行命令:

sudo apt-get install build-essential cmake libeigen3-dev libqt4-dev libqt4-opengl-dev freeglut3-dev gnuplot

对于Ceres Solver,请另行安装。

安装

打开终端,执行:

git clone https://github.com/Kyle-ak/imu_tk.git
cd imu_tk
mkdir build
cd build
cmake  ..
make

可能出现找不到Eigen的错误,解决方法不在此赘述。

运行

bin/test_data/xsens_acc.mat为加速度计原始数据,bin/test_data/xsens_gyro.mat为陀螺仪原始数据。

数据格式为:时间戳(单位为秒) X轴数据 Y轴数据 Z轴数据

文本的格式为UTF-8无BOM。

使用test_imu_calibbin/test_data/中包含的数据执行IMU校准:

cd bin/
./test_imu_calib test_data/xsens_acc.mat test_data/xsens_gyro.mat

生成两个标定文件,分别为陀螺仪和加速度计的旋转矩阵,刻度因数和零偏。

test_imu_acc.calib:

          1  -0.0033593 -0.00890639
          0           1  -0.0213341
         -0           0           1

0.00241278          0          0
         0 0.00242712          0
         0          0 0.00241168

33124.2
33275.2
32364.4

test_imu_gyro.calib:

         1 0.00593634 0.00111101
0.00808812          1 -0.0535569
 0.0253067 -0.0025513          1

0.000209295           0           0
          0 0.000209899           0
          0           0 0.000209483

32777.1
32459.8
32511.8

下图来自 http://www.dis.uniroma1.it/~pretto/papers/pg_imeko2014.pdf
在这里插入图片描述
自己采集IMU数据时,应遵循下图表示的协议:
在这里插入图片描述

展开阅读全文

没有更多推荐了,返回首页