Question

Je suis intéressé, comment est la double entrée dans une configuration de capteur dans fusionnement un filtre de Kalman modélisé?

Dites par exemple que vous avez un accéléromètre et un gyroscope et que vous voulez présenter le « niveau d'horizon », comme dans un avion, une bonne démonstration de quelque chose comme ça ici.

Comment la récolte en fait les deux capteurs propriétés positives et minimiser les effets négatifs?

Est-ce le modèle dans la matrice modèle d'observation (généralement symbolisée par H majuscule)?


Remarque: a également posé cette question sans réponse à math.stackexchange.com

Était-ce utile?

La solution

En général, le problème de la fusion de la sonde est dérivé du théorème de Bayes. En fait, vous avez que votre estimation (dans ce cas, le niveau d'horizon) sera une somme pondérée de vos capteurs, qui se caractérise par le modèle de capteur. Pour deux capteurs, vous avez deux choix communs: Modèle deux systèmes de capteurs et d'en tirer le gain de Kalman pour chaque capteur (en utilisant le modèle de système comme facteur prédictif), ou d'exécuter deux étapes de correction à l'aide de différents modèles d'observation. Vous devriez jeter un oeil à Prédicteurs bayésiens (un peu plus général que le filtre de Kalman) qui est précisément dérivée de minimisation de la variance d'une estimation, compte tenu de deux sources d'information différentes. Si vous avez une somme pondérée, et de réduire la variance de la somme, pour deux capteurs, vous obtenez alors le gain de Kalman.

Les propriétés du capteur peut être « vu » dans les deux parties du filtre. Tout d'abord, vous avez la matrice d'erreur pour vos observations. Ceci est la matrice qui représente le bruit dans l'observation des capteurs (il est supposé être égal à zéro bruit gaussien moyenne, ce qui est une hypothèse trop grande, étant donné que lors de l'étalonnage, vous pouvez obtenir un bruit moyenne nulle).

L'autre matrice importante est la matrice de covariance d'observation. Cette matrice vous donne un aperçu sur la façon dont le bien est le capteur à vous donner des informations (informations qui signifie quelque chose « nouveau » et ne dépend pas des autres capteurs de lecture).

A propos de « récolte les bonnes caractéristiques », ce que vous devez faire est de faire un bon étalonnage et la caractérisation du bruit (est-ce correct orthographié?) Des capteurs. La meilleure façon d'obtenir un filtre de Kalman à Converge est d'avoir un bon modèle de bruit pour vos capteurs, et est expérimental 100%. Essayez de déterminer la variance de votre système (ne pas toujours de confiance dans les fiches techniques).

L'espoir qui aide un peu.

Autres conseils

Le taux de mesures gyroscopiques de changement d'angle (par exemple en radians par seconde), tandis que de l'accéléromètre, vous pouvez lire calculer l'angle lui-même. Voici un moyen simple de combiner ces mesures:

A chaque lecture gyro reçu:

angle_radians+=gyro_reading_radians_per_sec * seconds_since_last_gyro_reading

A chaque accéléromètre lecture reçu:

angle_radians+=0.02 * (angle_radians_from_accelerometer - angle_radians)

La constante est de 0,02 pour le réglage - il sélectionne le compromis entre le rejet du bruit et de la réactivité (vous ne pouvez pas avoir les deux en même temps). Cela dépend également de la précision des deux capteurs, et les intervalles de temps au cours de laquelle de nouvelles lectures sont reçues.

Ces deux lignes de code en œuvre un 1-dimensionnelle simple (scalaire) filtre de Kalman. Il suppose que

  • gyroscopique est très faible bruit par rapport à l'accéléromètre (vrai avec la plupart des capteurs de qualité à la consommation). Par conséquent, nous faisons du bruit gyroscopique pas du tout modèle, mais utiliser à la place gyroscopique dans le modèle de transition d'état (généralement désigné par F).
  • accéléromètre lectures sont généralement reçues à des intervalles de temps réguliers et accéléromètre niveau de bruit (en général R) est constante
  • angle_radians a été initialisés avec une estimation initiale (p.ex par moyenne angle_radians_from_accelerometer pendant un certain temps)
  • donc aussi estimer covariance (P) et optimal gain de Kalman (K) sont constants, ce qui signifie que nous ne devons garder covariance des estimations dans une variable du tout.

Comme vous le voyez, cette approche est simplifiée. Si les hypothèses ci-dessus ne sont pas remplies, vous devriez apprendre une théorie du filtre de Kalman, et modifier le code en conséquence.

ligne d'horizon est G » * (u, v, f) = 0, où G est un vecteur de gravité, u et v de l'image centrée coordonnées et f la distance focale. Maintenant, les avantages et les inconvénients des capteurs: gyroscope est super rapide et précis, mais les dérives, l'accéléromètre est moins précis, mais (si calibré) a polarisation nulle et ne dérive pas (donné aucune accélération sauf gravité). Ils mesurent des choses différentes - accéléromètre mesure l'accélération et donc l'orientation par rapport au vecteur de gravité tandis que la rotation vitesse et donc le changement d'orientation des mesures du gyroscope. Pour le convertir en une orientation doit intégrer ses valeurs (heureusement, il peut être échantillonné à haute fps comme 100-200). ainsi filtre de Kalman censé être linéaire n'est pas applicable au gyroscope. pour l'instant nous pouvons simplifierait la fusion du capteur comme une somme pondérée des lectures et des prévisions.

Vous pouvez combiner deux lectures - accéléromètre et gyroscope intégré et prédiction modèle en utilisant des poids qui sont inversement proportionnels aux variations des données. Vous devrez également utiliser la boussole de temps en temps depuis l'accéléromètre ne vous dit pas grand-chose sur l'azimut mais je pense qu'il est hors de propos pour le calcul d'une ligne d'horizon. Le système doit être réactif et précis et à cette fin, chaque fois que l'orientation change rapidement les poids pour gyroscope doit être grande; lorsque le système se stabilise et arrête la rotation des poids pour accéléromètre monteront permettant une plus grande intégration de zéro lectures de polarisation et de tuer la dérive du gyroscope.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top