Skip to main content
Jonathan Andrei
Retour aux billets
Fév. 2022 à Avr. 20224 min de lecture

Quaternions, IMU et une appli C++ sans fil qui ne ment pas sur la dérive

Lire des données IMU en sans fil et les transformer en rotation 3D stable dans OpenGL, c'est surtout un exercice de lutte honnête contre la dérive. Le matériel ment ; les maths vous disent quand.

C++IMUOpenGLQuaternions

La plupart des projets mocap débutants intègrent les lectures de gyro en angles d'Euler et regardent le modèle partir dans le décor au bout de deux minutes. Les quaternions plus une étape de fusion de capteurs honnête — accéléro pour l'inclinaison, magnéto pour le cap, gyro pour le court terme — donnent un signal utilisable tant que l'utilisateur continue à bouger.

Le multiplateforme était la discipline

Construire la même appli C++ sur Linux, macOS et Windows a forcé une séparation honnête entre transport, parsing des capteurs et rendu. C'est le genre de nettoyage structurel qu'on ne fait que parce qu'on y est contraint — et c'est la seule raison pour laquelle le code est encore lisible des années plus tard.

Projet associé

Wireless Motion Capture Rotation

Voir le projet