-
Technisches Gebiet
-
Die Erfindung betrifft Multiagentensysteme, und insbesondere Verfahren zum Steuern von Robotern eines Multiagentensystems durch Verteilung von Aufgaben mithilfe eines kooperativen Auktionsverfahrens.
-
Technischer Hintergrund
-
Das Koordinieren eines Teams von Robotern zur gemeinsamen Bewältigung einer Aufgabe ist insbesondere bei Unsicherheiten der Gegebenheiten der Umgebung sowie bei zeitlichen Abhängigkeiten in der Aufgabenspezifikation schwierig. Das Zerlegen der Aufgabenspezifikation in Teilaufgaben erfordert geeignete Mechanismen, die Aufgabenspezifikation zu zerlegen, wobei insbesondere die Handlungsanweisungen für die einzelnen Roboter aufgrund der Unsicherheiten der realen Umgebung nicht zufriedenstellend zugeordnet werden können.
-
Um zeitliche Abhängigkeiten zwischen einzelnen Handlungen von Robotern abzubilden, ist eine Beschreibungssprache, die sogenannte Linear Temporal Logic (LTL), bekannt, die eine Aufgabenspezifikation in Form einer LTL-Spezifikation abbildet. Aus der LTL-Spezifikation können Aktionspläne, d.h. eine Menge von Handlungsanweisungen für die einzelnen Roboter in an sich bekannter Weise abgeleitet werden.
-
LTL für Roboteranwendungen ermöglicht es, zeitliche Randbedingungen in probabilistische Modelle zu integrieren, insbesondere mit Markov-Entscheidungsprozessen (MDP: Markov Decision Processes). Markov-Entscheidungsprozesse ermöglichen es, Unsicherheiten einschließlich unbekannten Zeitdauern der Ausführung von Aktionen und stochastischen Ereignissen in der Umgebung abzubilden.
-
Um Handlungsanweisungen unter Unsicherheit für LTL-Aufgabenspezifikationen zu erstellen, kann eine Planung für einen einzelnen Roboter vorgesehen sein, der eine Automatenrepräsentation der Aufgabenspezifikation mit einem Markov-Entscheidungsprozess kombiniert. Auch können Handlungsanweisungen für einzelne Roboter geplant werden, um einen Nutzen einer LTL-Aufgabenbeschreibung zu maximieren.
-
Um mehrere Roboter unabhängig von einem spezifischen Modell zu koordinieren, sind allgemein Auktionsverfahren bekannt. P. Schillinger et al., „Auctioning over Probabilistic Options for Temporal Logic-Based Multi-Robot Cooperation under Uncertainty", IEEE International Conference on Robotics and Automation, 2018, offenbart ein Verfahren zum Koordinieren eines Teams von Robotern, eine gemeinsame Aufgabe zu erfüllen. Dabei können zeitliche Abhängigkeiten und Unsicherheiten der Umgebung berücksichtigt werden. Das dargestellte Verfahren ermöglicht es, Unsicherheiten und Beobachtungen während der Aufgabenausführung zu berücksichtigen, indem eine Aufgabenverteilung mithilfe eines Auktionsverfahrens durchgeführt wird.
-
Effiziente Planungsalgorithmen für die Koordination von Robotern eines Multiagentensystems in einer nicht-deterministischen Umgebung zur Lösung von Aufgaben mit zeitlich abhängigen Spezifikationen sind derzeit nicht bekannt.
-
Offenbarung der Erfindung
-
Erfindungsgemäß sind ein Verfahren zum Betreiben eines Roboters in einem Multiagentensystem gemäß Anspruch 1 sowie ein Roboter und ein Multiagentensystem gemäß den nebengeordneten Ansprüchen vorgesehen.
-
Weitere Ausgestaltungen sind in den abhängigen Ansprüchen angegeben.
-
Gemäß einem ersten Aspekt ist ein Verfahren zum Betreiben eines Multiagentensystems mit mehreren Robotern vorgesehen, wobei jeder der Roboter folgendes Verfahren zyklisch ausführt:
- - ausgehend von einem momentanen Systemzustand, Ermitteln von möglichen Optionen, wobei die Optionen Aktionen definieren, durch die ein Übergang von einem aktuellen zu einem nachfolgenden Systemzustand erreicht werden kann;
- - für jede der möglichen Optionen, Ermitteln von Aktionskosten zur Durchführung einer durch die Option angegebenen Aktion;
- - Durchführen einer Auktion, wobei die für jede Option ermittelten Aktionskostenwerte von jedem der übrigen Roboter berücksichtigt werden; und
- - Ausführen einer Aktion, die einer der Optionen entspricht, abhängig von allen zu der betreffenden Option ermittelten oder empfangenen Kostenwerten,
wobei die Aktionskosten für eine bestimmte Option jeweils einen der Erfahrungsparameter berücksichtigen, der von Kosten für vergangene bereits durchgeführte der bestimmten Option zugeordnete Aktionen von den mehreren Robotern abhängt.
-
Eine Idee des obigen Verfahrens zum Betreiben eines Multiagentensystems mit mehreren Robotern (Agenten) besteht darin, einen deterministischen endlichen Automaten bereitzustellen, der die von einem Multiagentensystem zu lösende Aufgabenspezifikation definiert. Der deterministische endliche Automat weist mehrere Systemzustände auf, die einen oder mehrere Zustandspfade definieren, die zum Erreichen des Aufgabenziels durchlaufen werden müssen. In diesem deterministischen endlichen Automaten werden die Zustandsübergänge verschiedenen Robotern in einem Auktionsverfahren zugeordnet. Die von einem Roboter ausführbaren Zustandsübergänge werden nachfolgend als Optionen bezeichnet.
-
In dem Prozess des Zuordnens der auszuführenden Zustandsübergänge zu einzelnen Robotern können Teilaufgaben, die zu Zustandsänderungen führen, als Optionen den einzelnen Robotern zugeordnet werden. Ein solches Auktionsverfahren ermöglicht es, mithilfe einer geeigneten Kostenfunktion eine Teilaufgabe denjenigen Robotern zuzuordnen, die die betreffende Teilaufgabe mit geringsten Kosten durchführen kann. Eine Kostenfunktion kann insbesondere den Zeitaufwand für die Durchführung der betreffenden Teilaufgabe sowie die Wahrscheinlichkeit, dass mit der Durchführung der Teilaufgabe die für den Systemzustand definierende Bedingung erfüllt wird, berücksichtigen.
-
Wird durch die Teilaufgabe eine Systemzustandsbedingung für einen Systemzustand erfüllt, so werden alle laufenden Teilaufgaben der Roboter unterbrochen und eine erneute Auktion durchgeführt, bei der nun neue Optionen an die Roboter verteilt werden. Die neuen Optionen entsprechen dabei den von dem nun erreichten Systemzustand ausgehenden relevanten Zustandsübergängen. Dieses Verfahren wird so lange durchgeführt, bis der Zielzustand erreicht ist. Auf diese Weise kann eine Verteilung von Teilaufgaben in einem Multiagentensystem in effizienter Weise durchgeführt werden, wobei insbesondere zeitliche Abhängigkeiten in besonders effizienter Weise berücksichtigt werden können.
-
Durch Vorgabe des deterministischen endlichen Automaten an alle Roboter kann jeder der Roboter in verteilter Weise seine Optionen hinsichtlich des übergeordneten Aufgabenziels ermitteln, wobei ein sehr viel weniger komplexes probabilistisches Planungsproblem gelöst werden muss. Durch das dezentralisierte Auktionsschema werden die verschiedenen Optionen zu verschiedenen Robotern zugeordnet, wobei es der vorgeschlagene Auktionsalgorithmus ermöglicht, dass die Roboter Teilaufgaben durchführen, die zeitlich von anderen Teilaufgaben abhängig sind. Bei jeder Erfüllung einer Teilaufgabe wird das Verfahren erneut durchgeführt, so dass das Wissen über Systemzustände in aktueller Weise berücksichtigt werden kann.
-
Das obige Verfahren ermöglicht weiterhin eine geradlinige Implementierung, da insbesondere Robotern nicht vorab Teilaufgaben zugewiesen werden müssen. Insgesamt ermöglicht das dezentrale Verfahren der Koordination von mehreren Robotern in einer mit Unsicherheiten behafteten Systemumgebung die Umsetzung einer vorgegebenen Aufgabenspezifikation, zum Beispiel in Form einer Linear Temporal Logic (LTL), insbesondere einer Co-Safe LTL.
-
Das obige Verfahren ermöglicht in effizienter Weise, die Ergänzung eines Mehragentensystems zu koordinieren, insbesondere bei Unsicherheiten der Umgebungsbedingungen. Dies gilt insbesondere für Spezifikationen, die zeitliche Logik enthalten, die von dem gesamten Team von Robotern bearbeitet werden sollen. Dazu werden den Robotern Teilaufgaben der Aufgabenspezifikation automatisch zugeordnet. Auch die Gegebenheiten der Systemumgebung können durch regelmäßiges Aktualisieren der geplanten Handlungsanweisungen berücksichtigt werden, so dass sich die Roboter flexibel an die Unsicherheiten anpassen können.
-
Weiterhin kann eine Aktion ausgeführt werden, die einer der Optionen entspricht, wenn für die entsprechende Option ein eigener Kostenwert ermittelt wird, der die geringsten Kosten aller für die entsprechende Option empfangenen Kostenwerte angibt.
-
Auch kann vorgesehen sein, dass keine Aktion ausgeführt wird, die einer der Optionen entspricht, wenn für keine der Optionen ein eigener Kostenwert ermittelt wird, der die geringsten Kosten aller für die entsprechende Option empfangenen Kostenwerte angibt.
-
Weiterhin kann der Erfahrungsparameter von der Verteilung der physikalischen Startzustände der betreffenden Roboter abhängen, wenn die durch die Option auszuführende Aktion gestartet wird.
-
Gemäß einer Ausführungsform kann der Erfahrungsparameter durch Lösen eines Kürzesten-Pfad-Problems ermittelt werden.
-
Es kann vorgesehen sein, dass der Erfahrungsparameter bei Beenden der einer Option zugehörigen Aktion aktualisiert wird, indem die Kosten zur Ausführung der Aktion durch den betreffenden Roboter ermittelt und der Erfahrungsparameter abhängig von den ermittelten Kosten und insbesondere abhängig von einem Anpassungsparameter, der insbesondere für höhere k abnimmt, angepasst wird.
-
Es kann vorgesehen sein, dass der Kostenwert für eine Option abhängig von einer Zeitdauer für eine Ausführung der der Option zugeordneten Aktion und/oder von einer Wahrscheinlichkeit, dass bei der Ausführung der der Option zugeordneten Aktion eine Zustandsbedingung für ein Erreichen des Systemzustands, zu der die Option hinführt, ermittelt wird.
-
Insbesondere kann eine Wahrscheinlichkeit, dass bei der Ausführung einer einer Option zugeordneten Aktion eine Zustandsbedingung für ein Erreichen des Systemzustands erreicht wird, während der Ausführung der Aktion aktualisiert werden.
-
Gemäß einer Ausführungsform kann der Forstschritt entlang des Pfades von Systemzuständen des deterministischen endlichen Automaten erreicht werden, wenn keine Möglichkeit besteht, dass durch Erfüllen einer Bedingung von dem nachfolgenden Systemzustand einer der vorangehenden Systemzustände erreichbar ist, wobei insbesondere den Systemzuständen Fortschrittniveaus zugeordnet werden, die den Fortschritt entlang des Pfades von Systemzuständen des deterministischen endlichen Automaten angeben.
-
Es kann vorgesehen sein, dass, wenn eine Aktion beendet wird, der erreichte Systemzustand an die übrigen Roboter übermittelt wird.
-
Es kann vorgesehen sein, dass eine Ausführung einer Aktion unterbrochen oder beendet wird, wenn eine Information über das Erreichen eines nachfolgenden Systemzustands empfangen wird.
-
Weiterhin können die für jede Option ermittelten Kostenwerte durch explizite Kommunikation von Kosten durch jeden der übrigen Roboter bereitgestellt werden.
-
Gemäß einem weiteren Aspekt ist ein Roboter zum Betreiben eines Multiagentensystems vorgesehen, wobei der Roboter ausgebildet ist, um folgende Schritte zyklisch auszuführen:
- - ausgehend von einem momentanen Systemzustand, Ermitteln von möglichen Optionen, wobei die Optionen Aktionen definieren, durch die ein Übergang von einem aktuellen zu einem nachfolgenden Systemzustand erreicht werden kann;
- - für jede der möglichen Optionen, Ermitteln von Aktionskosten zur Durchführung einer durch die Option angegebenen Aktion;
- - Durchführen einer Auktion, wobei die für jede Option ermittelten Aktionskostenwerte von jedem der übrigen Roboter berücksichtigt werden; und
- - Ausführen einer Aktion, die einer der Optionen entspricht, abhängig von allen zu der betreffenden Option ermittelten oder empfangenen Kostenwerten,
wobei die Aktionskosten für eine bestimmte Option jeweils einen der Erfahrungsparameter berücksichtigen, der von Kosten für vergangene bereits durchgeführte der bestimmten Option zugeordnete Aktionen von den mehreren Robotern abhängt.
-
Gemäß einem weiteren Aspekt ist ein Multiagentensystem mit mehreren der obigen Roboter vorgesehen.
-
Figurenliste
-
Ausführungsformen werden nachfolgend anhand der beigefügten Zeichnungen näher erläutert. Es zeigen:
- 1 eine schematische Darstellung eines Roboters eines Mehragentensystems;
- 2 eine Darstellung eines deterministischen endlichen Automaten;
- 3 eine Darstellung eines zyklischen endlichen Automaten;
- 4 ein Flussdiagramm zur Veranschaulichung eines Verfahrens zum Betreiben des Multiagentensystems zur Lösung einer Aufgabenspezifikation an gegebenen Aufgaben;
- 5 ein Beispiel eines in einer Systemumgebung angeordneten Multiagentensystems mit zwei beweglichen Robotern; und
-
Beschreibung von Ausführungsformen
-
Nachfolgend wird ein Verfahren beschrieben, mit dem in einem Multiagentensystem, bei dem Agenten als mit der Umgebung interagierende Roboter vorgesehen sind, beschrieben. Die Roboter 1 weisen eine Konfiguration auf, wie sie in 1 schematisch dargestellt ist. Die Roboter 1 umfassen dazu jeweils eine Steuereinheit 2, die zur Ausführung von Teilaufgaben ausgebildet ist. Zur Kommunikation mit anderen Robotern 1 weist jeder der Roboter 1 weiterhin eine Kommunikationseinrichtung 3 auf, um Informationen zu anderen Robotern 1 zu übertragen und von diesen zu empfangen.
-
Mithilfe einer Aktuatorik 4 kann der Roboter 1 mit der Systemumgebung interagieren. Die Aktuatorik 4 kann beispielsweise eine Fortbewegungsaktuatorik, Greifaktuatorik und dergleichen umfassen, die entsprechend der dem Roboter 1 zugewiesenen Teilaufgabe in an sich bekannter Weise betrieben wird. Dadurch kann der Roboter 1 sich insbesondere fortbewegen, Objekte aufnehmen und absetzen und dergleichen.
-
Weiterhin können mithilfe einer Sensorik 5 Umgebungszustände erfasst werden. Die Sensorik 5 kann beispielsweise eine Kamera, andere zur Objektdetektion verwendbare Sensorik, wie beispielsweise Ultraschallsensorik, und dergleichen umfassen. Mithilfe der Kamera können Positionen von Objekten, mit denen interagiert werden kann/soll, erkannt und identifiziert werden, und eine Fortbewegung innerhalb der Systemumgebung zu ermöglichen, wobei Objekte, die Hindernisse darstellen, umfahren werden.
-
Die Roboter 1 können des Weiteren mit einer Interaktionseinrichtung 6, wie z.B. einem Touch-Display oder eine Sprachein-/ausgabeeinrichtung, versehen sein, um mit Objekten oder Personen der Umgebung kommunikativ zu interagieren. Auf diese Weise können Personen Eingaben an den Robotern 1 vornehmen und Informationen erhalten.
-
Ausgangspunkt des nachfolgend beschriebenen Verfahrens ist eine Aufgabenspezifikation in Form einer Linear Temporal Logic (LTL), insbesondere einer co-safe Linear Temporal Logic (scLTL). Diese stellt eine Beschreibungssprache für eine Aufgabenspezifikation einer zu lösenden Aufgabe dar, die zeitliche Modalitäten aufweist. Jede scLTL-Aufgabenspezifikation kann in einen deterministischen endlichen Automaten (DEA) übersetzt werden.
-
Ein solcher deterministischer endlicher Automat (DEA) ist beispielhaft in 2 dargestellt. Diese zeigt Systemzustände (q1-q10), die einen Anfangszustand 11 (q1), mehrere Zwischenzustände 12 (q2-q9) und einen oder mehrere Zielzustände 13 (q10) enthalten. In dem Schaubild zur Darstellung des deterministischen endlichen Automatens zeigen Pfeile Zustandsübergänge von dem Anfangszustand 11 (q1) zu dem Zielzustand 13 (q10) entlang eines oder mehrerer Pfade. Ein Systemzustand wird erreicht, wenn eine dem betreffenden Systemzustand zugeordnete Zustandsbedingung erfüllt ist. Die Systemzustände von dem Anfangszustand 11 zu dem Zielzustand 13 wird durch Fortschritte entlang des Pfades erreicht. Ein Fortschritt entlang eines der Pfade wird dann erreicht, wenn von einem Systemzustand zu einem darauffolgenden Systemzustand keine Möglichkeit eines Rückpfades besteht. Der Fortschritt entlang der Pfade wird durch Fortschrittniveaus, insbesondere aufsteigende Fortschrittniveaus, angegeben.
-
3 zeigt eine schematische Darstellung eines zyklischen endlichen Automaten mit den Systemzuständen q0-q4, der zur Beschreibung von sich wiederholenden zyklischen Aufgaben geeignet ist. Der zyklische endliche Automat kann Teil eines endlichen Automaten sein oder diesen darstellen. Ein zyklischer endlicher Automat zeichnet sich insbesondere dadurch aus, dass, wenn der Zielzustand (q4) 13 erreicht worden ist, dieser auf einen früheren Zustand, beispielsweise den Startzustand (q0) 11, zurückgesetzt wird. Wo im Folgenden nicht anders angegeben, können die Begriff deterministischer endlicher Automat und zyklischer endlicher Automat für das beschriebene Verfahren äquivalent verstanden werden. Der dargestellte zyklische endliche Automat entspricht der folgenden LTL-Formel:
-
Nachfolgend wird ein Verfahren zum Zuordnen von Optionen zu einzelnen Robotern 1 in einem zyklischen endlichen Automaten beschrieben. Die Zuordnung von Optionen in einem nichtzyklischen Teil des deterministischen endlichen Automaten kann nach dem gleichen oder einem davon abweichenden Verfahren durchgeführt werden.
-
Voraussetzung für das Verfahren zum Betreiben des Multiagentensystems ist, dass jeder Roboter 1 in der Lage ist, mit jedem der übrigen Roboter 1 zu kommunizieren, und dass jedem Roboter 1 der zyklische endliche Automat DEA bekannt gemacht ist. Das nachfolgende Verfahren, das in Verbindung mit 4 dargestellt ist, beschreibt den Ablauf in einem der Roboter 1, wobei das Verfahren grundsätzlich parallel in jedem der Roboter 1 ausgeführt wird.
-
Zunächst werden in Schritt S11 ausgehend von dem momentanen Zustand im deterministischen endlichen Automaten, insbesondere beim ersten Durchlauf ausgehend von dem Anfangszustand 11, alle möglichen Optionen ermittelt. Die Optionen (dargestellt als Zustandsübergänge von einem gesetzten (aktuellen) Systemzustand/Roboterzustand zu einem möglichen nachfolgenden Systemzustand/Roboterzustand) stellen Möglichkeiten zum Erreichen eines nächsten möglichen Systemzustandes des deterministischen endlichen Automaten dar.
-
Nun werden in Schritt S12 für alle der in Schritt S11 ermittelten möglichen Optionen Aktionskosten AK ermittelt. Die Aktionskosten AK können beispielsweise von einer Zeitdauer D zur Ausführung der jeweiligen Option für den betreffenden Roboter 1 abhängen. Weiterhin können die Aktionskosten AK bei einer Systemumgebung, die mit Unsicherheiten belegt ist, Wahrscheinlichkeiten berücksichtigen. Die Wahrscheinlichkeiten geben jeweils eine Wahrscheinlichkeit an, mit der bei Ausführen der betreffenden Option durch den betreffenden Roboter 1 die Zustandsbedingung für den nachfolgenden Systemzustand erfüllt. Es gilt für die direkten Kosten K: K= D(s) * p(s) (mit D(s) der geschätzten Zeitdauer zum Ausführen der Option unter der Bedingung, dass die Ausführung in einem physikalischen Zustand s endet, und p der Wahrscheinlichkeit der Erfüllung der Zustandsbedingung der betreffenden Option in diesem Zustand s, aufsummiert über alle Zustände s). Zudem können die Kosten K die Kosten berücksichtigen, die anderen Robotern des Systems bereits zugewiesen wurden.
-
Weiterhin wird bei der Berechnung der Aktionskosten AK für eine Option ein Erfahrungsparameter V mit AK=K+V berücksichtigt. Der Erfahrungsparameter V ermöglicht es, frühere Kosten bei der Durchführung einer Option als Erfahrungswert zu berücksichtigen, durch die direkten Kosten K der durch die betreffende Option definierten Aktion korrigiert werden können.
-
Der Fall des zyklischen endlichen Automatens ermöglicht dies, durch Beobachtung von zuvor realisierten Zustandsübergängen zwischen identischen aktuellen und nachfolgenden Systemzuständen (d.h. identischen Zustandsübergängen), dass die Kosten zur Ausführung einer Option durch einen bestimmten Roboter 1 besser abgeschätzt werden können. Insbesondere erfolgt die Berücksichtigung des Erfahrungsparameters V, indem zu jedem Systemzustand ein Wert eines Erfahrungsparameters V zugeordnet wird, der angibt, wie vorteilhaft es ist, zu dem bestimmten Systemzustand zu wechseln.
-
Die Bestimmung des Erfahrungsparameters V wird weiter unten näher beschrieben.
-
In Schritt S13 werden die so ermittelten Kosten nun für jede der möglichen Optionen des betreffenden Roboters 1 an alle übrigen Roboter 1 kommuniziert. Somit liegen in allen Robotern 1 Informationen über die Kosten für jede der Optionen vor.
-
In Schritt S14 werden nun für jeden möglichen Systemzustand, der durch eine der selbst ermittelten oder von anderen Robotern 1 erhaltenen Optionen erreichbar ist, die minimalen Aktionskosten ermittelt.
-
Anschließend wird in Schritt S15 in jedem der Roboter 1 überprüft, ob für einen durch eine Option erreichbaren Zwischenzustand die eigenen Kosten die minimalen Kosten über alle bereitgestellten Kosten darstellen. Ist dies der Fall (Alternative: Ja), so wird dem betreffenden Roboter 1 (der dies festgestellt hat) die betreffende Option (mit den geringsten Kosten) zugeordnet und in eine Handlungsanweisung zum Erreichen des durch die Option angegebenen Systemzustands umgesetzt. Anschließend wird das Verfahren mit Schritt S16 fortgesetzt.
-
In Schritt S16 wird entsprechend mit der Ausführung der Handlungsanweisung sofort begonnen.
-
In Schritt S17 wird in jedem Roboter 1 überprüft, ob durch die eigene Aktion die Zustandsbedingung erfüllt wurde oder ob eine entsprechende Information über ein Erfüllen einer Zustandsbedingung von einem weiteren der Roboter 1 empfangen wurde. Ist dies nicht der Fall (Alternative: Nein), wird zu Schritt S17 zurückgesprungen, andernfalls (Alternative: Ja), wird zu Schritt S19 gesprungen.
-
In Schritt S19 wird überprüft, ob ein definierter Zielsystemzustand, der z.B. eine Abbruchbedingungen angibt, erreicht worden ist. Ist dies der Fall (Alternative. Ja), wird das Verfahren beendet. Andernfalls wird zu Schritt S11 zurückgesprungen.
-
Wird in Schritt S15 für jede der Optionen festgestellt, dass keine der Optionen mit den minimalen Kosten ausgeführt werden kann (Alternative: Nein), wird das Verfahren mit Schritt S18 fortgesetzt.
-
Bei gleichen minimalen Kosten können u.U. mehrere Roboter 1 eine der Optionen gleichzeitig auswählen und die entsprechende Handlungsanweisung gleichzeitig durchführen. Durch den Zuordnungsprozess wird jedem Roboter 1 entweder eine Option, entsprechend der dieser eine Handlungsanweisung ausführen kann, zugeordnet, oder er bleibt untätig.
-
In Schritt S18 können während der Auktion die Roboter 1 künftige Zustände annehmen, um Handlungsanweisungen zu planen, denen sie nachgehen können, um künftige Teile der Aufgabenstellung vorzubereiten. Dies sollte erfolgen, indem sichergestellt wird, dass das Verfolgen dieser Handlungsanweisungen nicht das Durchführen der Teilaufgaben der momentanen Optionen behindert oder verletzt. Somit werden zur Verteilung von Optionen an nicht zugeordnete Roboter 1 weitere Optionen berücksichtigt, die das Ergebnis der ausgeführten Option nicht als Vorbedingung enthalten.
-
Aufgrund der Unsicherheit der Umgebung ist es im Voraus nicht klar, wie sich die Ausführung der Teilaufgaben fortsetzen wird. Daher können die Roboter 1 ihre Handlungsanweisungen während der Ausführung auf zwei Arten aktualisieren:
- 1. Wenn die Option eines Roboters 1 beendet wird, wird der aktuelle Zustand jedes weiteren Roboters 1 aktualisiert. Da dadurch der Zustand jedes Roboters 1 geändert wird, wird die zuvor ausgeführte Handlungsanweisung unterbrochen.
- 2. Wissen, das durch die Roboter 1 während der Ausführung gesammelt wird, wird berücksichtigt. Dadurch können die Ereigniswahrscheinlichkeiten, die angeben, dass ein bestimmtes Ereignis beobachtet werden kann, angepasst werden. Diese aktualisierten Wahrscheinlichkeiten werden jedem der Roboter 1 kommuniziert und bei der Ermittlung der Kosten der einzelnen Optionen berücksichtigt.
-
Während der Ausgabenausführung führt jeder Roboter 1 das Verfahren zyklisch aus, wobei der gemeinsame Systemzustand des zyklischen endlichen Automaten sowie der eigene Roboterzustand beachtet wird. Ausgehend von diesen Zuständen führt jeder der Roboter 1 das oben beschriebene Verfahren aus, um die nächste Option zu bestimmen. Da nur die zuerst zugeordnete Option ausgeführt werden darf und keine Option, die einen zu erwartenden Fortschritt annimmt, die die LTL-Aufgabenstellung im aktuellen Zustand verletzt, werden sogenannte Warte-Aktionen hinzugeführt. Dabei wird für jede mögliche Aktion gemäß der zu folgenden Handlungsanweisung überprüft, ob einer der Zielzustände eine Schleifenbedingung des momentanen Systemzustands verletzt. Die Schleifenbedingung definiert im jeweiligen Systemzustand gültige Regeln oder Sicherheitsvorschriften. Wenn dies der Fall ist, wird die jeweilige Aktion durch eine Warte-Aktion ersetzt, die sicherstellt, dass der betreffende Roboter 1 in dem jeweiligen Zustand verbleibt und somit nicht in der Lage ist, die Schleifenbedingungen zu verletzen.
-
Jeder Roboter 1 führt dann seine Option aus, indem den festgestellten Handlungsanweisungen gefolgt wird. Wenn der erste Roboter 1 einen Zielzustand erreicht, wird an alle anderen Roboter 1 ein Interrupt-Signal gesendet, um ihre momentane Aktion abzubrechen. Gleichzeitig wird der Systemzustand der nächsten Iteration qk+1 auf den Zielzustand q' der jeweiligen Option gesetzt und unter den Robotern 1 synchronisiert. Insbesondere bei Verwendung des zyklischen endlichen Automaten wird der Systemzustand auf den Anfangszustand 11 eingestellt, immer wenn ein Zielzustand 13 erreicht ist.
-
Der Erfahrungsparameter V wird entsprechend der nachfolgenden Berechnung aktualisiert, wobei die Dauer dk durch Messen der Zeitdauer, die zur Ausführung der Iteration k benötigt worden ist, bestimmt wird.
-
Dazu werden der Erfahrungsparameter V und die Q-Funktion unter den Robotern 1 geteilt und wird jeweils durch denjenigen Roboter 1 aktualisiert, der seine einer zugeordneten Option auszuführende Aktion beendet. Dazu werden die entsprechenden Informationen zwischen den Robotern 1 übermittelt.
-
Die Optionszuordnung wird nach einem Interrupt erneut ausgeführt und die nächsten Optionen ausgewählt. Diese Koordination erlaubt es den Robotern 1, stochastische Dynamiken zu beachten und ihre Aufgabenzuordnungen nach Bedarf anzupassen.
-
Nachfolgend wird beschrieben, wie der Erfahrungsparameter V ermittelt wird:
- Im obigen Auktionsprozess berechnet jeder Roboter 1 für alle verfügbaren Optionen die Kosten K insbesondere in Form der Ausführungszeitdauer d und den Erfahrungsparameter V des Zielzustands der der betreffenden Option zugeordneten Aktion. Zwar entspricht die Ausführungszeitdauer d einer Zeitdauer, die erwartet wird, um für die Ausführung der Option ausgehend von dem aktuellen Roboterzustand zu einem Endzustand der betreffenden Option zu gelangen, es wird dadurch jedoch nicht die Stochastizität des physikalischen Systemzustands bei einem System mit mehreren Robotern abgebildet. Diese entsteht dadurch, dass bei der gleichzeitigen Ausführung von durch die Optionen angegebenen Aktionen durch verschiedene Roboter diese sich bei Erreichen eines Zielzustands durch einen der Roboter inmitten einer Ausführung von Aktionen befinden können, die dann sofort beendet bzw. unterbrochen werden. Aufgrund der so entstehenden unbestimmten Zwischenzustände dieser übrigen Roboter 1 können Aktionskosten für deren nächste Aktionen einer nachfolgenden Auktion nur ungenau bestimmt werden.
-
Somit kann man die Option mit den geringsten Kosten nur durch eine schätzungsweise Berücksichtigung des Erfahrungsparameters V ermitteln, wenn die Stochastizität berücksichtigt werden soll. Der Erfahrungsparameter V hängt von der Verteilung der physikalischen Startzustände der betreffenden Roboter 1 ab, wenn die durch die Option auszuführende Aktion startet.
-
Die Verteilung wird durch die beobachteten Startzustände während der wiederholten Ausführungen der Aufgabe abgebildet, und der Erfahrungsparameter V kann damit die langfristigen Kosten über die logischen Zustände abbilden. Dadurch kann jedem Zielzustand einer Option durch Lösen eines Kürzesten-Pfad-Problems ermittelt werden.
-
Die Dauer zum Ausführen eines Übergangs in dem zyklischen endlichen Automaten entspricht damit der Dauer einer Option o mit dem Erwartungswert
-
Die Bellman-Gleichung für dieses Kürzeste-Pfad-Problem entspricht
mit den Grenzbedingungen V*(q) = 0 und q' dem logischen Zielzustand der Option o, wobei O(q) die Menge an möglichen Optionen ausgehend von einem Systemzustand des zyklischen endlichen Automaten angibt. Bei diesem Ansatz sind die Dauern
d o unbekannt, und V* kann nur durch Beobachten der Ausführungsdauern
von tatsächlich ausgeführten Aktionen ermittelt werden.
-
Mithilfe einer Q-Funktion, die die angenäherten Erfahrungskosten bei Ausführen einer durch die Option o angegeben Aktion in dem Systemzustand q abbildet, kann ein geschätzter Erfahrungsparameter V
k für die Iteration k abgeleitet werden aus
für alle Systemzustände des zyklischen endlichen Automaten und in dem Systemzustand verfügbaren Optionen.
-
Somit werden immer bei Beenden der einer Option zugehörigen Aktion die Kosten bzw. die Zeitdauer zur Ausführung der Aktion durch den betreffenden Roboter ermittelt und die Q-Funktion entsprechend
aktualisiert. α
k entspricht einem Anpassungsparameter, der für höhere k abnehmen kann.
-
In
5 ist ein Beispiel für ein Szenario eines Multi-Agentensystems dargestellt, auf das das zuvor beschriebene Verfahren vorteilhaft anwendbar ist. In dem Multi-Agentensystem sollen bewegliche Roboter
R1,
R2,
R3 eine Aufgabe ausführen. Die Zielsetzung besteht darin, auf der in
5 dargestellten Karte, die eine Menge von Zielpositionen durch verschiedene Labels ,red‘, ,blue‘, ,yellow‘ und ,green‘ darstellen, die folgende Zielspezifikation ausführen sollen:
-
Die Zielsetzung kann entweder durch Liefern zu der Zielposition ,red‘ und dann zur Zielposition ,blue‘ oder erst zur Zielposition ,yellow‘ und dann zur Zielposition ,green‘ erfüllt werden. Die zu liefernden Objekte können von den Positionen p1 und p2 aufgenommen werden. Weiterhin kann ein Roboter beschädigt werden, wenn dieser eine Auslieferung ausführt, und wenn dieser beschädigt ist, kann kein weiteres Objekt aufgenommen werden. Ein beschädigter Roboter 1 kann in der Position ,station‘ repariert werden.
-
Aufgrund des dezentralisierten Ansatzes der Auktionszuordnung kann das obige Verfahren auf Multiagentensysteme mit einer beliebigen Anzahl von Robotern 1 angewendet werden, wobei die Ausführungszeit der Mission durch Hinzufügen von weiteren Robotern 1 reduziert werden kann.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- P. Schillinger et al., „Auctioning over Probabilistic Options for Temporal Logic-Based Multi-Robot Cooperation under Uncertainty“, IEEE International Conference on Robotics and Automation, 2018 [0006]