Accéléromètre GPS V. S. pour calculer la distance
j'essaie de mettre en œuvre une application de fitness qui peut garder une trace de la vitesse de course et de la distance de course dans Android.
il semble que je puisse utiliser le GPS ou L'accéléromètre pour calculer ces informations.
Puisqu'un coureur peut mettre son téléphone en main, sur l'épaule ou dans sa poche, ma première intuition est d'utiliser le GPS pour obtenir des localisations et calculer la vitesse de course et la distance de course. Mais récemment quelqu'un m'a dit que je peux aussi utiliser L'accéléromètre ne que.
ma question Est: Dans Android, quelle approche est la meilleure pour calculer la vitesse de course et la distance de course, GPS ou Accéléromètre?
4 réponses
je soupçonne que les podomètres sont basés sur des accéléromètres parce que les accéléromètres sont moins chers que les GPS à utiliser. en fait, je pense que beaucoup de podomètres, n'essayez même pas de mesurer la distance. juste des secousses d'accélération qui sont égales. et puis s'ils vous donnent une mesure de distance, c'est en multipliant les pas détectés par une taille de pas estimée ou moyenne.
GPS (si vous êtes dans une zone où cela fonctionne!) fera une très bonne mesure de la distance. Même avec un récepteur GPS très bon marché. Tout étant fondamentalement OK, vous devriez vous attendre à des positions de début et de fin à moins de 10m, et donc pour un voyage de 1km, vous avez 20m de manque, ce qui est 2% de manque total de distance totale. Cette nonchalance descend de façon linéaire avec la distance parcourue (c'est-à-dire qu'une course de 2 km aura 1% de nonchalance, une course de 4 km aura 0,5% de nonchalance, etc.). les problèmes ici seront avec vos affichages en temps réel (la position GPS saute de la commutation par satellite donnant des valeurs de vitesse massives, ou perte immédiate de signal donnant une perte de tout immédiatement visualisable de données)
je pense qu'avec un bon accéléromètre, en partant de l'arrêt, on peut continuellement intégrer le signal pour obtenir de la vitesse, et continuellement intégrer ce résultat pour obtenir de la distance... Je ne suis pas sûr de la qualité de l'accéléromètre que vous obtenez dans un téléphone donné? vous devrez peut-être filtrer les données sur le bruit ou même les données sur les déchets.. Et vous devez également considérer quelle précision il a. 20% de précision dans votre capteur ferait un très mauvais tracker de distance. De sorte que vous pourriez avoir pour travailler avec le comptage de pas et des estimations de taille de pas.
peut-être une combinaison des deux pourrait fonctionner?
je serais tenté d'utiliser les données de l'accéléromètre (en intégrant ou en comptant les pas selon ce qui marchera toujours) pour suivre la vitesse et la distance en peu de temps, puis avec beaucoup plus de temps, des données GPS généralisées pourraient être utilisées pour corriger ou mettre à l'échelle ces données de l'accéléromètre. Surtout si vous avez filtré/bloqué les données GPS sur la base de mesures non fiables à un moment donné.
ajoutant à ce que Julian a dit ... Normalement, le GPS ne fonctionne pas sous les toits, donc pour les salles de sport intérieures, il ne fonctionne pas. En théorie, les signaux GPS ne sont pas dérangés par les nuages, mais lorsque j'ai travaillé sur mon application GPS, j'ai eu l'expérience de l'indisponibilité des signaux GPS par mauvais temps (ce n'est peut-être pas votre cas, car personne ne va faire du jogging avec thunder storm: D) D'accord avec Julian, vous devriez utiliser à la fois GPS et accéléromètre pour construire une application fiable pour chaque condition.
les meilleurs résultats sont obtenus en utilisant les deux, par le biais de la fusion des capteurs. Voir:
accelerometer accelerometer accelerometer accuracy (Inertial navigation)
vous aurez des problèmes de précision si vous utilisez simplement le GPS ou un algorithme de podomètre.
tous les podomètres que je connais sont basés sur des accéléromètres. Je suppose que, le GPS n'est pas assez précis pour ce genre de choses. Il peut dire: "aucun mouvement", alors que vous l'avez fait quelques pas, elle dépend aussi de la zone que vous essayez de l'utiliser.