-
Die
Erfindung betrifft einen Roboter, insbesondere von einem Industrie-
oder Gelenkroboter, mit wenigstens zwei Bewegungsfreiheitsgraden
und einer Steuereinheit zum Steuern einer Bewegung zwischen einer
Anfangspose und einer Endpose und ein Verfahren zum Steuern einer
Bewegung eines Roboters, zwischen einer Anfangspose und einer Endpose
in wenigstens zwei Bewegungsfreiheitsgraden, wobei ein Bewegungspfad
zwischen der Anfangspose und der Endpose generiert wird.
-
Aus
dem Stand der Technik ist ein Roboter, beispielsweise ein Industrie-
oder Gelenkroboter, mit wenigstens zwei Bewegungsfreiheitsgraden
bekannt. Der Roboter umfasst eine Steuereinheit zum Steuern einer
Bewegung zwischen einer Anfangspose und einer Endpose entlang eines
vorprogrammierten Bewegungspfads, der sich aus stückweise
linearen oder kreisbogenförmigen
Pfadsegmenten zusammensetzt. Zum Programmieren des Bewegungspfads
ist es bekannt, dass ein Bediener in einem Teach-In Vorgang einen
Greifarm des Robo ters manuell auf dem Pfad führt und dabei Störkonturen
in der Reichweite des Greifarms umgeht. Die Steuereinheit speichert
einzelne Überschleifpunkte
des Pfads und reproduziert die Bewegung näherungsweise durch eine stückweise
geradlinige Bewegung, die die Überschleifpunkte
verbindet. Alternativ können die
einzelnen Überschleifpunkte
beim Programmieren der Steuereinheit eingegeben werden. Als "geradlinig" oder "linear" sollen in diesem
Zusammenhang insbesondere auch solche Bewegungen bezeichnet werden,
die in einem achsbezogenen Koordinatensystem des Roboters gerade
verlaufen. In dem achsbezogenen Koordinatensystem des Roboters können neben
linearen auch rotatorische Achsen in kartesischen Koordinaten dargestellt
sein.
-
Der
Erfindung liegt insbesondere die Aufgabe zugrunde, einen gattungsgemäßen Roboter
mit einer Steuereinheit auszustatten, die eine ungewollte Kollision
des Roboters mit Gegenständen
in seiner Reichweite wirkungsvoll verhindert.
-
Die
Aufgabe wird gelöst
durch einen Roboter, insbesondere einen Industrie- oder Gelenkroboter,
mit wenigstens zwei Bewegungsfreiheitsgraden und einer Steuereinheit
zum Steuern einer Bewegung zwischen einer Anfangspose und einer
Endpose, wobei die Steuereinheit eine Speichereinheit zum Speichern
einer Landkarte umfasst, in der zumindest eine Störkontur
verzeichenbar ist, sowie durch ein Verfahren zum Steuern eines solchen
Roboters.
-
Die
Erfindung geht aus von einem Roboter, insbesondere von einem Industrie-
oder Gelenkroboter, mit wenigstens zwei Bewegungsfreiheitsgraden und
einer Steuereinheit zum Steuern einer Bewegung zwischen einer Anfangspose
und einer Endpose.
-
Es
wird vorgeschlagen, dass die Steuereinheit eine Speichereinheit
zum Speichern einer Landkarte umfasst, in der zumindest eine Störkontur
verzeichnet werden kann. Die Steuereinheit kann zu beliebigen Punkten
bzw. Posen der Bewegung überprüfen, ob
der Punkt oder die Pose innerhalb oder außerhalb einer Störkontur
liegt. Erkennt die Steuereinheit, dass der Punkt oder die Pose innerhalb
der Störkontur
liegt, kann sie ein Warnsignal erzeugen oder eine Bewegung blockieren.
Dadurch kann eine Kollision mit einem von der Störkontur dargestellten Gegenstand
sicher vermieden werden.
-
Eine
erfindungsgemäß ausgestaltete
Steuereinheit kann prinzipiell zur Steuerung jedes Roboters genutzt
werden, der sich im Bereich von statischen oder zumindest nur langsam
veränderlichen
Gegenständen
bewegt. Wegen des vergleichsweise großen Rechenzeitaufwands bei
den notwendigen Koordinatentransformationen ist die erfindungsgemäße Lösung jedoch
besonders vorteilhaft im Zusammenhang mit Gelenkrobotern oder SCARA-Robotern
in der industriellen Anwendung einsetzbar.
-
Als "Landkarte" soll in diesem Zusammenhang
eine mehrdimensionale Datenstruktur bezeichnet werden, die auch
eine Überlagerung
oder Projektion einer oder mehrerer eindimensionaler Datenstrukturen
sein kann. Die Landkarte ist eine Abbildung, die jeder Pose des
Roboters einen Wert zuordnet, aus dem entnommen werden kann, ob
sich der Roboter bzw. einer seiner Greifarme innerhalb oder außerhalb
der Störkontur
befindet. Ein schneller Zugriff auf die Landkarte kann erreicht
werden, wenn die Dimension der Landkarte kleiner oder gleich einer Zahl
der Bewegungsfreiheitsgrade des Roboters ist.
-
Die
Landkarte wird besonders vorteilhaft in einem Initialisierungsprozess
des Roboters generiert, um die beim Ermitteln eines Bewegungspfads aufzuwendende
Rechenzeit möglichst
gering zu halten.
-
In
einer Weiterbildung der Erfindung wird vorgeschlagen, dass die Steuereinheit
dazu vorgesehen ist, einen Bewegungspfad zwischen der Anfangspose
und der Endpose selbsttätig
in Abhängigkeit
von der Landkarte zu generieren. Dadurch kann ein Bedienkomfort
deutlich erhöht
werden, da nur noch ein Anfangs- und Endpunkt der Bewegung programmiert
werden muss, sofern sich die Umgebung des Roboters und damit die
zu berücksichtigende Störkontur
nicht ändert.
Es kann eine systematische Trennung zwischen den anwendungsspezifischen Bewegungsdaten
bzw. den Koordinaten der anzusteuernden Posen und den oftmals anwendungsunabhängigen Störkonturen
erreicht werden. Unter "vorgesehen" soll in diesem Zusammenhang
auch "ausgelegt" und "ausgestattet" verstanden werden.
-
Wenn
die Steuereinheit derart programmiert ist, dass sie die Landkarte
zum Generieren des Bewegungspfads in wenigstens zwei Bereiche mit
unterschiedlicher Detailgenauigkeit aufteilt, kann eine zum Generieren
des Bewegungspfads aufzuwendende Rechenzeit deutlich reduziert werden,
da auf überflüssige Detailtreue
in Bereichen, die weitläufig frei
von Störkonturen
sind, verzichtet werden kann. In solchen Bereichen kann die Steuereinheit
den Bewegungspfad aus langen Segmenten zusammensetzen, während in
kritischen Bereichen mit stark strukturierten Störkonturen ein kleinschrittiger
Bewegungsablauf generiert werden kann. Das Generieren des Bewegungspfads
kann weiter beschleunigt werden, wenn die Bewegung vorzugsweise
durch solche Bereiche geführt
wird, die hinsichtlich der Detailgenauigkeit unkritisch sind und
nur in Fällen,
in denen es unvermeidbar oder in einem Gesamtzusammenhang vorteilhaft
ist, die Bewegung in Bereiche geführt wird, in denen zur Kollisionsvermeidung
eine hohe Detailgenauigkeit notwendig ist.
-
Ist
die Steuereinheit derart programmiert, dass sie die Landkarte zum
Generieren des Bewegungspfads in mehrere Unterkarten mit vorgegebenen
Pfad-Teilen aufteilt, kann das Generieren des Pfads weiter beschleunigt
werden, da zum Durchqueren der den Unterkarten entsprechenden Bereiche
des Bewegungsraums des Roboters auf die vorgegebenen Pfad-Teile
zurückgegriffen
werden kann. Die vorgegebenen Pfad-Teile verbinden vorzugsweise
Randpunkte der Unterkarten geradlinig miteinander.
-
Ein
Transformationsvorgang von einem raumbezogenen Koordinatensystem
auf ein achsbezogenes Koordinatensystem kann auf den Initialisierungsprozess
der Steuereinheit vorverlegt werden, wenn die Speichereinheit zum
Speichern der Landkarte in dem achsbezogenen Koordinatensystem vorgesehen
ist. Beim Generieren des Bewegungspfads ist dann eine Koordinatentransformation
nicht mehr notwendig.
-
Eine
Referenzfahrt des Roboters kann verkürzt werden bzw. ganz entfallen,
wenn der Roboter wenigstens einen Absolutwert-Geber zum erfassen eines
Absolutwerts von wenigstens einer Koordinate einer aktuellen Pose
umfasst. Besonders vorteilhaft sind Ausgestaltungen der Erfindung,
in denen alle Achsen des Roboters bzw. eines Greifarms des Roboters
mit Absolutwert-Gebern ausgestattet sind.
-
Die
Steuereinheit kann die Störkontur
selbsttätig
erkennen, wenn der Roboter wenigstens einen Sensor zum Erkennen
der Störkontur
umfasst. In einer besonders flexiblen Ausgestaltung der Erfindung ist
der Sensor Teil einer Kamera, insbesondere einer CCD-Kamera, die
Bilder von einer Umgebung des Roboters erfasst. Durch einschlägige Bildverarbeitungsprogramme
kann die Steuereinheit aus den von der Kamera erfassten Bildern
die Störkontur
ermitteln und in die Landkarte eintragen.
-
Eine
externe Eingabe der Landkarte kann vermieden werden, die Steuereinheit
dazu vorgesehen ist, die Landkarte abhängig von einer vorgegebenen
Störkontur
zu generieren. Eine Vorgabe der Störkontur ist dabei besonders
komfortabel und ohne aufwändige
Umrechnungsvorgänge
in einem World-Koordinatensystem
des Roboters möglich.
-
Die
zum Generieren der Landkarte aufzuwendende Rechenzeit kann reduziert
werden, wenn die Steuereinheit dazu vorgesehen ist, zum Generieren
der Landkarte ein auf höchstens
20 Parameter beschränktes
Modell für
eine Außenkontur
eines Greifarms zu nutzen. Wegen der durch die modellhafte Näherung gewonnenen
Rechenzeitvorteile kann auf einen schnellen Prozessor und großen Arbeitsspeicher
verzichtet werden, wodurch sich letztlich auch Kostenvorteile für die Herstellung
des Roboters ergeben.
-
Eine
besonders schnelle und einfache Bestimmung der Störkontur
kann erreicht werden, wenn das Modell die Außenkontur des Greifarms durch
wenigstens ein Polygon darstellt.
-
Alternativ
oder ergänzend
dazu kann das Modell die Außenkontur
des Greifarms durch wenigstens einen Kreis darstellen. Auch Kombinationen
von Kreisen und Polygonen oder anderen einfachen geometrischen Formen
sind denkbar. Das Modell muss im Allgemeinen nicht die volle dreidimensionale Außenkontur
des Greifarms darstellen, sondern kann auf eine Projektion von der
Dimension der Landkarte beschränkt
werden.
-
Eine
hinreichend präzise
Modellierung eines Greifarms des Roboters kann mit geringem Aufwand dadurch
erreicht werden, dass jeder unabhängige Armteil des Greifarms
durch eine einzige elementare geometrische Form, beispielsweise
durch ein Polygon, beschrieben wird.
-
Ferner
betrifft die Erfindung ein Verfahren zum Steuern einer Bewegung
eines Roboters, insbesondere eines Roboters der oben beschriebenen
Art.
-
Es
wird vorgeschlagen, dass beim Generieren des Bewegungspfads eine
Landkarte genutzt wird, in der zumindest eine Störkontur verzeichnet ist. Eine
Kollision mit durch die Störkontur
dargestellten Gegenständen
oder Hindernissen in einer Reichweite des Roboters kann dadurch
vermieden werden.
-
Weitere
Merkmale der Erfindung und deren Vorteile ergeben sich aus der folgenden
Figurenbeschreibung. Die Figuren zeigen Ausführungsbeispiele der Erfindung.
Die Figuren, die Beschreibung und die Ansprüche enthalten zahlreiche Merkmale
in Kombination, die der Fachmann auch einzeln betrachten und zu
sinnvollen weiteren Kombinationen zusammenfassen wird.
-
Dabei
zeigen:
-
1 einen
Roboter mit einem Greifarm in einer Draufsicht mit einem schematisch
dargestellten ersten Modell aus zwei Linien für eine Außenkontur des Greifarms;
-
2 den
Roboter mit dem Greifarm aus 1 mit einem
schematisch dargestellten zweiten Modell aus Kreisen für eine Außenkontur
des Greifarms;
-
3 den
Roboter mit dem Greifarm aus den 1 und 2 mit
einem schematisch dargestellten dritten Modell aus zwei Rechtecken
für eine Außenkontur
des Greifarms;
-
4 den
Roboter mit dem Greifarm aus den 1–3 mit
einem schematisch dargestellten weiteren Modell aus zwei Polygonen
für eine
Außenkontur
des Greifarms;
-
5 einen
Arbeitsraum des Roboters aus den 1–4 mit
Gegenständen,
die eine Störkontur
erzeugen, in einer Draufsicht in Welt-Koordinaten;
-
6 eine
Landkarte mit den Störkonturen der
Anordnung der Gegenstände
aus 5 gemäß dem ersten
Modell für
die Außenkontur
des Greifarms;
-
7 eine
Landkarte mit Störkonturen
gemäß dem dritten
Modell für
die Außenkontur
des Greifarms;
-
8 eine
schematische Darstellung zum manuellen Generieren eines Bewegungspfads
in einer Landkarte mit Störkonturen;
-
9 eine
schematische Darstellung zum autonomen Generieren eines Bewegungspfads
in einer Landkarte mit Störkonturen; eine
schematische Darstellung zum autonomen Generieren eines Bewegungspfads
in einer Landkarte mit Störkonturen
nach einem alternativen Algorithmus;
-
10 eine
schematische Darstellung zum autonomen Generieren eines Bewegungspfads
in einer Landkarte mit Störkonturen
nach einem weiteren alternativen Algorithmus, der die Landkarte
in Bereiche mit unterschiedlicher Detailgenauigkeit aufteilt;
-
11 eine
erste Unterkarte der Landkarte aus 11;
-
12 eine
zweite Unterkarte der Landkarte aus 11;
-
13 eine
dritte Unterkarte der Landkarte aus 11
-
14 eine
vierte Unterkarte der Landkarte aus 11; und
-
15 eine
schematische Darstellung zum autonomen Generieren eines Bewegungspfads
in einer Landkarte mit Störkonturen
nach einem weiteren alternativen Algorithmus, der die Landkarte
in rechteckige Unterkarten aufteilt.
-
1 zeigt
einen Roboter, und zwar lediglich beispielhaft einen als SCARA-Roboter
ausgebildeten Industrieroboter, mit wenigstens zwei Bewegungsfreiheitsgraden
mit den rotatorischen Koordinaten α1, α2 und
einer hier nur schematisch dargestellten Steuereinheit 12 zum
Steuern einer Be wegung zwischen einer Anfangspose 14 und
einer Endpose 16 (7).
-
Der
Roboter umfasst einen schwenkbaren Greifarm 10, der um
eine erste, vertikal verlaufende rotatorische Achse A1 schwenkbar
ist. Der Greifarm 10 ist auf einem Sockel 22 montiert
und besteht aus zwei durch ein Gelenk 24 verbundenen Armteilen 60, 62.
Die Armteile 60, 62 sind durch das Gelenk 24 um eine
parallel zu der ersten rotatorischen Achse A1 verlaufende zweite
rotatorische Achse A2 schwenkbar. Weitere Achsen des Roboters sind
hier nicht explizit dargestellt.
-
Der
Greifarm 10 des Roboters umfasst zwei hier nur schematisch
dargestellte Absolutwert-Geber 26, 28 zum Erfassen
eines Absolutwerts der rotatorischen Koordinaten α1, α2 einer
aktuellen Pose. Die Erfindung wäre
jedoch prinzipiell auch dann anwendbar, wenn der Greifarm 10 lediglich
Inkrementgeber zum Erfassen von Veränderungen der Werte der rotatorischen
Koordinaten α1, α2 hätte.
Es wäre
dann eine Referenzfahrt zu Referenzmarken mit bekannter Position
im Raum notwendig.
-
Im
Bereich des Greifarms 10 sind störende Gegenstände 64,
und zwar im vorliegenden Beispiel Stangen, angeordnet (5).
Die vertikale Ausdehnung wird als unendlich betrachtet. Eine dritte
und eine vierte Achse des Roboters und ein am Tool-Center-Point
(TCP) befestigter Pfeil werden in der hier beschriebenen Näherung nicht
betrachtet. Die Verallgemeinerung der erfindungsgemäßen Lösung auf
die Betrachtung von mehr als zwei Achsen A1, A2 ist für den Fachmann
aber nahe liegend und offensichtlich.
-
Die
Steuereinheit 12 umfasst eine Speichereinheit 30 zum
Speichern einer Landkarte 32, in der zumindest eine Störkontur 34 verzeichnet
werden kann. Die Speichereinheit 30 ist zum Speichern der Landkarte 32 in
einem achsbezogenen Koordinatensystem vorgesehen. Die Steuereinheit 12 muss
dazu die Konturen der Gegenstände 64 derart
in das achsbezogene Koordinatensystem eintragen, dass eine Kollisionsgefahr
zwischen dem Greifarm 10 und einem der Gegenstände 64 aus
der Landkarte 32 ablesbar ist. Ein Speicherplatz ist für eine binäre 360×360-Matrix
reserviert, die die Landkarte 32 bildet. Hat ein Eintrag
den Wert Null, so liegt der durch den entsprechenden Eintrag repräsentierte
Punkt außerhalb
der Störkontur 34,
anderenfalls liegt der Punkt innerhalb der Störkontur 34 und ist
daher für den
Greifarm 10 ohne Kollision mit einem Gegenstand 64 nicht
erreichbar. Die Genauigkeit der Karte, bestimmt durch die Schrittweite
der Karte, entspricht der Genauigkeit der Posen-Bestimmung des Roboters
bzw. vice versa. Die Steuereinheit 12 misst den Wert der
Koordinaten α1, α2 bzw. Winkel und liest den der Pose durch
die ganzzahligen Indizes der Matrix zugeordneten Wert aus der Speichereinheit 12 aus. Die
Matrix bildet daher eine diskrete, zweidimensionale Landkarte 32,
die jeder Pose bzw. jedem Wertepaar der Koordinaten α1, α2 ein
Indexpaar und dadurch einen Wert zuordnet.
-
Es
wären weitere
Ausgestaltungen der Erfindung denkbar, bei denen die Landkarte mehr-,
insbesondere dreidimensional ist, der Wertebereich der Landkarte 32 mehr
als zwei Elemente hat und/oder in denen der einer Pose zugeordnete
Wert beispielsweise eine Kenngröße für eine Entfernung
zur nächsten
Störkontur 34 ist.
Ferner ist es natürlich
denkbar, die Schrittweite der Diskretisierung der Landkarte 32 kleiner
oder größer als
1° zu wählen.
-
Die 1–16 zeigen
mehrere alternative Ausgestaltungen der Erfindung. Funktionsgleiche Merkmale
sind mit gleichen Bezugszeichen versehen. Die Beschreibung geht
jeweils insbesondere auf Unterschiede zu den zuvor beschriebenen
Ausführungsbeispielen
ein, während
im Hinblick auf gleich bleibende Merkmale auf die Beschreibung zu
den zuvor beschriebenen Ausführungsbeispielen
verwiesen wird.
-
2 zeigt
einen Roboter in einer alternativen Ausgestaltung der Erfindung,
in der der Greifarm 10 hier nur skizzenhaft dargestellte-Sensoren 46–46''' zum
Erkennen einer Störkontur 34 umfasst. Die
Sensoren 46–46''' sind
als induktive Näherungssensoren
ausgebildet.
-
In
einem Initialisierungsvorgang nutzt die Steuereinheit 12 zum
Generieren der Landkarte 32 ein auf wenige Parameter beschränktes Modell
für eine
Außenkontur 58 eines
Greifarms 10. Es sind verschiedene Modelle denkbar, die
in den 1–4 schematisch
dargestellt sind und im Folgenden erläutert werden.
-
In
einer realistischen Implementierung des Modells, die hier nicht
explizit dargestellt ist, nähert das
Steuerprogramm die Außenkontur 58 bzw.
das Volumen des Greifarms 10 durch Massepunkte bzw. Voxel
oder Finite Elemente. Wegen der notwendigen hohen Zahl von Massepunkten
ist der Rechenaufwand zur Erstellung der Landkarte 32 sehr
hoch und erfordert zudem eine ähnlich
aufwändige
Modellierung der Gegenstände 64 im
Bereich des Greifarms 10. Daher werden im Folgenden Modelle
beschrieben, die einen im Vergleich zur Modellierung durch Massepunkte
verringerten Rechenaufwand erfordern.
-
In
einer ersten Implementierung eines Steuerprogramms stellt das Modell
die Außenkontur 58 des
Greifarms 10 durch zwei Linien 48, 50 dar,
die jeweils einen Armteil 6O, 62 des Greifarms 10 abbilden.
Die Koordinaten der Endpunkte der Linien 48, 50 können bei
Kenntnis der Längen
der Linien 48, 50 und der rotatorischen Koordinaten α1, α2 trigonometrisch
berechnet werden. Da eine Breite des Greifarms 10 bzw.
der Armteile 60, 62 in dem Modell nicht berücksichtigt
ist, müssen
zur sicheren Vermeidung von Kollisionen Sicherheitszonen zwischen
den Linien 48, 50 und den durch Randkonturen beschriebenen
Gegenständen 64 berücksichtigt
werden, die wenigstens so groß sind
wie der maximale Abstand der Außenkontur 58 von
den Linien 48, 50.
-
Eine
aus der Störkontur-Konstellation
gemäß 5 resultierende
Landkarte 32 gemäß der ersten
Implementierung ist in 6 dargestellt. Die in 5 links
vom Roboter angeordneten Gegenstände 64 erzeugen
eine gemeinsame Zusammenhangskomponente der Störkontur 34. Der zentral
vor dem Roboter angeordnete Gegenstand blockiert einen Winkelbereich
bezüglich
der ersten rotatorischen Koordinate α1. Links
und rechts aus diesem Winkelbereich heraus ragende Ausbuchtungen
sind dadurch bedingt, dass ein hinteres Ende des vorderen Armteils 62 des
Greifarms 10 gegen den Gegenstand stößt. Ein rechts vom Roboter
radial weiter entfernt angeordneter Gegenstand erzeugt eine dritte,
inselartige Zusammenhangskomponente der Störkontur 34.
-
In
einer zweiten Implementierung eines Steuerprogramms stellt das Modell
bzw. die Steuereinheit 12 die Außenkontur 58 des Greifarms 10 durch
sieben verschieden große
Kreise 56 dar (2). Die Flächen der Kreise 56 überdecken
die Außenkontur 58 vollständig. Die
Koordinaten der Mittelpunkte der Kreise 56 liegen auf den
Linien 48, 50 (1) und werden
bei Kenntnis der Längen
der Linien 48, 50 und der rotatorischen Koordinaten α1, α2 trigonometrisch
berechnet. Die Konturen der Gegenstände 64 werden in gleicher
Weise durch Kreise überdeckt.
Zum Berechnen der Landkarte 32 überprüft die Steuereinheit 12 zu
jedem Wertepaar der Koordinaten α1, α2, ob einer der den Greifarm 10 überdeckenden
Kreise 56 einen der die Gegenstände 64 überdeckenden
Kreise schneidet. Ist dies der Fall, so trägt die Steuereinheit 12 einen
Punkt der Störkontur 34 in
die Landkarte 32 ein.
-
In
einer dritten Implementierung eines Steuerprogramms stellt das Modell
bzw. die Steuereinheit 12 die Außenkontur 58 des Greifarms 10 durch
zwei Polygone 52, 54 dar (3), und
zwar durch Rechtecke, die jeweils einen der Armteile 60, 62 überdecken
und den entsprechenden Armteil 60, 62 repräsentieren.
Die 16 Randlinien der beiden Polygone 52, 54 werden
zum Generieren der Landkarte 32 ebenso wie die Randlinien
der Gegenstände 64 im
Bereich des Greifarms 10 von der Steuereinheit 12 durch
Geraden dargestellt und durch die beiden Koordinaten α1, α2 und
durch zwei Längen
und zwei Breiten parametrisiert. Zwei weitere Parameter beschreiben
die Lage der Achsen A1, A2 innerhalb der Polygone 52, 54.
Insgesamt ergeben sich demnach weniger als 20 Parameter des Modells.
Zum Generieren der Landkarte 32 überprüft die Steuereinheit 12 zu
jedem Wertepaar der Koordinaten α1, α2, ob und in welchem Punkt eine der Randlinien
der Polygone 52, 54 eine der Randlinien der Gegenstände 64 schneidet.
Liegt der Schnittpunkt jeweils zwischen den Endpunkten der Randlinien,
so trägt
die Steuereinheit 12 an der entsprechenden Pose einen Punkt
der Störkontur 34 in
die Landkarte 32 ein.
-
7 zeigt
eine gemäß der dritten
Implementierung gewonnene Landkarte 32 mit einer Störkontur 34.
Inselartige, freie Einschlüsse
in der Störkontur 34 resultieren
daraus, dass die Polygone 52, 54 im mathematischen
Modell einen Gegenstand 64 umschließen, so dass keine der Randlinien
der Polygone 52, 54 eine der Randlinien des Gegenstands 64 schneidet.
Die entsprechenden Posen sind in der Realität für den Greifarm 10 nicht
zugänglich.
-
In
einer vierten Implementierung eines Steuerprogramms stellt das Modell
die Außenkontur 58 des
Greifarms 10 durch zwei Polygone 52', 54' dar (4), und
zwar durch ein Rechteck 52' und
durch ein unregelmäßiges Sechseck 54', das einem
konischen Verlauf des vorderen Armteils 62 Rechnung trägt. Die
Polygone 52', 54' werden analog
zu dem zuvor beschriebenen Ausführungsbeispiel
durch ihre Randlinien beschrieben, und die Landkarte 32 wird durch
die Überprüfung der
Schnittpunkte der Geraden in der oben beschriebenen Weise generiert.
-
In
alternativen Ausgestaltungen der Erfindung können die Außenkontur 58 des Greifarms 10 und
die Konturen der Gegenstände 64 durch
weitere geometrische Formen, beispielsweise Dreiecke, andere Polygone,
Ellipsen oder durch Kombinationen aus solchen elementaren Figuren
modelliert werden. Ein höherer
Detaillierungsgrad des Modells kann insbesondere für die vorderen
Bereiche des Greifarms 10 in der Nähe des Tool-Center-Points lohnenswert sein.
-
Die
Steuereinheit 12 ist durch eine implementierte Steuerungssoftware
dazu ausgelegt, im Betrieb selbsttätig einen Bewegungspfad 36 (7) zwischen
der Anfangspose 14 und der Endpose 16 in Abhängigkeit
von der Landkarte 32 zu generieren.
-
Die
Steuereinheit 12 nutzt dabei die Landkarte 32 bzw.
die in der Landkarte 32 verzeichnete Störkontur 34 und generiert
den Bewegungspfad 36 abhängig von der vorgegebenen Störkontur 34 bzw.
von den Gegenständen 64,
deren Koordinaten entweder manuell eingegeben oder durch den Roboter
selbsttätig über die
Sensoren 46–46''' (2)
erfasst sein können.
-
8 zeigt
einen manuell in Abhängigkeit von
der Landkarte 32 generierten Pfad. Ausgehend von einer
Anfangspose 14 legt ein Programmierer Überschleifpunkte 66, 66' derart in die
freien Bereiche außerhalb
der Störkontur 34,
dass die Verbindungsgeraden zwischen den Überschleifpunkten 66, 66' bzw. zwischen
der Anfangspose 14 und dem ersten Überschleifpunkt 66 oder
dem letzten Überschleifpunkt
und der Endpose 1b vollständig außerhalb der Störkontur 34 liegt.
-
9 zeigt
einen autonom von der Steuereinheit 12 generierten Bewegungspfad 36,
der durch einen Algorithmus mit der Maßgabe maximaler Sicherheit
erzeugt ist. Der Algorithmus basiert darauf, dass sich der erste
Armteil 60 durch Schwenken um die Achse A1 in Schritten,
die der Schrittweite der Landkarte 32 entsprechen, in Richtung
der Endpose 16 bewegt. Die rotatorische Koordinate α2 des
zweiten Armteils 62 wird in jedem Schritt derart eingestellt,
dass der größtmögliche Abstand
zu allen Störkonturen 34 eingehalten
wird. Das Verfahren prüft dazu
die möglichen
Werte der Koordinate α2 bei vorgegebener Koordinate α1 in
einem zusammenhängenden
Bereich, ermittelt den Mittelwert der kollisionsfreien Posen in
diesem Bereich, erhöht
den Wert der Koordinate α1 um 1 und generiert den Bewegungspfad 36 durch
das Setzen von Überschleifpunkten 66.
Für den
Fall, dass der Mittelwert der kollisionsfreien Posen zu stark von
der Koordinate α2 des letzten Überschleifpunkts 66 abweicht,
werden die Fluktuationen auf einen Maximalwert begrenzt o der es
wird ein anderes, dem Fachmann als sinnvoll erscheinendes, intelligentes
Glättungsverfahren
verwendet.
-
Wenn
der Wert der Koordinate α1 dem entsprechenden Wert der Zielpose 16 entspricht,
wird versucht, die Achse A2 in Position zu bringen.
-
10 zeigt
einen autonom von der Steuereinheit 12 generierten Bewegungspfad 36,
der durch einen alternativen Algorithmus nach der Maßgabe minimaler
Strecke erzeugt ist. Dabei wird der Wert der Koordinate α1 ausgehend
von der Anfangspose 14 oder von einem Überschleifpunkt 66 zunächst so weit
wie möglich
in Richtung der Zielpose 16 verschoben. Wenn eine kollisionsverursachende
Pose angetroffen wird, setzt die Steuereinheit 12 einen Überschleifpunkt 66 an
der letzten kollisionsfreien Pose mit dem Wert X der Koordinate α1.
Anschließend
wird der Wert der Koordinate α2 ausgehend von dem Überschleifpunkt 66 so
weit verschoben, bis die Pose mit dem Wert X + 1 bzw. X – 1 der
Koordinate α1 keine Kollision verursacht. Die Steuereinheit 12 setzt
einen Überschleifpunkt 66' an die derart
gefundene Pose, von der aus der Wert X der Koordinate α1 weiter
in Richtung des entsprechenden Werts der Zielpose 16 verschoben
werden kann. Die oben beschriebenen Schritte werden wiederholt,
bis die Achse A1 in Position ist. Anschließend wird versucht, die Achse
A2 in Position zu bringen. Im günstigsten
Fall muss kein einziger Überschleifpunkt
generiert werden.
-
Die
beiden zuletzt beschriebenen Methoden der Pfad-Generierung können durch eine simultane Pfad-Generierung
beschleunigt werden, die gleichzeitig von der Anfangspose 14 und
von der Zielpose 16 startet. Diese Erweiterung ist insbesondere
dann notwendig, wenn sich die Zielpose 16 in der Nähe einer
Störkontur 34 befindet.
-
11 zeigt
in einer schematisierten Weise eine alternative Ausgestaltung der
Steuerungssoftware, die zwischen einem kritischen Bereich 38 der Landkarte 32 und
einem unkritischen Bereich 40 der Landkarte 32 unterscheidet.
Hierbei ist die Steuereinheit 12 derart programmiert, dass
sie die Landkarte 32 zum Generieren des Bewegungspfads 36 in
zwei Bereiche 38, 40 mit unterschiedlicher Detailgenauigkeit
aufteilt. Ein erster, kritischer Bereich 38 weist eine
hohe Flächendichte
der Randlinien der Störkontur 34 auf,
während
ein zweiter Bereich 40 frei von Störkonturen 34 ist.
-
Die
Steuereinheit 12 teilt die Landkarte 32 zum Generieren
des Bewegungspfads 36 in mehrere Unterkarten 42–42''' mit
vorgegebenen Pfad-Teilen 44 auf. Die Unterkarten 42–42''' sind
jeweils rechteckig und ihre Größe hängt von
dem Bereich 38, 40 ab, in dem sie angeordnet sind.
Zur Illustration des Verfahrens sind vier der Unterkarten 42–42''' mit
römischen
Ziffern XII–XV
markiert und in den 12–15 detailliert
dargestellt.
-
12 zeigt
eine erste Unterkarte 42 der Landkarte 32, die
frei von Störkonturen 34 ist.
Die Pfad-Teile 44 verbinden jeweils die Eckpunkte der Unterkarte 42 entlang
eines Rands der Unterkarte 42 miteinander.
-
Eine
in 13 dargestellte Unterkarte 42' zeigt eine
an einem linken Rand in die Unterkarte 42' hinein ragende Störkontur 34.
Die Start- und Zielpunkte der vorgegebenen Pfad-Teile 44 liegen
außerhalb
der Störkontur 34 auf
einem unregelmäßigen Viereck
auf dem Rand der Unterkarte 42'.
-
Eine
weitere, in 14 dargestellte Unterkarte 42'' zeigt einen Abschnitt der Störkontur 34, welche
die Unter karte 42'' durch einen
vertikalen, für den
Greifarm 10 nicht zugänglichen
Streifen in zwei Teile aufteilt. Eine erste Gruppe von Start- und
Zielpunkten ist auf einem unregelmäßigen Viereck am Rand des ersten
Teils der Unterkarte 42'' angeordnet und
eine zweite Gruppe von Start- und Zielpunkten ist auf einem Dreieck
am Rand des zweiten Teils der Unterkarte 42'' angeordnet.
Es ergeben sich sieben Teil-Pfade 44, die Start- und Zielpunkte
jeweils innerhalb einer Gruppe entlang des Rands des Vierecks bzw.
des Dreiecks miteinander verbinden.
-
Eine
in 15 dargestellte Unterkarte 42''' wird
an zwei Stellen von einer Störkontur 34 geprägt, und
zwar von einem ersten, an einer linken oberen Ecke in die Unterkarte 42''' hinein
ragenden Teil der Störkontur 34 und
einen zweiten, als Spitze in die Unterkarte 42''' hinein
ragenden Teil der Störkontur 34. Insgesamt
sieben Start- und Zielpunkte sind durch Teil-Pfade 44 paarweise
miteinander verbunden.
-
In 16 zeigt
eine alternative Möglichkeit zur
Pfadgenerierung aus einer Landkarte 32, in der zwischen
kritischen und unkritischen Bereichen unterschieden wird. Die Steuereinheit 12 unterteilt
die Landkarte 32 in Rechtecke mit unterschiedlichen Größen. Die
Rechtecke sind jeweils frei von der Störkontur 34. In 16 sind
sechs solcher Rechtecke mit römischen
Ziffern I–VI
bezeichnet. Die Aufteilung der Landkarte 32 in die Rechtecke
erfolgt durch aus der Bildverarbeitung bekannte Such-Einlegeverfahren.
-
Zum
Erzeugen des Bewegungspfads 36 nutzt die Steuereinheit 12 folgende
Verhaltensregeln:
Innerhalb eines Rechtecks kann eine direkte Point-to-Point (PTP)-Bewegung
erfolgen. Wenn beispielsweise eine Pose im Rechteck I erreicht wird und
sich die Endpose 16 ebenfalls im Rechteck I befindet, kann
sich der Greifarm 10 ohne weitere Überschleifpunkte zu der Endpose 16 bewegen.
-
Zwei
benachbarte Rechtecke mit einer gemeinsamen Seite können hinsichtlich
der vorhergehenden Verhaltensregel immer als ein Rechteck betrachtet
werden. Wenn beispielsweise eine Pose im Rechteck II erreicht wird
und sich die Endpose 16 im Rechteck V befindet, kann sich
der Greifarm 10 ohne weitere Überschleifpunkte in die Endpose 16 bewegen.
-
Befindet
sich keine Störkontur 32 im
Arbeitsraum, kann ein einziges Rechteck gebildet werden.
-
Durch
die Aufteilung der Landkarte 32 in Unterkarten 42–42''' bzw.
durch die Einteilung in kritische und unkritische Bereiche 38, 40 kann
der Landkarte 32 eine zur Pfadgenerierung erforderliche
Information besonders schnell entnommen werden.
-
In
einer alternativen Ausgestaltung der Erfindung wird der Roboter
nicht von einer integrierten Steuereinheit 12 gesteuert,
sondern von einer externen, als universell programmierbarer Computer
ausgebildeten Recheneinheit. Die Recheneinheit nutzt Verfahren zum
Steuern einer Bewegung des Roboters zwischen einer Anfangspose 14 und
einer Endpose 16 in wenigstens zwei Bewegungsfreiheitsgraden α1, α2,
wobei ein Bewegungspfad 36 zwischen der Anfangspose 14 und
der Endpose 16 von der Recheneinheit generiert wird.
-
Beim
Generieren des Bewegungspfads 36 nutzt die Recheneinheit
in der oben beschriebenen Weise eine Landkarte 32, in der
zumindest eine Störkontur 34 verzeichnet
ist.
-
- 10
- Greifarm
- 12
- Steuereinheit
- 14
- Anfangspose
- 16
- Endpose
- 22
- Sockel
- 24
- Gelenk
- 26
- Absolutwert-Geber
- 28
- Absolutwert-Geber
- 30
- Speichereinheit
- 32
- Landkarte
- 34
- Störkontur
- 36
- Bewegungspfad
- 38
- Bereich
- 40
- Bereich
- 42
- Unterkarte
- 44
- Pfad-Teil
- 46
- Sensor
- 48
- Linie
- 50
- Linie
- 52
- Polygon
- 54
- Polygon
- 56
- Kreis
- 58
- Außenkontur
- 60
- Armteil
- 62
- Armteil
- 64
- Gegenstand
- 66
- Überschleifpunkt
- α1
- Koordinate
- α2
- Koordinate
- A1
- Achse
- A2
- Achse
- X
- Wert