/9dof-orientation-estimation

Orientation estimation algorithms based on IMUs and MARG sensors

Primary LanguageC#BSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Summary

Various kind of 9 Degrees of freedom IMU orientation estimation algorithm.

The aim of this project is to provide efficient orientation estimation algorithms using a 9 DOF IMU. The project started back in 2011 in the framework of an academic course (Microelectronics), as a google-code hosting. We used the iNEMO V2 as IMU, released at that time by ST Microelectronics (official site iNemo). This project was carreied out in collaboration with ST Microelectronics, R&D group, AST Advanced System Technologies / Remote Monitoring.

Content

We developed the following algorithms:

  • Complementary filter: the simplest way to estimate orientation using a 9DOF IMU. Attached in the "Download" section Matlab and C# sources.

  • Kalman filter: implementation of Kalman filter using quaternion as system state. Attached in the "Download" section Matlab and C# sources.

  • AHRS estimation algorithm: this implementation is provided by the project imumargalgorithm30042010sohm. We inserted the source as a class into our C# project, fitting it to our IMU (downloadable in the "Download" section).

The "docs" folder contains the following documents:

  • "ProgettoMicroelettronica_Relazione_V16.pdf ", the first report written in 2011. ITALIAN LANGUAGE.
  • "MicroelectronicsProject_Report_V11.pdf", a brief translation of the italian report mentioned before.
  • "GaussNewton_QuaternionComplemFilter_V13.pdf", a document explaining the implementation of a quaternion based complementary filter using a Gauss-Newton method for the observation of quaternions.

Updates

Here you can find a demonstration video of the very first implementation of the quaternion based Kalman filter (March, 2011): EKF demo video

Demonstration video of a very basic (2 sensors only, wired connection, bulky) prototype of a motion tracking system (December, 2011): First mocap demo

Demonstration video of our first AHRS developed in the Microelectronics Lab of University of Bergamo (August, 2012): iNemo M1 BT demo video

Demonstration video of a basic prototype of a motion tracking system based on a network of iNemoM1-BT (November, 2012): Mocap iNemoM1-BT

Miniaturized AHRS developed in the Microelectronics Lab of University of Bergamo in collaboration with STMicroelectronics (July, 2013): neMEMSi demo

Since 2015 we are running our own business with inertial systems within 221e SRL, always in collaboration with the University of Bergamo.

About the authors

Daniele Comotti & Michele Ermidoro graduated in Computer Science Engineering at University of Bergamo in 2011. The same year joined the Microelectronics Lab and the Control & Automation Lab of the University of Bergamo, respectively, where they carried out their Ph.D. programs. Currently they run their own business and still collaborate with the University of Bergamo.

Contacts