-
Die Erfindung betrifft ein Verfahren zum Betreiben eines Roboters.
-
Üblicherweise werden bestimmte Arbeitspositionen angegeben, welche mittels eines Roboters angefahren werden sollen. Diese Arbeitspositionen sind im Allgemeinen bekannt und können durch eine entsprechende Ansteuerung des Roboters angefahren werden, indem beispielsweise die Arbeitspositionen in einem Programm hinterlegt werden.
-
Beispielsweise ist es möglich, dass ein Roboter eingesetzt wird, um bestimmte Stopfen in entsprechende Löcher zu setzen, insbesondere bei einem Fließbetrieb. Die Positionen der Löcher sind dabei bekannt. Nun muss der Roboter, um die Zeit pro Stopfen zu halten, einen optimalen Weg finden. Das Finden diese optimalen Wegs ist in der Literatur als sogenanntes Problem des Handlungsreisenden oder im Englischen als Traveling Salesman Problem bekannt. Bei dieser Problemstellung geht es um die Suche nach einem optimalen Weg, um alle Positionen abzufahren beziehungsweise zu besuchen.
-
Die
US 6904421 B1 zeigt ein Verfahren zum Lösen des sogenannten Traveling Salesman Problems. Verschiedene zu suchende Positionen werden vorgegeben, wobei zudem ein Startpunkt und ein Endpunkt vorgegeben werden. Bei dem Verfahren wird ein genetischer Algorithmus angewendet.
-
Es ist die Aufgabe der vorliegenden Erfindung, ein Verfahren zum Betreiben eines Roboters bereitzustellen, mittels welchem eine Bewegungsbahn für einen Roboter ermittelt werden kann, entlang welcher jeweilige Positionen in möglichst kurzer Zeit mittels des Roboters angefahren werden können.
-
Diese Aufgabe wird durch ein Verfahren zum Betreiben eines Roboters mit den Merkmalen des Patentanspruchs 1 gelöst. Vorteilhafte Ausgestaltungen mit zweckmäßigen und nicht-trivialen Weiterbildungen der Erfindung sind in den abhängigen Ansprüchen angegeben.
-
Bei dem erfindungsgemäßen Verfahren zum Betreiben eines Roboters werden zunächst mehrere mittels des Roboters anzufahrende Positionen vorgegeben. Des Weiteren werden jeweilige Verfahrzeiten vorgegeben, die der Roboter zum Abfahren aller Verbindungen zwischen sämtlichen der vorgegebenen Positionen benötigt. Anschließend wird eine Bewegungsbahn des Roboters derart ermittelt, dass die Bewegungsbahn alle Positionen miteinander verbindet, der Roboter entlang der Bewegungsbahn jeden der Positionen nur einmal anfährt und die Dauer zum Anfahren aller Positionen mittels des Roboters minimal ist. Dieses Vorgehen kann sowohl während der Inbetriebnahmephase am realen Roboter durchgeführt werden, als auch in Konzept-, bzw. Planungsphase mit hinreichend genauen Simulationsabbilden des betrachteten Roboters (z. B.: RRS-Module, ein Standard für die Simulation von Robotern in der Automobilindustrie – http://www.realistic-robot-simulation.org/ – oder OfficePCs – Simulationsrechnern für Roboter, die meist von Roboterherstellern bereitgestellt werden).
-
Mit anderen Worten wird durch das erfindungsgemäße Verfahren ermöglicht, dass die Reihenfolge, gemäß welcher der Roboter jeweils anzufahrende Positionen abfährt, so gewählt wird, dass die benötigte Zeit zum Abfahren beziehungsweise Anfahren aller vorgegebenen Positionen minimal ist. Dadurch kann der Roboter also bei Anwendung des erfindungsgemäßen Verfahrens alle anzufahrenden Positionen in besonders kurzer Zeit anfahren und entsprechend vorgegebene Arbeitsschritte an den jeweiligen anzufahrenden Positionen besonders schnell durchführen. Durchzuführende Arbeitsaufgaben an den jeweiligen Positionen können dabei ebenfalls berücksichtigt werden, indem entsprechend geeignete intelligente Methoden in das Verfahren integriert werden.
-
Das Verfahren ist im Wesentlichen anwendbar auf alle möglichen Problemstellungen, bei denen es verschiedene Möglichkeiten gibt, eine gegebene Anzahl von Positionen, beispielsweise Arbeitspunkte, mit einem Roboter anzufahren. Eine Erweiterung auf mobile Roboter und Fahrzeuge ist auch möglich, sofern sich dieses Problem in Form eines alle Positionen verbindenden Graphen beschreiben lässt. Bei mobilen Robotern wäre es so möglich, bei einer Menge von gegebenen Aufgaben an verschiedenen Positionen diese Positionen optimal abzufahren.
-
In vorteilhafter Ausgestaltung ist es vorgesehen, dass ein Graph vorgegeben wird, welcher alle Positionen als Knoten und alle Verbindungen zwischen den Knoten als Kanten aufweist, wobei eine Kostenfunktion vorgegeben wird, die für jede der Verbindungen jeweilige Verfahrzeiten aufweist. Vorzugsweise wird die Bewegungsbahn dabei ermittelt, indem die Kostenfunktion minimiert wird. Zur Ermittlung der Bewegungsbahn wird vorzugsweise ein generischer Algorithmus herangezogen. Mit anderen Worten werden vorzugsweise generische Algorithmen auf einen vollständigen Graphen angewendet, dessen Knoten die jeweilig anzufahrenden Positionen darstellen und die an Kanten des Graphen jeweils gewichtet sind, wobei die Gewichtung die Verfahrzeit angibt, die der Roboter benötigt, um von einer anzufahrenden Position zur nächsten anzufahrenden Position zu gelangen. Dadurch kann sichergestellt werden, dass mit einer sehr hohen Wahrscheinlichkeit eine optimale Bewegungsbahn gefunden wird, so dass der Roboter sämtliche anzufahrenden Positionen in der kürzesten möglichen Zeit anfahren kann.
-
In weiterer vorteilhafter Ausgestaltung der Erfindung ist es vorgesehen, dass die Bewegungsbahn mittels dynamischer Programmierung ermittelt wird, indem nacheinander nur eine jeweilige Teilmenge der Positionen vorgegeben sowie jeweilige bereits ermittelte Lösungen für die jeweiligen Teilmengen berücksichtigt werden. Es wäre zwar theoretisch auch möglich, sämtliche denkbaren Bewegungsbahnen zum Anfahren der vorgegebenen Position auszuprobieren, wobei der Startpunkt beziehungsweise Anfangspunkt frei wählbar ist. In dem Fall wäre aber die benötigte Rechenzeit zur Ermittlung der optimalen Bewegungsbahn in Abhängigkeit von der Gesamtanzahl an Positionen u. U. sehr groß. Dadurch, dass die Bewegungsbahn mittels dynamischer Programmierung ermittelt wird, indem nacheinander nur jeweilige Teilmengen der Position vorgegeben sowie jeweils bereits ermittelte Lösungen für die jeweiligen Teilmengen berücksichtigt werden, kann eine erhebliche Zeitersparnis bei der Ermittlung der Bewegungsbahn sichergestellt werden. Denn die Komplexität bei einer derartigen Vorgehensweise ist erheblich geringer, als wenn alle theoretisch möglichen Bewegungsbahnen zur Verbindung der jeweiligen Positionen herangezogen werden würden.
-
Schließlich ist es gemäß einer weiteren vorteilhaften Ausführungsform der Erfindung vorgesehen, dass für zumindest eine der Verbindungen richtungsabhängig unterschiedliche Verfahrzeiten angegeben werden. Mit anderen Worten kann somit auch ein asymmetrisches Traveling Salesman Problem berücksichtigt werden, das heißt, dass zwischen zwei Positionen nicht die gleiche Zeit für den Hin- und Rückweg vorgegeben sein muss. Dadurch kann auf besonders realistische Weise diejenige optimale Bewegungsbahn ermittelt werden, gemäß welcher der Roboter die vorgegebenen Positionen abfahren muss, sodass der Zeitbedarf dafür minimiert ist.
-
Weitere Vorteile, Merkmale und Einzelheiten der Erfindung ergeben sich aus der nachfolgenden Beschreibung eines bevorzugten Ausführungsbeispiels sowie anhand der Zeichnung. Die vorstehend in der Beschreibung genannten Merkmale und Merkmalskombinationen sowie die nachfolgend in der Figurenbeschreibung genannten und/oder in den Figuren alleine gezeigten Merkmale und Merkmalskombinationen sind nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar, ohne den Rahmen der Erfindung zu verlassen.
-
Dabei zeigen:
-
1 eine schematische Darstellung von unterschiedlichen mittels eines Roboters anzufahrenden Positionen, wobei zwischen den einzelnen Positionen jeweilige Verbindungen eingezeichnet sind und für jede der Verbindungen eine Verfahrzeit angegeben ist; und
-
2 eine erneute schematische Darstellung der anzufahrenden Positionen, wobei schematisch anhand mehrerer Pfeile eine ermittelte Bewegungsbahn eingezeichnet ist, gemäß welcher der Roboter die Positionen abfährt, um die jeweiligen Positionen in kürzest möglicher Zeit hintereinander anzufahren.
-
In den Figuren werden gleiche oder funktionsgleiche Elemente mit gleichen Bezugszeichen versehen.
-
Mehrere mittels eines hier nicht dargestellten Roboters anzufahrende Positionen 1, 2, 3, 4, 5 sind in einer schematischen Darstellung in 1 gezeigt. Zwischen den jeweiligen Positionen 1, 2, 3, 4, 5 sind jeweilige nicht näher bezeichnete Verbindungslinien eingezeichnet, die der Roboter abfahren müsste, um von einer der jeweiligen Positionen 1, 2, 3, 4, 5 zu einer der anderen jeweiligen Positionen 1, 2, 3, 4, 5 zu gelangen. Bei den Verfahrzeiten kann es sich beispielsweise um Sekundenangaben, Minutenangaben oder dergleichen handeln. Bei dem Roboter kann es sich zum einen um einen statisch angeordneten Roboter handeln, wobei beispielsweise lediglich der Tool-Center-Point des Roboters zu den jeweiligen Positionen 1 bis 5 bewegt werden soll, um dort unterschiedliche Arbeitsaufgaben zu verrichten. Alternativ ist es auch möglich, dass es sich bei dem Roboter um einen mobilen Roboter handelt, der nicht nur seinen Roboterarm bewegen, sondern auch sich selbst ebenfalls im Raum fortbewegen kann, um die jeweiligen Positionen 1, 2, 3, 4, 5 anzufahren.
-
Ein Anwendungsfall könnte beispielsweise sein, dass mittels des Roboters jeweilige Stopfen im Fließbetrieb in jeweilige Löcher gesetzt werden sollen, wobei die jeweiligen Positionen 1, 2, 3, 4, 5 den entsprechenden Löchern entsprechen. Eine wesentliche Herausforderung besteht dabei darin, dass der Roboter die einzelnen Positionen 1, 2, 3, 4, 5, also die Löcher, derart anfährt, dass er die besagten Stopfen besonders schnell in die jeweiligen Löcher setzen kann. Mit anderen Worten geht es also darum, eine optimale Bewegungsbahn beziehungsweise Trajektorie zu ermitteln, gemäß welcher der Roboter – also entweder nur der Tool-Center-Point des Roboters oder auch der gesamte Roboter – bewegt werden muss, um die einzelnen Positionen 1, 2, 3, 4, 5 möglichst schnell anzufahren.
-
In 2 sind die jeweils anzufahrenden Positionen 1, 2, 3, 4, 5 wiederum schematisch dargestellt, wobei mittels der nicht näher bezeichneten Pfeile eine Bewegungsbahn gekennzeichnet ist, gemäß welcher der Roboter die jeweiligen Positionen 1, 2, 3, 4, 5 anfahren soll. Die Bewegungsbahn des Roboters wird dabei derart ermittelt, dass die Bewegungsbahn alle Positionen 1, 2, 3, 4, 5 miteinander verbindet, der Roboter dabei entlang der Bewegungsbahn jede der Positionen 1, 2, 3, 4, 5 anfährt und die Dauer zum Anfahren aller Positionen 1, 2, 3, 4, 5 mittels des Roboters minimal ist.
-
Um die Bewegungsbahn zu ermitteln, wird ein Graph G vorgegeben, welcher alle Positionen 1, 2, 3, 4, 5 als Knoten und alle Verbindungen zwischen den Knoten als Kanten aufweist, wobei eine Kostenfunktion c vorgegeben wird, die für jede der Verbindungen die jeweiligen Verfahrzeiten aufweist. Mit anderen Worten wird also ein vollständiger Graph G = (V, E) mit Knotenmenge V und Kantenmenge E vorgegeben, wobei |V| = n ist. Die Kostenfunktion c definiert dabei für jede Kante, also für jede der Verbindungen, die benötigten Kosten in Form der jeweiligen Verfahrzeiten. Ziel ist dabei, anhand des Graphen diejenige Bewegungsbahn zu ermitteln, die jeden Knoten genau einmal enthält und für die die Kosten, also die Verfahrzeiten, minimal sind. Um auch ein asymmetrisches Traveling Salesman Problem abbilden zu können, kann es dabei vorgesehen sein, dass für eine oder mehrere der Verbindungen richtungsabhängig unterschiedliche Verfahrzeiten vorgegeben werden, sodass auch die Fälle abgebildet werden können, dass die Verfahrzeiten zwischen zwei Positionen 1, 2, 3, 4, 5 nicht identisch für den Hinweg und den Rückweg sind.
-
Die Bewegungsbahn wird ermittelt, indem die besagte Kostenfunktion c minimiert wird. Vorzugsweise wird die Bewegungsbahn mittels eines generischen Algorithmus ermittelt. Zum einen wäre es möglich, dass der Anfangspunkt frei wählbar ist und sämtliche mögliche Rundtouren ausprobiert werden, um diejenige Bewegungsbahn herauszufinden, die sämtliche Positionen 1, 2, 3, 4, 5 in kürzest möglicher Zeit verbindet. Dies wäre jedoch sehr zeitaufwendig. Daher wird vorzugsweise der Ansatz einer dynamischen Programmierung angewendet, um die besagte Bewegungsbahn zu ermitteln. Es werden nacheinander nur eine jeweilige Teilmenge der Positionen 1, 2, 3, 4, 5 vorgegeben sowie jeweils bereits ermittelte Lösungen für die jeweiligen Teilmengen berücksichtigt. Es erfolgt also eine Art sukzessive Berechnung der optimalen Lösung für jeweilige Teilprobleme P(S, I). Die jeweiligen Teilprobleme P(S, I) umfassen jeweils einen Teilgraph S, der Teilmenge der gesamten Knotenmenge V ist und einen Knoten I, der Element des Teilgraphen S ist.
-
Die optimale Lösung ist dabei der kürzeste Weg vom Startknoten zum Knoten I, der alle anderen Knoten aus dem Teilgraph S enthält. Dabei wird die Lösung der vorher berechneten kleineren Teilprobleme benutzt. Basisfälle sind P({1}, 1) = 0, P(S, 1) = ∞ für Betrag S > 1. Die Komplexität ist dabei O(2n·n2). Dies ist ein deutlich besserer Wert für die Komplexität O als wenn alle möglichen Rundtouren ausprobiert werden würden, also O(n!). In 2 wären im beispielhaft dargestellten Fall der ermittelten Bewegungsbahn die Gesamtkosten = 10, die sich dadurch ergeben, wenn man die jeweils an den Pfeilen stehenden Verfahrzeiten addiert. Im vorliegend gezeigten Beispiel umfasst der Teilgraph S die Positionen 1, 3, 4, 5, wobei als Knoten I die Position 3 gewählt worden ist.
-
Das beschriebene Problem ist dabei NP-proportional, das heißt, dass das besagte Suchproblem mit wachsender Anzahl der zu durchsuchenden Pfade oder Objekte eine sehr stark steigende Berechnungszeit aufweist. Mit anderen Worten wird die Berechnungszeit bei wachsender Problemgröße sehr schnell sehr groß. Bei zehn Knoten wäre die benötigte Zeit beispielsweise 1 Sekunde, bei 13 Knoten 14 Sekunden, bei 15 Knoten 1,2 Minuten, bei 20 Knoten 1,2 Stunden, bei 24 Knoten 1,2 Tage, bei 27 Knoten 1,7 Wochen, bei 29 Knoten 1,8 Monate, bei 32 Knoten 1,5 Jahre und bei 64 Knoten sogar 2,6·1010 Jahre. Ab einer gewissen Problemgröße ist die beschriebene Vorgehensweise also gegebenenfalls nicht mehr sinnvoll einsetzbar und man sollte stattdessen heuristische Ansätze bevorzugen. Für kleinere Probleme ist jedoch die beschriebene Vorgehensweise besser als heuristische Ansätze, da diese Vorgehensweise immer die optimale Lösung findet und andere Algorithmen meist beliebig schlechte Lösungen liefern könnten, das heißt ohne Beschränkung der Abweichung von der optimalen Lösung.
-
Allgemein werden bei dem erläuterten Verfahren also sämtliche mittels des Roboters anzufahrende Positionen 1, 2, 3, 4, 5 eingelesen und die jeweiligen Zeiten zum Abfahren der Verbindungen zwischen den Positionen 1, 2, 3, 4, 5 vorgegebenen und zuvor falls erforderlich gemessen. Anschließend werden die kürzesten Rundtouren beziehungsweise Bewegungsbahnen berechnet und die entsprechenden Zeiten gespeichert. Alle als optimal ermittelten Bewegungsbahnen können dabei mittels einer entsprechenden Konsole, beispielsweise mittels eines sogenannten Smartpads, ausgegeben werden. Beispielsweise wäre es denkbar, dass für die jeweiligen Bewegungsbahnen eine csv-Datei mit jeweils gemessenen Zeiten zwischen den Positionen 1, 2, 3, 4, 5 in Millisekunden ausgegeben wird.
-
Zur sicheren und effektiven Verwendung kann das Verfahren während der Planungsphase verwendet werden und bei Vorgabe der beliebigen Knoten, jede resultierende Kante als Roboterbewegung in einem digitalen Planungsmodel (z. B. DELMIA, einer CAD/CAM-Umgebung, mit welcher Roboter und Anlagen digital erstellt und programmiert werden können) wieder gegeben werden. Hier werden die Fahrten des Roboter hinsichtlich Kollision mit der Umgebung (Anlagenteile, Werkstücke, etc. ...) geprüft. Die Menge der für die Berechnung der optimalen Gesamttrajektorie kann auf die der kollisionsfreien reduziert werden und liefert immer ein vom Roboter fahrbares Ergebnis.
-
In einer weiteren vorteilhaften Ausgestaltung kann das Verfahren um die verschiedenen möglichen Roboterstellungen zum Erreichen eines Knoten erweitert werden. Kann eine Position von einem Roboter in verschiedenen Stellungen SRoboter (1, ..., i) erreicht werden, können diese ebenfalls bei dem Verfahren als mögliche Lösungen verwendet werden. Ins besondere bei Robotern mit mehr als 6 Achsen liefert die Berücksichtigung der verschiedenen Stellungen große Zeitoptimierungen bei der Gesamttrajektorie.
-
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
-
-
Zitierte Nicht-Patentliteratur
-
- http://www.realistic-robot-simulation.org [0007]