-
Die Erfindung betrifft ein Verfahren zum redundanzoptimierten Planen eines Betriebs eines mobilen Roboters.
-
Die
US 5,550,953 A offenbart einen mobilen Roboter und ein Verfahren zum Betreiben des mobilen Roboters. Der mobile Roboter umfasst einen Roboterarm mit mehreren, relativ zueinander bewegbaren Gliedern und ein Trägerfahrzeug, an dem der Roboterarm befestigt ist.
-
Die
DE 10 2012 208 094 A1 offenbart ein Verfahren zum Ermitteln möglicher Positionen eines Roboterarms eines Roboters. Der Roboterarm umfasst ein Gestell, mehrere, hintereinander angeordnete, bezüglich Achsen relativ zueinander bewegbare Glieder und Antriebe zum Bewegen der Glieder. Zunächst wird eine Soll-Position und Soll-Orientierung im Raum eines dem Roboterarm oder eines am Roboterarm befestigten Endeffektors zugeordneten Tool Center Points festgelegt, dem ein Referenzkoordinatensystem mit Polarkoordinaten zugeordnet ist. Anschießend werden aufgrund der Geometrie des Roboterarms potenziell mögliche Positionen des Gestells des Roboterarms im Raum und in den Polarkoordinaten des Referenzkoordinatensystems bestimmt, sodass der Tool Center Point die festgelegte Soll-Position und Soll-Orientierung einzunehmen vermag.
-
Die
DE 102 29 293 A1 offenbart ein Verfahren zur Bestimmung der relativen Orientierung einer Roboter-Verfahrachse gegenüber einem Roboter-Koordinatensystem.
-
-
Die
EP 2 485 875 B1 offenbart ein Verfahren zur Verringerung des Energieverbrauchs eines Industrieroboters.
-
Aufgabe der Erfindung ist es, ein verbessertes Verfahren zum Planen einer Bewegung eines mobilen Roboters anzugeben.
-
Die Aufgabe der Erfindung wird gelöst durch ein Verfahren zum redundanzoptimierten Planen eines Betriebs eines redundanten mobilen Roboters, der ein mobiles Trägerfahrzeug, einen Roboterarm mit mehreren, über Gelenke verbundenen, bezüglich Drehachsen drehbar gelagerten Gliedern, Antriebe zum Bewegen der Glieder relativ zueinander und eine elektronische Steuervorrichtung aufweist, die eingerichtet ist, die Antriebe für die Glieder und das Trägerfahrzeug für eine Bewegung des mobilen Roboters anzusteuern, aufweisend folgende Verfahrensschritte:
- – Verwenden eines einem Tool Center Point, der dem Roboterarm zugeordnet ist, zugeordneten kartesischen TCP-Koordinatensystems mit einer ersten TCP-Koordinatenachse, einer zweiten TCP-Koordinatenachse und einer dritten TCP-Koordinatenachse,
- – Verwenden eines kartesischen Weltkoordinatensystems mit einer ersten Weltkoordinatenachse, einer zweiten Weltkoordinatenachse und einer dritten Weltkoordinatenachse, wobei die erste Weltkoordinatenachse und die zweite Weltkoordinatenachse eine Ebene aufspannen, auf der sich der mobile Roboter bewegt, eine Höhe des Tool Center Points von der Ebene der dritten Weltkoordinatenachse zugeordnete ist, und die dritte TCP-Koordinatenachse und die Ebene einen Winkel einschließen,
- – Erstellen wenigstens eines Graphen, in der als Funktion der Höhe und des Winkels eine Redundanz dargestellt wird, welche ein Maß für mögliche Konfigurationen des mobilen Roboters abhängig von der Höhe und dem Winkel ist, und
- – Planen eines Betriebs des mobilen Roboters mit Hilfe des wenigstens einen Graphen.
-
Der mobile Roboter ist ein redundanter mobiler Roboter, für den es im Allgemeinen für die jeweiligen Positionen und Orientierungen des Tool Center Points im Raum mehrere mögliche Konfigurationen des mobilen Roboters gibt. Unter Konfiguration des mobilen Roboters wird verstanden, dass es für die jeweiligen Positionen und Orientierungen des Tool Center Points mehrere mögliche Stellungen des Roboterarms und mehrere mögliche Positionen und Orientierungen des Trägerfahrzeugs in der Ebene gibt. Die Stellungen des Roboterarms ergeben sich durch Winkelstellungen der einzelnen Glieder relativ zueinander.
-
Somit gibt es im Allgemeinen redundante Konfigurationen des mobilen Roboters für die einzelnen Positionen und Orientierungen des Tool Center Points im Raum. Die Positionen und Orientierungen können z. B. im Weltkoordinatensystem ausgedrückt werden. Die Orientierung des Tool Center Points kann auch in Koordinaten des TCP-Koordinatensystems ausgedrückt werden.
-
Der Roboterarm umfasst nach einer bevorzugten Ausführungsform des erfindungsgemäßen genau fünf Freiheitsgrade und somit als Glieder ein erstes Glied, ein zweites Glied, ein drittes Glied, ein viertes Glied, ein fünftes Glied und ein sechstes Glied und als Drehachsen eine erste Drehachse, eine zweite Drehachse, eine dritte Drehachse, eine vierte Drehachse und eine fünfte Drehachse. In diesem Fall weist der mobile Roboter insbesondere acht Freiheitsgrade auf, da das Trägerfahrzeug drei Freiheitsgrade umfasst.
-
Vorzugsweise verlaufen die erste Drehachse, die zweite Drehachse und die vierte Drehachse horizontal und die fünfte Drehachse vertikal. Insbesondere ist das zweite Glied relativ zum ersten Glied drehbar bezüglich der ersten Drehachse gelagert, dem zweiten Glied folgt das dritte Glied nach, das dritte Glied ist relativ zum zweiten Glied bezüglich der zweiten Drehachse drehbar gelagert, das vierte Glied ist relativ zum dritten Glied bezüglich zur dritten Drehachse, die senkrecht zur zweiten Drehachse verläuft, drehbar gelagert und umfasst eine Befestigungsvorrichtung zum Befestigen eines Werkzeugs oder das Werkzeug, das sechste Glied ist am Trägerfahrzeug ortsfest befestigt oder stellt das Trägerfahrzeug dar, das fünfte Glied ist relativ zum sechsten Glied bezüglich der fünften Drehachse drehbar gelagert, und das erste Glied ist relativ zum fünften Glied bezüglich der vierten Drehachse drehbar gelagert. Vorzugsweise verläuft die dritte TCP-Koordinatenachse in Richtung der dritten Drehachse und schließt mit der Ebene den Winkel ein.
-
Der Roboterarm kann auch genau vier Freiheitsgrade aufweisen. Dann weist der Roboterarm als Glieder ein erstes Glied, ein zweites Glied, ein drittes Glied, ein viertes Glied, und ein fünftes Glied und als Drehachsen eine erste Drehachse, eine zweite Drehachse, eine dritte Drehachse und eine vierte Drehachse auf. Insbesondere verlaufen die erste Drehachse, die zweite Drehachse und die vierte Drehachse horizontal. Insbesondere ist das zweite Glied relativ zum ersten Glied drehbar bezüglich der ersten Drehachse gelagert, dem zweiten Glied folgt das dritte Glied nach, das dritte Glied ist relativ zum zweiten Glied bezüglich der zweiten Drehachse drehbar gelagert, das vierte Glied ist relativ zum dritten Glied bezüglich zur dritten Drehachse, die senkrecht zur zweiten Drehachse verläuft, drehbar gelagert und umfasst eine Befestigungsvorrichtung zum Befestigen eines Werkzeugs oder das Werkzeug, das fünfte Glied ist am Trägerfahrzeug ortsfest befestigt stellt das Trägerfahrzeug dar. Vorzugsweise verläuft die dritte TCP-Koordinatenachse in Richtung der dritten Drehachse und schließt mit der Ebene den Winkel.
-
Das mobile Trägerfahrzeug umfasst vorzugsweise Räder und Antriebe zum Antreiben der Räder. Vorzugsweise ist die elektronische Steuervorrichtung eingerichtet, die Antriebe für die Räder zum Bewegen des Trägerfahrzeugs anzusteuern.
-
Das Trägerfahrzeug kann auch Beine aufweisen oder als ein Magnetschwebe-Transportfahrzeug ausgeführt sein.
-
Das Trägerfahrzeug ist vorzugsweise als ein omnidirektional bewegbares Trägerfahrzeug (holonome Plattform) ausgeführt. Vorzugsweise sind daher die Räder des Trägerfahrzeugs als omnidirektionale Räder ausgebildet. Ein Beispiel eines omnidirektionalen Rades ist das dem Fachmann bekannte Mecanum-Rad. Aufgrund der omnidirektionalen Räder ist es dem erfindungsgemäßen mobilen Roboter bzw. dessen Trägerfahrzeug ermöglicht, sich frei im Raum zu bewegen. So kann sich das Trägerfahrzeug nicht nur nach vorne, nach hinten oder seitlich bewegen oder Kurven fahren, sondern sich auch z. B. um eine vertikal ausgerichtete Achse drehen.
-
Erfindungsgemäß wird der wenigstens eine Graph verwendet, in der als Funktion der Höhe und des Winkels die Redundanz dargestellt wird, welche ein Maß für mögliche Konfigurationen des mobilen Roboters abhängig von der Höhe und dem Winkel ist. Dadurch können die möglichen Konfigurationen des mobilen Roboters u. a. für die Höhe des Tool Center Points relativ einfach visualisiert werden, wodurch sich die Planung des Betriebs des mobilen Roboters vereinfacht.
-
Der wenigstens eine Graph ist z. B. ein erster Graph, wobei die Höhe, der Winkel und die Redundanz ein dreidimensionales kartesisches Koordinatensystem bilden, in dem die Redundanz als Funktion der Höhe und des Winkels als der erste Graph abgebildet ist. Dadurch ergibt sich ein graphisches Gebirge, in dem relativ einfach die Redundanz für verschiedene Höhen des Tool Center Points und des Winkel ablesbar sind.
-
Vorzugsweise wird die Redundanz im ersten Graphen unterschiedlich farblich oder durch Graustufen markiert.
-
Nach einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens ist der wenigstens eine Graph ein zweiter Graph, bei dem die Höhe als Funktion des Winkels dargestellt ist und die Redundanz im zweiten Graphen unterschiedlich, insbesondere unterschiedlich farblich oder durch Graustufen markiert ist, um die Redundanz als Funktion der Höhe und des Winkels darzustellen. Der zweite Graph ist ein zweidimensionaler Graph, bei dem vorzugsweise die Höhe und der Winkel entlang entsprechender Koordinatenachsen aufgetragen sind, die senkrecht zueinander stehen.
-
Der zweite Graph zeigt insbesondere die Höhe als Funktion des Winkels. Um die Redundanz zu veranschaulichen, ist der zweite Graph unterschiedlich markiert, indem z. B. die Redundanz farblich oder durch verschiedene Graustufen veranschaulicht ist. Der zweite Graph ist insbesondere eine Draufsicht auf den ersten Graphen. Im zweiten Graphen können relativ einfach mögliche (Z; β) Paare oder (Z; β) Paare mit relativ hoher Redundanz ermittelt werden.
-
Das erfindungsgemäße Verfahren kann zusätzlich folgende Verfahrensschritte aufweisen:
- – Planen eines Verlaufs einer Bahn im sechsdimensionalen Raum, entlang der sich der Tool Center Point automatisch bewegen soll,
- – Transformieren des Verlaufs der geplanten Bahn in einen zweidimensionalen Unterraum, wodurch ein Verlauf einer transformierten Bahn entsteht, wobei der Unterraum die geplante Position und Orientierung des Tool Center Points in der Höhe und dem Winkel darstellt,
- – Überlagern des Verlaufs der transformierten geplanten Bahn mit dem zweiten Graphen, und
- – aufgrund des überlagerten Verlaufs der transformierten Bahn mit dem zweiten Graphen, Ermitteln, ob die geplante Bahn vom mobilen Roboter durgeführt werden kann.
-
Die Planung im sechsdimensionalen Raum erfolgt insbesondere in Koordinaten des Weltkoordinatensystems (Weltkoordinaten) und gegebenenfalls zusätzlich in des TCP-Koordinatensystems.
-
Falls die geplante Bahn mit dem mobilen Roboter nicht durchgeführt werden kann, dann können folgende Verfahrensschritte durchgeführt werden:
- – Ändern des Verlaufs der transformierten geplanten Bahn innerhalb des überlagerten zweiten Graphen, damit ein geänderter Verlauf der transformierten geplanten Bahn entsteht, der mit dem mobilen Roboter durchführbar ist, und
- – Erstellen einer geänderten geplanten Bahn im sechsdimensionalen Raum aufgrund des geänderten Verlaufs der transformierten geplanten Bahn.
-
Das erfindungsgemäße Verfahren kann zusätzlich folgende Verfahrensschritte aufweisen:
- – Festlegen einer Höhe für den Tool Center Point
- – mit Hilfe des ersten Graphen und/oder des zweiten Graphen Ermitteln von möglichen Werten des Winkels,
- – Ermitteln des Wertes des Winkels, welchem die höchste Redundanz zugeordnet ist, und
- – Verwenden des ermittelten Wertes des Winkels für eine Planung der Bewegung des mobilen Roboters.
-
Alternativ kann das erfindungsgemäße Verfahren Verfahrensschritte aufweisen:
- – Festlegen eines Winkels,
- – mit Hilfe des ersten Graphen und/oder des zweiten Graphen Ermitteln von möglichen Werte der Höhe,
- – Ermitteln des Wertes der Höhe, welchem die höchste Redundanz zugeordnet ist, und
- – Verwenden des ermittelten Wertes der Höhe für eine Planung der Bewegung des mobilen Roboters.
-
Beim Ermitteln des Wertes des Winkels bzw. der Höhe, welchen die höchste Redundanz zugeordnet ist, kann auch noch wenigsten eine weitere Nebenbedingung berücksichtigt werden, wie z. B. eine Vermeidung einer Kollisionen des mobilen Roboters mit einem Objekt oder ein Sicherheitsabstand des mobilen Roboters zu einem Objekt.
-
Mittels des wenigstens eine Graphen lässt sich auch folgende Aufgabe für den mobilen Roboter planen: Der mobile Roboter soll mit seinem als Greifer ausgebildeten Werkzeug ein Werkstück greifen und an einer anderen Position wieder ablegen. Mittels des wenigstens einen Graphen können günstige Positionen für diese Aufgabe ermittelt werden.
-
Ausführungsbeispiele der Erfindung sind exemplarisch in den beigefügten schematischen Zeichnungen dargestellt. Es zeigen:
-
1 einen mobilen Roboter, der ein Trägerfahrzeug und einen am Trägerfahrzeug befestigten Roboterarm umfasst,
-
2 ein Weltkoordinatensystem und ein TCP-Koordinatensystem,
-
3, 4 jeweils einen Graphen,
-
5, 6 eine Veranschaulichung für ein Überprüfen des Verlaufs einer geplanten Bahn,
-
7 eine Veranschaulichung für ein Ändern des Verlaufs einer geplanten Bahn, und
-
8 eine Veranschaulichung für das Planen einer Konfiguration des mobilen Roboters.
-
Die 1 zeigt einen mobilen Roboter 1, der im Falle des vorliegenden Ausführungsbeispiels ein omnidirektional bewegbares Trägerfahrzeug 2 aufweist. Dieses umfasst z. B. einen Fahrzeuggrundkörper 3 und mehrere, am Fahrzeuggrundkörper 3 drehbar angeordnete Räder 4, welche als omnidirektionale Räder ausgebildet sind. Im Falle des vorliegenden Ausführungsbeispiels weist das Trägerfahrzeug 2 vier omnidirektionale Räder 4 auf. Vorzugsweise werden alle Räder 4 jeweils mit einem Antrieb angetrieben. Die nicht näher dargestellten Antriebe sind vorzugsweise elektrische Antriebe, insbesondere geregelte elektrische Antriebe und sind mit einer beispielsweise im oder am Fahrzeuggrundkörper 3 angeordneten Steuervorrichtung 5 verbunden, welche eingerichtet ist, das Trägerfahrzeug 2 durch entsprechendes Ansteuern der Antriebe für die Räder 4 zu bewegen.
-
Ein Beispiel eines omnidirektionalen Rades ist das sogenannte Mecanum-Rad. Jedes der als omnidirektionales bzw. Mecanum Rad ausgebildete Rad 4 weist im Falle des vorliegenden Ausführungsbeispiels zwei starr miteinander verbundene Radscheiben auf, zwischen denen mehrere Rollkörper bezüglich ihrer Längsachsen drehbar gelagert sind. Die beiden Radscheiben können bezüglich einer Drehachse drehbar gelagert sein und mittels einer der Antriebe des Trägerfahrzeugs 2 derart angetrieben werden, dass sich die beiden Radscheiben bezüglich der Drehachse drehen.
-
Aufgrund der omnidirektionalen Räder 4 ist es dem mobilen Roboter 1 bzw. dessen Trägerfahrzeug 2 ermöglicht, sich frei auf einer Ebene bzw. einem nicht näher dargestellten Boden zu bewegen. So kann sich das Trägerfahrzeug 2 nicht nur nach vorne, nach hinten oder seitlich bewegen oder Kurven fahren, sondern sich auch um eine beliebige vertikal ausgerichtete Achse drehen.
-
Der mobile Roboter 1 umfasst einen Roboterarm 6, der als serielle Kinematik ausgeführt ist und mehrere, hintereinander angeordnete Glieder aufweist, die mit Gelenken verbunden sind, sodass die einzelnen Glieder bezüglich Drehachsen relativ zueinander drehbar gelagert sind.
-
Im Falle des vorliegenden Ausführungsbeispiels weist der Roboterarm 6 fünf Freiheitsgrade auf und umfasst ein erstes Glied 11, ein zweites Glied 12, ein drittes Glied 13, ein viertes Glied 14, ein fünftes Glied 15 und ein sechstes Glied 16 und eine erste Drehachse 21, eine zweite Drehachse 22, eine dritte Drehachse 23, eine vierte Drehachse 24 und eine fünfte Drehachse 25.
-
Im Falle des vorliegenden Ausführungsbeispiels verlaufen die erste Drehachse 21 und die zweite Drehachse 22 horizontal. Das zweite Glied 12 ist insbesondere ein Ausleger und ist relativ zum ersten Glied 11 drehbar bezüglich der ersten Drehachse 21 gelagert.
-
Dem zweiten Glied 12 folgt das dritte Glied 13 nach. Das dritte Glied 13 ist relativ zum zweiten Glied 12 bezüglich der zweiten Drehachse 22 drehbar gelagert.
-
Im Falle des vorliegenden Ausführungsbeispiels ist das vierte Glied 14 relativ zum dritten Glied 13 bezüglich zur dritten Drehachse 23 drehbar gelagert. Die dritte Drehachse 23 verläuft senkrecht zur zweiten Drehachse 22. Das vierte Glied 14 kann eine Befestigungsvorrichtung zum Befestigen eines Werkzeugs 7 umfassen. Im Falle des vorliegenden Ausführungsbeispiels ist jedoch das Werkzeug 7 Bestandteil des vierten Glieds 14. Das vierte Glied 14 ist eines der Enden des Roboterarms 6.
-
Es ist auch möglich, dass der Roboterarm 6 das vierte Glied 14 nicht enthält und dass das dritte Glied 13 die Befestigungsvorrichtung bzw. das Werkzeug 7 umfasst. In diesem Fall stellt das dritte Glied 13 eines der Enden des Roboterarms 6.
-
Das erste Glied 11, das insbesondere eine Schwinge des Roboterarms 6 ist, ist dem fünften Glied 15 vorgelagert. Das erste Glied 11 ist relativ zum fünften Glied 15 bezüglich der vierten Drehachse 24 drehbar gelagert. Die vierte Drehachse 24 verläuft horizontal.
-
Das sechste Glied 16 ist insbesondere ein Gestell des Roboterarms 6, mit dem der Roboterarm 7 am Fahrzeuggrundkörper 3 befestigt ist. Das Gestell stellt eines der Enden des Roboterarms 6 dar. Es ist aber auch möglich, dass das Trägerfahrzeug 2 das Gestell, d. h. das sechste Glied 16 bildet.
-
Das fünfte Glied 15 ist insbesondere ein relativ zum Gestell um die fünfte Drehachse 25 drehbar gelagertes Karussell. Die fünfte Drehachse 25 verläuft vertikal.
-
Das Trägerfahrzeug 2 ist im Falle des vorliegenden Ausführungsbeispiels omnidirektional bewegbar, weshalb sich das Trägerfahrzeug 2 auch um die fünfte Drehachse 25 drehen kann. Es kann auch vorgesehen sein, dass das erste Glied 11 direkt dem Gestell nachfolgt, d. h. relativ zum Gestell bezüglich der vierten Drehachse 24 drehbar gelagert ist. In diesem Fall umfasst der Roboterarm 7 kein Karussell.
-
Der mobile Roboter 1 umfasst ferner mit der Steuervorrichtung 5 verbundene Antriebe. Die Antriebe sind im Falle des vorliegenden Ausführungsbeispiels elektrische Antriebe, insbesondere geregelte elektrische Antriebe. Zumindest die Motoren dieser elektrischen Antriebe sind im oder am Roboterarm 6 angeordnet.
-
Im Betrieb des Roboters 1 ist es vorgesehen, dass die Steuervorrichtung 5 die Antriebe des mobilen Roboters 1, d. h. die Antriebe zum Bewegen der Glieder des Roboterarms 6 und die Antriebe zum Bewegen der Räder 4 derart ansteuert, dass ein dem Roboterarm 6 zugeordneter sogenannter Tool Center Point 8 eine vorgegebene Soll Position, gegebenenfalls zusätzlich auch eine Soll-Orientierung im Raum einnimmt bzw. der Tool Center Point 8 sich auf einer vorgegebenen Bahn automatisch bewegt.
-
Im Falle des vorliegenden Ausführungsbeispiels weist der Roboterarm 6 fünf Freiheitsgrade auf. Der gesamte mobile Roboter 1 umfasst somit acht Freiheitsgrade, da das Trägerfahrzeug 2 drei Freiheitsgrade umfasst.
-
Die Position des Werkzeugs 7 bzw. des Tool Center Points 8 kann in Koordinaten eines in der 2 gezeigten Weltkoordinatensystems KW bestimmt werden. Das Weltkoordinatensystem KW ist ein kartesisches Koordinatensystem mit den Weltkoordinatenachsen XW, YW, WW und einem Ursprung UW. Das Weltkoordinatensystems KW ist ortsfest.
-
Im Falle des vorliegenden Ausführungsbeispiels ist das Weltkoordinatensystem KW derart festgelegt, dass dessen XW- und YW-Weltkoordinaten eine Ebene EXY aufspannen, auf der sich der mobile Roboter 1 bewegt. Die Koordinate der ZW-Weltkoordinatenachse ergibt somit die Höhe Z des Tool Center Points 8 von der Eben EXY, auf der sich der mobile Roboter 1 bewegt.
-
Die Orientierung des Tool Center Points 8 kann durch Winkelkoordinaten des Weltkoordinatensystems KW bestimmt werden.
-
Dem Werkzeug 7 bzw. dem Tool Center Point 8 ist ein ebenfalls in der 2 gezeigtes TCP-Koordinatensystem KTCP zugeordnet, dessen Ursprung im Tool Center Point 8 liegt. Das TCP-Koordinatensystem KTCP ist ein kartesisches Koordinatensystem mit den TCP-Koordinatenachsen XTCP, YTCP, ZTCP. Die ZTCP-TCP-Koordinatenachse steht senkrecht zur zweiten Drehachse 22 bzw. verläuft in Richtung der dritten Drehachse 23, also quasi „in Stoßrichtung” des Werkzeugs 7.
-
Mittels des TCP-Koordinatensystems KTCP kann ebenfalls die Orientierung des Tool Center Points 8 bezüglich des Weltkoordinatensystem KW bestimmt werden.
-
Im Falle des vorliegenden Ausführungsbeispiels schließen die TCP-Koordinatenachsen ZTCP und die Ebene EXY einen Winkel β ein.
-
Im Falle des vorliegenden Ausführungsbeispiels soll z. B. eine automatische Bewegung des Werkzeugs 7 bzw. des Tool Center Points 8 entlang der Höhe Z bei einer festen Position in der durch die XW- und YW-Weltkoordinatenachsen des Weltkoordinatensystems KW festgelegten Ebene EXy vorzugsweise offline geplant werden. Die Höhe Z entspricht der ZW-Weltkoordinate des Weltkoordinatensystems KW.
-
Im Falle des vorliegenden Ausführungsbeispiels werden für diese Planung die Positionen und Orientierungen des Tool Center Points 8 bezüglich des Weltkoordinatensystems KW in einen zweidimensionalen Unterraum transformiert, dessen Koordinaten die Höhe Z des Tool Center Points 8 und der Winkel β ist.
-
Wie bereits erwähnt, weist der mobile Roboter 1 acht Freiheitsgrade auf. Der mobile Roboter 1 ist also ein redundanter mobiler Roboter, für den es im Allgemeinen für die jeweiligen Positionen und Orientierungen des Tool Center Points 8 im Raum mehrere mögliche Konfigurationen des mobilen Roboters 1 gibt, also mehrere mögliche Stellungen des Roboterarms 6 und mehrere mögliche Positionen und Orientierungen des Trägerfahrzeugs 2 in der Ebene EXY. Die Stellungen des Roboterarms 6 ergeben sich durch Winkelstellungen der einzelnen Glieder relativ zueinander.
-
Dadurch ist es möglich, den einzelnen Orientierungen und Positionen des Tool Center Points 8 im Raum ein Maß für mögliche Konfigurationen des mobilen Roboters 1 abhängig von der Höhe Z und dem Winkel β zuzuordnen. Dies wird im Folgenden als Redundanz P bezeichnet. Bestimmten (Z; β) Paaren können also jeweils eine Redundanz P zugeordnet werden.
-
Im Falle des vorliegenden Ausführungsbeispiels wird der Betrieb des mobilen Roboters 1 mit Hilfe wenigstens eines Graphen geplant, in der als Funktion der Höhe Z und des Winkels β die Redundanz P dargestellt wird.
-
Die Höhe Z, der Winkel β und die Redundanz P können insbesondere ein in der 3 gezeigtes dreidimensionales kartesisches Koordinatensystem 30 bilden, in dem die Redundanz P als Funktion der Höhe Z und des Winkels β als ein erster Graph G1 abgebildet ist. Der erste Graph G1 ist ein dreidimensionaler Graph. Desto größer der Wert für die Redundanz P ist, desto mehr mögliche Konfigurationen des mobilen Roboters 1 gibt es, in denen der Tool Center Point 8 eine bestimmte Höhe Z mit einem bestimmten Winkel β einnehmen kann. Die Höhe Z kann z. B. als normalisierter Wert eingetragen sein, bei dem Z = 1,0 die maximale Höhe ist, die der Tool Center Point 8 aufgrund der geometrischen Ausdehnung des mobilen Roboters 1 erreichen kann.
-
Um den ersten Graphen G1 noch mehr zu veranschaulichen, kann dieser farblich markiert sein, indem (Z; β) Paare mit einer höheren Redundanz P anders farblich markiert sind als (Z; β) Paare mit niedrigerer Redundanz P. (Z; β) Paare, für die es z. B. aufgrund der räumlichen Ausdehnung des mobilen Roboters 1 keine möglichen Konfigurationen gibt, können mit einer weiteren Farbe markiert werden.
-
Die Höhe Z, der Winkel β und die Redundanz P können auch als ein zweidimensionaler Graph (zweiter Graph G2) veranschaulicht werden, der in der 4 gezeigt ist. Der zweite Graph G2 zeigt die Höhe Z als Funktion des Winkels β. Um die Redundanz P zu veranschaulichen, ist der zweite Graph G2 unterschiedlich markiert, indem z. B. die Redundanz P farblich oder durch verschiedene Graustufen veranschaulicht ist.
-
Der zweite Graph G2 ist insbesondere eine Draufsicht auf den ersten Graphen G1. Im zweiten Graphen G2 können relativ einfach mögliche (Z; β) Paare oder (Z; β) Paare mit relativ hoher Redundanz P ermittelt werden.
-
Der zweite Graph G2 umfasst z. B. erste Bereiche 41, welchen (Z; β) Paare zugeordnet sind, für die keine Konfigurationen des mobilen Roboters 1 möglich sind, zweite Bereiche 42, welchen (Z; β) Paare zugeordnet sind, für die Konfigurationen des mobilen Roboters 1 mit relativ niedriger Redundanz P möglich sind, und dritte Bereiche 43, welchen (Z; β) Paare zugeordnet sind, für die Konfigurationen des mobilen Roboters 1 mit relativ hoher Redundanz P möglich sind.
-
Die 5 und 6 veranschaulichen, wie aufgrund des zweiten Graphen G2 überprüft werden kann, ob der Verlauf einer geplanten Bahn für den Tool Center Point 8 mit dem mobilen Roboter 1 durchführbar ist.
-
Zunächst wird der Verlauf 51 einer Bahn im sechsdimensionalen Raum geplant, entlang der sich der Tool Center Point 8 automatisch bewegen soll. Der Verlauf 51 der Bahn im sechsdimensionalen Raum wird z. B. in Weltkoordinaten oder in Welt- und TCP-Koordinaten geplant, und umfasst eine Angabe über den Verlauf der Position und Orientierung des Tool Center Points 8 im Raum.
-
Anschließend wird der Verlauf 51 der geplanten Bahn mittels einer Transformation 52 in den zweidimensionalen Unterraum transformiert, wodurch eine transformierte Bahn entsteht, deren Verlauf 53 grafisch darstellbar ist.
-
Anschließend wird der grafische Verlauf 53 der transformierten geplanten Bahn dem zweiten Graphen G2 überlagert.
-
Ist der Verlauf 51 der geplanten Bahn mit dem mobilen Roboter 1 durchführbar, dann liegt der Verlauf 53 der transformierten geplanten Bahn in Bereichen des zweiten Graphen G2, welchen (Z; β) Paare zugeordnet sind, für die eine Konfiguration des mobilen Roboters 1 möglich ist. Ein solcher Fall ist in der 5 gezeigt.
-
Ist der Verlauf 51 der geplanten Bahn mit dem mobilen Roboter 1 nicht durchführbar, dann liegt der Verlauf 53 der geplanten transformierten Bahn zumindest teilweise in Bereichen des zweiten Graphen G2, welchen (Z; β) Paare zugeordnet sind, für die eine Konfiguration des mobilen Roboters 1 unmöglich ist. Ein solcher Fall ist in der 6 gezeigt.
-
Ist der Verlauf 51 der geplanten Bahn mit dem mobilen Roboter 1 nicht durchführbar, dann kann der Verlauf 53 der transformierten geplanten Bahn geändert werden, sodass ein geänderter Verlauf 73 der transformierten geplanten Bahn entsteht, der mit dem mobilen Roboter 1 durchführbar ist. Dies ist in der 7 veranschaulicht. Der geänderte Verlauf 53 der transformierten geplanten Bahn wird in dem überlagerten zweiten Graphen G2 geändert, um unmittelbar erkennen zu können, ob der geänderte Verlauf 73 der transformierten geplanten Bahn mit dem mobilen Roboter 1 durchführbar ist. Die Änderung des Verlaufs der transformierten Bahn kann z. B. mittels eines Cursors erfolgen.
-
Anschließend wird der geänderte Verlauf 73 der transformierten geplante Bahn mittels einer Rücktransformation 72 von dem zweidimensionalen Unterraum in den sechsdimensionalen Raum zurück transformiert, wodurch eine geänderte geplante Bahn entsteht, deren Verlauf in der 7 mit dem Bezugszeichen 71 versehen ist (geänderter Verlauf 71 der geplanten Bahn). Aufgrund der geänderten geplanten Bahn kann der mobile Roboter 1 entsprechend programmiert werden.
-
Die 8 veranschaulicht ein Beispiel eine Planung einer Konfiguration des mobilen Roboters 1, bei der der Tool Center Point 8 eine vorbestimmte Höhe Z einnehmen soll. Aufgrund der Redundanz P ergeben sich für diese Höhe Z mehrere Winkel β. In der 8 ist der mobile Roboter 1 für drei Konfigurationen des mobilen Roboters 1 gezeigt, in denen der Tool Center Point 8 jeweils dieselbe Höhe Z einnimmt, jedoch jeweils unterschiedliche Winkel β.
-
In dem in der 8 gezeigten Beispiel nimmt das Trägerfahrzeug 2 für zwei der Konfigurationen des mobilen Roboters 1 dieselbe Position und Orientierung ein, die Winkelstellungen der Glieder des Roboterarms 6 relativ zueinander unterscheiden sich. Für diese beiden Konfigurationen des mobilen Roboters 1 ist das Trägerfahrzeug 2 mit durchgezogenen Linien dargestellt und der Roboterarm 6 für eine erste Konfiguration des mobilen Roboters 1 ebenfalls mit einer durchgezogenen Linie und für eine zweite Konfiguration des mobilen Roboters 1 mit einer gestrichelten Linie.
-
Der mobile Roboter 1 ist mit einer punktiert strichlierten Linie für die dritte Konfiguration des mobilen Roboters 1 gezeichnet.
-
Für die erste Konfiguration des mobilen Roboters 1 ergibt sich für den Winkel β ein Wert β1, für die zweite Konfiguration des mobilen Roboters 1 ergibt sich für den Winkel β ein Wert β2, und für die dritte Konfiguration des mobilen Roboters 1 ergibt sich für den Winkel β ein Wert β3. Diese Werte β1, β2, β3 sind in der 8 ebenfalls in den ersten Graphen G1 und in den zweiten Graphen G2 dargestellt, wodurch eine Person für jeden der Winkel β die entsprechenden Redundanzen P ablesen kann.
-
Bei einer gegebenen Höhe Z zum Ergreifen eines Werkstücks mit dem als Greifer ausgeführten Werkzeugs 7 ergeben sich mehrere Winkel β für diese Greiferposition. Aufgrund der Redundanz des mobilen Roboters 1, ergeben sich günstigere und weniger günstige Konfigurationen des mobilen Roboters 1, denen ein bestimmter Winkel β zugeordnet ist. Mittels der Graphen G1 und G2 können unterschiedliche Werte des Winkels β für die vorgegebene Höhe Z in Bezug auf die Redundanz P verglichen werden.
-
Somit kann mithilfe der Graphen G1 und/oder G2 folgendes Verfahren durchgeführt werden:
Zunächst wird die Höhe Z für den Tool Center Point 8 festgelegt.
-
Anschließend werden mit Hilfe des ersten Graphen G1 und/oder des zweiten Graphen G2 mögliche Werte β1, β2, β3 des Winkels β ermittelt. Dies kann auch automatisiert erfolgen.
-
Danach wird derjenige Wert β1, β2, β3 des Winkels β ermittelt, welchem die höchste Redundanz P zugeordnet ist. Dadurch ergibt sich ein (Z; β) Paar, welches für eine Planung der Bewegung des mobilen Roboters 1 verwendet wird.
-
Alternativ kann auch der Winkel β vorgegeben werden, um für diesen Winkel β diejenige Höhe Z zu ermitteln, welcher die höchste Redundanz P zugeordnet ist. Dadurch ergibt sich ein (Z; β) Paar, welches für eine Planung der Bewegung des mobilen Roboters 1 verwendet wird.
-
Mittels der Graphen G1 und G2 lässt sich auch folgende Aufgabe für den mobilen Roboter 1 planen: Der mobile Roboter 1 soll mit seinem als Greifer ausgebildeten Werkzeug 7 ein Werkstück greifen und an einer anderen Position wieder ablegen. Mittels der Graphen G1 und/oder G2 können günstige Positionen für diese Aufgabe ermittelt werden.