6
votes

Vitesse Android basée sur les valeurs d'accéléromètre

J'ai besoin d'obtenir la vitesse d'un appareil Android, en fonction des valeurs d'accéléromètre. J'ai fait un code qui me permet d'obtenir les valeurs d'accéléromètre, puis je calculerai la vitesse, en utilisant la formule: v = v0 + à. (calcul vectoriel)

Mon problème est que ma vitesse ne augmente que et ne diminue jamais. Je pense que le problème est que l'appareil ne reçoit jamais une accélération négative.

Pouvez-vous m'aider avec cela?


0 commentaires

3 Réponses :


4
votes

Êtes-vous soustrayant la force de la gravité? L'appareil est toujours accéléré - même s'il est juste assis sur votre bureau, il accélère à 9,8 m / s ^ 2 à l'écart du centre de la terre.


3 commentaires

Ouais je fais ça. Et je pense que c'est que les 9,8 m / s ^ 2 sont appliqués sur le composant Z.


Cela ne sera vrai que si l'appareil est assis sur un bureau ou une autre surface entièrement horizontale.


Oui tu as raison. Comme je pensais seulement que le téléphone était horizontal, j'ai oublié ça. Merci ;)



6
votes

L'obtention de la vitesse des accéléromètres peut ne pas être possible (oublier fiable) car à vitesse constante, il n'y aura aucune accélération (autre que la gravité). Vous serez peut-être mieux à obtenir des données de localisation GPS et de leurs échantillons de temps et de la vitesse de calcul par distance par distance au fil du temps.


2 commentaires

Eh bien, le problème est que j'essaie d'appliquer une technique de dépendance morte pour compenser une défaillance temporaire du GPS. Donc, lorsque je commence à obtenir les valeurs de l'accéléromètre, je n'ai pas de connexion GPS. Je sais que j'aurai une erreur cumulée et je sais que les valeurs ne sont pas fiables, mais c'est un travail académique, juste pour vérifier que c'est possible.


Voici mon exemple Maephv.blogspot.com/2011/ 10 / ...



1
votes

Vous pouvez utiliser une combinaison de l'accéléromètre et du compas numérique, dans les téléphones qui les ont, pour déterminer une vitesse et une direction mentionnées dans cette Post .

Si tout ce que vous avez à faire est de déterminer si la personne marche, tout ce dont vous avez besoin est l'accéléromètre. Traitez simplement sa sortie pour les étapes de pied.

Il existe de nombreux tutoriels sur le Web pour détecter des marches à pied avec un accéléromètre.

Il y a une note d'application ici: http: // www .Analog.com / Bibliothèque / Analogdialogue / Archives / 41-03 / Pedomètre.html qui donne un arrière-plan mathématique décent et un exemple d'algorithme. C'est bien sûr à vous d'extraire les mathématiques et de le réécrire pour Android (le code exemple est écrit en C). Je ne connais pas actuellement à une bibliothèque Android Open Source avec un algorithme de détection de pas.

Si vous implémentez quelque chose, je voudrais obtenir le code, n'oubliez pas de poster les résultats.


0 commentaires