À quel type de performances puis-je m'attendre lors de l'utilisation d'un filtre Kalman étendu pour l'étalonnage et la localisation?

8

Actuellement, j'ai un robot de style tricycle qui utilise un filtre kalman étendu afin de suivre 6 variables d'état. Les entrées du système sont un codeur de direction, un codeur de distance et un laser rotatif qui renvoie uniquement des informations sur des points de repère connus. Actuellement, les deux encodeurs sont situés sur la roue principale (celle qui pilote et est également alimentée).

Les 6 variables suivies par le filtre de Kalman sont X, Y, cap, mise à l'échelle de distance (étalonnage de l'encodeur de distance), étalonnage de direction (décalage de l'encodeur de direction), et enfin un étalonnage de palier d'un laser rotatif.

Avec ce type de système, nous assemblons un véhicule, lui donnons un bon emplacement connu avec de nombreux points de repère, le conduisons un peu et nous nous retrouvons avec un véhicule bien calibré qui peut parcourir de longues distances de manière fiable avec quelques points de repère. C'est simple et ça marche très bien. Au fil du temps, si un encodeur dérive, il suivra automatiquement la dérive et s'ajustera.

Nous essayons maintenant d'appliquer les mêmes principes à un robot à plusieurs roues directrices et motrices. Dans ce cas, le véhicule pourra se déplacer dans n'importe quelle direction, tourner sur place, etc. Chaque roue directrice / motrice aura son propre codeur de direction et de distance qui chacun doit être calibré.

Puis-je espérer obtenir le même type de fiabilité et de performances du système plus complexe? Y a-t-il des pièges communs à rechercher lors de l'extension d'un filtre kalman pour inclure plus de variables? Y a-t-il un risque qu'il se fixe sur des valeurs sous-optimales?

ApockofFork
la source

Réponses:

1

À mon avis (sur la base de mon expérience limitée de l'utilisation de l'EKF pour la navigation):

Les performances de l'EKF peuvent être considérablement améliorées par un bon modèle cinématique. Vous avez bien fait en incluant le biais dans vos modèles de direction et d'odométrie pour le système de tricycle. Si vous pouvez dériver et appliquer un modèle cinématique détaillé pour votre système plus compliqué, alors vous devriez très bien faire. Sinon, l'EKF doit également tenir compte de vos erreurs de modélisation, en plus de vos erreurs de capteur et de linéarisation. C'est le danger: l'inclusion d'une source d'erreur non prise en compte rendra votre filtre incohérent très rapidement.

Si les choses deviennent incontrôlables (votre filtre ne converge pas bien), vous pouvez essayer plusieurs méthds de modèle (IMM). Mon conseil est donc de modéliser au mieux le système. L'EKF a un très bon bilan pour ces tâches. Bonne chance.

Josh Vander Hook
la source