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?