2016-11-11 3 views
-2

Bon, alors voici mon projet:Est-il possible de calculer la position à partir de l'accéléromètre?

Je suis en train de concevoir un aéroglisseur RC. Quand l'aéroglisseur ne bouge pas, je ne veux pas qu'il se stabilise en utilisant un accéléromètre. Il est important de noter que l'acc, sera toujours plat, ce qui signifie qu'aucun autre axe, alors le z, ne devrait être influencé par la gravité. Stabiliser dans ce cas signifie que si vous poussez l'aéroglisseur, il devrait essayer d'obtenir la même position. J'ai fait un code matlab, si je recevais des données d'accéléromètre, de l'axe des x. J'ai ensuite créé un filtre de moyenne mobile, pour lisser la chose, et fait un seuil, ce qui signifie que toutes les valeurs en dessous d'un certain nombre seraient considérées comme zéro. Je plante ensuite le graphique, et ça a l'air correct. Le problème, que vous connaissez probablement déjà, est que je dois suivre la position de l'aéroglisseur, savoir à quelle distance de sa position d'origine il a été poussé. Quand je trace la vitesse, et fais une déclaration qui dit que si la dernière donnée d'accélération a été nulle, je peux supposer que l'accéléromètre ne bouge pas, et la vitesse est également mise à zéro. Mais quand je trace la position, ça ne va pas du tout. Il va souvent se déplacer dans la même direction dans l'intrigue, même si je déplace l'accéléromètre dans les deux directions.

J'ai envisagé d'utiliser un filtre Kalman, mais avant d'aller plus loin, je veux m'assurer que c'est possible. J'utilise le MPU-9150 pour mesurer l'accélération.

Meilleures salutations

Répondre

0

Si vous avez seulement l'accéléromètre + gyroscope + magnétomètre vous ne serez pas en mesure de calculer la position exacte dans la limite des besoins raisonnables, car la première intégration entraînera une vitesse sans précision, et la seconde l'intégration provoquera une erreur de position qui augmentera avec le temps.

La physique est simple, la vitesse n'est pas absolue, donc vous ne pouvez pas dire si vous êtes en mouvement ou non, donc vous ne pouvez pas corriger la dérive.