J'ai finalement trouvé le problème avec le magnétomètre. L'erreur ne venait ni de l'algorithme utilisé, ni de son implémentation, ni même de la qualité intrinsèque du magnétomètre.
Le problème semble être une erreur de signe dans les données reçues depuis le téléphone mobile. Le signe sur l'axe Y était inversé (les conventions sur les autres axes étaient les mêmes pour accéléromètre et magnétomètre sauf pour un des axes).
J'ai trouvé le bug grâce au développement d'un outil de visualisation de l'attitude du téléphone dans le navigateur (copie d'écran ou vidéo à venir)
Le code source est là
Aucun commentaire:
Enregistrer un commentaire