J'ai un accéléromètre à 3 axes et un gyroscope à 2 axes. J'ai l'intention de mesurer quelque chose qui ne se déplace que sur les axes X et Z. J'ai entendu parler de l'utilisation de filtres de Kalman pour lisser les vecteurs d'accélération, mais je ne trouve pas de bon tutoriel pour un débutant du sujet. De plus, je sais que je peux intégrer l’accélération pour obtenir la position, mais comment puis-je le faire avec un nombre fini de vecteurs d’accélération échantillonnés? J'apprécierais des liens vers de bons tutoriels pour les débutants sur ces deux sujets.
33
Réponses:
Voici un tutoriel sur la mise en œuvre d'une matrice de cosinus directionnel pour une unité IMU: http://gentlenav.googlecode.com/files/DCMDraft2.pdf
Consultez les pages ArduIMU: http://code.google.com/p/ardu-imu/wiki/Theory
Voici quelques projets open source qui font cela. La lecture du code devrait donner quelques indices:
http://code.google.com/p/gluonpilot/source/browse/trunk/Firmware/#Firmware/rtos_pilot%3Fstate%3Dclosed
http://code.google.com/p/sf9domahrs/
la source
Eh bien, le filtre de Kalman est une sorte de magie qui fonctionne mystérieusement. :)
J'ai d'abord commencé avec les filtres numériques . Bien expliqué pour les débutants. Et facilement compréhensible. Ces filtres simples fonctionnent bien pour le roulis et la hauteur de tout système. Juste besoin d'ajuster le rapport précision / réponse en expérimentant. Le truc est [Précision = 1 - Réponse].
Essaie.
Ensuite, pour comprendre le filtre de Kalman, vous devrez suivre les étapes suivantes:
Et doit partager si vous rencontrez quelque chose comme ça.
la source
En théorie (à condition d'avoir des capteurs et des mesures parfaits), vous pouvez le faire, mais en pratique vous ne pouvez pas. Le problème est que l’accéléromètre aura une force constante de 1 G provoquée par la gravité lorsque l’objet est immobile (zéro G en cas de chute libre), mais elle n’est pas mesurée exactement à 1,00000000 ... G. Lorsque vous déplacez l'objet, vous obtenez un vecteur représentant la somme de la gravité 1G et de l'accélération du mouvement (qui est généralement beaucoup plus petit que 1G). Vos mesures accumulent beaucoup trop de bruit au fil du temps pour être utiles si vous essayez d'intégrer des mesures accélération moins 1G gravité.
la source
J'ai commencé à construire un quad il y a presque 6 mois et j'ai eu beaucoup de problèmes pour déterminer correctement l'angle. :)
Tout d’abord, vous devriez essayer cette présentation - http://web.mit.edu/scolton/www/filter.pdf Elle est très complète et vous aidera peut-être à avoir une meilleure idée de ce que vous voulez vraiment. pour moi.
Je suppose que c'est à vous de décider, mais implémenter le filtre de Kalman ne nécessite pas seulement un savoir-faire assez solide en mathématiques, en théorie des systèmes et dans ce cas en physique, mais est également très exigeant en termes de charge du processeur. Dans le cas où vous envisagiez d'utiliser, disons un Atmega328 cadencé à 16 MHz, vous pourriez avoir des problèmes pour utiliser ce type de filtre. C'est vraiment efficace si vous utilisez un DSP, vous pouvez donc filtrer votre entrée par un filtre passe-bas.
Dans l'ensemble, mon conseil est le suivant: essayez d'utiliser le filtre complémentaire du premier ordre ou peut-être même le filtre complémentaire du deuxième ordre si vous n'êtes pas satisfait du résultat. Si votre système est exempt de vibrations haute fréquence, cela devrait fonctionner parfaitement. Autre que ce lien de JustJeff est l'endroit idéal pour commencer au cas où vous êtes coincé avec la mise en œuvre :)
Tout le meilleur, Dan
la source
Je suis également novice et cherche également une solution à mon travail de navigation. Comme vous, j'ai une carte configurée avec accéléromètre 3 axes et gyroscope 2D. Jusqu'à présent, j'ai lu de nombreux documents à ce sujet. De même, j'ai décidé d'adopter le filtre kalman dans le traitement de mon signal. peut-être que je n'ai pas de suggestion à vous faire, mais je veux partager avec vous quelque chose que j'avais déjà vu. il existe des liens pointant vers eux, espérons que cela vous sera utile.
limité à ma réputation, je suis autorisé à publier moins de 2 liens. donc les deux autres je veux poster comme ci-dessous:la source