-
Die Erfindung betrifft ein Verfahren zur Führung eines
Roboterarms durch Definieren von Ersatzstrecken.
-
Es gibt mehrere Mittel, um die Bewegungen eines aus
gelenkig miteinander verbundenen Teilstücken zusammengesetzten
Roboterarms zu einem zu erreichenden Ziel zu steuern. Die
Bewegungsbefehle können mit der Stimme gegeben werden, durch Drücken
eines Knopfes oder Schwenken eines Hebels. Nach einer anderen
Klassifizierung kann die befohlene Bewegung inkremental sein, das
heißt, daß ein Befehl sich auf eine unveränderliche und bestimmte
Elementarbewegung bezieht und daß man ihn so oft wie nötig
wiederholen muß, um das Ziel zu erreichen, oder proportional zu einer
Zeit sein, das heißt, daß ihre Größe abhängt von der Zeit, während
der das Steuerorgan in einen bestimmten Zustand geschaltet ist.
Schließlich, wenn man einen Hebel verwendet, besteht eine weitere
anwendbare Lösung darin, die Bewegung proportional zu der
Hebelbewegung zu machen. Die Bewegung ist dann positions- oder
geschwindigkeitsgesteuert, d.h. daß der Arm eine Position oder
Geschwindigkeit ein- oder annimmt, die abhängt von der Hebelbewegung.
-
Einer ganz und gar anderen Konzeption entsprechend kann
man noch vorsehen, das zu erreichende Ziel nicht von einer
Anfangsposition aus zu erreichen sondern durch einen definierten
Zielpunkt, indem man mittels Tastatur mit Hilfe einer
Programmiersprache seine Koordinaten einträgt in ein festes Bezugssystem oder
indem man die durch den Roboter im Laufe einer vorausgehenden
Lernphase erreichte Position abspeichert.
-
Auf jeden Fall wird die Bahn bzw. Strecke definiert
durch kartesische Koordinaten, die das Führungssystem des Roboters
umwandeln muß in Rotationsinformationen der Gelenke, die die
verschiedenen Teilstücke des Arms verbinden oder, allgemeiner, in
Bewegungen dieser Gelenke: man versteht hier unter Gelenken jede
Art von Mechanismen, die Roboterarm-Teilstücke verbinden können,
insbesondere die Gleitführungen, außerdem Drehachsen oder
Drehgelenke, die Rotationen ermöglichen. Diese Berechnung entzieht
sich der direkten Steuerung durch den Operator. Da in der Praxis
die Gelenke nur in Stellungen innerhalb von Betriebsbereichen
versetzt werden können, die begrenzt werden durch Endstellungen
bzw. Anschlagstellungen, kommt es häufig vor, daß die direkte
Strecke zwischen der Ausgangsstellung des Roboters und der, die
dem zu erreichenden Ziel entspricht, effektiv nicht durchlaufen
werden kann, da gewisse Gelenke die Anschlagstellung erreichen.
Bei den bis heute bekannten Systemen gibt es kein Mittel, dieser
Schwierigkeit zu begegnen, und der Arm wird gestoppt: der Operator
ist gezwungen, selbst eine Ersatzstrecke zu definieren, die
ermöglicht, den Arm wieder mobil zu machen, indem man ihn von den
Anschlagstellungen entfernt, was langwierig ist und meist schwierig,
wenn die Arm komplex sind. Das britische Patent 2 229 269
beschreibt jedoch - für einen Lemroboter - ein Verfahren, bei dem
die Abschnitte der Strecke, wo Gelenke die Anschlagstellung
erreichen, nicht abgespeichert werden, so daß die bei der Wiedergabe
durchlaufene Strecke diese Abschnitte nicht enthält. Es gibt bei
diesem Verfahren im Gegensatz zur Erfindung keine während des
Durchaufens der Strecke automatisch erstellte Ersatzstrecke.
-
Mit der Erfindung wird versucht, dem Benutzer diese
Mühen zu ersparen: Ersatzstrecken oder reduzierte Strecken, denen
der Arm folgt sobald ein Anschlag von einem der Gelenke ihn daran
hindert, der direkten Strecke zu folgen, werden automatisch
erstellt.
-
Das Patent US-A-4 967 126 beschreibt einen Roboterarm,
abgewinkelt und mit einem Redundanz-Freiheitsgrad versehenen, der
ermöglicht, für eine bestimmte Position des Armendes (das
Handgelenk) den Winkel auf einen beliebigen Punkt eines Kreises zu
setzen, um Hindernisse zu vermeiden.
-
Das Patent EP-A-0 108 549 beschreibt einen Roboterarm,
dessen Gelenke vorher einprogrammierte Drehungen ausführen, wenn
er auf seitliche Hindernisse stößt, was jedoch zu großen
Verschiebungen des Armendes führen kann, die in hindernisreichen
Umgebungen gefährlich oder unerwünscht sind.
-
Erfindungsgemäß wird die Ersatzstrecke definiert durch
Berechnen von theoretischen Zwischenpunkten zwischen durch den Arm
erreichten Positionen und dem zu erreichenden Ziel, sodann der
theoretischen Zwischenstellungen der Gelenke an den theoretischen
Zwischenpunkten, wonach die Gelenke, deren theoretische
Zwischenstellung nicht erreichbar ist, in eine Anschlagstellung
gebracht werden und die anderen Gelenke in eine theoretische
Zwischenstellung, womit man den Arm einen realen Zwischenpunkt
erreichen läßt. Dieses Verfahren wird wiederholt, bis das Ziel
erreicht ist.
-
Das Verfahren kann verfeinert werden, wenn man ein
Kriterium einführt, nach dem die Ersatzstrecke unterbrochen wird,
wenn bestimmte Gelenke getrennt oder gleichzeitig die
Anschlagstellung erreichen. Tatsächlich handelt es sich um ein
Sicherheitskriterium, durch das man Bewegungen vermeidet, die sich zu
weit von der gewünschten Bewegung entfernen unter Bedingungen, die
weder vorgesehen noch gesteuert sind.
-
Ein Roboterarm, bei dem die Erfindung eingesetzt wurde,
umfaßt drei gelenkig verbundene Teilstücke, drehbar in einer
horizontalen Ebene und gemeinsam vertikal verschiebbar, ein viertes
Teilstück, drehbar in einer vertikalen Ebene an einem der drei
vorhergehenden Teilstücke angelenkt, und ein an dem vierten
Teilstück angelenktes Organ, drehbar entsprechend einer
Schwenkbewegung.
-
Es folgt die Beschreibung der Erfindung anhand der
beigefügten, erläuternden und nicht einschränkenden Figuren:
-
- die Figur 1 ist eine Ansicht des kurz beschriebenen
Roboterarms;
-
- die Figur 2 stellt ein Gelenk zwischen zwei Teilstücken des
Roboterarms dar;
-
- die Figur 3 zeigt eine direkte Strecke und eine Ersatzstrecke;
-
- die Figur 4 ist ein Definitionsdiagramm des erfindungsgemäßen
Verfahrens.
-
Der Roboterarm der Figur 1 umfaßt ein festes Gestell 1
und drei kettenartig verbundene Teilstücke 2, 3 und 4. Ein erstes
Teilstück 2 dreht sich in einer horizontalen Ebene, angelenkt mit
einem Ende an einem Schlitten 5 entsprechend einem ersten Gelenk
vertikaler Achse A. Das Teilstück 3 ist mit dem Teilstück 2 an
dessen anderem Ende verbunden durch ein zweites Gelenk vertikaler
Achse B; das dritte Teilstück 3 ist ebenso angelenkt an dem
anderen Ende des zweiten Teilstücks 2 durch ein drittes Gelenk C
mit ebenfalls vertikaler Achse. Der Schlitten 5 bewegt sich auf
vertikalen, zum Gestell 1 gehörenden Schienen 6 entsprechend einem
vertikalen Verschiebungsfreiheitsgrad, den man aus Gründen der
Vereinfachung als viertes Gelenk D bezeichnet.
-
Das dritte Teilstück 4 trägt ein Handgelenk 7,
angelenkt mittels eines fünften Gelenks horizontaler Achse E.
Schließlich ist eine zum Greifen von Gegenständen geeignete Zange
an dem Handgelenk 7 angebracht und kann um ein sechstes Gelenk mit
einer Achse F schwenken, die senkrecht ist zur vorhergehenden
Achse E. Ro und Re symbolisieren kartesische Bezugssysteme,
jeweils verbunden mit einem festen Punkt am Fuße des Gestells 1
und am Ende des Arms, z.B. am Handgelenk 7. Diese Bezugssysteme
dienen zum Definieren der Bewegungen des Roboterarms. Die
Parallelverschiebungen des Handgelenks 7 können insbesondere gesteuert
werden durch Verschiebungs- oder Positionsangaben des Zielpunkts,
ausgedrückt durch kartesische Koordinaten in dem Bezugssystem Ro.
-
Der Aufbau jedes Drehgelenks ist in Figur 2 schematisch
dargestellt. Es gibt zunächst eine Drehachse 10, die zwei
Teilstücke miteinander verbindet, hier mit 11 und 12 bezeichnet. die
Achse 10 ist starr verbunden mit einem Teilstück 11 und das andere
Teilstück 12 trägt einen Motor 13, der es um die Achse 10 herum
dreht, sowie einen Zähler 14 und einen Anschlag 15. Der Zähler 14
liest die kreisförmig um die Achse 10 herum auf einer ebenen
Fläche des Teilstücks 11 angebrachten Meßteilungen 16, und der
Anschlag 15 kann die Kontakte der beiden Schalter 17 berühren, die
sich ebenfalls auf dem Teilstück 11 befinden. Die Schalter 17
definieren mit dem Anschlag 15 das Erreichen von Endstellungen,
die eine Kennlinie zulässiger Stellungen des Gelenks begrenzen.
Jede dieser Stellungen kann festgelegt werden mit Hilfe des
Codierers, gebildet durch den Zähler 14 und die Meßteilungen 16.
Die Erfindung kann auch mit anderen Codierern und anderen Arten
von Anschlägen benutzt werden, die in dieser Technik übliche
Äquivalente sind. Der Motor 13 und der Zähler 14 sowie die
Schalter 17 sind mit einem Führungssystem des Roboters verbunden,
das nicht dargestellt ist.
-
Man kann auch immaterielle Anschläge vorziehen,
definiert durch die Steuerungssoftware des Roboters und angeordnet vor
den beschriebenen materiellen Anschlägen.
-
Die Parallelverschiebungsgelenke können mit denselben,
entsprechend angepaßten Einrichtungen gebaut werden.
-
Ersatzstrecken sind wegen des Vorhandenseins der
Anschläge in gewissen Situationen obligatorisch. Betrachten wir
die Figur 3, wo es um eine Bewegung der Teilstücke 2 und 3 geht,
wobei eine Strecke des dritten Gelenks C definiert wird. Man
zwingt den Arm, sich so zu bewegen, daß das dritte Gelenk C einen
Zielpunkt C' erreicht, ausgehend von einer Stellung Co, wo das
erste Teilstück 2 einen Winkel el mit dem Gestell 1 bildet und
einen Winkel Θ2 mit dem zweiten Teilstück 3. Die Strecke zum Punkt
C' wäre normalerweise direkt, d.h. geradlinig, um die Bewegungen
des Arms zu optimieren. Dies würde voraussetzen, den Winkel Θ2 zu
reduzieren, aber die Figur 3 zeigt den Arm gerade in einer
Stellung, wo das zweite Gelenk B am Anschlag ist, denn der Winkel Θ2
kann nicht kleiner werden als ein rechter Winkel. Seine
Verkleinerung ist folglich unmöglich und man muß eine Ersatzstrecke
definieren, wobei die Figur 4 ein Verfahren zu deren Erstellung
zeigt.
-
Eine Art, Ersatzstrecken zu erstellen, ist
zusammengefaßt in dem Organigramm der Figur 4.
-
Wenn die Direktsteuerung des Arms möglich ist, werden
Befehle gegeben, um das Ende des Arms entsprechend den
Hauptrichtungen eines kartesischen Bezugssystems wie z.B. Ro oder Re in der
Praxis zu bewegen, d.h. nach vorn, nach hinten, auf die Seiten
oder in vertikaler Richtung, indem man es bis in die gewünschte
Winkelstellung dreht. Die Direktsteuerungsbefehle, die
ermöglichen, einen Zielpunkt C' abzuleiten, entweder direkt oder mittels
einer Verschiebung (Schritt 20), werden automatisch durch
Koordinatentransformationen umgerechnet in Steuerbewegungen (Schritt 21)
der Gelenke, bis eventuell eines von ihnen anschlägt (Schritt 22).
Dann wird die Strecke unterbrochen und die Stellungen der Gelenke
des Arms zu diesem Zeitpunkt werden gemessen (Schritte 23 und 24)
oder durch Berechnungen bewertet. Der Zielpunkt C' kann entweder
der durch die Steuerung des Arms definierte Punkt sein, oder ein
Zwischenpunkt zwischen diesem Zielpunkt und dem Ausgangspunkt.
Zwischenpunkte werden nämlich bei den meisten Roboterarm-
Führungssystemen automatisch berechnet, um sicherzugehen, daß die
Strecke mit einer ausreichenden Genauigkeit verfolgt wird: das
Führungssystem überprüft, ob die Gelenke auch zusammen die für
diese Zwischenpunkte berechneten Koordinatenwerte erreichen. Wenn
Abweichungen auftreten, werden Korrekturen zur Berichtigung der
Strecke vorgenommen. Die Wahl der Zwischenpunkte und ihre Anzahl
resultiert aus Kriterien, die jedem Führungssystem eigen sind und
deren einfachstes darin besteht, die Punkte in regelmäßigen und
festen Intervallen vorzusehen.
-
Wenn die Stellungen der Gelenke bewertet sind, wird im
Schritt 30 eine Berechnung der Position des Arms in kartesischen
Koordinaten durchgeführt. Die Ersatzstrecke wird definiert durch
ein Repetierverfahren und besteht darin, das dritte Gelenk C nach
und nach dem Zielpunkt C' zu nähern. Dazu (Figur 3) definiert man
auf dem Segment CoC' einen Zwischenpunkt C1 mit einem bestimmten
Abstand von der aktuellen Position Co des dritten Gelenks C
(Schritt 31). Die Stellungen Θ11 und Θ21 der Gelenke A und B bei
diesem Zwischenpunkt C1 werden dann im Schritt 32 berechnet. Es
handelt sich in Wirklichkeit um die theoretischen Stellungen, die
die Gelenke einnehmen müßten, um effektiv zu diesem Punkt zu
gelangen. Einige dieser Stellungen können jenseits der
Anschlagstellungen liegen, was eine Selektion der Gelenke (hier A, denn
Θ11 ist keine Anschlagstellung) erforderlich macht (Schritt 33),
die beim Zwischenpunkt C1 nicht am Anschlag sind. Diese Gelenke
werden dann bewegt (Schritt 34), um die in Schritt 32 errechnete
Stellung zu erreichen; die Gelenke, die am Anschlag sind (hier B,
den Θ2 kann nicht kleiner werden und Θ21 ist kleiner) werden nicht
bewegt. Diese Vorgehensweise läßt den Arm (Schritt 35) in
Wirklichkeit zu einem Punkt CO1 gelangen, der sich auf einer von den
tatsächlich erreichten Gelenkstellungen Θ11 und Θ2 herrührenden
Ersatzstrecke befindet und sich unterscheidet vom vorhergehend
berechneten Punkt C1.
-
Die kartesischen Koordinaten dieses realen
Zwischenpunkts CO1 werden sodann berechnet und man kehrt dann zum Schritt
21 zurück, um das Verfahren neu zu beginnen und sich durch
aufeinanderfolgende Schritte dem Zielpunkt C' zu nähern, bis man
ihn effektiv erreicht, indem man auf dem die Punkte CO1 und C'
verbindenden Segment einen neuen theoretischen Zwischenpunkt
wählt. Die Gelenke, die beim Durchlaufen der Ersatzstrecke zum
Anschlag kommen könnten, können im Laufe dieser Strecke variieren,
ohne daß der Operator darüber informiert wird oder besondere
Maßnahmen ergreifen muß. In Figur 3 wurde der Punkt C10 dargestellt,
bei dem das zweite Gelenk B aufhört am Anschlag zu sein und wo der
Winkel, den es bildet, anfängt zuzunehmen von dem Wert Θ2 bis zum
Endwert Θ'2. Diese Ausführungsart, die zusätzliche Berechnungen
erforderlich macht und vor allem mehr Umrechnungen zwischen den
kartesischen Koordinaten und den Gelenkkoordinaten, ermöglicht
jedoch im allgemeinen eine sehr schnelle Annäherung und kann daher
als günstig beurteilt werden im Falle der Benutzung des
Roboterarms in hindernisreichen Umgebungen.
-
Das Verfahren kann perfektioniert werden, wenn ein
zusätzliches Kriterium eingeführt wird, um jede Ersatzstrecke
unmöglich zu machen für den Fall, daß eine zu große Anzahl Gelenke,
oder gewisse Gelenke mit großer Auswirkung auf die Arbeit des
Roboters, zum Anschlag kommen würde. So hat man im Falle des
Roboters der Figur 1 vorgesehen, daß jede Bewegung unterbrochen
wird, wenn vier Gelenke zusammen zum Anschlag kommen oder wenn das
fünfte und das sechste Gelenk E und F gleichzeitig zum Anschlag
kommen. Dieses letztere Kriterium ist gerechtfertigt im Falle
eines Roboters, der mit einer Zange 8 zum Greifen von
Gebrauchsgegenständen wie z.B. mit Flüssigkeit gefüllten Gläsern versehen
ist, die nicht übermäßig geneigt werden dürfen. Selbstverständlich
können für andere Roboterarme andere Kriterien oder andersartige
Anwendungen definiert werden.