Support-Zentrum besuchen Support-Zentrum besuchen Händler finden Händler finden Kontakt Kontakt

AMR Navigation Spotlight - Planung und Steuerung

Blogs Oktober 4, 2024

Willkommen zum siebten Blog in unserer Serie AMR Navigation Spotlight, in der wir uns darauf konzentrieren, wie AMRs Routenplanung und -kontrolle handhaben. Klicken Sie hier, um den vorherigen Blog der Serie zu lesenzu lesen, in dem es um die verschiedenen Sensoren geht, die für Wahrnehmung und Kartierung zur Verfügung stehen.

Wenn Sie zu Hause mitverfolgt haben, haben Sie vielleicht schon eine ganze Reihe Ihrer autonomen mobilen Robotern bereits gebaut. Sie haben sicherlich ein gutes Verständnis für die verschiedenen Lokalisierungsoptionen für Ihren AMR, Überlegungen zur Sensorplatzierung, Zeitsteuerung und Synchronisation, Schnittstellenund wie Ihr Roboter Lokalisierungsdaten verwendet.

Aber wie programmiert man eigentlich einen Roboter, um von A nach B zu kommen? Genau darüber sprechen wir hier. Es ist Zeit für eine Einführung in die Planung und Steuerung.

 

Was ist Roboterplanung und -steuerung?

Keine Sorge, wir sprechen hier nicht von einer Art KI-Aufstand (obwohl wir Ihnen nicht versprechen können, dass das nicht passieren wird). Wenn es um AMR-Navigation geht, bezieht sich Planung auf die Fähigkeit Ihres Roboters, eine Route von einem Startpunkt zu einem Ziel zu planen.

Die Robotersteuerung bezieht sich auf die Art und Weise, wie Ihr AMR die geplante Route nutzt, um Steuerbefehle zu berechnen (auch als Steuerungsschema bezeichnet), die den Roboter physisch entlang der Route bewegen.

 

Wie funktioniert die Roboterplanung?

Genau wie bei einem Navigationsgerät wird bei der Routenplanung ein Algorithmus verwendet, der eine Route berechnet. Dazu muss der Algorithmus ein paar Dinge wissen:

  • Wo sich der Roboter befindet (was er normalerweise aus dem Lokalisierungsstapel des Roboters erhält).
  • Wo das Ziel ist (normalerweise vorprogrammiert).
  • Wo sich Hindernisse in der Umgebung befinden.

Daten über Hindernisse werden in der Regel über eine Kartendatei geliefert, die vor dem Start des Roboters erstellt wird. Einige Roboter können jedoch auch während der Fahrt eine Karte erstellen, indem sie einen Algorithmus wie SLAM verwenden.

Verschiedene Planungsalgorithmen setzen bei der Festlegung der optimalen Route unterschiedliche Prioritäten. Einige legen den Schwerpunkt auf die kürzeste Route, andere auf die sicherste (z. B. die Route, die am weitesten von allen bekannten Hindernissen entfernt ist). Je nachdem, wie fortschrittlich Ihre Systeme sind, können Sie vielleicht sogar eine Route auf der Grundlage der Energieeffizienz optimieren.

Unabhängig von der verwendeten Mapping-Methode besteht die vom Roboter geplante Route im Allgemeinen aus einer Reihe von Wegpunkten, die er ansteuert. Jeder Wegpunkt ist eine gewünschte Position oder ein gewünschter Zustand für Ihren AMR, d. h. eine bestimmte Kombination aus Position, Ausrichtung, Richtung usw.

 

Wie man einen Roboter steuert

Die Steuerungstheorie und der Entwurf von Steuerungssystemen sind sehr technische Themen, die mit einer Unmenge von Gleichungen erklärt werden müssen. Um dieses Maß an Komplexität zu vermeiden, werden wir unser Bestes tun, um die wichtigsten Punkte in diesem Blog zusammenzufassen.

