Question

Ma question est probablement très simple, mais il se peut aussi que je me trompe complètement - j'ai donc décidé de la poser.À la fin, je calculerai l'orientation de mon téléphone à l'aide des données du capteur gyroscopique.Je sais que je devrais utiliser quelque chose comme un filtre Kalman ou un filtre complémentaire pour faire face à la dérive du gyroscope.Je vais le faire dans un deuxième temps mais le problème que je pose ici est le même pour les deux approches.Donc, la vraie question est la suivante:

Du gyroscope, je n'obtiens que des changements angulaires (après intégration).Donc, ce dont j'ai besoin, c'est d'une valeur initiale, à laquelle je peux ajouter le changement actuellement mesuré.Mais comment obtenir ce point de départ?Dois-je utiliser un accéléromètre et un magnétomètre pour déterminer l'orientation du téléphone?Ou est-ce qu'il y a un meilleur moyen?

Si cela compte, j'utilise Android pour cela et j'ai une implémentation pour déterminer l'orientation du téléphone à l'aide de l'accéléromètre et du magnétomètre, mais c'est très imprécis.

Était-ce utile?

La solution

Utilisez une orientation arbitraire comme oritentation initiale.

Tout filtre raisonnable doit s'en remettre et converger rapidement vers l'orientation réelle.

J'ai utilisé le filtre décrit dans la Direction Cosine Matrix IMU: Theory .J'ai pris soin de la liquidation intégrale en délimitant le TotalCorrection (page 27).Fonctionne comme un charme!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top