PatentDe  


Dokumentenidentifikation DE69636447T2 03.05.2007
EP-Veröffentlichungsnummer 0000771621
Titel VERFAHREN UND VORRICHTUNG ZUM STEUERN DER BEWEGUNG EINES REDUNDANTEN MANIPULATORS
Anmelder Mitsubishi Jukogyo K.K., Tokio/Tokyo, JP
Erfinder Endo, KOBE Shipyard & Machinery Works, Noriko, Hyogo-ku, Kobe, Hyogo-ken, JP
Vertreter WAGNER & GEYER Partnerschaft Patent- und Rechtsanwälte, 80538 München
DE-Aktenzeichen 69636447
Vertragsstaaten DE, FR, GB
Sprache des Dokument EN
EP-Anmeldetag 09.10.1996
EP-Aktenzeichen 963073325
EP-Offenlegungsdatum 07.05.1997
EP date of grant 16.08.2006
Veröffentlichungstag im Patentblatt 03.05.2007
IPC-Hauptklasse B25J 9/16(2006.01)A, F, I, 20051017, B, H, EP

Beschreibung[de]
TECHNISCHES GEBIET

Die Erfindung betrifft einen redundanten bzw. Redundanz-Manipulator sowie ein Verfahren zum Steuern bzw. Regeln eines redundanten Manipulators.

HINTERGRUND DER ERFINDUNG

Vielen für industrielle Roboter verwendete Manipulatoren ist ein Manipulator mit maximal sechs (6) Bewegungsachsen populär. Dies deshalb, weil sechs (6) Achsen üblicherweise ausreichend sind, einen Gegenstand zu positionieren. Auf der anderen Seite entspricht der Arm eines Menschen einem Sieben-Achsen-Manipulator. Auch wenn die Lage und Richtung der Hand auf einen Wert fixiert sind, kann der Mensch noch seinen/ihren Ellbogen bewegen. Eine derartige Redundanz, die bei einem Arm vorhanden ist, ermöglicht es einer Person ein Objekt zu positionieren und dennoch gleichzeitig durch Verwendung seines/ihres Ellenbogens ein Hindernis zu vermeiden. Wegen dieses Vorteils wurde der redundante Manipulator mit sieben (7) Achsen in den vergangenen Jahren entwickelt, in dem Bestreben dieselbe Redundanz wie bei einem Arm zu schaffen.

Im Vergleich zu einem Sechs-Achsen-Manipulator weißt ein Sieben-Achsen-Manipulator Redundanz auf, die höhere Freiheitsgrade beim Steuern und Regeln von Bewegungen ermöglicht. Das heißt, bei einem Sechs-Achsen-Manipulator ist jeder Achsenwert automatisch determiniert, wenn einmal die Handposition oder -haltung determiniert ist, wodurch die Handposition oder -haltung und die Haltung des Manipulators sichergestellt ist, der eingestellt bzw. vorgegeben bzw. "gelehrt" wurde.

Andererseits gibt es in einem Sieben-Achsen-Manipulator eine unbegrenzte Anzahl von Kombinationen für jeden Axialwert, den die Handlage oder -haltung erfüllen kann. Daher ist durch Festlegung nur der Handposition und/oder -haltung noch nicht eine Armhaltung determiniert. Beispielsweise schafft der Kurvenverlauf oder die Linie im Falle eines menschlichen Arms, der wie ein Sieben-Achsen-Manipulator ist, Redundanz. Mit dieser Redundanz ist der Sieben-Achsen-Manipulator vorteilhaft, da er eine Vielfalt unterschiedlicher Aufgaben wie beispielsweise Umwege oder Umleitungen zur Vermeidung eines Hindernisses ausführen kann. Um diesen Vorteil zu erreichen, ist es für einen Manipulator erforderlich, die Haltung (jeden axialen Wert) wie sie bzw. er vorgegeben bzw. gelehrt wird, zu steuern bzw. zu regeln.

Bei herkömmlichen bewegungssteuerenden Verfahren und Vorrichtungen für einen redundanten Manipulator werden zwei Punkte für den Wert der Handposition oder -haltung und jeden axialen Wert vorgegeben. Wenn man versucht, von Punkt 1 zu Punkt 2 sich zu bewegen, wird der Vektor, mit dem sich alle sieben Achsen den Ziel-Axial-Wert nähern, berechnet, und die redundante Achse wird auf der Grundlage eines solchen Vektors gesteuert bzw. geregelt. Bei dieser herkömmlichen bewegungssteuernden Methode nähern sich alle Achsen graduell den Ziel-Axial-Werten an. Daher ist die Bindungskraft für die redundante Achse schwach. Gelegentlich bewegt sich die redundante Achse nicht wie sie sollte, in Abhängigkeit davon wie die Bewegung des redundanten Manipulators versucht, es durchzuführen. Das heißt, es besteht ein Problem darin, dass die Zielhaltung und die redundante Achse eines Manipulators sich von der unterscheidet, die erreicht werden soll. Dies aufgrund der Tatsache, dass bei herkömmlichen Systemen der Wert der Handposition oder -haltung eines redundanten Manipulators nicht ihren Zielwert zur selben Zeit erreicht, zu der jeder Axialwert seinen Zielwert erreicht.

Darüber hinaus, wenn man versucht, Vorteil aus der Fähigkeit zu ziehen, ein Hindernis oder einen spezifischen Punkt zu vermeiden, erfordert die Berechnung des optimalen Vektors zum Steuern jeder Achse eine extrem lange Zeit, so dass es schwierig wird, auf einer Echtzeit-Basis zu steuern.

