IMU-TK: Inertial Measurement Unit ToolKit

The C++ IMU-TK Library (Inertial Measurement Unit ToolKit) provides simple functions and data structures to calibrate MEMS-based inertial navigation units, and to process and display IMU data. IMU-TK implements a multi-position calibration method that does not require any parameter tuning and simply requires the sensor to be moved by hand and placed in a set of different, automatically detected, static positions. IMU-TK also provides a collection of functions for data integration.


Papers Describing the Approach:

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)

  title={A Robust and Easy to Implement Method for IMU Calibration 
            without External Equipments},
  author={Tedaldi, A. and Pretto, A. and Menegatti, E.},
  booktitle={Proc. of: IEEE International Conference on Robotics and
                   Automation (ICRA)},

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)

  title={Calibration and performance evaluation of low-cost IMUs},
  author={Pretto, A. and Grisetti, G.},
  booktitle={Proc. of: 20th IMEKO TC4 International Symposium},


IMU-TK is licensed under the BSD License. IMU-TK is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the licenses for more details.


The code is tested on Ubuntu 14.04. IMU-TK requires the following tools and libraries: CMake, Eigen3, Ceres Solver, OpenGL, QT and Gnuplot. To install these required packages on Ubuntu, use the terminal command:

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

and follow this guide to install Ceres Solver.


To build IMU-TK on Ubuntu, type in a terminal the following command sequence.

cd imu_tk
mkdir build
cd build
cmake  ..

Test the library with the test_imu_calib app (binary in /bin, source code in src/test_imu_calib.cpp): test_imu_calib performs an IMU calibration given the data included in bin/test_data/:

./test_imu_calib test_data/xsens_acc.mat test_data/xsens_gyro.mat

Contact information

Alberto Pretto