-
Technisches Gebiet
-
Die Erfindung betrifft ein Verfahren zum Ermitteln einer Aktion oder einer Trajektorie eines Roboters zum Erreichen einer vorgebbaren Zielposition. Ferner betrifft die Erfindung eine Vorrichtung und ein Computerprogramm, die eingerichtet sind, das Verfahren auszuführen.
-
Stand der Technik
-
Die nicht vorveröffentlichte
DE 10 2017 217412.9 offenbart ein Verfahren zum Betreiben eines Robotersteuerungssystems, welches ein maschinelles Lernsystem umfasst. Das maschinelle Lernsystem ermittelt abhängig von einer Karte, welche einen Aktionsraum des Roboters darstellt, einen Bewegungsverlauf von zumindest einem Objekt in dem Aktionsraum des Roboters.
-
Hart et al. zeigen in ihrer Publikation „A formal basis for the heuristic determination of minimum cost paths.“ IEEE transactions on Systems Science and Cybernetics 4.2 (1968), Seite 100-107 einen optimalen Planer, der einen Pfad mit minmalen Kosten sucht.
-
Beispielsweise offenbaren Cohen et al. in ihrer Veröffentlichung „Anytime focal search with applications“ In Proceedings of the Twenty-Seventh International Joint Conference on Artificial Intelligence, IJCAI-18, 1434-1441 einen subotpimalen Planer (focal A*-Suchalgorithmus), der eine Lösung mit garantierten Suboptimalitätsschranken liefert.
-
Offenbarung der Erfindung
-
In einem ersten Aspekt wird ein, insbesondere computerimplementiertes, Verfahren zum Ermitteln einer Aktion eines Roboters abhängig von einer tatsächlichen Position des Roboters vorgeschlagen. Hierfür wird aus einer Mehrzahl von vorausgewählten Nachbarpositionen (engl. focal set) eine nachfolgende Position ausgewählt. Die nachfolgende Position ist diejenige Nachbarposition aus der Mehrzahl der vorausgewählten Nachbarpositionen, der relativ zu den anderen vorausgewählten Nachbarpositionen eine kleinste erste Größe zugewiesen ist. Die ersten Größen charakterisieren jeweils eine erste Wahrscheinlichkeit, ob sich der Roboter, insbesondere beginnend bei einer vorgebbaren Startposition entlang vorhergehender tatsächlichen Positionen des Roboters, über die tatsächliche Position zu den jeweiligen vorausgewählten Nachbarpositionen bewegt. Ferner wird ein maschinelles Lernsystem verwendet, welches eingerichtet ist, als Ausgangsgrößen eine Mehrzahl von zweiten Wahrscheinlichkeiten auszugeben. Die zweiten Wahrscheinlichkeiten charakterisieren jeweils, wie wahrscheinlich es ist, dass der Roboter ausgehend von der tatsächlichen Position jeweils eine der Aktionen einer Mehrzahl möglicher Aktionen ausführt. Das maschinelle Lernsystem ermittelt die Ausgangsgrößen und den jeweiligen vorausgewählten Nachbarpositionen wird die jeweilige erste Größe abhängig von zumindest einer der Ausgangsgrößen des maschinellen Lernsystems zugewiesenen. Die Aktion des Roboters wird aus der Mehrzahl der möglichen Aktionen ausgewählt, sodass dann, wenn der Roboter die ausgewählte Aktion ausführt, dieser ausgehend von der tatsächlichen Position unmittelbar die nachfolgende Position erreicht.
-
Unter einer Aktion kann eine Aktion verstanden werden, die ein Aktor des Roboters ausführt. Alternativ kann unter einer Aktion ein Manöver des Roboters verstanden werden, das durch den Roboter ausführt wird.
-
Unter Nachbarpositionen werden die Positionen verstanden, die der Roboter ausgehend von seiner tatsächlichen Position unmittelbar erreichen kann, d.h. die nach Ausführen einer einzigen Aktion anschließend erreicht werden können. Die tatsächliche Position kann eine gemessene oder eine berechnete Position sein.
-
Der Vorteil dieses Verfahrens ist, dass anhand einer Auswahl aus den vorausgewählten Nachbarpositionen, die angelehnt an einen focal A*-Suchalgorithmus vorausgewählt wurden, eine suboptimale nachfolgende Position ausgewählt wird, sodass der Roboter einen nahezu optimalen Pfad einschlägt. Denn der focal A*-Suchalgorithmus ermittelt einen Pfad, der suboptimal hinsichtlich eines vorgebbaren (Kosten-)Kriteriums (z.B. Zeit, Energieverbrauch, kürzester Weg, o.ä.) mit garantierten Schranken ist.
-
Vorteilhaft ist ferner, dass die Ausgangsgrößen des maschinellen Lernsystems als Heuristik verwendet werden und dass das maschinelle Lernsystem aus Trainingsdaten diese Heuristik erlernen kann. Darüber hinaus kann das maschinelle Lernsystem durch das Anlernen auch eine generalisierte Heuristik erlernen. Ein weiterer Vorteil ist, dass das maschinelle Lernsystem zweite Wahrscheinlichkeiten ausgibt, die das lokale Verhalten des Roboters charakterisieren. Dies ist vorteilhaft, da erkannt wurde, dass das maschinelle Lernsystem besonders präzise das lokale Verhalten von Robotern vorhersagen kann, wodurch eine zuverlässigere Heuristik erreicht wird.
-
Es wird ferner vorgeschlagen, dass für jede mögliche Nachbarposition der tatsächlichen Position, Gesamtkosten ermittelt und den jeweiligen Nachbarpositionen zugeordnet werden. Die Nachbarpositionen werden in eine erste Liste (engl. open list) eingetragen und die Gesamtkosten werden abhängig von ersten Kosten und zweiten Kosten ermittelt. Die ersten Kosten charakterisieren, welche Kosten aufgewendet werden müssen, um von einer vorgebbaren Startposition des Roboters zur jeweiligen Nachbarposition zu gelangen und die zweiten Kosten charakterisieren, welche Kosten aufgewendet werden müssten, um von der jeweiligen Nachbarposition zu einer vorgebbaren Zielposition des Roboters zu gelangen. Die zweiten Kosten werden derart geschätzt, dass diese immer geringer sind als tatsächliche Kosten, um von der jeweiligen Nachbarposition zur Zielposition zu gelangen. Die Mehrzahl der vorausgewählten Nachbarpositionen (engl. focal set) sind diejenigen Nachbarpositionen der ersten Liste (engl. open list), deren Gesamtkosten geringer sind als die geringsten ermittelten Gesamtkosten multipliziert mit einem vorgebbaren Faktor.
-
Dies hat den Vorteil, dass durch die vorausgewählten Nachbarpositionen eine Aktion/Trajektorie gefunden wird, die garantiert nicht schlechter als die optimale Lösung multipliziert mit dem vorgebbaren Faktor (engl. focal value) ist.
-
Weiterhin wird vorgeschlagen, dass die erste Wahrscheinlichkeit des Weiteren abhängig von einer weiteren Wahrscheinlichkeit ermittelt wird, die charakterisiert, ob der Roboter die tatsächliche Position, insbesondere beginnend von der vorgebbaren Startposition, erreicht. Der Vorteil hierbei ist, dass vorhergehende Aktionen des Roboters berücksichtigt werden können.
-
Weiterhin wird vorgeschlagen, dass nachdem eine Trajektorie mittels des Verfahrens des ersten Aspekts, insbesondere in Abhängigkeit der ermittelten Aktionen zum Erreichen der Zielposition, ermittelt wurde, wird der vorgebbare Faktor um einen vorgebbaren Wert reduziert und anschließend das Verfahren erneut durchgeführt, um eine weitere Trajektorie zu ermitteln. Falls keine weitere Trajektorie gefunden wird, wird die bereits ermittelte Trajektorie verwendet. Vorteilhaft hierbei ist, dass die weitere Trajektorie garantiert näher an einer optimalen Trajektorie hinsichtlich des vorgebbaren (Kosten-) Kriteriums liegt. Vorteilhafterweise werden hierfür die bereits untersuchten Positionen einschließlich ihrer ermittelten Kosten wiederverwendet.
-
Weiterhin wird vorgeschlagen, dass für eine Mehrzahl von Roboter jeweils eine Aktion ermittelt wird. Das maschinelle Lernsystem kann ein tiefes neuronales Netz sein, welches als Eingangsgröße eine Karte mit allen tatsächlichen Positionen der Roboter erhält. Nach einer vorgebbaren Schicht des tiefen neuronalen Netzes wird jeweils ein Ausschnitt der mittels der Schichten bis zur vorgebbaren Schicht verarbeiteten Karte um jede tatsächliche Position der Roboter jeweils als eine Eingangsgröße für die nachfolgende Schicht der vorgebbaren Schicht verwendet. Der Vorteil ist, dass durch das Extrahieren der Ausschnitte um jede Position der Roboter das maschinelle Lernsystem invariant zur Anzahl der Roboter ist. Ferner muss nicht für jeden Roboter separat ein maschinelles Lernsystem angelernt werden. Vorteilhaft ist auch, dass die Ausgangsgrößen des maschinellen Lernsystems für alle Roboter konsistent sind, da diese von dem gleichen maschinellen Lernsystem ermittelt wurden. Die Ausschnitte haben jeweils eine vordefinierte Größe, vorzugsweise eine quadratische Größe.
-
Weiterhin wird vorgeschlagen, dass zu den tatsächlichen Positionen der Roboter jeweils zusätzlich die Positionen der weiteren Roboter hinterlegt sind. Zu den tatsächlichen Positionen können des Weiteren auch tatsächliche Positionen weiterer beweglicher Objekt (z.B. Menschen oder Fahrzeuge in der Umwelt der jeweiligen Roboter) hinterlegt sein. Es sei angemerkt, dass die tatsächliche Position, die mit zusätzlichen Informationen über weitere bewegliche Objekte angereichert ist, auch als ein tatsächlicher Zustand bezeichnet werden kann, d.h. der tatsächliche Zustand umfasst zumindest die tatsächlichen Positionen der Roboter. Die Aktion des Roboters wird dann auch abhängig von den zusätzlich hinterlegten Positionen ermittelt. Dies hat den Vorteil, dass Kollisionen mit anderen beweglichen Objekten vermieden werden können.
-
Weiterhin wird vorgeschlagen, dass die nachfolgenden Positionen der Roboter abhängig von dem tatsächlichen Zustand ermittelt werden, d.h. ausgehend von zumindest den tatsächlichen Positionen der Mehrzahl der Roboter aus dem tatsächlichen Zustand werden jeweils nachfolgende Positionen ermittelt. Der Vorteil hierbei ist, dass damit die Roboter gemeinsam betrieben werden können, da eine gemeinsame Exploration der tatsächlichen Positionen der Mehrzahl der Roboter aus dem tatsächlichen Zustand erfolgt.
-
Weiterhin wird vorgeschlagen, dass Trainingsdaten mittels eines optimalen Planers, insbesondere eines A*-Suchalgorithmus, zur Ermittlung von Trajektorien abhängig von Startpositionen und Zielpositionen, der auf vorgebbare Probleminstanzen angewendet wird, erzeugt werden. Damit kann ein optimaler Planer imitiert werden, wodurch dieser nach dem Anlernen des maschinellen Lernsystems durch das angelernte maschinelle Lernsystem ersetzt werden kann. Denn optimale Planer benötigen immense Rechenkapazitäten und sind damit in mobilen Anwendungen nicht verwendbar.
-
Weiterhin wird vorgeschlagen, dass eine Steuergröße abhängig von der ermittelten Aktion oder Trajektorie für den Roboter ermittelt wird.
-
Die ermittelte Steuergröße kann von einer Steuereinheit verwendet werden, sodass die Steuereinheit abhängig von dieser Steuergröße den Aktor des Roboters steuert.
-
In einem weiteren Aspekt wird ein Computerprogramm vorgeschlagen. Das Computerprogramm ist eingerichtet, eines der vorherigen genannten Verfahren auszuführen. Das Computerprogramm umfasst Anweisungen, die einen Computer veranlassen, das Verfahren des ersten Aspektes mit all seinen Schritten auszuführen, wenn das Computerprogramm auf dem Computer abläuft. Ferner wird ein maschinenlesbares Speichermodul vorgeschlagen, auf welchem das Computerprogramm gespeichert ist. Des Weiteren wird eine Vorrichtung vorgeschlagen, die eingerichtet ist das Verfahren des ersten Aspektes auszuführen.
-
Ausführungsbeispiele der oben genannten Aspekte sind in den beiliegenden Zeichnungen dargestellt und in der nachfolgenden Beschreibung näher erläutert. Dabei zeigen:
-
Figurenliste
-
- 1 eine schematische Darstellung eines Informationsflussdiagrammes eines Trajektorienplanungssystems;
- 2 eine schematische Darstellung eines Aufbaues eines maschinellen Lernsystems des Trajektorienplanungssystems;
- 3 eine schematische Darstellung eines Flussdiagrammes einer Ausführungsform des Verfahrens zum Ermitteln einer Aktion oder einer Trajektorie eines Roboters;
- 4 eine schematische Darstellung eines Flussdiagrammes einer Ausführungsform zum Anlernen des maschinellen Lernsystems;
- 5 eine schematische Darstellung eines Flussdiagrammes einer Ausführungsform zum Ermitteln der Trajektorie mit einem Suchalgorithmus;
- 6 eine schematische Darstellung einer Ausführungsform einer Vorrichtung, welche zum Anlernen des maschinellen Lernsystems verwendet werden kann.
-
1 zeigt eine schematische Darstellung eines Informationsflussdiagrammes (01) eines Trajektorienplanungssystem (10). Eine Karte wird als Eingangsgröße für das Trajektorienplanungssystem (10) bereitgestellt, welches abhängig von der Karte, einer tatsächlichen Position (s) des Roboters (11) und einer vorgebbaren Zielposition (Z) zumindest eine Aktion oder eine Trajektorie (T) des Roboters (11) ermittelt. Die Karte in 1 zeigt schematisch eine Umgebung des Roboters (11) mit Objekten, die als schwarze Kästen auf der Karte dargestellt werden. Die Aktion oder die Trajektorie (T) wird anschließend dem Roboter (11) bereitgestellt, der diese Aktion oder Trajektorie als Steuergröße verwenden kann. Vorteilhafterweise wird dem Trajektorienplanungssystem (10) zusätzlich eine vorgebbare Startposition des Roboters (11) bereitgestellt, die in der Ermittlung der Aktion (a) bzw. der Trajektorie (T) berücksichtigt wird.
-
Vorzugsweise sind auf der Karte die tatsächliche Position (s) sowie die Zielposition (Z) eingetragen und ggf. zusätzlich die Startposition. In dem Ausführungsbeispiel der 1 sind beispielhaft in der Karte alle möglichen Aktionen (A) des Roboters (11) eingetragen, welche dieser abhängig von der tatsächlichen Position (s) ausführen kann. Dies können beispielsweise aufgrund der räumlichen Beschränkung durch ein Objekt, das oberhalb der Position (s) des Roboters (11) auf der Karte eingetragen ist, die Aktionen vorwärts, links oder rechts sein.
-
In einem weiteren Ausführungsbeispiel des Trajektorienplanungssystems (10) ist das Trajektorienplanungssystem (10) eingerichtet, abhängig von mehreren tatsächlichen Positionen mehrere Roboter, jeweils eine Aktion oder eine Trajektorie für jeden der Roboter zu ermitteln. Vorzugsweise sind hierfür auf der Karte die jeweiligen tatsächlichen Positionen (A2) und die zugehörigen Zielpositionen (A3) der Roboter eingetragen.
-
Das Trajektorienplanungssystem (10), das insbesondere eingerichtet ist, das Verfahren nach der nachfolgenden 3 auszuführen, umfasst zumindest ein maschinelles Lernsystem (nicht in 1 dargestellt), das abhängig von der bereitgestellten Karte zumindest eine Ausgangsgröße ermittelt. Das maschinelle Lernsystem wird in der nachfolgenden 2 näher erläutert. Ferner umfasst das Trajektorienplanungssystem (10) eine Recheneinheit (101), auf welcher ein Suchalgorithmus, vorteilhafterweise ein focal A*-Suchalgorithmus, ausgeführt wird. Der Suchalgorithmus wird verwendet, um abhängig von einer Heuristik, die auf zumindest einer Ausgangsgröße des maschinellen Lernsystems basiert, eine nachfolgende Position aus einer Mehrzahl möglicher, insbesondere vorausgewählter Nachbarpositionen zu bestimmen. Ausgehend von der nachfolgenden Position ermittelt das Trajektorienplanungssystem (10) eine Aktion bzw. Trajektorie (T). Es sei angemerkt, dass das maschinelle Lernsystem in Software als auch in Hardware implementiert sein kann.
-
Das Trajektorienplanungssystem (10) hat ferner ein maschinenlesbares Speicherelement (102), auf welchem Befehle hinterlegt sind, um die Aktion bzw. Trajektorie zu ermitteln, die durch die Recheneinheit (101) ausgeführt werden.
-
Das Trajektorienplanungssystem (10) kann beispielsweise für automated valet parking (AVP) mit mobilen Agenten verwendet werden. Das Trajektorienplanungssystem (10) ermittelt hierfür die mobilen Agenten deren Aktionen oder Trajektorien, sodass diese ein Fahrzeug abholen und zu einem freien Parkplatz (Zielposition) führen können.
-
Das Trajektorienplanungssystem (10) kann alternativ für einen Fertigungsroboter, bei welchem z.B. Bewegungen seiner Roboterarme abhängig von deren tatsächlichen Positionen und deren Zielpositionen ermittelt werden, oder für eine Routenplanung mittels eines Navigationssystem verwendet werden.
-
1 zeigt eine schematische Darstellung eines Roboters (11), welcher in diesem Ausführungsbeispiel durch ein zumindest teilautonomes Fahrzeug (10) gegeben ist. In einem weiteren Ausführungsbeispiel kann der Roboter ein Service-, Montage- oder stationärer Produktionsroboter, alternativ ein autonomes Flugobjekt, wie eine Drohne, sein.
-
2 zeigt eine schematische Darstellung eines maschinellen Lernsystems (20), welches hier durch ein tiefes neuronales Netz dargestellt ist. Das maschinelle Lernsystem (20) erhält als Eingangsgröße die Karte oder einen Ausschnitt der Karte welche in einem ersten Teil (21) des tiefen neuronalen Netzes mittels mehreren hintereinander geschalteten Faltungsschichten (engl. convolution layer) verarbeitet wird.
-
Im einem zweiten Teil (22) des neuronalen Netzes wird die Ausgangsgröße des ersten Teils des neuronalen Netzes weiterverwendet, in dem Ausschnitte der Ausgangsgröße des ersten Teils des neuronalen Netzes jeweils um die tatsächliche Position der Roboter als Eingangsgröße für den zweiten Teil (22) des neuronalen Netzes bereitgestellt werden.
-
Der zweite Teil des neuronalen Netzes weist zwei unterschiedliche (Signallauf-) Pfade auf, die jeweils durch vollvermaschte (engl. fully connected) Schichten gebildet werden. Am Ausgang des einen Pfades liegen Wahrscheinlichkeiten
für jeden der Roboter (i) und am Ausgang des anderen Pfades liegen zukünftige Kosten (V(s)) vor.
-
Die Wahrscheinlichkeiten
charakterisiert, wie wahrscheinlich es ist, dass der i-te Roboter (
11) ausgehend von seiner tatsächlichen Position (
s) eine der Aktionen (a
s) der Mehrzahl der möglichen Aktionen (
A) ausführt. Die zukünftigen Kosten (V(s)) charakterisieren, welche Kosten vom den einzelnen Robotern (
11) aufgewendet werden müssen, um ausgehend von der jeweiligen vorausgewählten Nachbarposition die jeweilige vorgebbare Zielposition (Z) zu erreichen.
-
Für den Fall, dass nur ein Roboter betrachtet wird, wird entsprechend nur ein Ausschnitt um die tatsächliche Position dieses einen Roboters als Eingangsgröße dem zweiten Teil des neuronalen Netzes bereitgestellt.
-
Wie in 2 gezeigt, können die Faltungsschichten jeweils 64 unterschiedliche Filter mit einer Dimension von 3 × 3 aufweisen. Das neuronale Netz kann eine Überbrückungsverbindung aufweisen, die eine Ausgangsgröße einer der Schichten des ersten Teils des neuronalen Netzes oder die Eingangsgröße (Karte) des maschinellen Lernsystems durch Überspringen zumindest einer Faltungsschicht wenigstens einer nachfolgenden Faltungsschicht bereitstellt.
-
Denkbar ist auch, dass im ersten Teil (21) des neuronalen Netzes, der Pfad sich in zwei Pfade aufteilt und der erste Teil (21) des neuronalen Netzes zwei Ausgangsgrößen ausgibt. Die Pfade des zweiten Teils (22) des neuronalen Netzes sind dann jeweils einem Pfad des ersten Teils (21) zugeordnet und erhalten jeweils einen Ausschnitt der Ausgangsgrößen des jeweiligen Pfades des ersten Teils (21) des neuronalen Netzes als Eingangsgröße.
-
In einem alternativen Ausführungsbeispiel des maschinellen Lernsystems (20) kann das maschinelle Lernsystem auch eingerichtet sein, nur eine der beiden Ausgangsgrößen (p(a|s), V(s)) des zweiten Teils des neuronalen Netzes zu ermitteln.
-
Beispielsweise in dem einer der beiden Pfade des zweiten Teils des neuronalen Netzes deaktiviert ist.
-
3 zeigt eine schematische Darstellung eines Verfahrens (30) zum Ermitteln der Aktion (a) bzw. Trajektorie (T), das beispielsweise durch das Trajektorienplanungssystem (10) ausgeführt wird.
-
Das Verfahren beginnt mit Schritt S31. In diesem Schritt wird dem maschinellen Lernsystem (20) aus 2 die Karte als Eingangsgröße bereitgestellt. Das maschinelle Lernsystem (20) ermittelt abhängig von dieser bereitgestellten Karte seine Ausgangsgrößen (p(a|s), V(s)). Optional wird in Schritt S31 das maschinelle Lernsystem (20) mit Trainingsdaten angelernt und anschließend wird dem angelernten maschinellen Lernsystem (20) die Karte als Eingangsgröße bereitgestellt. Es sei angemerkt, dass das Anlernen des maschinellen Lernsystems (20) in der nachfolgenden 4 näher erläutert wird.
-
Im anschließenden Schritt S32 wird mittels eines Suchalgorithmus, vorteilhafterweise einem focal A*-Suchalgorithmus, ein Pfad, insbesondere eine Trajektorie, von einer vorgebbaren Startposition, insbesondere der tatsächlichen Position des Roboters, zu einer vorgebbaren Zielposition ermittelt. Der Suchalgorithmus entscheidet hierbei abhängig von zumindest einer der ermittelten Ausgangsgröße des maschinellen Lernsystems aus Schritt S31 welche nachfolgenden Positionen der Roboter optimalerweise einnehmen sollte. Dabei wird jeweils eine der Ausgangsgrößen des maschinellen Lernsystems als Heuristik zur Entscheidung über die nachfolgende Position verwendet. Eine ausführliche Erläuterung dieses Schrittes folgt in 5. Aus den ermittelten nachfolgenden Positionen wird der Pfad von der Startposition zur Zielposition ermittelt. Abhängig von diesem Pfad kann dann eine Abfolge von Aktionen ermittelt werden, sodass dann, wenn der Roboter diese Abfolge der Aktionen ausführt, sich entlang des ermittelten Pfades zu der vorgebbaren Zielposition bewegt. Abhängig von dem ermittelten Pfad oder der Abfolge der Aktionen kann eine Trajektorie (T) des Roboters ermittelt werden.
-
Nachdem Schritt S32 beendet ist, folgt Schritt S33. Hierbei wird der Roboter (11) abhängig von den ermittelten Aktionen bzw. Trajektorie (T) aus Schritt S32 angesteuert. Vorzugsweise wird der Roboter nur mit den ersten Aktionen bzw. mit einem ersten Abschnitt des Beginns der Trajektorie angesteuert und daraufhin wird erneut Schritt S32 ausgeführt, um auf ggf. eine veränderte Umgebung reagieren zu können.
-
4 zeigt eine schematische Darstellung eines Verfahrens (40) zum Anlernen des maschinellen Lernsystems (20).
-
Das Verfahren beginnt mit Erzeugen von Trainingsdaten in Schritt S41. Hierfür wird eine Mehrzahl von Probleminstanzen bereitgestellt. Die Probleminstanzen können beispielsweise unterschiedliche Karten von unterschiedlichen Umgebungen sein, bei denen sich Roboter von jeweils einer vorgebbaren Startposition zu jeweils einer vorgebbaren Zielposition bewegen sollen. Die Bewegungen der Roboter sollen dabei hinsichtlich eines vorgebbaren Kostenkriteriums optimal sein. Das Kostenkriterium kann bspw. Zeit, Energieverbrauch und/oder zurückgelegte Strecke sein.
-
Anschließend werden in Schritt S42 mittels eines optimalen Planers, beispielsweise eines A*-Suchalgorithmus, optimale Pfade von den jeweiligen Startpositionen zu den jeweils zugehörigen Zielpositionen hinsichtlich des Kostenkriteriums bestimmt. Vorteilhafterweise werden diejenigen Probleminstanzen verworfen, bei welchen der optimalen Planer keine Pfade finden konnte.
-
Aus den optimalen Pfaden aus Schritt S42 werden Positions-Aktion Paare gebildet, deren Zusammenhang mit einer jeweiligen zugeordneten Umgebung (der jeweiligen zugeordneten Kartenausschnitte) durch das maschinelle Lernsystem (20) gelernt werden. D.h. das maschinelle Lernsystem lernt eine Regel (engl. policy), sodass entschieden werden kann, an welcher Position (s) und gegeben der Umgebung der Position (s) durch zumindest einen Kartenausschnitt, welche Aktion (a) des Roboters optimalerweise gewählt werden sollte. Die Kostenfunktion (F(s)) kann aus den Kosten abgeleitet werden, die der Roboter aufwenden müsste, um entlang des verbleibenden optimalen Pfades ausgehend von seiner tatsächlichen Position zur Zielposition zu gelangen.
-
Die Positions-Aktion Paare und/oder die Kostenfunktion (F(s)) und jeweils zugehörige Probleminstanzen werden als Trainingsdaten zusammengefasst.
-
Im darauffolgenden Schritt S43 wird das maschinelle Lernsystem (20) mit den Trainingsdaten aus Schritt S42 angelernt. Das maschinelle Lernsystem (20) erhält als Eingangsgröße die Karten der Probleminstanzen und wird derart angelernt, dass es abhängig von seiner Eingangsgröße und der tatsächlichen Position sowie der Start-/und Zielposition des Roboters die Ausgangsgrößen p(a|s) und V(s) ermittelt. Zum Anlernen werden die Positions-Aktions Paare und/oder die abgeleiteten Kosten aus dem ermittelten Trajektorien aus Schritt S42 verwendet. Beim Anlernen werden beim maschinellen Lernsystem (20) Parameter eingestellt, sodass sich die Ausgangsgrößen des maschinellen Lernsystems den entsprechenden idealen Ausgangsgrößen aus den Trainingsdaten angleichen. Die dafür notwendigen Änderungen der Parameter können mittels eines Gradiententabstiegsverfahrens über eine Differenzfunktion (engl. loss function) zwischen den Ausgangsgrößen des maschinellen Lernsystems und den Ausgangsgrößen der Trainingsdaten ermittelt werden. Zum Anlernen der Ausgangsgrößen p(a|s) wird bevorzugt eine Kreuzentropie und zum Anlernen der Ausgangsgrößen V(s) wird bevorzugt eine l1-Norm als Differenzfunktion verwendet.
-
Im optionalen Schritt 44 wird das maschinelle Lernsystem nachangelernt, bspw. wenn neue Probleminstanzen definiert wurden, oder die Ausgangsgrößen des maschinellen Lernsystems (20) nach Beendigung Schrittes S42 nicht hinreichend genau sind.
-
5 zeigt eine schematische Darstellung eines Verfahrens (50) zum Ermitteln der Aktion (a) bzw. Trajektorie (T), insbesondere mit einem Suchalgorithmus.
-
Das Verfahren beginnt mit Schritt S51. Hierbei wird die tatsächliche Position (st) des Roboters bestimmt, bspw. vermessen oder aus der bereitgestellten Karte ausgelesen.
-
Anschließend werden in Schritt S52 alle möglichen Nachbarpositionen der tatsächlichen Position (st) in eine offene Liste (engl. open list), insbesondere wie verwendet bei einem A*-Suchalgorithmus, eingetragen.
-
In Schritt S53 werden für alle eingetragenen Nachbarposition der offenen Liste jeweils Gesamtkosten (f(n)) ermittelt, vorzugsweise gemäß dem A*-Suchalgorithmus. Die Gesamtkosten (f(n)) können sich aus ersten und zweiten Kosten (g(n), h(n)) zusammensetzen. Die ersten Kosten (g(n)) charakterisieren Kosten, die der Roboter (11) aufgewendet hat, um von der vorgebbaren Startposition über die tatsächliche Position (st) zu der jeweiligen Nachbarposition zu gelangen. Vorzugsweise wird hierfür einer jeden bisherigen Aktion des Roboters ausgehend von der vorgebbaren Startposition bis zu der jeweiligen Nachbarposition jeweils Kosten zugewiesen, die summiert die ersten Kosten (g(n)) ergeben. Die zweiten Kosten (h(n)) charakterisieren diejenigen Kosten, die der Roboter aufwenden müsste, um ausgehen von der jeweiligen Nachbarposition zu der vorgebbaren Zielposition zu gelangen. Vorzugsweise werden die zweiten Kosten (h(n)) mittels einer Euklidischen Distanz von der jeweiligen Nachbarposition zu der vorgebbaren Zielposition ermittelt. Alternativ können die zweiten Kosten mittels einer anderen Heuristik bestimmt werden, die der Bedingung unterliegen muss, dass diese die tatsächlichen Kosten von der jeweiligen Nachbarposition bis zur vorgebbaren Zielposition unterschätzt.
-
Nachdem für alle Nachbarpositionen aus der Liste jeweils die Gesamtkosten ermittelt wurden, werden die geringsten Gesamtkosten (min f(n)) bestimmt.
-
Im nachfolgenden Schritt S54 werden all die Nachbarpositionen (engl. focal set) aus der offenen Liste ausgewählt, deren Gesamtkosten geringer sind als die geringsten Gesamtkosten (min f(n)) multipliziert mit einem Faktor ω. Der Faktor ω ist bevorzugt größer eins.
-
Daraufhin wird in Schritt S55 für jede der ausgewählten Nachbarpositionen (engl. focal set) aus Schritt S54 eine weitere Größe ermittelt. Diese weitere Größe wird unter Anwendung einer weiteren Heuristik hF bestimmt, vorzugsweise wie bei einem focal A*-Suchalgorithmus, siehe hierzu die oben zitierte Literatur.
-
Es gibt zwei Möglichkeiten, die weitere Heuristik hF aufzustellen: Als erste Möglichkeit kann die Kostenfunktion (F(s)), die mittels des maschinellen Lernsystems (20) ermittelt wurden, als weitere Heuristik hF verwendet werden.
-
Zusätzlich oder alternativ wird eine Pfadwahrscheinlichkeit (P) als weitere Heuristik hF verwendet. Die Pfadwahrscheinlichkeit (P) charakterisiert, mit welcher Wahrscheinlichkeit der Roboter (11) sich beginnend von der vorgebbaren Startposition, insbesondere entlang vorhergehender Positionen, über die tatsächliche Position (st) zu den jeweiligen vorausgewählten Nachbarpositionen bewegt.
-
Die Pfadwahrscheinlichkeit kann durch folgende Gleichung definiert werden:
wobei s
k eine Auftrittswahrscheinlichkeit ist, die charakterisiert mit welcher Wahrscheinlichkeit der Roboter die k-te Position durchschritten hat auf seinem Weg mit insgesamt
T Aktionen und a
k ist eine Wahrscheinlichkeit, die charakterisiert mit welcher Wahrscheinlichkeit der Roboter die Aktion a
k an der k-ten Position ausgeführt hat.
-
Gleichung (1) kann mittels der Wahrscheinlichkeiten p(a|s), die das maschinelle Lernsystem (
20) ermittelt, ausgedrückt werden:
-
Um eine Verzerrung am Anfang des Pfades zu vermeiden, kann Gleichung (2) umgeschrieben werden:
wobei |A| die Anzahl der möglichen Aktionen angibt, die der Roboter ausführen kann und t
k den tatsächlichen Zeitpunkt angibt.
-
Nachdem für jede der ausgewählten Nachbarpositionen die weitere Größe mittels der weiteren Heuristik hF bestimmt wurde, wird diejenige Nachbarposition ausgewählt, der die kleinste weitere Größe zugewiesen wurde. Diese Nachbarposition mit der kleinsten weiteren Größe ist dann die nachfolgende Position, die der Roboter ansteuern sollte, um optimal hinsichtlich des Kostenkriteriums zur vorgebbaren Zielposition zu gelangen. Diese Nachbarposition wird dann in eine geschlossene Liste (engl. closed list), insbesondere die verwendete geschlossene Liste des A*-Suchalgorithmus, aufgenommen und aus der offenen Liste gelöscht.
-
In einem weiteren Ausführungsbeispiel werden die Schritte S52 bis S55 mehrmals wiederholt, bis die vorgebbare Zielposition in der geschlossenen Liste eingetragen und aus der offenen Liste gelöscht wird.
-
Es sei angemerkt, dass nach dem Ermitteln des Pfades ein weiterer Pfad ermittelt werden kann, wobei hierfür das eben beschriebene Verfahren (50) identisch ausgeführt wird, aber der vorgebbare Faktor (ω) um einen vorgebbaren Wert (ε > 0) reduziert wird.
-
6 zeigt eine schematische Darstellung einer Vorrichtung (60) zum Anlernen des maschinellen Lernsystems (20), insbesondere zum Ausführen der Schritte zum Anlernen gemäß dem Verfahren (40) nach 4. Die Vorrichtung (60) umfasst den optimalen Planer (61), das maschinelle Lernsystem (20) und ein Differenzmodul (62). Das Differenzmodul (62) ist eingerichtet eine Differenz mittels der Differenzfunktion abhängig von den ermittelten Ausgangsgrößen (ys ) des optimalen Planers (61) und den Ausgangsgrößen (y) des maschinellen Lernsystems (20) zu ermitteln und aus der Differenz eine Änderung (θ') der Parametern (θ) des maschinellen Lernsystems (20) zu ermitteln. Die Parameter (θ) sind in einer Datenbank (P) hinterlegt und werden entsprechend der ermittelten Änderung (θ') des Differenzmoduls (62) angepasst.
-
Die Vorrichtung (60) kann ein maschinenlesbares Speicherelement (65) aufweisen, auf welchem das Verfahren (40) hinterlegt ist, sowie eine Recheneinheit (64) zum Ausführen des Verfahrens (40).
-
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 Patentliteratur
-