Jeder Manipulator weist einen Endeffektor auf, der von seiner gegenwärtigen Position zu einer Zielposition bewegt werden soll. Der Manipulator, der die Prinzipien der vorliegenden Erfindung aufweist, beschreibt den Endeffektor als die Handposition oder -haltung in der dargestellten Ausführungsform.

Wie beschrieben wurde, ist die Bindungskraft der redundanten Achse beim herkömmlichen Verfahren und bei der herkömmlichen Vorrichtung zur Steuerung oder Regelung eines redundanten Manipulators schwach. Wenn die Handposition oder -haltung des Manipulators seinen Zielwert erreicht, braucht noch nicht jeder axiale Wert an seinem Zielwert ankommen. Daher tritt ein Problem auf, wonach die Zielhaltung und die redundante Achse eines Manipulators sich von der unterscheidet, die erreicht werden soll. Darüber hinaus erfordert die Berechnung zur Steuerung jeder Achse eine extrem lange Zeit, so dass es schwierig wird, auf einer Echtzeit-Basis zu steuern.

Das Verfahren und die Vorrichtung gemäß den Prinzipien der vorliegenden Erfindung überwindet die zuvor beschriebenen Probleme und schafft ein bewegungssteuerndes Verfahren und einen bewegungssteuernde Vorrichtung für einen redundanten Manipulator, bei dem die Handposition oder -haltung und jeder axiale Wert des Manipulators gesteuert werden, wie dies gelehrt oder gewünscht wird.

Die Druckschift JP-04 195403 A (Agency of Ind Science & Technology) betrifft ein Ortssteuerverfahren für einen gelenkigen Armroboter. Das Verfahren umfasst einen Hand-Befehls/Geschwindigkeitsbefehls-Hebel 20, einen individuellen Gelenkwinkelgeschwindigkeits-Berechnungsteil 30 und einen Servomechanismus 40. Es wird nicht nur eine Jacobi-Matrix einschließlich der Redundanz, sondern auch eine reguläre Matrix erhalten, die die Redundanz nicht enthält, und eine davon, die einen größeren absoluten Wert der Determinante hat, wird als eine optimale reguläre Matrix ausgewählt, und ihre inverse Matrix wird mit der Handgeschwindigkeit multipliziert, um eine Hauptgelenkwinkelgeschwindigkeit zu erhalten, und die redundante Geschwindigkeit, die entsprechend der Determinante der regulären Matrix definiert ist, wird mit einer willkürlichen Konstanten multipliziert, und das Multiplikationsergebenis wird der Hauptgelenkwinkelgeschwindigkeit zuaddiert um eine Gelenkzielwinkelgeschwindigkeit zu erhalten. Auf diese Weise wird die Redundanz effektiv dazu verwendet, den Ort eines gelenkigen Armroboters ohne das Erfordernis eines teueren Computers zu steuern.

ZUSAMMENFASSUNG DER ERFINDUNG

Die Vorrichtung gemäß der vorliegenden Erfindung schafft eine Vorrichtung zum Steuern bzw. Regeln der Bewegung eines Endeffektors eines redundanten Manipulators von einer Ist-Position zu einer Ziel-Position, unter Verwendung der Merkmale von Anspruch 1.

Bevorzugte Ausführungsformen sind in den Ansprüchen 2 – 4 angegeben.

KURZE BESCHREIBUNG DER FIGUREN

Die zuvor beschriebenen und weitere Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung werden nachfolgend im einzelnen anhand der Zeichnungen erläutert. Es zeigen:

1 ein Blockdiagramm der Steuer- bzw. Regelschaltung für einen Manipulator gemäß einer ersten Ausführungsform der vorliegenden Erfindung;

2 eine dreidimensionale Ansicht der Struktur eines Manipulators gemäß der ersten Ausführungsform der vorliegenden Erfindung;

3 eine grafische Darstellung, die zur Berechnung der Zielwerte entsprechend den Prinzipien der vorliegenden Erfindung verwendet wird;

4(A) eine grafische Darstellung, die die Bewegung eines herkömmlichen Manipulators über die Zeit wiedergibt; und

4(B) eine grafische Darstellung, die die Bewegung eines Manipulators entsprechend den Prinzipien der vorliegenden Erfindung über die Zeit wiedergibt.

BESCHREIBUNG EINER BEVORZUGTEN AUSFÜHRUNGSFORM

Unter Bezugnahme auf die Zeichnungen und insbesondere auf die 1 und 2 zeigt 1 ein Blockdiagramm, das die Konfiguration der Steuerschaltung für den redundanten Manipulator entsprechend der ersten Ausführungsform der vorliegenden Erfindung wiedergibt. Diese Steuerschaltung für einen redundanten Manipulator umfasst einen Ist-Wert-Detektor 1, einen Ziel-Wert-Detektor 2, einen ersten Schätzfunktionswert-Rechner 3, einen Hand-Positions- oder -haltungs-(Endeffektor-)-Controller 4, einen S3-Achsen-Controller 5, einen zweiten Schätzfunktionswert-Rechner 6 und einen Geschwindigkeitsrechner 7 für jede Achse.

