Vous ne connectez tous ces capteurs directement à un microcontrôleur. Le filtre de Kalman n'est pas un filtre électronique, comme un filtre LRC, qui relie les capteurs au microcontrôleur. Le filtre de Kalman est un filtre mathématique implémenté en tant que routine logicielle dans le microcontrôleur.
Les capteurs que vous avez répertoriés fournissent au microcontrôleur 14 ou 15 nombres bruts chaque fois qu'ils sont tous mis à jour.
Lorsque je pilote un petit avion, ce que je veux vraiment savoir, c’est sa position et son orientation et à quelle distance se trouve-t-il au-dessus du sol - 7 chiffres.
J'ai besoin de quelque chose qui me donne ces 7 chiffres.
Idéalement, je veux une nouvelle estimation de ces 7 nombres à chaque fois via ma boucle de contrôle. Les mises à jour toutes les secondes que je reçois avec mon GPS bon marché ne sont pas assez rapides. (Les personnes à quelle fréquence ma boucle de mise à jour de sortie-calcul-détection-sortie-sortie quadricoptère doit-elle rester stable? Me disent que même 50 fois par seconde ne sera pas assez rapide).
D'une manière ou d'une autre, je vais devoir réduire ces 14 ou 15 chiffres bruts, dont certains ne sont mis à jour que de temps en temps, en (estimations de) les 7 chiffres que je veux vraiment.
Comme Josh l'a souligné, il existe de nombreux moyens ad hoc de convertir ces nombres bruts en données utilisables. Toute routine qui convertit 15 nombres en 7 nombres peut être décrite comme un "filtre".
Vous n'êtes pas obligé d'utiliser le filtre optimal. Mais vous utiliserez une sorte de filtre - c’est-à-dire un élément qui convertit les 15 chiffres de données brutes que vous avez en (estimations de) les 7 chiffres que vous voulez vraiment.
Le filtre de Kalman est, dans certaines conditions, le filtre "optimal", le meilleur moyen de convertir ces données brutes en 7 chiffres que je souhaite vraiment.
Utiliser un filtre de Kalman déjà écrit et débogué par un autre filtre nécessite moins de travail que d'écrire un autre filtre à partir de zéro, de le déboguer et de continuer à l'ajouter jusqu'à ce qu'il soit utilisable, un filtre qui se révèlent inévitablement être sous-optimum.
Les données du capteur sont bruyantes. Si vous ne le filtrez pas, votre véhicule agirait au moins de manière erratique s'il était même suffisamment stable pour voler. Le filtrage, via un filtre de Kalman ou autre, peut réduire le bruit correctement et améliorer la stabilité.
Un filtre de Kalman est un filtre particulièrement puissant. Il faut un modèle du système et des modèles de bruit pour le système et vos capteurs. Il estime ensuite l'état du véhicule en fonction d'une estimation d'état fournie et des contrôles appliqués à tout moment. Cet état estimé sera plus précis que ce que les capteurs rapportent.
la source
Vous pouvez également utiliser des filtres à particules. Pour l'introduction de base aux filtres à particules, vous pouvez consulter les vidéos du professeur Thrun dans Programmation d'une voiture robotique.
http://www.youtube.com/watch?v=H0G1yslM5rc
http://www.youtube.com/watch?v=QgOUu2sUDzg
Les filtres à particules sont plus robustes et ont une probabilité beaucoup plus faible d'erreur de fermeture de boucle, ce qui se produit généralement lors de la mise en œuvre d'une fonction EKF.
Les vidéos décrivent le fonctionnement d'un filtre à particules.
la source
Un filtre de Kalman est un algorithme couramment utilisé dans les drones pour fusionner plusieurs mesures de capteurs afin de fournir une estimation "optimale" de la position et / ou de l'orientation du drone. Par exemple, un filtre de Kalman peut fusionner les mesures de l'accéléromètre, du gyroscope et du magnétomètre avec une estimation de la vitesse pour estimer le tangage et le roulis de l'UAV.
Pour plus d'informations sur les capteurs et les algorithmes utilisés dans l'estimation de l'état des UAV, consultez l'article indépendant Principes de base du vol d'un petit aéronef sans pilote .
L'article contient également des liens vers le code Matlab d'accompagnement implémentant les algorithmes d'estimation d'état décrits dans le filtre de Kalman Filter.
la source