-
Die
vorliegende Erfindung betrifft ein Verfahren und eine Vorrichtung
zur Eigenkollisionsüberwachung eines Manipulators, insbesondere
eines Roboters.
-
Zur
Fremdkollisionsüberwachung, i. e. der Überwachung
eines Manipulators auf Kollision eines seiner Glieder mit manipulatorfremden
Objekten, beispielsweise Gliedern eines anderen Manipulators, Hindernissen
in einem Arbeitsraum oder dergleichen, ist es, beispielsweise aus
der
DD 293 302 A5 ,
bereits bekannt, ein Glied des Manipulators sowie ein Hindernis
virtuell mit je einem geometrischen Körper zu umhüllen
und den Abstand dieser beiden geometrischen Körper zueinander
zu überwachen.
-
Bei
der Eigenkollisionsüberwachung eines Manipulators, i. e.
der Überwachung eines Manipulators auf Kollision eines
seiner Glieder mit einem anderen Glied desselben Manipulators wird
hingegen bislang anders vorgegangen, da hier die Konturen der Manipulatorglieder
relativ zueinander vorab exakt bestimmbar sind.
-
Ein
Ansatz besteht darin, bei einem CAD-Modell des Manipulators die
Stellungen der einzelnen Glieder zu variieren und jeweils zu prüfen,
ob eine Kollision auftritt. Nachteilig müssen hier jedoch aufgrund
der meist sehr komplexen, nicht-glatten Außenkonturen der
einzelnen Glieder, die eine mathematisch geschlossene Abstandsbestimmung
aufwändig oder unmöglich machen, die Manipulatorposen,
gegebenenfalls iterativ, variiert werden, was den Aufwand mit zunehmender
Gelenkanzahl des Manipulators entsprechend erhöht und insbesondere
eine online-Eigenkollisionsüberwachung ausschließt.
-
Ein
anderer Ansatz besteht darin, an Stelle der tatsächlichen
Außenkonturen der einzelnen Glieder die kinematische Skelettlinie
des Manipulators, wie sie sich beispielsweise aus der Denavit-Hartenberg-Beschreibung
ergibt, zu betrachten, für die eine Kollision einzelner
Skelettglieder einfach überprüfbar ist. Um dabei
die tatsächlichen Außenkonturen zu berücksichtigen,
werden hier entsprechende Mindestabstände der Skelettglieder
gefordert. Damit werden hier die Bewegungsmöglichkeiten
des Manipulators nicht optimal ausgenutzt.
-
Aufgabe
der vorliegenden Erfindung ist es daher, eine Eigenkollisionsüberwachung
eines Manipulators zu verbessern.
-
Diese
Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs
1 gelöst. Anspruch 9 stellt eine Vorrichtung, Anspruch
10 bzw. 11 ein Computerprogramm bzw. ein Computerprogrammprodukt zur
Durchführung eines Verfahrens nach Anspruch 1 unter Schutz.
Die Unteransprüche betreffen vorteilhafte Weiterbildungen.
-
Nach
einem erfindungsgemäßem Verfahren zur Eigenkollisionsüberwachung
eines Manipulators, insbesondere eines Industrie-, Tele-, Leichtbau-
oder sonstigen Roboters, i. e. zur Überwachung einer Kollision
zwischen einem ersten Glied und einem zweiten Glied desselben Manipulators,
werden ein erster geometrischer Körper, der virtuell das
erste Glied umhüllt, und ein zweiter geometrischer Körper,
der virtuell das zweite Glied umhüllt, bestimmt. Dies kann, beispielsweise
zur Festlegung von mechanischen oder Software-Anschlägen
oder bei einer offline-Bahnplanung, vorab oder gleichermaßen,
beispielsweise zur online-Eigenkollisionsüberwachung während
eines Handfahrbetriebes oder bei wechselnden bewegten Nutzlasten,
während des Betriebs erfolgen.
-
Nun
kann bestimmt werden, ob der Abstand zwischen dem ersten und dem
zweiten geometrischen Körper einen vorgegebenen Grenzwert
unterschreitet. Ist dieser Grenzwert gleich Null, entspricht ein
Unterschreiten einer gegenseitigen Durchdringung der beiden geometrischen
Körper und zeigt somit eine potentielle Eigenkollision
des Manipulators mit sich selber an. In diesem Fall kann bevorzugt
ein Steuersignal ausgegeben werden, welches beispielsweise ein Stopp-Signal
auslöst, ein Signal zur Weiterverarbeitung an eine übergeordnete
Steuerung meldet und/oder eine Fehlermeldung auf einer Anzeigevorrichtung,
in einem Protokoll oder dergleichen bewirkt. Durch Grenzwerte größer
Null können entsprechende Sicherheitsreserven vorgegeben werden.
-
Das
erfindungsgemäße Verfahren stellt damit einen
optimalen Kompromiss zwischen den bisher eingesetzten Ansätzen
dar: einerseits werden durch die geometrischen Körper im
Gegensatz zum Skelettlinienverfahren die tatsächlichen
Gliedkonturen genauer approximiert. Auf der anderen Seite ist die
Abstandsbestimmung bzw. Kollisionsüberwachung für
umhüllende geometrische Körpern einfacher als
für die Glieder mit ihrer teilweise sehr komplexen Außenkontur
selber. Durch die umhüllenden Körper kann vorteilhaft
auch kleineren, hervorstehenden Anbauten an den Gliedern, beispielsweise Schraubenköpfen,
Antriebsgehäusen oder dergleichen Rechnung getragen werden.
Insbesondere können hierdurch auch flexible Manipulatorelemente ohne
starre Kontur wie beispielsweise Schläuchen, Leitungen,
Antennen, sich bewegende Nutzlasten und dergleichen berücksichtigt
werden.
-
Bevorzugt
umfasst ein geometrischer Körper einen oder mehrere geometrische
Elementarkörper, insbesondere eine oder mehrere Kugeln,
Zylinder, Kegel, Kegelstümpfe und/oder Polyeder wie beispielsweise
Quader, Prismen, Pyramiden, Parallelepipede oder dergleichen. Dies
vereinfacht die Bestimmung des Abstandes zwischen den beiden geometrischen
Körpern. Besonders bevorzugt besteht ein geometrischer
Körper aus einem oder mehreren solcher geometrischer Elementarkörper.
-
Ganz
allgemein kann sich der Abstand zwischen zwei geometrischen Körpern
als Betrag der kürzesten Strecke ergeben, die auf den Außenflächen
der beiden Körper senkrecht steht, wobei Strecken, die
durch eine Spitze gehen, als senkrecht zu dieser Spitze gelten.
Für Elementarkörper können die Abstände
häufig mathematisch geschlossen angegeben werden. So entspricht
der Abstand zwischen zwei Kugeln mit den Radien R1 und R2 dem Abstand
der Kugelmittelpunkte abzüglich dieser beiden Radien. Vorteilhaft
kann der Abstand zwischen zwei parametrisierten Elementarkörpern
durch Lösen eines Gleichungssystems für die die
Außenfläche der Körper beschreibenden
Parameter bestimmt werden, das sich aus der Forderung ergibt, dass
der Normalenvektor auf der einen Außenfläche senkrecht
auf zwei nichtparallelen Tangentialvektoren der anderen Außenfläche
steht, wie dies in T. Meitinger, Dynamik automatisierter
Montageprozesse, VDI-Verlag 1998 beschrieben wird, dessen
Inhalt diesbezüglich ausdrücklich in die vorliegende
Anmeldung einbezogen wird.
-
Ein
Glied des Manipulators, für das die erfindungsgemäße
Eigenkollisionsüberwachung durchgeführt wird,
kann insbesondere ein Grundgestell, welches beispielsweise inertial
fest oder auf einem Portal verschiebbar geführt sein kann,
ein, insbesondere drehbar mit einem solchen Grundgestell verbundenes,
Karussell, eine, insbesondere drehbar hiermit verbundene, Schwinge,
ein Arm, eine Hand, ein Werkzeug, eine gegriffene Nutzlast wie ein
Werkstück oder eine beförderte Person, oder ein
Antrieb eines Manipulators sein. Es können auch mehrere solcher
Komponenten zusammen ein Glied bilden, beispielsweise ein Arm, damit
verbundene Antriebe, Schläuche, Leitungen, Sensoren und
dergleichen. Auf diese Weise kann auch für komplexere Glieder, beispielsweise
geometrisch aufwändig gestaltete Schwingen, auf einfache
Weise eine Kollisionsüberwachung realisiert werden.
-
Der
zugeordnete geometrische Körper kann das Glied derart umhüllen,
dass kein Teil des Gliedes über eine Außenfläche
des geometrischen Körpers hervorragt. Dadurch ist sichergestellt,
dass das umhüllte erste und zweite Glied nicht miteinander
kollidieren, solange die sie umhüllenden geometrischen Körper
eine Abstand aufweisen, der größer oder gleich
Null ist.
-
Der
geometrische Körper kann in einer vorgegebenen Position
relativ zu dem zugeordneten Glied des Manipulators angeordnet werden,
so dass er sich bei Bewegung des Gliedes mit diesem mitbewegt. Vorteilhaft
kann hierzu der geometrische Körper virtuell in dem Gelenkpunkt
des Gliedes, in dem dieses mit einem ihm vorhergehenden Glied des
Manipulators verbunden ist, aufgehängt werden. So bewegt
sich beispielsweise ein Kegelstumpf, der eine Schwinge eines Roboters
umhüllt, und dessen Grundfläche in derjenigen
Ebene angeordnet ist, in der die Drehachse der Schwinge gegen das
Karussell liegt, mit der Schwinge mit. Als Position wird vorliegend
die Lage und/oder Orientierung eines Koordinatensystems bezeichnet,
bezüglich dessen der geometrische Körper definiert
ist. Ein solches Koordinatensystem kann beispielsweise im Mittelpunkt
einer Kugel, in der Grundfläche, der Mitte oder der Spitze eines
Kegels oder dergleichen liegen.
-
Gleichermaßen
kann der geometrische Körper auch in einer vorgegebenen
Position relativ zu einem dem zugeordneten Glied des Manipulators
kinematisch vorhergehenden Glied des Manipulators angeordnet werden.
So kann beispielsweise eine Kugel, die eine Hand eines Roboters
umhüllt, auch fest an einer Handwurzel des Roboters angeordnet
werden. In diesem Fall wird der geometrische Körper vorteilhafterweise
so bestimmt, dass er das zugeordnete Glied des Manipulators in verschiedenen
Positionen des Gliedes umhüllt. Im Beispiel kann etwa die Kugel,
die an der Handwurzel angeordnet ist, so groß gewählt
werden, dass sich die Hand mit Werkzeug unabhängig von
der Stellung des Handgelenkes stets innerhalb der Kugel befindet.
-
Bevorzugt
ist die Kontur eines geometrischen Körpers veränderbar.
Hierdurch können sich ändernde Positionen des
zugeordneten Gliedes berücksichtigt werden. Wird beispielsweise
als geometrischer Körper für ein Werkzeug ein
Kegel gewählt, dessen Spitze im Brennpunkt einer Laserfokussieroptik
des Werkzeuges liegt, kann der Öffnungswinkel des Kegels
und die Position der Kegelspitze in Abhängigkeit von der
Brennweite und Blendenöffnung der Optik verändert
werden. Die Kontur des geometrischen Körpers kann auch
in Abhängigkeit von der Position oder dem Zustand des zugeordneten
Gliedes verändert werden. So kann etwa der Radius einer
Kugel, die einen Greifer sowie eine von diesem gegriffene Nutzlast
umhüllt, in Abhängigkeit von der Position und
Größe der gegriffenen Nutzlast verändert
werden. Gleichermaßen ist es auch möglich, die Kontur
des umhüllenden geometrischen Körpers proportional
zu vergrößern, wenn der Manipulator sich schneller
oder bei erhöhten Sicherheitsanforderungen bewegt, um so
eine Eigenkollision stets in Abhängigkeit von einem Bremsweg
und damit rechtzeitig zu erkennen.
-
Dies
kann gleichermaßen auch dadurch berücksichtigt
werden, dass der vorgegebene Grenzwert veränderbar ist,
also beispielsweise vergrößert wird, wenn der
Manipulator bei höheren Geschwindigkeiten überwacht
wird.
-
Die
Eigenkollisionsüberwachung kann für zwei oder
mehr Glieder des Manipulators durchgeführt werden. Vorteilhafterweise
werden dabei nur diejenigen Glieder auf Kollision miteinander überwacht,
i. e. bestimmt, ob ihr Abstand einen vorgegebenen Grenzwert unterschreitet,
die bauartbedingt, beispielsweise aufgrund mechanischer Anschläge, miteinander
kollidieren können.
-
Weitere
Vorteile und Merkmale ergeben sich aus den Unteransprüchen
und den Ausführungsbeispielen. Hierzu zeigt, teilweise
schematisiert:
-
1:
einen Roboter während einer Eigenkollisionüberwachung
nach einer Ausführung der vorliegenden Erfindung; und
-
2:
den Ablauf der Eigenkollisionüberwachung in 1.
-
1 zeigt
einen Roboter während einer Eigenkollisionüberwachung
nach einer Ausführung der vorliegenden Erfindung, deren
Ablauf in 2 dargestellt ist. Er umfasst
ein Grundgestell 1, auf dem drehbar ein Karussell 2 gelagert
ist. In einer Steuerung 1.1 ist in nicht näher
dargestellter Weise eine Vorrichtung zur Durchführung der
Eigenkollisionüberwachung implementiert.
-
An
dem Karussell 2 ist drehbar eine Schwinge 3 angeordnet,
an der wiederum drehbar ein Arm 4 befestigt ist, der mittels
eines Antriebs 4.1 gegen die Schwinge 3 bewegbar
ist. Dieser trägt an seiner Handwurzel eine Hand 5,
die mittels an einer dieser Handwurzel gegenüberliegenden
hinteren Stirnseite angeordneten Antrieben um eine Längsachse
um die Handwurzel und eine hierzu senkrechte fünfte Handachse
rotiert werden kann und einen Tool Center Point, in dem ein (nicht
dargestelltes) Werkzeug aufgenommen sein kann, um eine zur fünften
Handachse senkrechte sechste Handachse gegenüber der Hand 5 verdrehen
kann.
-
In 1 ist
strichliert eine kinematische Skelettlinie D eingezeichnet, die
gemäß der Denavit-Hartenberg-Konvention die Kinematik
des Roboters beschreibt. Wie insbesondere hieraus erkennbar, besteht
bei dem Roboter die Gefahr einer Eigenkollision zwischen der Hand 5 und
dem Karussell 2, falls der Arm 4 in eine zur Schwinge 3 parallele
Stellung gedreht wird. Dabei hängt die Stellung der dritten
Achse zwischen Schwinge 3 und Arm 4, bei der es
zu einer Kollision zwischen der Hand 5 und dem Karussell 2 kommt,
vom Abstand des Tool Center Points TCP zu dem Karussell 2 ab.
-
Dieses
weist, wie aus 1 ersichtlich, eine sehr komplexe
Trillerpfeifengestalt auf, wobei in dem der Drehachse der Schwinge
abgewandten Bereich eine Aussparung zur Aufnahme des Karussellantriebs,
in dem Bereich des Schwingengelenkes auf der der Schwinge 3 gegenüberliegenden
Seite eine Aussparung zur Aufnahme des Schwingenantriebes ausgebildet
ist. Aufgrund dieser komplexen Außenkontur des Karussells 2 und
der ebenfalls komplexen Geometrie eines beispielsweise im TCP arbeitenden Greifes
(nicht dargestellt) wäre eine Eigenkollisionsüberwachung
anhand der CAD-Daten dieser Glieder sehr aufwändig.
-
Bei
einer Eigenkollisionsüberwachung nach einer Ausführung
der vorliegenden Erfindung wird daher in einem ersten Schritt S10
ein erster geometrischer Körper, im Ausführungsbeispiel
ein virtueller Kegelstumpf U2 bestimmt, der das zugeordnete Karussell 2 umhüllt.
Hierzu wird ein Referenzkegelstumpf generiert und seine Position,
i. e. die Lage und Orientierung eines Koordinatensystems K2, in dem
der Kegelstumpf definiert ist, sowie seine Höhe, der Radius
seiner Grundfläche und sein Kegelwinkel solange iterativ
variiert, bis der Kegelstumpf U2 die Schwinge 1 gerade
noch umhüllt. Hierzu kann beispielsweise der Ursprung des
Koordinatensystems K2 zunächst in den aus den CAD-Daten
bekannten Schwerpunkt der Schwinge gelegt werden, so dass die Längsachse
des Kegelstumpfes U2 parallel zu einer Trägheitshauptachse
der Schwinge liegt, anschließend der Kegelstumpf virtuell „aufgeblasen” werden,
bis er die Schwinge vollständig umhüllt, und anschließend
iterativ abwechseln die Lage und/oder Orientierung des Koordinatensystems
und die Höhe, Grundfläche und/oder der Kegelwinkel
des Kegelstumpfs variiert werden.
-
Auf ähnliche
Weise wird im Schritt S10 ein zweiter geometrischer Körper,
im Ausführungsbeispiel eine virtuelle Kugel U5, bestimmt,
die die zugeordnete Hand 5 des Roboters umhüllt.
Dabei wird der Kugelmittelpunkt K5 fest relativ zum Arm 4 des
Roboters im Schnittpunkt der fünften und sechsten Handachse
verankert und der Radius der Kugel U5 solange verändert,
bis die Kugel 5 die Hand 5 in allen einnehmbaren
Stellungen umhüllt und dabei einen minimalen Radius aufweist.
-
Auf
analoge Weise können auch für die weiteren Glieder
1, 3 und 4 des Roboters im Schritt S10 virtuelle Körper
bestimmt werden (nicht dargestellt).
-
Anschließend
wird in einem Schritt S20 ein Kennzeichner A auf einen Wert „0” gesetzt,
der Kollisionsfreiheit anzeigt. Nun wird in einem Schritt S30 für
alle Kombinationen der vorab bestimmten virtuellen Körper,
beispielsweise den Kegelstumpf U2 und die Kugel U5, der minimale
Abstand d(U2, U5) bestimmt und geprüft, ob dieser Abstand
einen vorgegebenen Grenzwert dmin ≥ 0 unterschreitet. In
der gezeigten Pose der 1 ergibt sich als Abstand d zwischen
Kugel U5 und Kegelstumpf U2 die Länge der kürzesten
Strecke, die sowohl auf der Außenfläche der Kugel
U5 als auch des Kegelstumpfes U2 senkrecht steht. Allgemein ergibt
sich der Abstand geometrischer Körper als Hüllabstand
mit der kürzesten Strecke bzw. als Länge der zueinander ausgerichteten
Flächennormalen, die den jeweils anderen geometrischen
Körper schneidet.
-
Wird
der Grenzwert dmin für wenigstens eine Kombination unterschritten,
wird in einem Schritt S40 der Kennzeichner A auf einen Wert „1” gesetzt,
der eine Kollision anzeigt, so dass entsprechende Maßnahmen
ergriffen werden, etwa Stillsetzen des Roboters bei einer online-Eigenkollisionsüberwachung oder
Umplanung der Bahn bei einer offline-Eigenkollisionsüberwachung
während einer Vorab-Bahnplanung. Allgemein kann ein Steuersignal
ausgegeben werden, welches beispielsweise ein Stopp-Signal auslöst,
ein Signal zur Weiterverarbeitung an eine übergeordnete
Steuerung meldet und/oder eine Fehlermeldung auf einer Anzeigevorrichtung,
in einem Protokoll oder dergleichen bewirkt (nicht dargestellt). Andernfalls
kehrt die Eigenkollisionsüberwachung zu Schritt S20 zurück
und beginnt die Durchprüfung der Kombinationen in Schritt
S30 erneut.
-
Um
beispielsweise längeren Bremswegen bei höheren
Fahrgeschwindigkeiten Rechnung zu tragen, kann beispielsweise der
Grenzwert dmin in Abhängigkeit von der Fahrgeschwindigkeit
des Roboters variiert werden.
-
Um
beispielsweise auch ein Werkzeug des Roboters, etwa einen im TCP
fokussierten Laserstrahl zu berücksichtigen und eine Eigenkollision
dieses Laserstrahls mit dem Roboter selber zu vermeiden, kann der
Radius der Kugel 5 oder ein Doppelkegel (nicht dargestellt),
dessen Spitze im Brennpunkt des Laserstrahls liegt, und dessen Längsachse
kollinear zu dem Strahl ist, entsprechend der für den Roboter
gefährlichen Strahlungsenergie des Laserstrahls variiert
werden.
-
Ein
besonderer Vorteil der vorliegenden Erfindung wird deutlich, wenn
beispielsweise auf dem Karussell flexible Leitungen, Schläuche
oder dergleichen befestigt sind, deren genaue Lage in CAD-Daten
aufgrund ihrer elastischen Bewegungen während der Bewegung
des Roboters nicht bekannt ist. Hier kann beispielsweise ein virtueller
Zylinder um die Referenzlage einer solchen Leitung gelegt und mit
dem Kegelstumpf U2 zu dem die Schwinge und den Schlauch umhüllenden
geometrischen Körper kombiniert werden, wobei der Radius
dieses Zylinders so gewählt wird, dass er auch den maximal
ausgelenkten Schlauch noch umhüllt. Ein ähnlicher
Vorteil ergibt sich beispielsweise, wenn der Roboter als Robocoaster
Menschen als Nutzlast befördert, die sich in ihrem Sitz
bewegen. Hier kann die menschliche Nutzlast beispielsweise durch
einen Zylinder approximiert werden, der den Rumpf des größten
zu befördernden Menschen umüllt, wobei die sich
bewegenden Arme und Beine durch an diesem Zylinder befestigte Kugeln
approximiert werden. Dieser virtuelle geometrische Körper
aus Zylinder und Kugeln kann dann analog zur vorstehend beschriebenen
Kugel U5 in dem Sitz des Robocoasters aufgehängt werden,
so dass die Eigenkollisionsüberwachung unabhängig
von der Arm- und Beinstellung der beförderten Person eine Verletzung
durch Glieder des Roboters verhindert.
-
- 1
- Grundgestell
- 1.1
- Steuerung
- 2
- Karussell
- 3
- Schwinge
- 4
- Arm
- 4.1
- Antrieb
- 5
- Hand
- TCP
- Tool
Center Point
- d
- Abstand
U2–U5
- D
- Skelettlinie
- U2
- Kegelstumpf
(erster geometrischer Körper)
- K2
- Koordinatensystem
- U5
- Kugel
(zweiter geometrischer Körper)
- K5
- Kugelmittelpunkt
-
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
-
- - T. Meitinger,
Dynamik automatisierter Montageprozesse, VDI-Verlag 1998 [0012]