2 zeigt die Struktur des Sieben-Achsen-Manipulators, der bei diesem ersten Ausführungsbeispiel verwendet wird. Der Sieben-Achsen-Manipulator umfasst eine Schulter 12, mit einem Verbindungselement 11, das von einer Basisfläche 10 getragen wird, einen Oberarm 13, einen Unterarm 14, ein Handgelenk 15, und eine mechanische Endeffektor-Schnittstelle 16, die auf der Oberseite des Handgelenks 15 ausgebildet ist. Zwischen der Schulter 12 und dem Oberarm 13 sind zwei Drehachsen S1 und S2 vorgesehen. Die S1-Achse dreht den Arm 13 über einen Winkel &thgr;S1. Die S2-Achse dreht den Arm 13 über einen Winkel &thgr;S2 nach oben und nach unten. Zwischen dem Oberarm 13 und dem Unterarm 14 sind zwei Achsen S3 und E1 vorgesehen. Die S3-Achse dreht den Arm 14 über einen Winkel &thgr;S3. Die E1-Achse dreht den Arm 14 über einen Winkel &thgr;E1 nach oben und nach unten.

Die S3-Achse ist die Schlüssel-Redundanz-Achse in diesem Ausführungsbeispiel, wobei die Schlüssel-Redundanz-Achse durch die Verbindungskonfiguration des Manipulators definiert ist. Es sei darauf hingewiesen, dass diese Ausführungsform bei solchen redundanten Manipulatoren verwendbar ist, die auch andere Verbindungskonfigurationen haben, wenn sie eine definierte Schlüsselredundanzachse aufweisen und den Manipulator bezüglich dieser Achse in der beschriebenen Weise steuern. In 2 ist darüber hinaus ein Ellbogen 17 dargestellt, und wird allgemein als Ellbogen eines Manipulators bezeichnet.

Zwischen dem Unterarm 14 und einem Handgelenk 15 ist weiterhin eine E2-Achse ausgebildet. Die E2-Achse dreht den Arm 14 über einen Winkel &thgr;E1. Zwischen dem Handgelenk 15 und einer mechanischen Schnittstelle 16, sind eine W1-Achse und eine W2-Achse ausgebildet. Die W1-Achse kann eine Hand über einen Winkel &thgr;W1 schwingen. Die W2-Achse kann eine Hand über einen Winkel &thgr;W2 drehen. Es sei bemerkt, dass die Drehrichtungen der Achsen S1 bis W2 (S1, S2, S3, E1, E2, W1, W2) als &thgr;S1 bis &thgr;W2 (&thgr;S1, &thgr;S2, &thgr;S3, &thgr;E1, &thgr;E2, &thgr;W1, &thgr;W2) bezeichnet werden. Die Betriebsweise dieser Ausführungsform wird nachfolgend beschrieben.

Es sei darauf hingewiesen, dass mehrere Motoren vorgesehen sind, wenigstens einer für jede Achse. Die elektrischen Verbindungen dieser Motoren werden über das Verbindungselement 11 hergestellt. Die Motoren sind jedoch nur schematisch dargestellt, da sie herkömmlicher Art sind, und um zu vermeiden, dass die Figur unnötig verkompliziert wird.

Wenn die Hand (Endeffektor) des redundanten Manipulators von einem Punkt zu einem anderen (von der Ist-Position zu der Ziel-Position) bewegt werden soll, werden die "Lehr-" oder Vorgabedaten dem redundanten Manipulator bereitgestellt. Diese Daten umfassen einen Wert für die Handposition oder -haltung und den Wert für jede Achse (jeden Achsenwinkel) betreffend den Anfangspunkt der Hand und des End-Bestimmungsorts. Der Wert für die Handposition oder -haltung ist als eine dreidimensionale Position für die Hand am Manipulator definiert, die sechs (6) Elemente umfasst, um die Handhaltung an dieser Position auszudrücken. Die Handposition oder -haltung wird die folgende Formel dargestellt: r = (x, y, z, Gier, Kipp, Roll).

Als erstes detektiert der Ist-Wert-Detektor 1 (vergleiche 1) die Ist-Werte, die den Wert der Handposition oder -haltung und jeden axialen Wert des redundanten Manipulators an einen Punkt wiedergeben. Dies kann von dem Ist-Gelenk- oder Ellbogenwinkel für die sieben Achsen bestimmt werden, die auf dem Wert basieren, der von dem "Auflöser" oder Funktionsgeber erhalten wird, der im Gelenk- oder Ellbogenmotor installiert ist. Der Detektor 1 stellt diese Daten im Rechner 3 für die erste Schätzfunktion dem Controller 4 für die Handposition oder -haltung und dem Controller 5 für die S3-Achse bereit. Ein Zielwertdetektor 2 detektiert die Zielwerte in jedem Probenzyklus für den Handwert der Handposition oder -haltung und jeden Axialwert für jeden Probenzyklus und stellt diese Daten dem Rechner 3 für die erste Schätzfunktion, dem Controller 4 für die Handposition oder -haltung, sowie dem Controller 5 für die S3-Achse bereit.

Abweichungen für die Handposition oder -haltung und den S3-Achsen-Winkel werden erhalten, basierend auf dem Orbital-Startpunkt und dem Orbital-Endpunkt.

Die Zykluszeit oder die Anzahl der Zyklen, die zum Erreichen des Ziels erforderlich sind, wird durch Teilung jeder der Abweichungen durch ihre voreingestellte bzw. default Geschwindigkeit berechnet. Die größte Zahl der Zyklen oder den drei berechneten Werten wird als Standardwert verwendet.

Durch Dividieren jeder der Abweichungen durch die Standardzahl der Zyklen erhält man die Geschwindigkeit der Handposition oder -haltung per Zyklus und den Wert, mit dem sich der S3-Achsenwinkel bewegt hat. Der Zielwert in jedem Zyklus wird unter Verwendung folgender Formel erhalten: Versetzungsabstand × Zeit = Zielwert pro Zyklus