Damit Sie sich ein Bild davon machen können, wovon wir sprechen, zeigen wir Ihnen, wie unser eigener Prototyp eines Kontrollsystems funktioniert.

 

Schritt 1: Modellierung des Roboters

Die meisten Steuerungen benötigen ein mathematisches Modell des zu steuernden Objekts - in unserem Fall des Roboters. In der Steuerungsnomenklatur wird dies als "Anlage" bezeichnet. Das Modell beschreibt, wie die Eingaben der Robotersteuerung (die Befehle, die die Steuerung dem Roboter gibt) den Zustand oder die Haltung des Roboters verändern. Man könnte es folgendermaßen skizzieren:

 

Anlageneingang Änderung des Zustands

 

Im Falle unseres eigenen Roboters, eines ClearPath Jackal, besteht die Anlage aus zwei Elementen: den Motoren des Jackal und der Jackal ROS2-Steuerung. Der Jackal ist eine Roboterplattform mit Differenzialgeschwindigkeit, d. h. seine Bewegung wird durch die unterschiedlichen Geschwindigkeiten der linken und rechten Antriebsräder gesteuert. Gleiche Geschwindigkeiten auf beiden Seiten bedeuten, dass der Roboter geradeaus fährt, während unterschiedliche Geschwindigkeiten bedeuten, dass der Roboter sich dreht. Der ROS2-Controller übersetzt die ROS-Befehle aus unserem Steuerungsstapel in diese unterschiedlichen Geschwindigkeiten. Für unseren Jackal sieht das obige Diagramm also wie folgt aus:

 

OxTS Schakal-Pflanzenkontrolle

 

Es gibt allgemeine einfache mathematische Modelle für gängige Robotertypen, darunter Drohnen, autobetriebene und mit Differenzialgeschwindigkeit betriebene Plattformen, die als guter Ausgangspunkt für ein Planungs- und Steuerungsmodell dienen können. Sie können dieses Modell dann anpassen, um es auf Ihren Roboter und Ihre Navigationsanforderungen zuzuschneiden.

 

Schritt 2: Hinzufügen des Controllers

Sobald Sie Ihr Modell haben, ist es an der Zeit, den nächsten Teil hinzuzufügen: die Steuerung. Die Steuerung ist der Teil, der die Eingaben für Ihren Roboter bereitstellt, und zwar auf der Grundlage eines vorher festgelegten gewünschten Zustands. Bei der AMR-Navigation ist dieser gewünschte Zustand normalerweise der nächste Wegpunkt auf dem geplanten Pfad.

Wenn Sie sich bereits mit diesem Thema befasst haben, sind Sie vielleicht schon auf Steuerungen und Regelungen gestoßen. Für autonome mobile Roboter ist eine Steuerung mit geschlossenem Regelkreis bei weitem die beste Option.

Für Uneingeweihte: Ein Regler mit offenem Regelkreis ist ein Regler, bei dem der Ausgang keinen Einfluss auf den Eingang hat. Ein einfaches Beispiel ist eine Heizung ohne Thermostat. Solange der Heizungsschalter eingeschaltet ist, erzeugt die Heizung Wärme. Sie wird weiterlaufen, egal wie heiß der Raum wird, denn der Ausgang (die Raumtemperatur) hat keinen Einfluss auf den Eingang (ob die Heizung eingeschaltet ist oder nicht).

Es ist hoffentlich klar, warum eine Steuerung mit offenem Regelkreis nicht für die Steuerung eines AMR geeignet ist. Die Steuerung würde dem Roboter sagen, dass er sich so bewegen soll, dass er von seiner aktuellen Position zu seiner gewünschten Position gelangt, aber sie würde nicht auf irgendetwas reagieren, was auf dem Weg passiert, einschließlich Abweichungen vom korrekten Pfad oder Kollisionen mit Objekten oder Menschen.

Stattdessen funktionieren AMRs am besten mit Reglern mit geschlossenem Regelkreis. Lassen Sie uns diese genauer unter die Lupe nehmen.

 

