Dieser Blogbeitrag ist der erste Teil einer zweiteiligen Serie, in der wir den Einsatz von Sensorfusion in autonomen mobilen Robotern (AMRs) vorstellen, die für die Arbeit mit ROS 2 (Robot Operating System 2) ausgelegt sind. In diesem Teil werden wir die Sensorfusion vorstellen, kurz auf einen Sensorfusionsalgorithmus namens EKF (Extended Kalman Filter) eingehen und anschließend einige der Experimente durchgehen, die wir in der Simulation und an unserem AMR durchgeführt haben.
Das Problem, das wir lösen wollen, besteht darin, den Zustand eines dynamischen Systems genau zu schätzen. Ein dynamisches System lässt sich als ein System definieren, dessen Zustand sich im Laufe der Zeit ändert. Diese Zustandsänderung kann durch eine natürliche Entwicklung des Systems bedingt sein oder auch durch einen externen Einfluss ausgelöst werden. Mathematisch wird ein dynamisches System dadurch dargestellt, dass sein Zustand durch ein System von Differentialgleichungen definiert wird, die beschreiben, wie sich ein bestimmtes System im Zeitverlauf verhält.
Wir bezeichnen dies als das Bewegungs-/Prozessmodell unseres Systems. Ausgehend von einer Eingabe (nicht zwingend erforderlich) in das System und den beobachteten Messwerten lässt sich der Systemzustand für den nächsten Zeitschritt abschätzen. Dies wird als Zustandsschätzung bezeichnet. Ein Beispiel für ein solches System ist ein autonomer mobiler Roboter (AMR), der sich in einem Lager oder einem Labor bewegt.
Hier würde der Zustand des AMR aus seiner Position relativ zu einem festen Ursprung, seiner Geschwindigkeit und seiner Beschleunigung bestehen. Diese Zustandsvariablen können direkt gemessen oder mathematisch aus den Sensorwerten abgeleitet werden. Es ist jedoch wichtig zu bedenken, dass einzelne Sensoren ihre eigenen individuellen Unzulänglichkeiten aufweisen. Ein Radausleser hilft uns beispielsweise dabei, die Anzahl der Umdrehungen eines Rades zu zählen. Anhand dieser Informationen und der Dynamik des AMR (Bewegungsmodell) können wir die neue Position des AMR vorhersagen.
Sollten die Räder jedoch durchdrehen, würden die Radausleser zusätzliche Radumdrehungen melden, was dazu führen würde, dass unsere Vorhersage des Zustands des AMR fehlerhaft wird. Diese Art von Problemen wird durch Sensorrauschen und die physikalische Umgebung noch weiter verschärft. Um die Einschränkungen einzelner Sensoren auszugleichen, können Messwerte 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 ein weit verbreitetes Verfahren zur Fusion von Daten aus mehreren Sensoren. Er stellt eine Erweiterung des bekannten Kalman-Filters (linear) dar, der zur Zustandsschätzung linearer dynamischer Systeme verwendet wird. Eine grundlegende Annahme bei Kalman-Filtern ist, dass jede Variable unseres Zustands durch eine Gauß-Verteilung definiert ist und dass das Sensor- und Prozessrauschen unabhängig voneinander verteilte Gauß-Verteilungen mit dem Mittelwert Null sind. Abbildung 1 zeigt ein Blockdiagramm, das veranschaulicht, wie eine Sensorfusion mithilfe eines Vorhersage- und Aktualisierungszyklus in Kalman-Filtern erreicht werden kann. Gehen wir die einzelnen Schritte durch, um zu sehen, 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 weiterhin einer Gauß-Verteilung entspricht, müssen wir die Bewegungs- und Messmodelle linearisieren. Dies geschieht durch die Verwendung von Taylor-Reihen, um die nichtlinearen Modelle als lineare Modelle zu approximieren. Diese Erweiterung des Kalman-Filters wird als erweiterter Kalman-Filter bezeichnet.
Eines der beliebtesten ROS-Pakete zur Durchführung von Sensorfusion mit ROS ist das Paket „robot_localization“. Das Paket „robot_localization“ ist ein universell einsetzbares Paket zur Zustandsschätzung mit Implementierungen des Extended Kalman Filters und einer weiteren Variante des Kalman-Filters, dem sogenannten Unscented Kalman Filter. Es bietet die Flexibilität, viele Sensoren zu fusionieren, und liefert eine Zustandsschätzung mit 15 Vektoren. Die Zustandsschätzung setzt sich aus Position, Orientierung, Lineargeschwindigkeit, Winkelgeschwindigkeit und Linearbeschleunigung in x-, y- und z-Richtung zusammen. Das von diesem Paket bereitgestellte Bewegungsmodell ist omnidirektional. Es kann bei Vorliegen relevanter Daten sowohl für die globale als auch für die lokale Zustandsschätzung verwendet werden. 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 zu simulieren, verschiedene Reibungskoeffizienten auszuprobieren und die Genauigkeit der Radausleser zu verringern. Auf diese Weise können wir realistische Szenarien nachbilden, die die Zustandsschätzung eines AMR in der realen Welt beeinflussen würden.
Um die Leistung der Sensorfusion zu quantifizieren, können wir einen Schleifenschluss-Test durchführen, bei dem das AMR auf einer zufällig geschlossenen Bahn gefahren wird, sodass der Start- und Endpunkt des AMR identisch sind. Anschließend können wir die vom EKF nach der Fusion von IMU- und Raddrehgeberdaten durchgeführte Zustandsschätzung grafisch darstellen und mit der Zustandsschätzung vergleichen, die ausschließlich auf den Rohdaten der Raddrehgeber basiert. Im Idealfall soll der geschätzte Zustand unseres AMR die Werte x, y und Gierwinkel jeweils als (0, 0, 0) angeben.
Wir haben verschiedene Experimente mit den Turtlebot3 (TB3)-Paketen durchgeführt. Ein Beispiel hierfür ist in Abbildung 2 dargestellt. Hier steuern wir den TB3 mehrmals ferngesteuert durch die Turtlebot3-Welt und bringen ihn schließlich wieder an die Ausgangsposition zurück. Wie zu sehen ist, kann die vom EKF vorhergesagte Bahn (in Grün dargestellt) die Rückkehr des AMR an seine Ausgangsposition besser abschätzen, während bei ausschließlicher Verwendung der Radausleser (in Rot dargestellt) die Schätzung um etwa 1,4 Meter abweicht. Die Rohdaten der Radausleser ergeben einen endgültigen Positionsfehler von 0,405 m, -1,36 m und 29,72 Grad in x-, y- und Gierrichtung. Der vom EKF geschätzte Positionsfehler für x, y und Gierrichtung beträgt hingegen 0,103 m, -0,0165 m und 0,0187 Grad. Die prozentuale Gesamtverbesserung der euklidischen Entfernung im Vergleich zur Ausgangsposition betrug etwa 92,64 % – von 1,42 m bei ausschließlicher Verwendung der Raddatensensor-Daten auf 0,10 m nach Einsatz des EKF.
Die in Gazebo durchgeführten Experimente lassen sich auch auf reale AMRs übertragen. Wir haben diese Experimente in unseren Büroräumen durchgeführt und konnten durch die Fusion der IMU- und Raddrehgeberdaten unserer AMRs zuverlässige Ergebnisse erzielen. Ein Beispiellauf ist in Abbildung 3 dargestellt. Bei ausschließlicher Verwendung der Raddatensender-Daten wies der geschätzte Zustand einen Fehler von 1,58 m in x-Richtung, -0,69 m in y-Richtung und einen Gierausrichtungsfehler von 55 Grad auf. Die EKF-Schätzung fiel jedoch besser aus, mit Fehlern von -0,35 m, -0,033 m und -5,9 Grad in der x-, y- und Orientierungsrichtung. Die prozentuale Gesamtverbesserung des euklidischen Abstands zum Ursprung betrug etwa 78,9 % und sank nach Implementierung des EKF von 1,699 m auf 0,35 m.
Die Zustandsschätzung ist ein entscheidender Schritt, um anderen Modulen unseres AMR, wie beispielsweise der Navigation und der Kartierung, eine zuverlässige Odometriequelle zur Verfügung zu stellen. Durch unsere Experimente haben wir gezeigt, dass wir mithilfe 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 eingesetzt, eine weit verbreitete Methode zur Sensorfusion in nichtlinearen Systemen. In Teil 2 dieser Reihe werden wir erörtern, 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 Maschinelles Lernen. Er ist als Solutions Research Engineer tätig und arbeitet derzeit an der Sensorfusion und dem Navigationsstack innerhalb der ROS-2-Umgebung für einen Proof-of-Concept eines autonomen mobilen Roboters. Bis März 2023 verfügt Harsh über sieben Jahre Berufserfahrung in der Industrie, wobei er die ersten sechs Jahre in Forschungs- und Innovationslabors tätig war. Er hat an zahlreichen 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, bestärkendes Lernen und Robotik zum Einsatz kamen.
Mayank Mukesh schloss 2022 sein Studium der Elektronik und Elektrotechnik mit einem Honours-Abschluss in Leistungselektronik und dem Schwerpunkt Elektrofahrzeuge ab. Als Embedded-Ingenieur arbeitet er an verschiedenen Aspekten autonomer mobiler Roboter, wie Steuerungssystemen, Navigation und Sensorfusion, im ROS-2-Framework. Darüber hinaus beherrscht er Programmiersprachen wie C, C++ und Python.
Anisha Thakkar hat 2022 ihren B.Tech-Abschluss in Elektronik und Kommunikation mit dem Nebenfach Informatik an der Nirma University in Ahmedabad erworben. Derzeit arbeitet sie in der Abteilung für Robotik mit den Schwerpunkten ROS 2, VSLAM und KI-ML-Algorithmen. Darüber hinaus verfügt sie über Berufserfahrung in verschiedenen Projekten in den Bereichen Bildverarbeitung, eingebettete Systeme, RTOS und maschinelles Lernen.
Vereinbaren Sie ein 30-minütiges Beratungsgespräch mit unseren Experten für Automobil-Lösungen
Vereinbaren Sie ein 30-minütiges Beratungsgespräch mit unserem Experten für Batteriemanagement-Lösungen
Vereinbaren Sie ein 30-minütiges Beratungsgespräch mit unseren Expertenfür Industrie- und Energielösungen
Vereinbaren Sie einen 30-minütigen Beratungstermin mit unseren Experten