Um einen Sieben-Achsen-Manipulator entlang einem vorgegebenen Orbit zu bewegen wird die Hand- oder Haltungsgeschwindigkeit die sechs Elemente umfasst folgendermassen berechnet: r' = (x', y', z', Gier', Kipp', Roll'). Dann wird die Winkelgeschwindigkeit für jede Achse, die sieben Elemente aufweist, folgendermaßen berechnet: &thgr;' = (&thgr;S1', &thgr;S2', &thgr;S3', &thgr;E1', &thgr;E2', &thgr;W1', &thgr;W2'), wobei die Winkelgeschwindigkeit &thgr;' für jede Achse als ein Lehr- bzw. Vorgabewert für die Motoren jeder Achse in dem Probenzyklus verwendet wird. Die Beziehung zwischen der Handstellungs- oder Haltungsgeschwindigkeit r' und der Winkelgeschwindigkeit &thgr;' für jede Achse ist unter Verwendung einer Jacobi-Matrix folgendermaßen beschrieben: r' = J &thgr;'. darüber hinaus wird die Winkelgeschwindigkeit &thgr;' für jede Achse aus der Handpositions- oder -haltungsgeschwindigkeit r' durch Lösung folgender Formel erhalten: &thgr;' = J'·r' + (I – J*·J)+ E(&thgr;)·K(1) wobei J die 6 × 7 Jacobi-Matrix J* die 7 × 6 quasi-Jacobi-Matrix, 1 die 7 × 7 Einheitsmatrix, &xgr;(&thgr;) der 7 × 1 Vektor und K ein zufälliger Skalarwert ist.

In Formel (1) wird J*·r', der erste Ausdruck auf der rechten Seite als "Speziallösung" bezeichnet, und ist der letzte Wert (nachfolgend als letzte Norm bezeichnet) mit dem ein Manipulator zur Ziel-Handposition oder -haltung bewegt wird. Dieser Wert ist durch r' bestimmt, der die Handpositions- oder -haltungs-Geschwindigkeit ist. Weiterhin wird (I – J*·J)·&xgr;(&thgr;)·K, der zweite Ausdruck auf der rechten Seite als "Common Order Term" oder "gemeinsamer Befehlsausdruck" bezeichnet, und ist der Wert, der die übrige redundante Bewegung steuert. Mit diesem "Common Order Term" ändert sich die Haltung ohne Änderung der Handposition oder -haltung des Manipulators. I – J*·J im "Common Order Term" gibt den 0-Zwischenraum in der Jacobi-Matrix wieder. Daher ist sein Wert festgelegt; &xgr;(&thgr;)·K ist der Teil, der als Schätzfunktion bezeichnet wird, und er kann als irgendein willkürlicher Wert vorgegeben werden.

Um die Bewegung eines redundanten Manipulators zu steuern, muss also die Schätzfunktion &xgr;(&thgr;)·K optimiert werden. Es sei darauf hingewiesen, dass &xgr;(&thgr;) der Betrag des Vektors, K der Skalarbetrag, &xgr;(&thgr;) die erste Schätzfunktion und K die zweite Schätzfunktion ist. Der Rechner 3 für die erste Schätzfunktion berechnet die erste Schätzfunktion &xgr;(&thgr;), die auf dem vom Ist-Wert-Detektor 1 bereitgestellten Ist-Wert und dem vom Ziel-Wert-Detektor 2 bereitgestellten Zielwert basiert. In diesem Ausführungsbeispiel wird derselbe Vektor, der bei einem herkömmlichen Redundanz-Manipulator verwendet wird, für die erste Schätzfunktion &xgr;(&thgr;) verwendet. Das Verfahren zum Berechnen der ersten Schätzfunktion &xgr;(&thgr;) wird unter Bezugnahme auf 3 beschrieben. Es sei darauf hingewiesen, dass 3 eine quadratische Kurve darstellt: qi(&thgr;i) {i = &thgr;S1, &thgr;S2, &thgr;S3, &thgr;E1, &thgr;E2, &thgr;W1, &thgr;W2}).

Die erste Schätzfunktion &xgr;(&thgr;) ist ein sieben-dimensionaler Vektor mit sieben (7) Elementen, die sieben (7) Verhältnisse für die Drehrichtung (+, –) eines Motors für jede Achse und ihrer Größe zeigt. Für jede Achse ist, wie 3 zeigt, eine konvex-quadratische Kurve q1(&thgr;i) aufgezeichnet. Angenommen der Ist-Wert für jede Achse sei &thgr;Mi = {&thgr;MS1, ..., &thgr;MW2} und die Zielwerte für jede Achse seien &thgr;Ti = {&thgr;TS1, ..., &thgr;TW2} Wenn weiterhin angenommen wird, dass der untere Grenzwinkel &thgr;d und der obere Grenzwinkel &thgr;u ist, wird die quadratische Kurve qi (&thgr;i) durch die mathematische Gleichung wie folgt wiedergegeben: hierbei kann die erste Schätzfunktion &xgr;(&thgr;) = {&xgr;S1, &xgr;S2, ..., &xgr;W2} durch Berechnung der folgenden mathematischen Gleichung erhalten werden:

