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.
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.
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.
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.
- Github personal email
- 221e web-site