转自:https://blog.csdn.net/learning_tortosie/article/details/89889853
前言
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_calib对bin/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