3 votes

Informations d'affichage de l'accéléromètre et du gyroscope filtrées par Android

L'objectif de mon projet est de créer un outil permettant de mesurer et de compter les mouvements du dispositif sur l'axe des Y. Disons que le téléphone est assis sur un système de poulies, et que chaque fois qu'il monte d'une distance, disons de 30 cm, et redescend, je veux compter cela comme une répétition. Ou même arriver au point où le mouvement est affiché sur un graphique.

Les recherches que j'ai effectuées jusqu'à présent m'ont permis de tirer quelques conclusions : L'accéléromètre est bruyant et je dois filtrer les données que je reçois de lui. Je dois utiliser le gyroscope en conjonction avec l'accéléromètre. Le filtre complémentaire est un moyen plus facile de lisser les données des capteurs. J'ai besoin d'obtenir l'orientation du capteur (basée sur la gravité ?) avant que le capteur puisse commencer à "écouter" les répétitions.

Donc, si je comprends bien, je dois d'abord obtenir l'orientation. Ensuite, le capteur doit écouter les mouvements. Ensuite, il faut stocker les données, les filtrer pour obtenir un modèle oscillant, l'appliquer à un algorithme de détection des pics et stocker les résultats.

Je me suis référé à ce lien pour obtenir des informations sur les filtres complémentaires : http://web.mit.edu/first/segway/#misc De ce poste : Combiner les données du gyroscope et de l'accéléromètre

Cela a été très utile pour se faire une idée de la manière dont il faut procéder.

Quelqu'un a-t-il un code similaire à mon projet ? J'ai du mal à démarrer avec le code.

Merci de votre lecture

3voto

JohanB Points 261

Cette fonction est intégrée à l'API Android depuis la version 2.3. Utilisez Sensor.TYPE_LINEAR_ACCELERATION au lieu de Sensor.TYPE_ACCELEROMETER :

Sensor.TYPE_ACCELEROMETER = Sensor.TYPE_LINEAR_ACCELERATION + Sensor.TYPE_GRAVITY

Lorsque vous utilisez la fusion de capteurs ( Sensor.TYPE_LINEAR_ACCELERATION est le résultat de la fusion des capteurs), Android utilise tous les capteurs disponibles pour obtenir les meilleurs relevés accélérométriques possibles sans gravité. http://www.youtube.com/watch?v=C7JQ7Rpwn2k&feature=results_main&playnext=1&list=PL29AD66D8C4372129

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X