# IMU-TK: Inertial Measurement Unit ToolKit # __The project is forked from [here](https://bitbucket.org/alberto_pretto/imu_tk), and I only add some commens.__ 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. ## References ## 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](http://www.dis.uniroma1.it/~pretto/papers/tpm_icra2014.pdf)) ``` #!bibtex @inproceedings{tpm_icra2014, 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)}, year={2014}, pages={3042--3049} } ``` 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](http://www.dis.uniroma1.it/~pretto/papers/pg_imeko2014.pdf)) ``` #!bibtex @inproceedings{pg_imeko2014, title={Calibration and performance evaluation of low-cost IMUs}, author={Pretto, A. and Grisetti, G.}, booktitle={Proc. of: 20th IMEKO TC4 International Symposium}, year={2014}, pages={429--434} } ``` ## License ## 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. ## Requirements ## 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: ``` #!bash sudo apt-get install build-essential cmake libeigen3-dev libqt4-dev libqt4-opengl-dev freeglut3-dev gnuplot ``` and follow this [guide](http://ceres-solver.org/building.html) to install Ceres Solver. ## Building ## To build IMU-TK on Ubuntu, type in a terminal the following command sequence. ``` #!bash cd imu_tk mkdir build cd build cmake .. make ``` 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/: ``` #!bash ./test_imu_calib test_data/xsens_acc.mat test_data/xsens_gyro.mat ``` ## Contact information ## Alberto Pretto [[email protected]](mailto:[email protected])