DE102019201045A1 - Verfahren, Vorrichtung und Computerprogramm zum Ermitteln einer Aktion oder Trajektorie eines Roboters - Google Patents

Verfahren, Vorrichtung und Computerprogramm zum Ermitteln einer Aktion oder Trajektorie eines Roboters Download PDF

Info

Publication number
DE102019201045A1
DE102019201045A1 DE102019201045.8A DE102019201045A DE102019201045A1 DE 102019201045 A1 DE102019201045 A1 DE 102019201045A1 DE 102019201045 A DE102019201045 A DE 102019201045A DE 102019201045 A1 DE102019201045 A1 DE 102019201045A1
Authority
DE
Germany
Prior art keywords
robot
neighboring
positions
machine learning
costs
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE102019201045.8A
Other languages
English (en)
Other versions
DE102019201045B4 (de
Inventor
Markus Spies
Patrick Kesper
Hannes Becker
Marco Todescato
Nicolai Waniek
Meng Guo
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102019201045.8A priority Critical patent/DE102019201045B4/de
Priority to CN202010076272.5A priority patent/CN111546327A/zh
Publication of DE102019201045A1 publication Critical patent/DE102019201045A1/de
Application granted granted Critical
Publication of DE102019201045B4 publication Critical patent/DE102019201045B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0081Programme-controlled manipulators with master teach-in means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0217Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with energy consumption, time reduction or distance reduction criteria
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Abstract

Die Erfindung betrifft ein Verfahren zum Ermitteln einer Aktion eines Roboters (11) abhängig von einer vorgebbaren Startposition und einer vorgebbaren Zielposition. Abhängig von einer tatsächlichen Position (s) des Roboters (11) wird aus einer Mehrzahl vorausgewählter Positionen eine nachfolgende Position ausgewählt. Die nachfolgende Position wird abhängig von einer Größe ausgewählt, die mittels eines maschinellen Lernsystems ermittelt wurde. Anschließend wird die Aktion aus einer Mehrzahl möglicher Aktionen (A), die der Roboter (11) ausführen kann, ausgewählt wird, sodass wenn der Roboter (11) die ausgewählte Aktion ausführt, ausgehend von der tatsächlichen Position (s) unmittelbar die nachfolgende Position erreicht. Die Erfindung betrifft ferner ein Computerprogramm und eine Vorrichtung zum Ausführen des Verfahrens und ein maschinenlesbares Speicherelement, auf dem das Computerprogramm gespeichert ist.

Description

  • 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 ( p ( a i s | s ) )
    Figure DE102019201045A1_0001
    für jeden der Roboter (i) und am Ausgang des anderen Pfades liegen zukünftige Kosten (V(s)) vor.
  • Die Wahrscheinlichkeiten ( p ( a i s | s ) )
    Figure DE102019201045A1_0002
    charakterisiert, wie wahrscheinlich es ist, dass der i-te Roboter (11) ausgehend von seiner tatsächlichen Position (s) eine der Aktionen (as) 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: P = s 0 a 0 s 1 a 1 a T 1 s T
    Figure DE102019201045A1_0003
    wobei sk eine Auftrittswahrscheinlichkeit ist, die charakterisiert mit welcher Wahrscheinlichkeit der Roboter die k-te Position durchschritten hat auf seinem Weg mit insgesamt T Aktionen und ak ist eine Wahrscheinlichkeit, die charakterisiert mit welcher Wahrscheinlichkeit der Roboter die Aktion ak 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: l o g   p ( P ) = t = 0 T 1 l o g   p ( a t | s t ) s 0 a 0 s 1 a 1 a T 1 s T
    Figure DE102019201045A1_0004
  • Um eine Verzerrung am Anfang des Pfades zu vermeiden, kann Gleichung (2) umgeschrieben werden: l o g   p ( s 0 a 0 s 1 a 1 a T 1 s T ) t = 0 t k l o g   p ( a i ) + i = t k + 1 T 1 | A |
    Figure DE102019201045A1_0005
    wobei |A| die Anzahl der möglichen Aktionen angibt, die der Roboter ausführen kann und tk 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
    • DE 102017217412 [0002]

Claims (11)

  1. Verfahren zum Ermitteln einer Aktion (a) eines Roboters (11) abhängig von einer tatsächlichen Position (st) des Roboters (11), wobei aus einer Mehrzahl vorausgewählten Nachbarpositionen (engl. focal set) der tatsächlichen Position (st), denen jeweils eine erste Größe (hF) zugewiesen ist, eine nachfolgende Position ausgewählt wird, wobei die nachfolgende Position (st) diejenige Nachbarposition aus der Mehrzahl der vorausgewählten Nachbarpositionen ist, der relativ zu den anderen vorausgewählten Nachbarpositionen die kleinste erste Größe (hF) zugewiesen ist, wobei die ersten Größen (hF) jeweils eine erste Wahrscheinlichkeit (P) charakterisieren, ob sich der Roboter (11) von der tatsächlichen Position (st) zu den jeweiligen vorausgewählten Nachbarpositionen bewegt, wobei ein maschinelles Lernsystem (20) eingerichtet ist, als Ausgangsgrößen eine Mehrzahl von zweiten Wahrscheinlichkeiten (p(as|s)) auszugeben, die jeweils charakterisieren, wie wahrscheinlich es ist, dass der Roboter (11) ausgehend von der tatsächlichen Position (st) jeweils eine Aktion (as) einer Mehrzahl möglicher Aktionen (A) ausführt, wobei das maschinelle Lernsystem (20) die Ausgangsgrößen ermittelt, wobei die ersten Größen (hF) abhängig von zumindest einer der Ausgangsgrößen des maschinellen Lernsystems (20) ermittelt und den jeweiligen vorausgewählten Nachbarpositionen zugewiesenen werden, wobei die Aktion (a) aus der Mehrzahl der möglichen Aktionen (A) ausgewählt wird, sodass dann, wenn der Roboter (11) die ausgewählte Aktion (a) ausführt, ausgehend von der tatsächlichen Position (st) unmittelbar die nachfolgende Position erreicht.
  2. Verfahren nach Anspruch 1, wobei für jede mögliche Nachbarposition der tatsächlichen Position (st), Gesamtkosten (r(n)) ermittelt und den jeweiligen Nachbarpositionen zugeordnet werden, wobei die Nachbarpositionen in eine erste Liste (engl. open list) eingetragen werden, wobei die Gesamtkosten (f(n)) abhängig von ersten Kosten (g(n)) und zweiten Kosten (h(n)) ermittelt werden, wobei die ersten Kosten (g(n)) jeweils charakterisieren, welche Kosten aufgewendet werden müssen, um von einer vorgebbaren Startposition des Roboters (11) zur jeweiligen Nachbarposition zu gelangen und die zweiten Kosten (h(n)) jeweils charakterisieren, welche Kosten aufgewendet werden müssen, um von der jeweiligen Nachbarposition zu einer vorgebbaren Zielposition (Z) des Roboters (11) zu gelangen, wobei die zweiten Kosten (h(n)) derart geschätzt werden, dass diese immer geringer sind als tatsächliche Kosten, um von der jeweiligen Nachbarposition zur Zielposition (Z) zu gelangen, wobei die Mehrzahl der vorausgewählten Nachbarpositionen (engl. focal set) diejenigen Nachbarpositionen der erste Liste (engl. open list) enthält, deren Gesamtkosten (f(n)) geringer sind, als die geringsten ermittelten Gesamtkosten (min f(n)) multipliziert mit einem vorgebbaren Faktor (ω).
  3. Verfahren nach Anspruch 1 oder 2, wobei das maschinelle Lernsystem (20) eingerichtet ist, abhängig von zumindest einem bereitgestellten Ausschnitt einer Karte einer Umgebung des Roboters (11) die Ausgangsgrößen auszugeben, wobei das maschinelle Lernsystem (20) abhängig von dem besagten Kartenausschnitt die Ausgangsgrößen ermittelt, wobei die erste Wahrscheinlichkeit (P) abhängig von zumindest derjenigen Wahrscheinlichkeit der Mehrzahl der zweiten Wahrscheinlichkeiten (p(as|s)) ermittelt wird, die charakterisiert, ob der Roboter ausgehend von der tatsächlichen Position (st) diejenige Aktion ausführt, die der Roboter ausführen müsste, dass dieser ausgehend von der tatsächlichen Position (st) unmittelbar zu der jeweiligen Nachbarposition gelangt.
  4. Verfahren nach einem der vorherigen Ansprüche, wobei nachdem die nachfolgende Position ausgewählt wurde, wird die nachfolgende Position in eine zweite Liste (engl. closed list) eingetragen und die tatsächliche Position (st) gleich der nachfolgenden Position gesetzt, wobei das Verfahren mehrfach wiederholt ausgeführt wird, bis die tatsächliche Position (st) der vorgebbaren Zielposition (Z) entspricht, wobei zu Beginn des Verfahrens die tatsächliche Position (st) der vorgebbaren Startposition entspricht, wobei in der ersten Liste die Nachbarpositionen vorhergehender tatsächlicher Positionen eingetragen bleiben, insbesondere wird nur die Nachbarposition aus der ersten Liste gelöscht, die als nachfolgende Position ausgewählt wurde, wobei den Nachbarpositionen der ersten Liste jeweils die vorhergehende tatsächliche Position zugeordnet sind, ausgehend von derjenigen vorhergehenden tatsächlichen Position die jeweilige Nachbarposition unmittelbar erreicht werden kann, wobei dann, wenn die ausgewählte nachfolgende Position eine der Nachbarpositionen ist, die nicht die unmittelbare Nachbarposition der tatsächlichen Position (st) ist, wird die tatsächliche Position (st) gleich der zugeordneten tatsächlichen Position dieser Nachbarposition gesetzt, wobei diejenigen Aktionen zu einer Abfolge von Aktionen zusammengefasst werden, die unmittelbar nacheinander ausgeführt werden müssten, dass der Roboter entlang der Positionen aus der zweiten Liste die vorgebbare Zielposition erreicht, wobei abhängig von der Abfolge der Aktionen eine Trajektorie (T) des Roboters ermittelt wird.
  5. Verfahren nach Anspruch 4 und Anspruch 2, wobei nachdem die Trajektorie ermittelt wurde, wird der vorgebbare Faktor (ω) um einen vorgebbaren Wert (ε) reduziert und wobei das Verfahren erneut durchgeführt wird, um eine weitere Trajektorie zu ermitteln.
  6. Verfahren nach einem der vorherigen Ansprüche, wobei für eine Mehrzahl von Robotern (11) jeweils eine Aktion (a) ermittelt wird, wobei das maschinelle Lernsystem (20) ein tiefes neuronales Netz ist, welches als Eingangsgröße die Karte mit allen tatsächlichen Positionen der Roboter (11) erhält, wobei nach einer vorgebbaren Schicht des tiefen neuronalen Netzes, jeweils ein Ausschnitt der Karte um jede tatsächliche Position der Roboter (11) jeweils als eine Eingangsgröße für die, insbesondere unmittelbar, nachfolgende Schicht der vorgebbaren Schicht verwendet wird.
  7. Verfahren nach einem der vorherigen Ansprüche, wobei 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, wobei das maschinelle Lernsystem (20) abhängig von diesen erzeugten Trainingsdaten derart angelernt wird, dass es die Entscheidungen des optimalen Planers abhängig von der tatsächlichen Position und zumindest dem Ausschnitt der Karte ermittelt und als Ausgangsgrößen ausgibt.
  8. Verfahren nach einem der vorherigen Ansprüche, wobei die erste Größen jeweils zukünftige Kosten (V(s)) charakterisieren, die von dem Roboter (11) aufgewendet werden müssten, um ausgehend von der jeweiligen vorausgewählten Nachbarposition die vorgebbare Zielposition (Z) zu erreichen, wobei das maschinelle Lernsystem (20) eingerichtet ist, jeweils die zukünftigen Kosten (V(s)) als Ausgangsgrößen auszugeben, und wobei als erste Größen (hF) diese Ausgangsgrößen des maschinellen Lernsystems (20) den jeweiligen vorausgewählten Nachbarpositionen zugewiesenen werden, wobei das maschinelle Lernsystem abhängig von den erzeugten Trainingsdaten derart angelernt wird, dass das maschinelle Lernsystem die zukünftigen Kosten entlang den Trajektorien, die mittels der optimalen Planers ermittelt wurden, von der tatsächlichen Position bis zur vorgebbaren Zielposition schätzt.
  9. Computerprogramm, welches Befehle umfasst, die eingerichtet sind, beim Ausführen der Befehle durch einen Computer, diesen veranlassen das Verfahren nach einem der vorherigen Ansprüche auszuführen.
  10. Maschinenlesbares Speicherelement (102,65) auf welchem das Computerprogramm nach Anspruch 9 hinterlegt ist.
  11. Vorrichtung (10,60), die eingerichtet ist, das Verfahren nach einem der vorherigen Ansprüche 1 bis 8 auszuführen.
DE102019201045.8A 2019-01-28 2019-01-28 Verfahren, Vorrichtung und Computerprogramm zum Ermitteln einer Aktion oder Trajektorie eines Roboters Active DE102019201045B4 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102019201045.8A DE102019201045B4 (de) 2019-01-28 2019-01-28 Verfahren, Vorrichtung und Computerprogramm zum Ermitteln einer Aktion oder Trajektorie eines Roboters
CN202010076272.5A CN111546327A (zh) 2019-01-28 2020-01-23 用于确定机器人的动作或轨迹的方法、设备和计算机程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102019201045.8A DE102019201045B4 (de) 2019-01-28 2019-01-28 Verfahren, Vorrichtung und Computerprogramm zum Ermitteln einer Aktion oder Trajektorie eines Roboters

Publications (2)

Publication Number Publication Date
DE102019201045A1 true DE102019201045A1 (de) 2020-07-30
DE102019201045B4 DE102019201045B4 (de) 2020-11-26

Family

ID=71524198

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019201045.8A Active DE102019201045B4 (de) 2019-01-28 2019-01-28 Verfahren, Vorrichtung und Computerprogramm zum Ermitteln einer Aktion oder Trajektorie eines Roboters

Country Status (2)

Country Link
CN (1) CN111546327A (de)
DE (1) DE102019201045B4 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113561175B (zh) * 2021-07-16 2023-04-11 珠海格力智能装备有限公司 机械臂的路径规划方法、装置、计算机设备和存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8204623B1 (en) * 2009-02-13 2012-06-19 Hrl Laboratories, Llc Planning approach for obstacle avoidance in complex environment using articulated redundant robot arm
US20160019459A1 (en) * 2014-07-18 2016-01-21 University Of Southern California Noise-enhanced convolutional neural networks
US20170277195A1 (en) * 2016-03-23 2017-09-28 nuTonomy Inc. Facilitating Vehicle Driving and Self-Driving
DE202017106506U1 (de) * 2016-11-15 2018-04-03 Google Llc Einrichtung für tiefes Maschinenlernen zum Robotergreifen
DE102017217412A1 (de) 2017-09-29 2019-04-04 Robert Bosch Gmbh Verfahren, Vorrichtung und Computerprogramm zum Betreiben eines Robotersteuerungssystems
DE112017004414T5 (de) * 2016-09-02 2019-05-16 Groove X, Inc. Autonom handelnder roboter, server und verhaltenssteuerungsprogramm
DE102017223717A1 (de) * 2017-12-22 2019-06-27 Robert Bosch Gmbh Verfahren zum Betreiben eines Roboters in einem Multiagentensystem, Roboter und Multiagentensystem

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8204623B1 (en) * 2009-02-13 2012-06-19 Hrl Laboratories, Llc Planning approach for obstacle avoidance in complex environment using articulated redundant robot arm
US20160019459A1 (en) * 2014-07-18 2016-01-21 University Of Southern California Noise-enhanced convolutional neural networks
US20170277195A1 (en) * 2016-03-23 2017-09-28 nuTonomy Inc. Facilitating Vehicle Driving and Self-Driving
DE112017004414T5 (de) * 2016-09-02 2019-05-16 Groove X, Inc. Autonom handelnder roboter, server und verhaltenssteuerungsprogramm
DE202017106506U1 (de) * 2016-11-15 2018-04-03 Google Llc Einrichtung für tiefes Maschinenlernen zum Robotergreifen
DE102017217412A1 (de) 2017-09-29 2019-04-04 Robert Bosch Gmbh Verfahren, Vorrichtung und Computerprogramm zum Betreiben eines Robotersteuerungssystems
DE102017223717A1 (de) * 2017-12-22 2019-06-27 Robert Bosch Gmbh Verfahren zum Betreiben eines Roboters in einem Multiagentensystem, Roboter und Multiagentensystem

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
COHEN, Liron [et al.]: Anytime focal search with applications. In: Proceedings of the Twenty-Seventh International Joint Conference on Artificial Intelligence (IJCAI-18), Stockholm, 13-19 July 2018, S. 1434-1441. - ISBN 978-0-9992411-2-7. DOI: 10.24963/ijcai.2018/199. URL: https://www.ijcai.org/proceedings/2018/0199.pdf [abgerufen am 2019-05-03] *
HART, Peter E. ; NILSSON, Nils J. ; RAPHAEL, Bertram: A formal basis for the heuristic determination of minimum cost paths. In: IEEE Transactions on Systems Science and Cybernetics, Vol. 4, 1968, No. 2, S. 100-107. - ISSN 0536-1567 (P), 2168-2887 (E). DOI: 10.1109/TSSC.1968.300136. URL: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4082128 [abgerufen am 2019-05-03] *

Also Published As

Publication number Publication date
CN111546327A (zh) 2020-08-18
DE102019201045B4 (de) 2020-11-26

Similar Documents

Publication Publication Date Title
DE112020003136T5 (de) Verfahren zum Erzeugen eines Spurwechsel-Entscheidungsmodells, Verfahren und Vorrichtung zur Spurwechsel-Entscheidung eines unbemannten Fahrzeugs
DE102007001025A1 (de) Verfahren zur rechnergestützten Steuerung und/oder Regelung eines technischen Systems
DE102019215902A1 (de) Verfahren zur Bestimmung eines Gütegrades von Daten-Sätzen von Sensoren
EP3785177A1 (de) Verfahren und vorrichtung zum ermitteln einer netzkonfiguration eines neurona-len netzes
DE102018117660A1 (de) Verfahren und system zum bestimmen einer position eines fahrzeugs
DE102018008685A1 (de) Verfahren zum Trainieren eines künstlichen neuronalen Netzes, künstliches neuronales Netz, Verwendung eines künstlichen neuronalen Netzes sowie entsprechendes Computerprogramm maschinenlesbares Speichermedium und entsprechende Vorrichtung
EP1715352A2 (de) Verfahren und Vorrichtung zur Fehlerdiagnose mechatronischer Systeme
WO2020187591A1 (de) Verfahren und vorrichtung zum ansteuern eines roboters
DE102017218851A1 (de) Verfahren, Vorrichtung und Computerprogramm zur Erstellung eines tiefen neuronalen Netzes
DE102021100149A1 (de) Computerimplementiertes Verfahren zum Bereitstellen eines Test-Verlaufs zu testender Verkehrsszenarien
WO2020182541A1 (de) Verfahren zum betreiben eines roboters in einem multiagentensystem, roboter und multiagentensystem
EP3748453B1 (de) Verfahren und vorrichtung zum automatischen ausführen einer steuerfunktion eines fahrzeugs
DE102021207613A1 (de) Verfahren zur Qualitätssicherung eines Systems
DE102019201045B4 (de) Verfahren, Vorrichtung und Computerprogramm zum Ermitteln einer Aktion oder Trajektorie eines Roboters
DE102020211648A1 (de) Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
DE19703964C1 (de) Verfahren zur Transformation einer zur Nachbildung eines technischen Prozesses dienenden Fuzzy-Logik in ein neuronales Netz
EP3782081A1 (de) Verfahren zur erzeugung eines testdatensatzes, verfahren zum testen, verfahren zum betreiben eines systems, vorrichtung, steuerungssystem, computerprogrammprodukt, computerlesbares medium, erzeugung und verwendung
DE102019207410A1 (de) Verfahren und Vorrichtung für eine automatisierte Beeinflussung eines Aktuators
EP3748454B1 (de) Verfahren und vorrichtung zum automatischen ausführen einer steuerfunktion eines fahrzeugs
EP3650964B1 (de) Verfahren zum steuern oder regeln eines technischen systems
DE102019209463A1 (de) Verfahren zur Bestimmung eines Vertrauenswertes eines Objektes einer Klasse
DE102019216290A1 (de) Verfahren, Computerprogramm, maschinenlesbares Speichermedium, Steuervorrichtung zum Verfolgen eines Objekts
DE112021000251T5 (de) Verfahren zum auswählen von datensätzen zum aktualisieren eines moduls mit künstlicher intelligenz
DE102020202305A1 (de) Verfahren zum Erkennen einer Umgebung eines Fahrzeugs und Verfahren zum Trainieren eines Fusionsalgorithmus für ein Fahrzeugsystem
DE19624614C2 (de) Verfahren zum Entwurf oder zur Adaption eines Fuzzy-Reglers oder eines Systems von verknüpften Fuzzy-Reglern

Legal Events

Date Code Title Description
R163 Identified publications notified
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final