Geschlossene Regelkreise

Ein Regler mit geschlossenem Regelkreis fügt eine Komponente hinzu, die als Zustandsschätzer oder Beobachter bezeichnet wird. Der Zustandsschätzer sagt dem Regler im Wesentlichen, ob ein Fehler (oder eine Differenz) zwischen dem gewünschten Zustand und dem gemessenen Zustand besteht. Wenn dies der Fall ist, passt der Regler die Eingänge auf der Grundlage der Rückmeldung an, um dies zu kompensieren.

Wenn Sie also an die oben erwähnte Heizung denken, würde ein Thermostat als Regelkreis fungieren. Er schaltet die Heizung ein und misst dann die Temperatur im Raum. Sobald die Differenz zwischen der gewünschten Temperatur und der Raumtemperatur (der Fehler) Null ist, schaltet sich die Heizung aus.

Ein geschlossener Regelkreis sieht wie folgt aus:

 

 

Es gibt viele verschiedene Arten von Regelkreisen, aber einer der gängigsten ist der Proportional-, Integral- und Differenzialregler (PID), den ein Ingenieur manuell für den Roboter konfiguriert. Ein AMR, der einen PID-Regler verwendet, ist in der Lage, seine Eingaben proportional zur Größe des Zustandsfehlers anzupassen - aber dank der Integral- und Derivat-Faktoren erfolgt die Anpassung auf eine Weise, die für den Roboter sicher ist (z. B. durch die Begrenzung plötzlicher Brems- oder Drehbewegungen, die den Roboter aus dem Gleichgewicht bringen könnten) und das Risiko eines Überschreitens des Ziels verringert, was dann komplexe Mikroanpassungen erfordert, um es zu beheben.

 

Optimale Kontrolleure

Viele moderne Steuerungssysteme (einschließlich unseres) verwenden auch Optimierungsalgorithmen - daher der Name. Die Theorie der optimalen Steuerung ist ein großer Zweig der Mathematik, der in so unterschiedlichen Bereichen wie Robotik, Raumfahrt und Wirtschaft Anwendung findet. Für unsere Zwecke reicht es jedoch aus, wenn wir sagen, dass Optimierungsalgorithmen es der Steuerung ermöglichen, Eingaben zu finden, mit denen ein bestimmtes Ziel erreicht werden kann.

Dieses Ziel könnte etwas Einfaches sein, wie z. B. "Finde das Regelungsschema, das den Zustandsfehler auf dem Weg zum gewünschten Zustand minimiert" - im Wesentlichen die Automatisierung der manuellen Anpassungen, die ein Ingenieur an einem PID-Regler vornehmen könnte. Es kann aber auch komplexer sein: "Finde das Regelungsschema, das den Zustandsfehler minimiert UND die Energie minimiert, die benötigt wird, um den gewünschten Zustand zu erreichen."

Ein bemerkenswertes Beispiel für eine optimale Steuerung ist ein linearer quadratischer Regler (LQR). LQR-Steuerungen verwenden eine Mischung aus Zustandsrückmeldung und Wissen darüber, wie sich der Roboter bewegen wird (aus dem Modell), um den zukünftigen Zustand des Roboters vorherzusagen und die Eingaben auf der Grundlage dieser Vorhersage zu optimieren. LQR- und andere Steuerungen, die prädiktive Modelle verwenden, sind zwar weit verbreitet, benötigen aber Rechenleistung, um ihre Algorithmen auszuführen.

 

Der Prototyp OxTS

Wir haben Ihnen bereits gezeigt, wie unser Planungs- und Kontrollsystem funktioniert. Hier ist das vollständige Diagramm:

 

 

Wie Sie sehen können, haben wir einen linear-quadratischen Regler (LQR) im System, der seine ganze Optimierungsarbeit leistet, um die Vorwärts- und Lenkgeschwindigkeiten als ROS2-Befehle an den Roboter weiterzugeben. Wie wir bereits erwähnt haben, übersetzt der Jackal diese Befehle dann in die Differenzialgeschwindigkeitsbefehle, die die Motoren benötigen, um den Roboter zu bewegen.