Die erste Schätzfunktion &xgr;(&thgr;), die vom ersten Rechner 3 für die erste Schätzfunktion erhalten wird, wird dem Rechner 6 für die zweite Schätzfunktion bereitgestellt. Weiterhin erhält der Handpositions- oder -haltungs-Controller 4 die Abweichung für die Handposition oder -haltung vom Ist-Wert-Ausgangssignal des Ist-Wert-Detektors 1 und dem Zielwert-Ausgangssignal des Ziel-Wert-Detektors 2, und er berechnet eine interpolierte Zahl für die Position und die Haftung aus einer voreingestellten oder Default-Geschwindigkeit für Position und Haltung. In derselben Weise erhält er eine Winkelabweichung für die S3-Achse von einem Ist-Wert und einem Ziel-Wert und erhält eine interpolierte Zahl für die S3-Achse von der voreingestellten bzw. Default-Geschwindigkeit der S3-Achse. Dann berechnet er die Handpositions- oder haltungs-Geschwindigkeit r', die jeder Achse zugewiesen bzw. vorgegeben werden sollte, auf der Basis des Maximalwerts unter den drei erhaltenen interpolierten Zahlen, der dem Rechner 6 für die zweite Schätzfunktion bereitgestellt wird.

Der Rechner 5 für die S3-Achse berechnet drei interpolierte Zahlen für die Position, die Haltung und die S3-Achse, genauso wie die der Rechner 4 für die Handposition oder -haltung aus dem Ist-Wert-Ausgangssignal des Ist-Wert-Detektors 1 und dem Zielwert-Ausgangssignal des Zielwert-Detektors 2 tat. Dann berechnet er die Winkelgeschwindigkeit &thgr;S3' auf der Basis des Maximalwerts (unter den erhaltenen drei interpolierten Zahlen) um ihn dem Rechner 6 für die zweite Zielfunktion bereitzustellen.

Weiterhin berechnet der Rechner 6 für die zweite Schätzung die zweite Schätzfunktion K aus der ersten Schätzfunktion &xgr;(&thgr;), der Handpositions- oder haltungs-Geschwindigkeit r' und der Winkelgeschwindigkeit &thgr;S3'. Es sei darauf hingewiesen, dass die Jacobi-Matrix J und die quasi-inverse Jacobi-Matrix J* vorher unter Verwendung jedes Axialwinkels &thgr;S1' bis &thgr;W2' erhalten wurde, die durch die Ist-Wert-Detektionseinrichtung 1 von 1 detektiert wurden. Die mathematische Gleichung (1) ist als folgende Matrix betreffend einer Winkelgeschwindigkeit für jede Achse &thgr;S1' bis &thgr;W2' wiedergegeben:

Es sei darauf hingewiesen, dass J* rs1 bis J* rw2 die letzten Normen für jede Achse sind. Darüber hinaus ist (I – J*·J)·&xgr;(&thgr;) eine 1 × 7 Matrix, und ein Wert für jede Achse ist als QS1 bis QW2 bezeichnet.

Bei Verwendung der axialen Winkelgeschwindigkeit &thgr;3' wird die zweite Schätzfunktion K folgendermaßen erhalten: K = (&thgr;3' – J*rS3)/0S3(3)

Das bedeutet, dass die zweite Schätzfunktion K auf der Grundlage der axialen Winkelgeschwindigkeit &thgr;3' berechnet wird und dem Rechner 7 wird eine axiale Geschwindigkeit für jede Achse bereitgestellt.

Für jede Axialgeschwindigkeit berechnet der Computer 7 eine Axialgeschwindigkeit für jede Achse, die nicht die S3-Achse ist, also für &thgr;S1', &thgr;S2', &thgr;S3', &thgr;E1', &thgr;E2', &thgr;W1', &thgr;W2' auf der Basis der zweiten Schätzfunktion K, die der Rechner 6 bereitstellt.

Der Rechner 7 stellt eine Winkelgeschwindigkeit für alle Achsen bereit, zusammen mit jeder Achsengeschwindigkeit für jede Achse &thgr;S1' bis &thgr;W2', zusammen mit einer axialen Geschwindigkeit &thgr;3' der S3-Achse. Diese sind die Schulungs- oder Vorgabewerte für jede Achse eines redundanten Manipulators im Probenzyklus. Der "Probenzyklus" ist das Zeitintervall, um dem Manipulator axiale Winkelgeschwindigkeitswerte bereitzustellen. Für einen siebenachsigen redundanten Manipulator kann der Wert mit 10 msec Intervallen bereitgestellt werden. Der Probenzyklus würde dann 10 msec sein. Diese Ausführungsform wiederholt die zuvor beschriebenen Schritte, bis alle Daten die vorgegebenen endgültigen Zielpunkte erreichen.

Dies kann durch folgende Matrix gezeigt werden:

Im Rechner 7 werden also die Geschwindigkeiten für jede der axialen Winkel auf der linken Seite, die die Werte sind, die dem Arm als Steuer- oder Befehlswerte bereitgestellt werden, auf der Basis der bekannten Werte berechnet, die auf der rechten Seite dargestellt sind.

