-
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 Umgebungsgegebenenheiten 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öglichen es, zeitliche Randbedingungen in probabilistische Modelle zu integrieren, insbesondere mit Markov-Entscheidungsprozessen (MDP: Markov Decision Processes). Markov-Entscheidungsprozesse ermöglichen es, Unsicherheiten einschließlich unbekannter Zeitdauern der Ausführung von Aktionen und stochastischen Ereignissen in der Umgebung abzubilden.
-
Um Handlungsanweisungen unter Unsicherheit für LTL-Aufgabenspezifikationen zu planen, sieht Lacerda, D. Parker, and N. Hawes, „Optimal and dynamic planning for Markov decision processes with co-safe LTL specifications", Int. Conf. on Intelligent Robots and Systems, pages 1511-1516. IEEE, 2014 eine Planung für einen einzelnen Roboter vor, der eine Automatenrepräsentation der Aufgabenspezifikation mit einem MDP kombiniert. Auf gleiche Weise sieht. C. D. Ding, S. L. Smith, C. Belta, and D. Rus. LTL control in uncertain environments with probabilistic satisfaction guarantees, IFAC, 44(1):3515-3520, 2011 vor, Handlungsanweisungen für einzelne Roboter zu planen, um einen Nutzen einer LTL-Aufgabenbeschreibung zu maximieren.
-
Um mehrere Roboter unabhängig von einem spezifischen Modell zu koordinieren, offenbart M. G. Lagoudakis et al., „Auction-Based Multi-Robot Routing. In Robotics: Science and Systems", pages 343-350, Rome, Italy, 2005 mehre Auktionsstrategien mit dem Fokus auf Effizienz. Koenig, C. et al., „The power of sequential single-item auctions for agent coordination", National Conference on Artificial Intelligence, volume 21, page 1625. Menlo Park, CA; Cambridge, MA, London; AAAI Press; MIT Press; 1999, 2006 offenbart eine sequenzielle Auktion, um den Planungsaufwand zu reduzieren, ohne das Optimierungsergebnis beliebig zu verschlechtern. M. Guo and D. V. Dimarogonas, „Multi-agent plan reconfiguration under local LTL specifications", International Journal of Robotics Research, 34(2):218-235, 2015 offenbart, Robotern eines Mehrrobotersystems unabhängig voneinander lokale Teilaufgaben zuzuordnen und kommuniziert aktiv aufkommende Konflikte.
-
Aus der
US 6 415 274 B1 ist eine kollektive Suchmethode bekannt, die es Teams von kommunizierenden Agenten ermöglichen, ihre Suchaktivitäten durch Arbeitsteilung basierend auf selbstgewählten Rollen und selbstbestimmten Status zu koordinieren.
-
Aus der
US 2017 / 0 277 195 A1 ist ein Verfahren bekannt, welches Kandidaten-Trajektorien für ein Fahrzeug erzeugt, die ab einem bestimmten Zeitpunkt an einem Standort des Fahrzeugs beginnen. Die Trajektorien der Kandidaten basieren auf einem Zustand des Fahrzeugs und auf möglichen Verhaltensweisen des Fahrzeugs und der Umgebung ab dem Standort des Fahrzeugs.
-
Aus der
US 2010 / 0 280 631 A1 ist ein Verfahren und eine Vorrichtung zum Steuern verteilter System bekannt. Das Verfahren berücksichtigt hierfür globale Randbedingungen gemäß Kooperationsbeziehungen zwischen Funktionsblöcken der verteilten System und das Verfahren erstellt dann ein mathematisches Modell.
-
Aus der
US 2005 / 0 005 272 A1 ist ein Verfahren und eine Methode zum Zwecke der Kontrolle der Ressourcenzuweisung und der Aufgabenausführung bekannt.
-
-
Aus der
DE 102 20 085 A1 ist ein Verfahren zur Herstellung von Kontaktfedern bekannt.
-
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.
-
Die Aufgabe der Erfindung besteht darin, 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 bereitzustellen. Die Aufgabe wird wie nachfolgend erläutert gelöst.
-
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 bis zum Erreichen eines Zielsystemzustands ausführt:
- - ausgehend von einem momentanen Systemzustand, Ermitteln von möglichen Optionen, bei denen ein Fortschritt entlang eines Pfades von Systemzuständen in einem vorgegebenen deterministischen endlichen Automaten erreicht wird, 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 eines Kostenwerts zur Durchführung einer durch die Option angegebenen Aktion;
- - Durchführen einer Auktion, wobei die für jede Option ermittelten Kostenwerte von jedem der übrigen Roboter berücksichtigt wird;
- - Ausführen einer Aktion, die einer der Optionen entspricht, abhängig von allen zu der betreffenden Option ermittelten oder empfangenen Kostenwerten.
-
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, wobei nur diejenigen Zustandsübergänge (relevante Zustandsübergänge) als Optionen berücksichtigt werden, mit denen eine Änderung eines Fortschrittsniveaus in Richtung des Aufgabenziels erreicht wird. Diese Zustandsübergänge werden nachfolgend als Optionen bezeichnet. Dazu werden vorab den Systemzuständen des deterministischen endlichen Automaten entsprechende Fortschrittsniveaus zugeordnet, die sich entlang der Pfade zu dem Zielzustand stetig erhöhen.
-
In dem Prozess des Zuordnens der Zustandsübergänge, die durch eine Erhöhung eines Fortschrittsniveaus gekennzeichnet sind, 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 mit einem erhöhten Fortschrittsniveau 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 eine Aktion für eine weitere Option entlang des Pfades in dem deterministischen endlichen Automaten ausgeführt werden, wenn für keine der Optionen ein eigener Kostenwert ermittelt wird, der die geringsten Kosten aller für die entsprechende Option empfangenen Kostenwerte angibt, und wobei die weitere Option so gewählt ist, dass das Verfolgen einer der weiteren Option entsprechenden Aktion nicht das Durchführen der Aktionen der in der Auktion verteilten Optionen verletzt.
-
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 bis zum Erreichen eines Zielsystemzustands auszuführen:
- - ausgehend von einem momentanen Systemzustand, Ermitteln von möglichen Optionen, bei denen ein Fortschritt entlang eines Pfades von Systemzuständen in einem vorgegebenen deterministischen endlichen Automaten erreicht wird, 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 eines Kostenwerts zur Durchführung einer durch die Option angegebenen Aktion;
- - Empfangen von die für jede Option ermittelten Kostenwerte von jedem der übrigen Roboter;
- - Durchführen einer Auktion unter Berücksichtigung der für jede Option ermittelten Kostenwerte; und
- - Ausführen einer Aktion, die einer der Optionen entspricht, abhängig von allen zu der betreffenden Option ermittelten oder empfangenen Kostenwerten.
-
Gemäß einem weiteren Aspekt ist ein Multiagentensystem mit mehreren der obigen Robotern 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 mit Fortschrittsniveauzuordnung;
- 3 ein Flussdiagramm zur Veranschaulichung der Zuordnung von Fortschrittniveaus zu einzelnen Systemzuständen des deterministischen 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
- 6 eine Darstellung eines deterministischen endlichen Automaten zur Lösung einer Aufgabe des Multiagentensystems der 5.
-
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 (q0), mehrere Zwischenzustände 12 (q1-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.
-
Es werden zur Vorbereitung des Auktionsverfahren diese Fortschrittsniveaus beginnend mit dem Anfangszustand 11 zu dem Zielzustand 13 vergeben, entsprechend einem in dem Flussidagramm der 3 veranschaulichten Verfahren. Dabei kann in Schritt S1 dem Anfangszustand 11 ein Fortschrittsniveau von 1 (oder einem anderen initialen Wert) zugewiesen werden.
-
In einem nachfolgenden Schritt S2 wird für alle von einem ausgewählten (anfänglich der Anfangszustand) aktuellen Systemzustand erreichbaren Systemzustände, von denen kein Pfad zu dem aktuellen oder einem sonstigen vorherigen Systemzustand zurückführt, (d.h. relevanten Zustandsübergängen) ein um eins (oder sonstigen Betrag) erhöhtes Fortschrittsniveau zugewiesen. Die übrigen Systemzustände, die durch nicht-relevante Zustandsübergänge (d.h. Zustandsübergänge von Zuständen zu denen ein Pfad im DEA zurückführt) erreicht werden, werden dem betreffenden aktuellen Systemzustand identische Fortschrittniveaus zugeordnet. Dadurch wird jedem Systemzustand, von dem ein Pfad zu dem vorherigen Zustand zurückführt, das gleiche Fortschrittsniveau wie das Fortschrittsniveau des vorherigen Systemzustands zugeordnet.
-
In Schritt S3 wird abgefragt, ob alle Systemzustände betrachtet wurden. Ist dies der Fall (Alternative. Ja), wird das Verfahren beendet, andernfalls (Alternative: Nein) wird zu Schritt S2 zurückgesprungen und dabei ein nächster noch nicht behandelter Systemzustand als aktuellen Systemzustand angenommen. Auf diese Weise kann jedem der Systemzustände aus dem deterministischen endlichen Automaten ein Fortschrittsniveau (gekennzeichnet durch [x] mit x der Nummer des Fortschrittsniveaus) zugeordnet werden. Basierend auf dem so mit Fortschrittsniveaus versehenen deterministischen endlichen Automaten DEA kann nun ein Verfahren ausgeführt werden, durch das die entsprechende Aufgabenspezifikation durch mehrere Roboter bearbeitet wird.
-
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 deterministische endliche Automat DEA bekannt gemacht ist. Das nachfolgende Verfahren 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 der Anfangszustand 11, alle möglichen Optionen ermittelt, durch die eine Erhöhung des Fortschrittsniveaus erreicht werden kann. Die Optionen (dargestellt als Zustandsübergänge zu einem Systemzustand mit einem höheren Fortschrittsniveau) stellen Möglichkeiten zum Erreichen eines nächsten möglichen Systemzustandes des DEA dar, der ein Zwischenzustand auf dem Weg zum Zielzustand 13 darstellt. Im vorliegenden Fall stellen ausgehend von dem Anfangszustand q1 die Systemzustände q2 und q3 die nächsten möglichen Systemzustände dar. Dies entspricht den Optionen q1->q2 und q1->q3.
-
Nun werden in Schritt S12 von jedem der Roboter 1 für alle der in Schritt S1 ermittelten möglichen Optionen Aktionskosten ermittelt. Die Aktionskosten können beispielsweise einer Zeitdauer zur Ausführung der jeweiligen Option für den betreffenden Roboter 1 entsprechen oder diese umfassen. Weiterhin können die Aktionskosten 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 zu erreichenden Systemzustand erfüllt. Es gilt: K= t * p (mit t der geschätzten Zeitdauer zum Ausführen der Option und p der Wahrscheinlichkeit der Erfüllung der Zustandsbedingung der betreffenden Option).
-
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 Kosten 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 darstellen. Ist dies der Fall (Alternative: Ja), so wird von dem betreffenden Roboter 1 die betreffende Option (mit den geringsten Kosten) übernommen 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 eine erfüllte Zustandsbedingung von einem weiteren der Roboter 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 der Zielsystemzustand 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 verletzt. Somit werden zur Verteilung von Optionen an nicht zugeordnete Roboter 1 weitere Optionen berücksichtigt, die einen Systemzustand mit einem höheren Fortschrittsniveau als die aktuell ausgeführten Optionen haben und 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.
-
In
5 ist ein Beispiel für ein Multiagentensystem dargestellt, bei dem sich bewegliche Roboter
R1,
R2 in einem Bürogebäude befinden. Die Zielsetzung besteht darin, dass einer der Roboter
1 sich in einen Raum
r hineinbewegt, was jedoch nur nach Erlaubnis von zwei Personen
a,
b möglich ist. Diese Erlaubnis kann beispielsweise durch Eingeben eines Zugangscodes über einen Touch-Bildschirm einer Interaktionseinrichtung
6 der einzelnen Roboter
1 durch eine Person gegeben werden. Für dieses Beispiel wird angenommen, dass die Personen an den Orten
a2 und
b1 gefunden werden können, was jedoch im Voraus nicht bekannt ist. Weiterhin wird angenommen, dass die Zeitdauer zum Ausführen einer Navigationshandlung proportional zu der zurückgelegten Wegstrecke ist. Die Zielsetzung, Zugang zu dem Raum
r zu erhalten, während die Zugangsbeschränkungen berücksichtigt werden, kann durch folgende scLTL-Formel ausgedrückt werden.
wobei
ac ,
bc angibt, dass die Zustimmung durch die betreffende Person a, b, gegeben worden ist.
-
Der DEA, das durch ϕ aufgebaut ist, ist in 6 schematisch mit den Systemzuständen q1-q5 dargestellt. Die scLTL-Mission wird an die Roboter 1 übertragen. Anfänglich wird der Roboter R1 die Option q1-q2, die von dem Systemzustand q1 nach q2 führt, und der Roboter R2 die Option q2-q4, die von dem Systemzustand q2 nach q4 führt, abhängig von der angenommenen Fortschrittsniveauerhöhung zugeordnet. Folglich führt die von dem Roboter R1 ausgewählte Option den Roboter R1 nach b1 und die von dem Roboter R2 ausgewählte Option den Roboter R2 nach a1 . Der Roboter R2 entscheidet, nach a1 anstelle nach a2 zu gehen, weil dieser Raum a1 näher liegt, bei Annahme gleicher Wahrscheinlichkeiten (von jeweils 0,5), dass sich die betreffende Person in einem der beiden Räume a1 , a2 befindet.
-
Die erste Neuplanung erfolgt, nachdem der Roboter R1 den Raum b1 erreicht hat. Dort findet dieser die Person b vor, die eine Bestätigung bc gibt und somit den Zwischenzustand q2 erreicht. Währenddessen ist der Roboter R2 bereits nahe an dem Raum a1 , so dass diesem die Option q2-q4 zugeordnet wird und die entsprechende Aktion wird ausgeführt. Währenddessen wird dem Roboter R1 die Option q4-q5 zugeordnet, um die Mission zu beenden.
-
Wenn nun durch den Roboter R2 festgestellt wird, dass die Zugangserlaubnis ac nicht in dem Raum a1 erhalten werden kann, kann der Roboter R2 die Handlungsanweisung der Option q2-q4 nicht wie erwartet beenden und aktualisiert die Ereigniswahrscheinlichkeit, dass die Person sich im Raum a1 befindet, auf 0, um anzugeben, dass die Zugangsbestätigung ac nicht in dem Raum a1 erhalten werden kann. Dies führt zu einer Aktualisierung, durch die der Roboter R1 als derjenige Roboter 1 ausgewählt wird, der geringere Kosten für die Ausführung der Option q2-q4 hat, indem sich dieser nach a2 bewegt, da dem Roboter R2 die Option q4-q5 zugeordnet ist. Da der Roboter R2 den Wegpunkt schneller erreicht, als der Roboter R1 die Option q2-q4 beenden kann, kann beobachtet werden, dass der Roboter R2 auf den Roboter R1 wartet. Nachdem der Roboter R1 q2-q4 beendet hat, behält der Roboter R2 die zugeordnete Option q4-q5 bei, die bereits fast beendet ist, und beendet die Mission, indem der Raum r betreten wird.
-
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.