Der Clou dabei ist unser Hilfsmittel - ein Trägheitsnavigationssystem (INS).

OxTS Insbesondere INS-Geräte sind sehr gut in der Lage, genaue Posenschätzungen zu liefern, die von der globalen Position über den Kurs bis hin zu Neigung und Verrollung alles abdecken. Darüber hinaus ist die OxTS GAD-Schnittstelle die Möglichkeit, zusätzliche Sensoren, einschließlich der Wahrnehmungssensoren des AMR, anzuschließen, um in Innenräumen und anderen Bereichen, in denen das GNSS-Signal begrenzt ist, eine robustere Zustandsschätzung zu erhalten.

Unser INS enthält auch einen erweiterten Kalman-Filter, der es uns ermöglicht, fehlerhafte Messungen des INS und seiner Hilfssensoren herauszufiltern und so seine Zuverlässigkeit zu verbessern.

Diese Daten werden, wie bereits erwähnt, an den LQR-Controller weitergeleitet, der dann seine Eingaben aktualisiert, damit der Jackal das gewünschte Ziel erreicht.

Während der Testphase (unter Verwendung eines computersimulierten Roboters) haben wir sowohl PID- als auch LQR-Regler bewertet. Da PID-Regler einen einzigen Eingang/Ausgang haben, mussten wir zwei Regler verwenden: einen für die Vorwärtsgeschwindigkeit und einen für die Lenkgeschwindigkeit. Aus diesem Grund war es schwierig, den PID-Regler so einzustellen, dass er zuverlässig funktionierte. Der LQR-Regler hingegen hat mehrere Eingänge und mehrere Ausgänge, so dass nur ein Regler für beide Lenkgeschwindigkeiten benötigt wurde. Das bedeutete auch, dass der Regler bei der Ausführung seiner Optimierungsalgorithmen mit einem vollständigen Modell der Dynamik des Schakals arbeiten konnte. Infolgedessen war es viel einfacher, in der Simulation ein wiederholbares Leistungsniveau zu erreichen - und diese Leistung konnte auch mit dem lebenden Roboter wiederholt werden.

 

Autonome Roboternavigation - Kurzbeschreibung

AMRs benötigen eine robuste Lösung zur Lokalisierung von Robotern; ein Werkzeug, das nicht nur die Position und Orientierung des Roboters erfasst, sondern auch in Innenräumen und im Freien funktioniert.

In dieser Lösungsübersicht gehen wir auf die Aspekte ein, die wir unseren Kunden empfehlen, wenn sie sich für eine Lokalisierungsquelle für ihre autonomen mobilen Roboter entscheiden.

Lesen Sie die Lösungsbeschreibung um zu erfahren, wie die richtige Roboterlokalisierungslösung Ihr AMR-Projekt unterstützen kann, einschließlich der wichtigsten Fragen, die Sie sich stellen müssen, bevor Sie ein Projekt in Angriff nehmen.

AMR Solution Brief

Wir hoffen, dass Ihnen dieser Blog gefallen hat und dass er Ihnen geholfen hat, wenn Sie gerade erst mit der AMR-Reise beginnen.

Wenn Sie mehr darüber erfahren möchten, was wir derzeit für AMR-Ingenieure tun können, besuchen Sie unsere Bewerbungsseite.

Wenn Sie ein bestimmtes Projekt haben, über das Sie mit uns sprechen möchten, können Sie uns auch über das unten stehende Formular kontaktieren. Wir freuen uns immer darauf, die neuesten und besten Robotikprojekte zu besprechen.

Halten Sie Ausschau nach dem nächsten Blog in unserer Serie: eine Einführung in die Entscheidungsfindung und Sicherheit.



zurück zum Anfang

Zurück nach oben

,