Derzeit habe ich einen Roboter im Dreiradstil, der einen erweiterten Kalman-Filter verwendet, um 6 Zustandsvariablen zu verfolgen. Die Eingaben in das System sind ein Lenkgeber, ein Distanzgeber und ein rotierender Laser, der nur Peilungsinformationen an bekannte Orientierungspunkte zurückgibt. Derzeit befinden sich beide Encoder am Hauptrad (dem, der lenkt und auch angetrieben wird).
Die 6 vom Kalman-Filter verfolgten Variablen sind X, Y, Kurs, Entfernungsskalierung (Kalibrierung des Entfernungsgebers), Lenkungskalibrierung (Versatz des Lenkgebers) und schließlich eine Lagerkalibrierung eines rotierenden Lasers.
Mit dieser Art von System stellen wir ein Fahrzeug zusammen, das einen bekanntermaßen guten Standort mit vielen Orientierungspunkten bietet, ein wenig herumfährt und ein gut kalibriertes Fahrzeug liefert, das mit wenigen Orientierungspunkten zuverlässig längere Strecken fahren kann. Es ist einfach und es funktioniert großartig. Wenn ein Encoder mit der Zeit driftet, folgt er automatisch der Drift und passt sich an.
Wir versuchen nun, die gleichen Prinzipien auf einen Roboter mit mehreren Lenk- und Antriebsrädern anzuwenden. In diesem Fall kann sich das Fahrzeug in jede Richtung bewegen, an Ort und Stelle drehen usw. Jedes Lenk- / Antriebsrad verfügt über einen eigenen Lenk- und Distanzgeber, der jeweils kalibriert werden muss.
Kann ich erwarten, dass das komplexere System die gleiche Zuverlässigkeit und Leistung bietet? Gibt es häufige Fallstricke, auf die Sie achten müssen, wenn Sie einen Kalman-Filter um weitere Variablen erweitern? Besteht die Gefahr, dass sich suboptimale Werte einstellen?