Bei dieser Ausführungsform ändert sich &xgr;(&thgr;)·K für jeden Probenzyklus, im Gegensatz zum herkömmlichen Verfahren, bei dem die Schätzfunktion &xgr;(&thgr;) K normalerweise 1 ist. Wenn darüber hinaus die zweite Schätzfunktion K berechnet wird, wird der Wert für die Schlüsselredundanzachse S3 interpoliert, so dass ihre Bewegung (ihre Abweichung wird Null) wenigstens vor dem Zeitpunkt endet, bei dem die Handposition oder -haltung des Manipulators seinen Ziel-Axial-Wert erreicht. Dann wird eine Axialwinkelgeschwindigkeit &thgr;S3' berechnet. Die zweite Schätzfunktion K wird berechnet, um die axiale Winkelgeschwindigkeit &thgr;S3' zu aktualisieren und jede axiale Winkelgeschwindigkeit &thgr;' für alle Achsen wird entsprechend der zweiten Schätzfunktion K bestimmt. Durch Binden der S3-Achse zur Sicherstellung ihrer Bewegung auf den Zielaxialwert hin, werden auf diese Weise axiale Werte für die Achsen mit Ausnahme der S3-Achsen eine axiale Winkelgeschwindigkeit gegeben um das Ziel zu aktualisieren. Infolgedessen erreicht die Handposition oder -haltung eines Manipulators sein Ziel und zur selben Zeit kann die Haltung eines Manipulators sein Ziel erreichen.

Die 4(A) und 4(B) zeigen Messergebnisse, um die Effekte der Steuerung der Bewegung eines redundanten Manipulators gemäß diesem Ausführungsbeispiel zu demonstrieren. In 4(A) sind die Winkel für die S3-Achse während des Playbacks der gesteuerten Bewegung gemäß dem herkömmlichen Verfahren über der Zeit aufgetragen. In 4(B) sind die Winkel für die S3-Achse während des Playbacks der gesteuerten Bewegung bei dieser Ausführungsform über der Zeit aufgetragen. In den 4(A) und 4(B) sind auf der Y-Achse die S3-Achsen-Winkel und auf der X-Achse ist die Zeit auftragen. Angenommen, dass zwei Datenpunkte A und B vorgegeben sind, und man sich von Punkt A zu Punkt B durch die Playback-Steuerbewegung bewegt. Die Zielwinkel für die S3-Achse an den vorgegebenen Datenpunkten A und B werden wie folgt beschrieben:

A = –66.73 [deg.]

B = 50.92 [deg.]

Wie 4(A) zeigt, hat bei dem herkömmlichen Verfahren der axiale Winkel von S3 noch nicht den Zielwinkel des Punkts TB erreicht, wenn die Handposition oder -haltung Punkt B erreicht hat. Dies bedeutet, dass der axiale Winkel von S3 seinen Zielwinkel nicht gleichzeitig mit der Handposition oder -haltung erreicht. Der axiale Winkel von S3 erreicht den Zielwinkel graduell später. Wie 4(B) dagegen zeigt, erreicht bei der Vorrichtung, die gemäß der vorliegenden Erfindung ausgebildet ist, am Punkt TB, wo die Handposition oder -haltung den Punkt B gleichzeitig ihren Zielwinkel. Wenn gemäß unserem Experiment die S3-Achse, die die Schlüsselredundanzachse (Ellbogen) ist, mit ihrem Zielwinkel übereinstimmt, stimmen auch die anderen sechs Achsen generell mit ihren jeweiligen Zielwinkeln überein. Es ist offensichtlich, dass durch Konformieren der S3-Achse mit ihrer Zielachse die Ellbogen-Haltung eines Manipulators kontrolliert wird, wie durch die Daten vorgegeben ist.

Wenn man bei herkömmlichen Verfahren Nutzen für einen redundanten Manipulator ziehen will, um ein Hindernis oder einen speziellen Punkt zu vermeiden, erfordert dies einen extrem langen Zeitraum, um die optimale Schätzfunktion &xgr;(&thgr;)·K durch ein komplexes und schwieriges Rechenverfahren zu berechnen, was die Steuerung auf Ist-Zeit-Basis schwierig macht. Dagegen ist bei dem erfindungsgemäßen Ausführungsbeispiel der Erhalt der optimalen Schätzfunktion &xgr;(&thgr;)·K relativ leicht. Daher kann die optimale Lösung innerhalb eines Steuerzykluses erhalten werden, und der redundante Manipulator kann in Ist-Zeit betrieben werden. Dies bedeutet, dass die vorgegebene Bewegung wiederholt werden und dennoch auf einer Ist-Zeit-Basis gesteuert werden kann. Aus diesen Gründen können die nachfolgenden Prozeduren in geeigneter Weise leichter als gewöhnlich durchgeführt werden: (1) Grabsteinpolieren; Polieren eines harten Steins in eine komplexe Form; (2) Malerarbeiten: Anstreichen bzw. Bemalen mit hoher Geschwindigkeit unter Vermeidung eines Hindernisses; (3) Schweißen: langsames Schweißen mit hoher Präzision unter Vermeidung eines Hindernisses.

Die vorliegende Erfindung wurde zuvor anhand eines dargestellten Ausführungsbeispiels beschrieben. Dem Fachmann sind jedoch zahlreiche Abwandlungen, Ausgestaltungen und Modifikationen möglich, ohne dass dadurch der Erfindungsgedanke verlassen wird.


