2017-02-13 1 views
3

J'essaie d'avoir la distance déplacée par un smartphone pour empêcher l'utilisateur par exemple tous les 50 cm. Est-il possible de le faire en sachant que je ne peux pas utiliser la détection d'étape parce que je vais mettre les smartphones dans un appareil à 4 roues et je n'aurai pas de données GPS parce que je fais les expériences à l'intérieur.Est-il possible d'avoir la distance déplacée par un smartphone en utilisant seulement l'accéléromètre?

J'ai implémenté le code pour calculer la distance en utilisant seulement un accéléromètre mais j'ai compris que l'erreur est très importante et que les données de l'accéléromètre fluctuent beaucoup.

Pouvez-vous s'il vous plaît me aider même par quelques conseils ou références

+0

Non, ce n'est pas assez précis. Vous pourriez avoir une approximation d'accélération, mais cela ne serait pas assez précis pour calculer une vitesse. Eh bien, vous pourriez avoir une approximation mais je doute que ce serait proche. J'ai toujours voulu trouver le temps d'essayer d'être honnête;) PS: cela dépend principalement du composant de l'appareil. J'ai implémenté une fois mais j'ai dû ajouter un algorithme pour lisser les valeurs, cet algorithme utilisait un paramètre que je devais changer pour chaque appareil pour obtenir quelque chose de "utilisable" – AxelH

Répondre

3

Non, vous ne pouvez pas.

Les capteurs internes des appareils mobiles sont bruyants. Et pour passer d'une accélération à une position, vous devez intégrer deux fois. Alors le bruit deviendra trop grand, par conséquent votre position dérivera.

Il ya un interesting Google Tech Talks on this subject qui expliquera ce sujet mieux que je le ferais. Et même si la vidéo est ancienne, le problème est principalement les maths, et non le hardware, alors c'est toujours pertinent.

2

Comme vous l'avez mentionné, vous ne pouvez pas utiliser le GPS car l'appareil est à l'intérieur. Vous pouvez utiliser des balises pour vous aider à calculer la position de votre appareil. Les balises fonctionnent en utilisant Bluetooth Low Energy (BLE) pour envoyer des signaux radio en permanence. Vous pouvez calculer la distance entre votre appareil et chacune des balises installées en fonction de la puissance du signal et obtenir un emplacement relatif aux balises installées. Cela nécessite quelques calculs mais cela peut résoudre votre problème. J'espère que cela aide.

1

Je pense que vous pouvez trouver beaucoup de livre blanc pour ce sujet sur de nombreuses universités. Par exemple, LRM Team de Pologne faire des recherches à ce sujet, ici vous avez le lien LRM Team Smartphone localization. Mais pour une localisation efficace, vous devez utiliser tout le capteur smarthphone.