All Projects → danicomo → 9dof-orientation-estimation

danicomo / 9dof-orientation-estimation

Licence: BSD-3-Clause License
Orientation estimation algorithms based on IMUs and MARG sensors

Programming Languages

C#
18002 projects
c
50402 projects - #5 most used programming language
matlab
3953 projects
M
324 projects

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].