Anspruch[de]
Redundanter Manipulator mit mehreren Zwischengliedern (13, 14, 15), die über mehrere Gelenke miteinander verbunden sind, die multiplexe Achsen bilden, einem Endeffektor (Hand), der davon absteht und motorisierte Einrichtungen, die über Verbindungen (11) vorgesehen sind, um die Zwischenglieder zusammen miteinander über unterschiedliche Winkel (&thgr;S1, &thgr;S2, &thgr;S3, &thgr;E1, &thgr;E2, &thgr;W1, &thgr;W1) und über sieben unterschiedliche Achsen (S1, S2, S3, E1, E2, W1, W2) so zu drehen, dass der Manipulator sieben Freiheitsgrade der Bewegung aufweist, wobei eine der Achsen eine Schlüsselredundanzachse (S3) definiert, um die Versetzung des Endeffektors in drei Dimensionen einschließlich der Koordinaten x, y, z, der Gier-, Kipp- und Rolldimensionen von einer gegenwärtigen Position in eine Zielposition zu steuern bzw. zu regeln, nämlich auf der Grundlage der Steuerung bzw. Regelung der Winkelgeschwindigkeit der Rotation (&thgr;') der mehreren Zwischenglieder um die unterschiedlichen Achsen (S1, S2, S3, E1, E2, W1, W2) in einer vorgegebenen Anzahl von Probe- bzw. Testzyklen entsprechend der herkömmlichen pseudoinversen Jakobi-Formel: &thgr;' = J*·r' + (I – J*·J)·&xgr;(&thgr;)·K, wobei J eine 6 × 7 Jakobi-Matrix, J* eine 7 × 6 Quasi-Jakobi-Matrix, I eine 7 × 7 Einheit-Matrix, &xgr;(&thgr;) ein 7 × 1 Vektor und K ein willkürlicher Wert ist, und wobei r' = J&thgr;' und der berechnete Wert &thgr;' die Winkelgeschwindigkeit der Drehung für die Zwischenglieder um die jeweilige Achsen definiert, und wobei weiterhin vorgesehen ist:

ein erster Detektor (1), der die Werte des ersten Endeffektors in der gegenwärtigen Position in jedem aufeinanderfolgenden Testzyklus, sowie den Winkel zwischen den Zwischengliedern an jeder der sieben Achsen detektiert und dementsprechend erste Ausgangssignale bereitstellt;

ein zweiter Detektor (2), der die Zielwerte an den Zielpositionen des Endeffektors in jedem aufeinanderfolgenden Testzyklus, sowie den Winkel zwischen den Zwischengliedern jeder der sieben Achsen in jedem Testzyklus detektiert und dementsprechend zweite Ausgangssignale bereitstellt;

dadurch gekennzeichnet, dass der Manipulator weiterhin umfasst:

einen ersten Computer (3), der die ersten und zweiten Ausgangsignale des ersten und zweiten Detektors (1) & (2) bereitgestellt erhält um &xgr;(&thgr;) als ein erstes berechnetes bzw. abgeschätztes Funktionsausgangssignal zu berechnen, das einen sieben-dimensionalen Vektor entsprechend der Winkeldrehrichtung der Zwischenglieder entlang der sieben unterschiedlichen Achsen in jedem Testzyklus repräsentiert;

einen Lagecontroller (4), dem die ersten und zweiten Ausgangssignale des ersten und zweiten Detektors (1) & (2) bereitgestellt werden um die Position und Geschwindigkeit r' des Endeffektors an jeder Zielposition in jedem Testzyklus berechnet;

einen Schlüsselredundanzachsen-Controller (5), dem das erste und zweite Ausgangssignal des ersten und zweiten Detektors (1) & (2) bereitgestellt wird um die Winkelabweichung in der Rotation der Verbindungen zu berechnen, die um die Schlüsselredundanzachse (S3) gebildet ist, von der gegenwärtigen Position zur Zielposition in jedem Testzyklus;

einen zweiten Computer (6), dem das Ausgangssignal des ersten Computers (3), des Lagecontrollers (4) und des Schlüsselredundanz-Controllers (5) bereit gestellt wird, um eine zweite berechnete bzw. abgeschätzte Funktion K zu berechnen, die auf der ersten vom ersten Computer (3) berechneten bzw. abgeschätzten Funktion &xgr;(&thgr;) und der Winkelgeschwindigkeit der Verbindungsdrehung um die Schlüsselredundanzachse (S3) basiert, und

einen Geschwindigkeitscomputer (7), um die Winkelgeschwindigkeit &thgr;' als Steuer- bzw. Regelsignal zum Steuern bzw. Regeln der Geschwindigkeit der Drehung entlang jeder der sechs anderen Achsen in jedem Testzyklus auf der Basis der Berechnung der zweiten berechneten bzw. abgeschätzten Funktion K steuert bzw. zu berechnen.
Vorrichtung nach Anspruch 1, wobei der Manipulator ein Schulter-, Arm- und Handmanipulator ist, und die Schlüsselredundanzachse dem Ellbogen und der Endeffektor der Hand entspricht. Vorrichtung nach Anspruch 1, wobei ein jeweiliger Motor für die Drehung jeder der Achsen vorgesehen ist, der erste Computer ein erster berechneter Werte, &xgr;(&thgr;), -Computer ist und der sieben-dimensionale Vektor sieben (7) Elemente aufweist, die sieben (7) Verhältnisse für die Drehrichtung jedes der Motoren zeigen. Vorrichtung nach Anspruch 3, wobei der zweite Computer ein zweiter Berechnungs- bzw. Abschätzungs-Funktions, K, -Computer ist und die zweite berechnete bzw. abgeschätzte Funktion aus der folgenden Gleichung erhält: K = (&thgr;'3 – J* rs3)/Qs3 wobei ist

K = die zweite berechnete bzw. abgeschätzte Funktion;

&thgr;'3 = die axiale Winkelgeschwindigkeit der Schlüsselredundanzachse;

J* = die quasi-inverse Jakobi-Matrix;

J* rs3 = die letzte Norm der Schlüsselredundanzachse; und

Qs3 = ein Wert für die Schlüsselredundanzachse, bestimmt von der 1 × 7 Matrix (1 – J*·J)·&xgr;(&thgr;).
Verfahren zum Steuern eines redundanten Manipulators mit mehreren Zwischengliedern (13, 14, 15), die über mehrere Gelenke miteinander verbunden sind, die multiplexe Achsen bilden, einem Endeffektor (Hand), der davon absteht und motorisierte Einrichtungen, um die Zwischenglieder zusammen miteinander über unterschiedliche Winkel (&thgr;S1, &thgr;S2, &thgr;S3, &thgr;E1, &thgr;E2, &thgr;W1, &thgr;W1) und über sieben unterschiedliche Achsen (S1, S2, S3, E1, E2, W1, W2) so zu drehen, dass der Manipulator sieben Freiheitsgrade der Bewegung aufweist, wobei eine der Achsen eine Schlüsselredundanzachse (S3) definiert, um die Versetzung des Endeffektors in drei Dimensionen einschließlich der Koordinaten x, y, z, der Gier-, Kipp- und Rolldimensionen von einer gegenwärtigen Position in eine Zielposition zu steuern bzw. zu regeln, nämlich auf der Grundlage der Steuerung bzw. Regelung der Winkelgeschwindigkeit der Rotation der mehreren Zwischenglieder um die unterschiedlichen Achsen in einer vorgegebenen Anzahl von Probe- bzw. Testzyklen entsprechend der herkömmlichen pseudoinversen Jakobi-Formel: &thgr;' = J*·r' + (I – J*·J)·&xgr;(&thgr;)·K, wobei J eine 6 × 7 Jakobi-Matrix, J* eine 7 × 6 Quasi-Jakobi-Matrix, 1 eine 7 × 7 Einheit-Matrix, &xgr;(&thgr;) ein 7 × 1 Vektor und K ein willkürlicher Wert ist, und wobei r' = J&thgr;' und der berechnete Wert &thgr;' die Winkelgeschwindigkeit der Drehung für die Zwischenglieder um die jeweilige Achsen definiert, und wobei der redundante Manipulator weiterhin aufweist:

einen ersten Detektor (1), der die Werte des ersten Endeffektors in der gegenwärtigen Position in jedem aufeinanderfolgenden Testzyklus, sowie den Winkel zwischen den Zwischengliedern an jeder der sieben Achsen detektiert und dementsprechend erste Ausgangssignale bereitstellt;

einen zweiten Detektor (2), der die Zielwerte an den Zielpositionen des Endeffektors in jedem aufeinanderfolgenden Testzyklus, sowie den Winkel zwischen den Zwischengliedern jeder der sieben Achsen in jedem Testzyklus detektiert und dementsprechend zweite Ausgangssignale bereitstellt;

gekennzeichnet durch folgende Verfahrensschritte:

Verwenden eines ersten Computers (3), der die ersten und zweiten Ausgangsignale des ersten und zweiten Detektors (1) & (2) bereitgestellt erhält um &xgr;(&thgr;) als ein erstes berechnetes bzw. abgeschätztes Funktionsausgangssignal zu berechnen, das einen siebendimensionalen Vektor entsprechend der Winkeldrehrichtung der Zwischenglieder entlang der sieben unterschiedlichen Achsen in jedem Testzyklus repräsentiert;

Verwenden eines Lagecontrollers (4), dem die ersten und zweiten Ausgangssignale des ersten und zweiten Detektors (1) & (2) bereitgestellt werden um die Position und Geschwindigkeit r' des Endeffektors an jeder Zielposition in jedem Testzyklus berechnet;

Verwenden eines Schlüsselredundanzachsen-Controllers (5), dem das erste und zweite Ausgangssignal des ersten und zweiten Detektors (1) & (2) bereitgestellt wird um die Winkelabweichung in der Rotation der Verbindungen zu berechnen, die um die Schlüsselredundanzachse (S3) gebildet ist, von der gegenwärtigen Position zur Zielposition in jedem Testzyklus;

Verwenden eines zweiten Computers (6), dem das Ausgangssignal des ersten Computers (3), des Lagecontrollers (4) und des Schlüsselredundanz-Controllers (5) bereit gestellt wird, um eine zweite berechnete bzw. abgeschätzte Funktion K zu berechnen, die auf der ersten vom ersten Computer (3) berechneten bzw. abgeschätzten Funktion &xgr;(&thgr;) und der Winkelgeschwindigkeit der Verbindungsdrehung um die Schlüsselredundanzachse (S3) basiert, und

einen Geschwindigkeitscomputer (7), um die Winkelgeschwindigkeit &thgr;' als Steuer- bzw. Regelsignal zum Steuern bzw. Regeln der Geschwindigkeit der Drehung entlang jeder der sechs anderen Achsen in jedem Testzyklus auf der Basis der Berechnung der zweiten berechneten bzw. abgeschätzten Funktion K steuert bzw. zu berechnen.
Vorrichtung nach Anspruch 5, wobei die zweite berechnete bzw. abgeschätzte Funktion durch folgende Gleichung dargestellt wird: K = (&thgr;'3 – J* rs3)/Qs3 wobei ist

K = die zweite berechnete bzw. abgeschätzte Funktion;

&thgr;'3 = die axiale Winkelgeschwindigkeit der Schlüsselredundanzachse;

J* = die quasi-inverse Jakobi-Matrix;

J* rs3 = die letzte Norm der Schlüsselredundanzachse; und

Qs3 = ein Wert für die Schlüsselredundanzachse, bestimmt von der 1 × 7 Matrix (1 – J*·J)·&xgr;(&thgr;).






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com