Dieser Blog ist der erste Teil einer zweiteiligen Serie, in der wir die Verwendung von Sensorfusion in autonomen mobilen Robotern (AMRs) vorstellen, die mit ROS 2 (Robot Operating System 2) arbeiten können. In diesem Teil stellen wir die Sensorfusion vor, gehen kurz auf einen Sensorfusionsalgorithmus namens EKF (Extended Kalman Filters) ein und gehen dann einige der Experimente durch, die wir in der Simulation und auf unserem AMR durchgeführt haben.
Das Problem, das wir lösen möchten, besteht darin, den Zustand eines dynamischen Systems genau zu schätzen. Ein dynamisches System kann als ein System definiert werden, dessen Zustand sich im Laufe der Zeit verändert. Die Zustandsänderung kann aufgrund einer natürlichen Entwicklung des Systems auftreten oder auch durch einen externen Input ausgelöst werden. Das dynamische System wird mathematisch dargestellt, indem sein Zustand durch eine Reihe von Differentialgleichungen definiert wird, die beschreiben, wie sich ein bestimmtes System im Laufe der Zeit ausbreitet.
Wir bezeichnen dies als Bewegungs-/Prozessmodell unseres Systems. Anhand bestimmter Eingaben (nicht zwingend erforderlich) in das System und beobachteter Messungen ist es möglich, den Systemzustand für den nächsten Zeitschritt zu schätzen. Dies wird als Zustandsschätzung bezeichnet. Ein Beispiel für ein solches System ist ein autonomer mobiler Roboter (AMR), der sich in einem Lagerhaus oder Labor bewegt.
Hier wäre der Zustand des AMR seine Position in Bezug auf einen festen Ursprung, seine Geschwindigkeit und seine Beschleunigung. Diese Zustandsvariablen können direkt gemessen oder mathematisch aus den Sensorwerten abgeleitet werden. Es ist jedoch wichtig zu beachten, dass einzelne Sensoren ihre eigenen individuellen Fehler haben. Ein Radgeber hilft uns beispielsweise dabei, die Anzahl der Umdrehungen eines Rades zu zählen. Anhand dieser Informationen und der AMR-Dynamik (Bewegungsmodell) können wir die neue Position des AMR vorhersagen.
Wenn die Räder jedoch durchdrehen, melden die Radkodierer zusätzliche Radumdrehungen, was dazu führt, dass unsere Vorhersage des Zustands des AMR fehlerhaft wird. Diese Art von Problemen wird durch Sensorrauschen und die physikalische Umgebung noch verschärft. Um die Einschränkungen einzelner Sensoren auszugleichen, können Messungen mehrerer Sensoren so kombiniert werden, dass eine bessere Zustandsschätzung des dynamischen Systems erzielt wird. Der Prozess der Kombination mehrerer Sensordaten zur Verringerung der Unsicherheit oder zur Verbesserung der Genauigkeit bei der Zustandsschätzung eines dynamischen Systems wird als Sensorfusion bezeichnet.
Der erweiterte Kalman-Filter (EKF) ist eine beliebte Methode zur Fusion von Daten aus mehreren Sensoren. Er ist eine Erweiterung des bekannten Kalman-Filter-Algorithmus (linear), der zur Zustandsschätzung linearer dynamischer Systeme verwendet wird. Eine grundlegende Annahme bei Kalman-Filtern ist, dass jede Variable in unserem Zustand durch eine Gaußsche Verteilung definiert ist und dass das Sensor- und Prozessrauschen unabhängige Gaußsche Verteilungen mit dem Mittelwert Null sind. Abbildung 1 zeigt ein Blockdiagramm, wie die Sensorfusion mithilfe eines Vorhersage- und Aktualisierungszyklus in Kalman-Filtern erreicht werden kann. Sehen wir uns die einzelnen Schritte an, um zu verstehen, wie dies funktioniert:
Bei der Arbeit mit einem nichtlinearen System wie einem AMR müssen wir einige Änderungen am Kalman-Filter-Algorithmus vornehmen. Um sicherzustellen, dass unsere Zustandsdarstellung nach jedem Vorhersage- und Aktualisierungsschritt eine Gaußsche Verteilung bleibt, müssen wir die Bewegungs- und Messmodelle linearisieren. Dies geschieht durch die Verwendung von Taylorreihen, um die nichtlinearen Modelle als lineare Modelle zu approximieren. Diese Erweiterung des Kalman-Filters wird als Extended Kalman Filter bezeichnet.
Eines der beliebtesten ROS-Pakete für die Sensorfusion mit ROS ist das Paket „robot_localization“. Das Paket „robot_localization“ ist ein universelles Paket zur Zustandsschätzung mit Implementierungen des erweiterten Kalman-Filters und einer weiteren Variante des Kalman-Filters, dem sogenannten Unscented Kalman Filter. Es bietet die Flexibilität, viele Sensoren und Ausgänge zu fusionieren, und liefert eine 15-Vektor-Zustandsschätzung. Die Zustandsschätzung setzt sich aus Position, Orientierung, linearer Geschwindigkeit, Winkelgeschwindigkeit und linearer Beschleunigung in x-, y- und z-Richtung zusammen. Das von diesem Paket bereitgestellte Bewegungsmodell ist omnidirektional. Es kann sowohl für die globale als auch für die lokale Zustandsschätzung verwendet werden, sofern relevante Daten vorliegen. Weitere Details zum Paket finden Sie unter:http://docs.ros.org/en/noetic/api/robot_localization/html/index.html
Gazebo ist eine ROS 2-fähige Simulationsumgebung, die viel Flexibilität beim Testen von Robotersystemen bietet. Sie ermöglicht es uns, Sensorrauschen einzuführen, verschiedene Reibungskoeffizienten auszuprobieren und die Genauigkeit des Radgebers zu reduzieren, wodurch wir realistische Szenarien nachbilden können, die die Zustandsschätzung eines AMR in der realen Welt beeinflussen würden.
Um die Leistung der Sensorfusion zu quantifizieren, können wir einen Schleifenschlusstest durchführen, bei dem der AMR auf einer zufällig geschlossenen Bahn fährt, sodass der Start- und Endpunkt des AMR identisch sind. Anschließend können wir die von EKF nach der Fusion von IMU und Radencodern durchgeführte Zustandsschätzung grafisch darstellen und mit der Zustandsschätzung vergleichen, die anhand der Rohdaten der Radencoder durchgeführt wurde. Im Idealfall soll der geschätzte Zustand unseres AMR x, y und Yaw jeweils als (0, 0, 0) melden.
Wir haben verschiedene Experimente mit den Turtlebot3 (TB3)-Paketen durchgeführt. Ein Beispiel dafür ist in Abbildung 2 dargestellt. Hier steuern wir TB3 mehrmals ferngesteuert durch die Turtlebot3-Welt und bringen ihn schließlich wieder in die Ausgangsposition zurück. Wie zu sehen ist, kann die von EKF vorhergesagte Trajektorie (grün dargestellt) besser einschätzen, dass der AMR wieder an seiner Ausgangsposition ist, während die Schätzung bei Verwendung nur der Radencoder (rot dargestellt) um etwa 1,4 Meter daneben liegt. Die Rohdaten des Radgebers ergeben einen endgültigen Positionsfehler von 0,405 m, -1,36 m und 29,72 Grad in x, y und Gierung. Der von EKF geschätzte Positionsfehler für x, y und Gierung beträgt hingegen 0,103 m, -0,0165 m und 0,0187 Grad. Die prozentuale Gesamtverbesserung der euklidischen Entfernung in Bezug auf die Ausgangsposition betrug etwa 92,64 %, von 1,42 m bei Verwendung nur der Radgeberdaten auf 0,10 m nach Verwendung von EKF.
Die in Gazebo durchgeführten Experimente können auch auf tatsächliche AMRs ausgeweitet werden. Wir haben diese Experimente in unseren Büroräumen durchgeführt und konnten durch die Zusammenführung der IMU- und Radencoder-Daten unseres AMR zuverlässige Ergebnisse erzielen. Ein Beispiellauf ist in Abbildung 3 dargestellt. Bei Verwendung nur der Radencoderdaten wies der geschätzte Zustand einen Fehler von 1,58 m in x-Richtung, -0,69 m in y-Richtung und einen Gierwinkel-Orientierungsfehler von 55 Grad auf. Die EKF-Schätzung war jedoch besser, mit Fehlern von -0,35 m, -0,033 m und -5,9 Grad in x-, y- und Orientierungsrichtung. Die prozentuale Gesamtverbesserung der euklidischen Entfernung in Bezug auf den Ursprung betrug nach der Implementierung des EKF etwa 78,9 % und ging von 1,699 m auf 0,35 m zurück.
Die Zustandsschätzung ist ein entscheidender Schritt, um anderen Modulen unseres AMR, wie Navigation und Kartierung, eine zuverlässige Odometriequelle zur Verfügung zu stellen. Durch unsere Experimente haben wir gezeigt, dass wir durch den Einsatz von Sensorfusionstechniken den Zustand unseres AMR sowohl in der Simulation als auch in der realen Welt genauer schätzen können. Wir haben erweiterte Kalman-Filter verwendet, eine weit verbreitete Methode für die Sensorfusion in nichtlinearen Systemen. In Teil 2 dieser Serie werden wir diskutieren, wie die Sensorfusion die Navigations- und Kartierungsfähigkeiten unseres AMR verbessern kann.

Harsh Vardhan Singh hat einen Master of Science in Informatik vom Georgia Institute of Technology mit dem Schwerpunkt Machine Learning. Er ist Solutions Research Engineer und arbeitet derzeit an Sensor Fusion und dem Navigation Stack innerhalb der ROS 2-Umgebung für einen Proof-of-Concept für autonome mobile Roboter. Bis März 2023 verfügt Harsh über sieben Jahre Berufserfahrung, davon sechs Jahre in Forschungs- und Innovationslabors. Er hat an mehreren Projekten gearbeitet, darunter autonome Gabelstapler für die Palettenkommissionierung, Flottenmanagement für Multi-Roboter-Systeme, Bin Picking, automatisierte Palettierung und Online-Bin-Packing, bei denen Computer Vision, KI, Deep Learning, maschinelles Lernen, Reinforcement Learning und Robotik zum Einsatz kamen.

Mayank Mukesh schloss 2022 sein Studium der Elektronik und Elektrotechnik mit Auszeichnung in Leistungselektronik und Spezialisierung auf Elektrofahrzeuge ab. Er ist Embedded Engineer und arbeitet an verschiedenen Aspekten autonomer mobiler Roboter wie Steuerungssystemen, Navigation und Sensorfusion innerhalb des ROS 2-Frameworks. Außerdem beherrscht er Programmiersprachen wie C, C++ und Python.

Anisha Thakkar hat 2022 ihren Bachelor of Technology in Elektronik und Kommunikation mit Nebenfach Informatik an der Nirma University in Ahmedabad abgeschlossen. Derzeit arbeitet sie in der Robotikabteilung mit den Schwerpunkten ROS 2, VSLAM und KI-ML-Algorithmen. Außerdem verfügt sie über Berufserfahrung in verschiedenen Projekten in den Bereichen Bildverarbeitung, eingebettete Systeme, RTOS und maschinelles Lernen.
Vereinbaren Sie eine 30-minütige Beratung mit unseren Experten für Automobil-Lösungen.
Vereinbaren Sie eine 30-minütige Beratung mit unserem Experten für Batteriemanagementlösungen.
Vereinbaren Sie eine 30-minütige Beratung mit unseren Expertenfür Industrie- und Energielösungen.
Vereinbaren Sie eine 30-minütige Beratung mit unseren Experten.


