Lade Inhalt...

Entwicklung und Implementierung eines Verfahrens zur statischen, kartesischen Kalibrierung von Robotern unter Verwendung gemessener räumlicher Abweichungen

©2002 Diplomarbeit 114 Seiten

Zusammenfassung

Inhaltsangabe:Einleitung:
Trotz der weiten Verbreitung von Computern und Rechnersystemen werden Roboter heute immer noch sehr häufig mittels Online-Programmierung programmiert. Dabei fährt der Benutzer den TCP (Tool Center Point, im Allgemeinen bei einem Greifer der Punkt, an dem dieser ein Werkstück greift) mit Hilfe des zum Roboter gehörenden Handbediengerätes zu allen für das Programm relevanten Punkten und übernimmt an diesen Punkten die sechsdimensionale Positionsangabe. Durch dieses Vorgehen wird die sehr hohe Wiederholgenauigkeit von modernen Industrierobotern genutzt. Diese Eigenschaft kennzeichnet die Fähigkeit von Industrierobotern, bekannte Punkte mit hoher Genauigkeit anzufahren.
Nachteile dieser Methode sind: Da der Roboter während der Programmierung benötigt wird, ergibt sich ein Produktionsstillstand und damit werden Kosten verursacht. Diese sind umso höher, zumal jede relevante Position geteacht werden muss und so der zeitliche Rahmen sehr umfangreich wird. Wenn sehr präzise Programmabläufe gefordert sind, können die Programme nicht auf Roboter des gleichen Typs übertragen werden, so dass für jeden Roboter die zeit- und kostenintensiven Teachphasen anfallen. Dem heutigen Stand der Technik wesentlich eher entsprechend ist der Ansatz der Offline-Programmierung des Roboters. Der gesamte Arbeitsablauf des Roboters wird an einem Rechner geplant. Dabei wird mit Hilfe eines Simulationsprogramms die Arbeitszelle des Roboters mit allen relevanten Gegenständen und Werkstücken modelliert. In der Simulation werden die Programme für den Arbeitsablauf erstellt. Wenn diese Erstellung abgeschlossen ist, werden die Programme und alle anderen nötigen Daten an den Roboter übertragen. Dadurch verringert sich die Zeit, in der die Produktion gestoppt werden muss.
Neben dem Vorteil der Kostenersparnis ergibt sich auch eine bessere Bedienbarkeit und ein höherer Komfort bei der Programmierung, da verschiedene im Simulationssystem integrierte Werkzeuge benutzt werden können, um die Programmierung zu erleichtern. Allerdings hat dieses Verfahren auch Nachteile: Da nun der Roboter nicht mehr mit Hilfe des Handbediengerätes an die relevanten Positionen gefahren wird, spielt die entscheidende Rolle für die Anwendbarkeit des erstellten Programms nicht mehr die Wiederholgenauigkeit des Roboters, sondern die absolute Positioniergenauigkeit. Damit wird die Genauigkeit bezeichnet, mit der der Roboter eine Position im Raum, die nicht vorher geteacht wurde, anfahren […]

Leseprobe

Inhaltsverzeichnis


ID 7088
Seidel, Frank: Entwicklung und Implementierung eines Verfahrens zur statischen,
kartesischen Kalibrierung von Robotern unter Verwendung gemessener räumlicher
Abweichungen
Hamburg: Diplomica GmbH, 2003
Zugl.: Universität Dortmund, Universität, Buch, 2002
Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte,
insbesondere die der Übersetzung, des Nachdrucks, des Vortrags, der Entnahme von
Abbildungen und Tabellen, der Funksendung, der Mikroverfilmung oder der
Vervielfältigung auf anderen Wegen und der Speicherung in Datenverarbeitungsanlagen,
bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. Eine Vervielfältigung
dieses Werkes oder von Teilen dieses Werkes ist auch im Einzelfall nur in den Grenzen
der gesetzlichen Bestimmungen des Urheberrechtsgesetzes der Bundesrepublik
Deutschland in der jeweils geltenden Fassung zulässig. Sie ist grundsätzlich
vergütungspflichtig. Zuwiderhandlungen unterliegen den Strafbestimmungen des
Urheberrechtes.
Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in
diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme,
dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei
zu betrachten wären und daher von jedermann benutzt werden dürften.
Die Informationen in diesem Werk wurden mit Sorgfalt erarbeitet. Dennoch können
Fehler nicht vollständig ausgeschlossen werden, und die Diplomarbeiten Agentur, die
Autoren oder Übersetzer übernehmen keine juristische Verantwortung oder irgendeine
Haftung für evtl. verbliebene fehlerhafte Angaben und deren Folgen.
Diplomica GmbH
http://www.diplom.de, Hamburg 2003
Printed in Germany

Inhaltsverzeichnis
Inhaltsverzeichnis
i
Inhaltsverzeichnis
INHALTSVERZEICHNIS...i
KAPITEL 1
EINLEITUNG ...1
KAPITEL 2
STAND DER TECHNIK UND ZIELE ...4
2.1
K
ALIBRIERUNG
...4
2.2
Z
U LÖSENDE
A
UFGABENSTELLUNGEN BEI DER
K
ALIBRIERUNG
...8
2.3
Z
IELE DER
A
RBEIT
...9
KAPITEL 3
BESCHREIBUNG DES VERFAHRENS ...11
3.1
B
ENÖTIGTE
D
ATEN
...11
3.2
G
RUNDLAGEN
...14
3.2.1 Roll, Pitch und Yaw ­ Winkel...14
3.2.2 Drehvektor ­ Drehwinkel ­ Darstellung ...16
3.2.3 Frames ...16
3.2.4 Quaternionen...20
3.2.5 S
LERP
...23
3.2.6 Das I
CP
-Verfahren ...24
3.3
D
AS
V
ERFAHREN
...24
3.4
E
RZEUGTE
A
USGABE
...38
3.5
L
AUFZEITBETRACHTUNG
...38
KAPITEL 4
INTEGRATION IN COSIMIR...40
4.1
K
ONZEPT MIT
S
OLUTION
F
INDER
...41
4.2
E
INBINDUNG MITTELS
S
OLUTION
F
INDER
...41
4.3
A
NWENDERSCHNITTSTELLE
...42
KAPITEL 5
ANWENDUNG AM REALSYSTEM...46
5.1
A
NWENDUNGSFALL
1:
G
ERADE
...46
5.2
A
NWENDUNGSFALL
2:
E
INFACHE
H
OMOGENE
T
RANSFORMATION
...51
5.3
A
NWENDUNGSFALL
3:
T
ESTDATENSATZ
...53
5.4
A
NWENDUNGSFALL
4:
,,S
CHIEFE
R
OBOTER
"...69
5.5
A
NWENDUNGSFALL
5:
M
ITSUBISHI
RV-E4NM...85

Inhaltsverzeichnis
Inhaltsverzeichnis
ii
KAPITEL 6
ERGEBNISSE UND ERFAHRUNGEN ...92
KAPITEL 7
ZUSAMMENFASSUNG ...94
ANHANG A
DER ROBOTERPLOT ...97
ANHANG B
ABBILDUNGSVERZEICHNIS ...100
ANHANG C
TABELLENVERZEICHNIS ...103
ANHANG D
LITERATURVERZEICHNIS ...104

Kapitel 1
Einleitung
1
Kapitel 1
Einleitung
Trotz der weiten Verbreitung von Computern und Rechnersystemen werden
Roboter heute immer noch sehr häufig mittels Online-Programmierung
programmiert. Dabei fährt der Benutzer den TCP (Tool Center Point, im
Allgemeinen bei einem Greifer der Punkt, an dem dieser ein Werkstück greift)
mit Hilfe des zum Roboter gehörenden Handbediengerätes zu allen für das
Programm relevanten Punkten und übernimmt an diesen Punkten die
sechsdimensionale Positionsangabe. Durch dieses Vorgehen wird die sehr
hohe Wiederholgenauigkeit von modernen Industrierobotern genutzt. Diese
Eigenschaft kennzeichnet die Fähigkeit von Industrierobotern, bekannte
Punkte mit hoher Genauigkeit anzufahren.
Nachteile dieser Methode sind: Da der Roboter während der Programmierung
benötigt wird, ergibt sich ein Produktionsstillstand und damit werden Kosten
verursacht. Diese sind umso höher, zumal jede relevante Position geteacht

Kapitel 1
Einleitung
2
werden muss und so der zeitliche Rahmen sehr umfangreich wird. Wenn sehr
präzise Programmabläufe gefordert sind, können die Programme nicht auf
Roboter des gleichen Typs übertragen werden, so dass für jeden Roboter die
zeit- und kostenintensiven Teachphasen anfallen.
Dem heutigen Stand der Technik wesentlich eher entsprechend ist der
Ansatz der Offline-Programmierung des Roboters. Der gesamte Arbeitsablauf
des Roboters wird an einem Rechner geplant. Dabei wird mit Hilfe eines
Simulationsprogramms die Arbeitszelle des Roboters mit allen relevanten
Gegenständen und Werkstücken modelliert. In der Simulation werden die
Programme für den Arbeitsablauf erstellt. Wenn diese Erstellung
abgeschlossen ist, werden die Programme und alle anderen nötigen Daten
an den Roboter übertragen. Dadurch verringert sich die Zeit, in der die
Produktion gestoppt werden muss.
Neben dem Vorteil der Kostenersparnis ergibt sich auch eine bessere
Bedienbarkeit und ein höherer Komfort bei der Programmierung, da
verschiedene im Simulationssystem integrierte Werkzeuge benutzt werden
können, um die Programmierung zu erleichtern.
Allerdings hat dieses Verfahren auch Nachteile: Da nun der Roboter nicht
mehr mit Hilfe des Handbediengerätes an die relevanten Positionen gefahren
wird, spielt die entscheidende Rolle für die Anwendbarkeit des erstellten
Programms nicht mehr die Wiederholgenauigkeit des Roboters, sondern die
absolute Positioniergenauigkeit. Damit wird die Genauigkeit bezeichnet, mit
der der Roboter eine Position im Raum, die nicht vorher geteacht wurde,
anfahren kann. Die absolute Positioniergenauigkeit ist für typische
Industrieroboter nach [Ghaz 96] um den Faktor 10 bis 70 schlechter als die
Wiederholgenauigkeit.
Damit sind prinzipiell die mittels Offline-Programmierung erstellten
Programme so ungenau, dass die Aufgaben nicht direkt durchgeführt werden
können, sondern die Positionen erst noch ,,nachgeteacht" werden müssen.
Mögliche Aufgaben wie Lackieren, Polieren, Entgraten, Schleifen oder
Bahnschweißen erfordern sehr hohe Genauigkeiten. Die Wiederhol-
genauigkeit eines typischen Roboters ist für solche Aufgaben sehr wohl
ausreichend. Die größeren Abweichungen beim Einsatz der Offline-
Programmierung sind hingegen im Allgemeinen nicht akzeptabel. Der
mögliche Ausweg, die Positionen ,,nachzuteachen", ist nur in wenigen
Anwendungen eine Lösung, da bei den meisten Anwendungen sehr viele
Positionen bei derartigen Aufgaben angefahren werden müssen. Der
Aufwand des ,,Nachteachens" ist bei solchen Anwendungen mit vielen
Positionen zu hoch, zumal der Roboter dafür benötigt wird, so dass dieser
dann auch nicht mehr für die laufende Produktion benutzt werden kann.

Kapitel 1
Einleitung
3
Bei den angesprochenen Aufgaben ist eine große Präzision erforderlich, die
Abweichungen von den idealen Positionen sollten deutlich unter einem
halben Millimeter liegen. Die Anzahl der Positionen, die bei einer solchen
Anwendung relevant werden, liegt weit über tausend.
Diese große Anzahl von Positionen veranschaulicht, dass für das Offline-
Programmieren ein sehr hoher Zeitaufwand nötig wird.
Daher wäre es wünschenswert, ein System zur Verfügung zu haben, mit
dessen Hilfe es gelingt, mit möglichst wenigen geteachten Positionen eine so
deutliche Erhöhung der Genauigkeit des verwendeten Roboters zu erzielen,
dass die offline erstellten Programme ohne weitere Änderungen sofort
verwendbar sind. Daraus resultiert neben einer Komforterhöhung auch eine
Kosteneinsparung, denn der Roboter wird zum einen nur für einen wesentlich
kürzeren Zeitraum unmittelbar zur Programmierung benötigt und zum
anderen kann das verwendete Simulationssystem mittels spezieller
Werkzeuge die Programmierung unterstützen und effizienter machen.

Kapitel 2
Stand der Technik und Ziele
4
Kapitel 2
Stand der Technik und Ziele
2.1 Kalibrierung
Der Begriff der Kalibrierung wird in der DIN 1319-1 [DIN 95] definiert. Dort
heißt es wörtlich:
,,Kalibrierung:
Ermitteln des Zusammenhangs zwischen Messwert oder
Erwartungswert der Ausgangsgröße und dem zugehörigen wahren oder
richtigen Wert der als Eingangsgröße vorliegenden Messgröße für eine
betrachtete Messeinrichtung bei vorgegebenen Bedingungen."

Kapitel 2
Stand der Technik und Ziele
5
Die Notwendigkeit der Kalibrierung von Industrierobotern wird durch die
Tatsache deutlich, dass diese zwar sehr hohe Wiederholgenauigkeiten
besitzen, die absolute Positioniergenauigkeit jedoch wesentlich geringer ist.
Diese beiden Begriffe werden in [GWNO 87] erläutert. Dort heißt es: ,,Die
Wiederholgenauigkeit beschreibt die Fähigkeit des Roboters, sein Hand-
gelenk oder einen mit dem Handgelenk verbundenen Endeffektor auf einen
Punkt im Raum zu positionieren, der dem Roboter ,,gezeigt" wurde. Die
Wiederholgenauigkeit und die Genauigkeit beschreiben zwei verschiedene
Aspekte der Präzision. Die Genauigkeit bezieht sich auf die Fähigkeit des
Roboters, so programmiert zu werden, dass er einen vorgegebenen Zielpunkt
trifft."
Das bedeutet, dass Industrieroboter gewöhnlich in der Lage sind, mit sehr
geringen Abweichungen Positionen anzufahren, die als ,,bekannt" bezeichnet
werden können. ,,Bekannt" ist eine Position dann, wenn sie bereits einmal
angefahren ­ ,,geteacht" ­ wurde. Beim Teachen wird der Roboter mit Hilfe
des Handbediengerätes an die Positionen gefahren, die für einen
Programmierablauf relevant sind. Da diese Positionen visuell vom Bediener
direkt angefahren werden, spielen Abweichungen in den Achsen und
ähnliches keine Rolle, die Fehler werden quasi mitgeteacht.
Dieses Verfahren ist jedoch nur in begrenztem Umfang einsetzbar. Da jede
einzelne Position neu angefahren werden muss, wird dieses Vorgehen mit
der Anzahl der Positionen immer aufwendiger. Außerdem ist es sehr
unkomfortabel. Im heutigen Einsatz werden Roboter immer öfter offline
programmiert. Das bedeutet, dass die Positionen und Programme an einem
Computer mit Hilfe eines Robotersimulationssystems wie etwa C
OSIMIR
erstellt und entwickelt und diese später auf den Roboter übertragen werden.
Dabei wird allerdings im Gegensatz zum vorher beschriebenen Vorgehen
davon ausgegangen, dass der Roboter ein idealer Roboter ohne Fehler ist.
Konkret bedeutet das, dass der Benutzer die Programmierung des Roboters
zunächst offline so durchführt, als sei der im Simulationssystem verwendete
Roboter exakt identisch mit dem später zu verwendenden realen Roboter.
Durch vielfältige Fehlermöglichkeiten ist dem jedoch gewöhnlich nicht so.
[Roos 98] und [Schr 93] beschreiben als Ursache dieser Fehler insbesondere
drei Fehlergruppen:
·
Durch Fertigungs- und Montagetoleranzen bedingte kleine Abweich-
ungen in der Geometrie des einzelnen Roboters.

Kapitel 2
Stand der Technik und Ziele
6
·
Übertragungsfehler der Getriebe als Folge von Fertigungs- oder
Justagetoleranzen.
·
Nachgiebigkeiten und Elastizitäten sowie durch Reaktionskräfte und
Momente verursachte Abweichungen, die zu Abweichungen der
Position führen.
Dadurch erreicht der reale Roboter im Allgemeinen nicht die gewünschten
Positionen, der Benutzer muss dies erst durch ,,Nachteachen" sicherstellen.
[WaSc 89] beschreibt die unterschiedlichen Programmierungsarten.
Im Rahmen dieser Arbeit sollen die Ursachen für die Abweichungen nicht
weiter untersucht werden, vielmehr wird der Roboter als ,,Black Box"
betrachtet. Für den Vorgang der Kalibrierung ist die Messung der
Abweichungen zwischen der offline programmierten (= idealen) und der
tatsächlich erreichten (= realen) Position für die anzufahrenden Positionen
erforderlich. Diese gemessenen Abweichungen werden nun mittels eines
mathematischen Verfahrens genutzt, um eine Übereinstimmung zwischen
idealen und realen Positionen zu erreichen. Dabei sind zwei grundsätzliche
Vorgehensweisen denkbar:
Erstens: Messung der Abweichungen an jeder der Positionen, die im Rahmen
eines Programms angesteuert werden sollen oder
Zweitens: es werden nur einige wenige Positionen und die dazugehörigen
Abweichungen gemessen, die übrigen, nicht gemessenen Abweichungen
werden mathematisch ermittelt.
Der Nachteil der ersten Methode ist ­ ähnlich wie bei der zuvor
beschriebenen Teach-Methode ­ der hohe Aufwand bei komplexeren
Programmen mit vielen Positionen. Die zweite Methode umgeht dieses
Problem, allerdings ist dabei nicht zu erwarten, dass sich dadurch die
Abweichungen zu einhundert Prozent eliminieren lassen. Durch Hinzufügen
von weiteren Punkten, an denen die auftretenden Abweichungen gemessen
werden, lässt sich die Genauigkeit jedoch steigern ­ im Grenzfall auf eben
diese einhundert Prozent, wenn nämlich die Messung der Abweichungen in
allen auftretenden Positionen erfolgt und damit keine Berechnung der
dazwischen liegenden Werte notwendig ist.

Kapitel 2
Stand der Technik und Ziele
7
Der Unterschied zwischen der Wiederholgenauigkeit, also der Genauigkeit,
mit der ein Industrieroboter eine geteachte Position wieder anfahren kann und
der absoluten Positioniergenauigkeit, also der Genauigkeit, mit der eine
Position mit vorgegebenen Koordinaten angefahren werden kann, liegt nach
[Ghaz 96] bei einem Faktor in einer Größenordnung von etwa 10 bis 70.
Konkret ist üblicherweise die Abweichung bei einem Industrieroboter wie dem
Mitsubishi RV-2E für die Wiederholgenauigkeit bei einigen wenigen
Zehntelmillimetern, wohingegen die Abweichung bei der absoluten
Positioniergenauigkeit im Bereich von ein bis mehreren Millimetern liegt.
Diese Diskrepanz ist nur selten tolerierbar. Verfahren zur Kalibrierung
versuchen, diesen Unterschied zu verringern, das heißt die absolute
Positioniergenauigkeit auch in einen Bereich von wenigen Zehntelmillimetern
zu bewegen. Dabei werden keine Veränderungen am Roboter vorgenommen,
sondern die Positionen, die dieser ansteuern soll, durch die Berechnung von
zusätzlichen Informationen angepasst.
In der Literatur zur Kalibrierung sind unterschiedliche Ansätze zur Bildung
einer Klassifikation von Kalibrierungsmethoden zu finden, je nach dem, unter
welchem Blickwinkel der jeweilige Autor die Thematik betrachtet. In [RMR
87], [EvLi 88], [BeAl 93], [Schr 93] oder [HoWa 96] finden sich solche
Klassifikationen von Kalibrierungsmethoden. Auf diesen basierend soll hier
folgende Klassifizierung gelten.
Allgemein wird
zwischen statischer und dynamischer Kalibrierung
unterschieden. Statische Verfahren beschränken sich auf Stützpunkte einer
Roboterbahn, dynamische Verfahren hingegen berechnen Abweichungen
während der Bewegung. Dabei wird unter der Abweichung nicht nur eine
Differenz in Position und Orientierung verstanden, sondern auch
Abweichungen zeitlicher Art.
Statische Verfahren lassen sich weiter unterscheiden in numerische,
geometrisch-kinematische sowie nicht-geometrische Verfahren.
Bei der numerischen Kalibrierung wird auf eine Identifizierung der
Fehlerursachen verzichtet, der Roboter wird vielmehr als ,,Black Box"
betrachtet. Dabei werden Positionen ausgemessen. Anzufahrende Positionen
werden mit Korrekturen versehen, die die gemessenen Fehler ausgleichen.
Werden nicht vermessene Positionen angefahren, so werden die Fehler
interpoliert.

Kapitel 2
Stand der Technik und Ziele
8
Geometrisch-kinematischen Verfahren bestimmen die exakten Achs-
parameter für den individuellen Roboter und verwendet diese dann, um die
Positioniergenauigkeit zu verbessern.
Bei nicht-geometrischen Verfahren werden zu den Längen- und
Winkeldifferenzen weitere Fehlerquellen wie Temperaturtoleranzen, Umkehr-
spiele, Elastizitäten und weitere Parameter bestimmt und zu den Korrektur-
berechnungen hinzugezogen.
Das hier vorgestellte Verfahren lässt sich in diese Klassifizierung als
statisches, numerisches Verfahren einordnen.
2.2 Zu lösende Aufgabenstellungen bei der
Kalibrierung
Ziel der Kalibrierung ist es, die Diskrepanz zwischen Wiederholgenauigkeit
und absoluter Positioniergenauigkeit bei Industrierobotern aufzuheben oder
zumindest auf ein akzeptables Maß zu verringern. Dabei sind verschiedene
Verfahren denkbar.
Bei dem hier vorgestellten Verfahren soll im Gegensatz zu vielen anderen
nicht jede verwendete Position und die dort auftretende Abweichung
ausgemessen werden. Vielmehr soll mittels eines mathematischen
Verfahrens
aus
möglichst
wenigen
Positionen
auf
alle
übrigen
rückgeschlossen werden. Die Messungen können nur mit endlicher
Genauigkeit erfolgen und erfordern vom Anwender, dass er diese so präzise
wie möglich durchführt, damit das Verfahren möglichst exakt arbeiten kann.
Außerdem ist die Wiederholgenauigkeit als unterer Grenzwert für die
Kalibrierung anzusehen.
Ein weiteres Fragenfeld besteht in der Anzahl der Positionen, die vermessen
werden. Da es Messungenauigkeiten und der zu betreibende Aufwand bei
den Messungen nahe legen, mit möglichst wenigen solcher Punkte
auszukommen, es andererseits die Genauigkeit der Kalibrierung aber erhöht,
je mehr Positionen mit den genauen Abweichungen bekannt sind, befindet
sich der Anwender in einem Zwiespalt. Im Extremfall können alle
auftretenden Positionen vermessen werden, was dazu führt, dass das
Verfahren keine Abweichungen mehr berechnen muss, da diese zu jeder
Position ja bekannt sind. Damit ist die maximale Genauigkeit des Verfahrens
erreicht, hier spielen nur noch Messungenauigkeiten bei der Feststellung der
Abweichung und die Wiederholgenauigkeit des verwendeten Industrie-

Kapitel 2
Stand der Technik und Ziele
9
roboters eine Rolle, nicht jedoch noch Abweichungen, die durch die
Interpolation des Verfahrens ins Spiel kommen. Damit wäre das Verfahren
auch äquivalent zu den bereits erwähnten Verfahren, die davon ausgehen,
dass alle Positionen vermessen werden müssen. Allerdings ist diese
Möglichkeit nur bei kleinen Positionsmengen sinnvoll. Bei komplexeren
Anwendungen, wo tausend oder mehr Positionen auftreten, erweist es sich
nicht als zu aufwendig, an jeder dieser sechsdimensionalen Positionen die
Abweichungen zu messen.
Der Anwender des Verfahrens muss einen Kompromiss finden zwischen
möglichst wenigen für die Kalibrierung verwendeten Positionen und damit der
Minimierung des Messaufwands einerseits und der Maximierung der
Genauigkeit andererseits. Allerdings wird der Benutzer im Normalfall nicht
das Optimum zwischen diesen beiden Positionen suchen, er wird sich
normalerweise darauf beschränken, die Genauigkeit so weit zu steigern, dass
sie seinen Bedürfnissen genügt und die Abweichungen dem jeweiligen
Anwendungsfall angepasst sind. Bei Montage- oder Lackieraufgaben mag
diese gewünschte Genauigkeit eine andere sein als bei komplizierten
medizinischen Anwendungen. Da dies aber alles mögliche Anwendungsfälle
des Verfahrens sind, obliegt die letztendliche Entscheidung darüber, ob die
erreichte Genauigkeit ausreichend ist für den vorliegenden Anwendungsfall,
dem Benutzer des Verfahrens. Das Verfahren selber kann dem Anwender
diese nicht abnehmen.
2.3 Ziele der Arbeit
Ziel dieser Arbeit ist es, ein Verfahren zur Kalibrierung von Industrierobotern
zu entwickeln und in C
OSIMIR
zu integrieren. Damit soll dem Anwender eine
Möglichkeit an die Hand gegeben werden, mit möglichst geringem Aufwand
die in C
OSIMIR
erstellten Positionslisten in die Realität zu portieren. Der
Benutzer kann somit direkt damit arbeiten und muss nicht erst langwierige
Nach-Teach-Aktivitäten starten, bevor ein offline erstelltes Programm am
realen Roboter eingesetzt werden kann. Durch die Betrachtung des
verwendeten Roboters als ,,Black Box" wird gewährleistet, dass das
Verfahren universell einsetzbar wird und nicht an einen Typ von Roboter
gebunden ist.
Obwohl es im Sinne des Anwenders sein wird, an möglichst wenigen
Positionen Abweichungen zu messen und diese Abweichungen zur
Kalibrierung zu nutzen, so zeigt diese Arbeit, dass die Genauigkeit der
Kalibrierung mit der Zahl der zur Kalibrierung verwendeten Positionen steigt.
Somit hat es der Anwender in der Hand, bei zu geringer Genauigkeit der

Kapitel 2
Stand der Technik und Ziele
10
kalibrierten Positionen durch weiteres Messen eine Verbesserung zu
erreichen.
Besonderer Wert wird darauf gelegt, dass eine eingängige und in C
OSIMIR
schlüssig eingebundene Oberfläche entwickelt wird. Der Benutzer soll mit
wenigen, einfachen Interaktionen in die Lage versetzt werden, die
Kalibrierung zu steuern und so das jeweilige Szenario auf unkomplizierte
Weise anpassen können.
Anhand mehrerer Beispielanwendungen soll der praktische Nutzen des
Verfahrens gezeigt werden. Darüber hinaus werden die Parameter und ihre
Auswirkungen auf die Kalibrierung erläutert. Neben rein in der
Simulationsumgebung von C
OSIMIR
ablaufenden Beispielen, anhand derer die
Funktionsweise und der Nutzen des Verfahrens besser gezeigt werden kann,
weil die Soll-Daten der zu erreichenden Ergebnisse exakt vorliegen, soll
natürlich auch am realen Roboter die Funktion und der Nutzen des
Verfahrens gezeigt werden.

Kapitel 3
Beschreibung des Verfahrens
11
Kapitel 3
Beschreibung des Verfahrens
In diesem Kapitel wird der Algorithmus beschrieben, mit dem das entwickelte
Verfahren arbeitet. Bevor dies jedoch geschieht, werden erst die benötigten
Daten und für das Verfahren wesentliche Grundlagen erläutert. Nachdem der
Algorithmus dargestellt wurde, wird abschließend auf die erzeugte Ausgabe
eingegangen.
3.1 Benötigte Daten
Damit das Verfahren Anwendung finden kann, werden einige Daten benötigt.
Diese sind im Einzelnen:

Kapitel 3
Beschreibung des Verfahrens
12
ideale
Trainingspositionen
reale
Trainingspositionen
·
die Positionsliste Training-Ideal
·
die Positionsliste Training-Real
·
die Positionsliste In.
Diese Positionslisten werden als Listen im PSL-Format erwartet, weil auch
C
OSIMIR
dieses Format verwendet. C
OSIMIR
ist in der Lage, auch andere
Positionslisten-Formate in dieses Format umzuwandeln. Somit stellt die
Beschränkung auf dieses Format keine Einschränkung für das Verfahren dar.
Das Verfahren geht davon aus, dass der Anwender eine Liste von Positionen
im Roboter-Simulationssystem C
OSIMIR
vorliegen hat, die der Roboter
ansteuern soll. Allerdings handelt es sich dabei um ideale Positionen. Die im
vorherigen Kapitel beschriebenen Gründe führen dazu, dass der Roboter
diese Positionen in der Realität nicht exakt erreicht. Jene Positionen sind in
der Positionsliste In gespeichert.
Abbildung 3.1: Zusammenhang zwischen idealen und realen Trainingspositionen

Kapitel 3
Beschreibung des Verfahrens
13
Simulation
Realität
Die Aufgabe der Kalibrierung ist es, die Abweichungen zwischen der
Simulation und der Realität zu verringern. Dazu werden an einigen Punkten
die Abweichungen bestimmt, in dem an diesen der reale Roboter geteacht
wird. Der Anwender fährt den Roboter mittels des Handbediengeräts an eine
Trainingsposition. Die Koordinaten der vom Roboter angefahrenen
Trainingspositionen werden in der Positionsliste Training-Real gespeichert.
In der Simulation haben die geteachten Positionen entsprechende ideale
Positionen, die in der Positionsliste Training-Ideal gespeichert werden. Diese
Positionen
stellen
die
gewünschten
Trainingspositionen
ohne
die
roboterspezifischen Abweichungen dar. Die beiden Positionslisten stellen
jeweils eine Punktewolke dar. Um eine Punktewolke in die andere zu
überführen, ist eine ,,Raumverzerrung" durchzuführen.
Abbildung 3.1 zeigt eine ideale und eine realen Trainingspositionswolke. Da
die absoluten Abweichungen des Roboters von Position zu Position variieren
können, sind die beiden Punktewolken nicht identisch, aber ähnlich. Auch die
Abweichungen sind nicht überall gleich, deshalb verlaufen die Vektoren
zwischen den Punktewolken nicht parallel.
Abbildung 3.2: Zusammenhang zwischen Simulation und Realität

Kapitel 3
Beschreibung des Verfahrens
14
Dieser
Zusammenhang
zwischen
Idealer
und
Realer
Trainings-
Positionsliste wird vom Verfahren verwendet, um eine Positionsliste Out zu
berechnen. Dabei wird Out so erzeugt, das die ,,Raumverzerrung" zwischen
den beiden Trainingslisten mit der ,,Raumverzerrung" zwischen In und Out
übereinstimmt.
Abbildung 3.2 zeigt den Zusammenhang zwischen der Situation in der
Simulation und der in der realen Welt. In der Simulation gibt es die beiden
Positionslisten In und Training-Ideal. In der realen Welt hingegen ist nur die
Positionsliste Training-Real, die durch das Teachen erstellt wurde, bekannt.
Durch die gestrichelten Vektoren wird angedeutet, dass die zugehörigen
Positionen in der realen Welt nicht bekannt sind. Sie sind durch die
Kalibrierung zu berechnen.
Daraus ergibt sich eine wichtige Voraussetzung für das Verfahren: Die beiden
Positionslisten Training-Ideal und Training-Real müssen exakt gleich lang
sein, sonst wird das Verfahren nicht ausgeführt. Außerdem müssen die
korrespondierenden Positionen in exakt gleicher Reihenfolge in den beiden
Positionslisten auftreten, sonst wird das Verfahren keine sinnvollen Ausgaben
erzeugen.
Das Verfahren wird durch einige Parameter gesteuert, die an den
entsprechenden Stellen erläutert werden.
3.2 Grundlagen
Im Folgenden werden die für das Kalibrierungsverfahren wichtigen
Grundlagen erläutert. Diese sind die Darstellung von Orientierungen mittels
Roll, Pitch und Yaw ­ Winkeln, die Darstellung mit Hilfe von Drehvektor-
und Drehwinkel, die zur Positionsdarstellung wichtigen Frames, die zur
Berechnung von Rotationen benötigten Quaternionen, das darauf
aufbauende S
LERP
­ Verfahren sowie das zum ,,Matchen" von Punktewolken
dienende I
CP
-Verfahren.
3.2.1 R
OLL
,
P
ITCH UND
Y
AW
­
W
INKEL
Um die genaue Lage eines Objektes im Raum zu bestimmen, gibt es mehrere
Möglichkeiten. Die Positionslisten in C
OSIMIR
stellen die Positionen und
Orientierungen in einer für den Menschen anschaulichen Weise dar. Es wird
eine sechsdimensionale Darstellung verwendet. Die Position wird in

Kapitel 3
Beschreibung des Verfahrens
15
kartesischen Koordinaten (x, y, z) angegeben, die Orientierung wird mittels
dreier Winkel Roll, Pitch und Yaw dargestellt:
x
y
z
P
Roll
Pitch
Yaw
=
(3.1)
Die Orientierung ist dabei durch drei aufeinander folgende Rotationen
gekennzeichnet: Zunächst erfolgt eine Rotation um die z-Achse um den
Winkel Roll, anschließend Rotation um die neue y-Achse um den Winkel
Pitch und abschließend eine Rotation um die neue x-Achse um den Winkel
Yaw.
Abbildung 3.3: Drehung mittels Roll, Pitch und Yaw-Winkeln
Mit dieser Darstellungsform, die unter anderem in [FrSt 01] und in [McKe 95]
beschrieben wird, lassen sich jedoch keine Berechnungen wie zum Beispiel
der Verkettung von Transformationen durchführen. Dafür ist die Umrechnung
der Positionen in Frames (siehe Kapitel 3.2.3) nötig. Mit deren Hilfe lassen
sich alle Berechnungen auf Matrizenmanipulationen zurückführen.

Kapitel 3
Beschreibung des Verfahrens
16
3.2.2 D
REHVEKTOR
­
D
REHWINKEL
­
D
ARSTELLUNG
Um den Unterschied zwischen zwei Orientierungen zu berechnen, verwendet
das hier beschriebene Verfahren die Darstellung mittels Drehvektor ­
Drehwinkel. [FrSt 01] beschreibt diese Orientierungsdarstellung: ,,Es wird ein
Vektor k und ein Winkel
so bestimmt, dass ein Körper mit
Normalorientierung bei der Rotation um den Vektor k mit dem Winkel
die
gegebene Orientierung erhält."
Der Orientierungsunterschied zwischen zwei Orientierungen wird im
Verfahren benötigt, um ein Maß für den Abstand zwischen einer zu
kalibrierenden Position und einer realen Trainingsposition zu bestimmen.
3.2.3 F
RAMES
Ein Frame ist eine Darstellungsform einer homogenen Transformation, sie
wird unter anderem in [FrSt 01] beschrieben. Das hier beschriebene Kalibrie-
rungsverfahren verwendet Frames, die nachfolgend erläutert werden sollen.
Abbildung 3.4: Lage eines Objekts im Raum
Im dreidimensionalen Raum ist ein Frame, auch als homogene
Transformationsmatrix bezeichnet, eine 4x4 ­ Matrix mit folgendem
Aussehen:

Kapitel 3
Beschreibung des Verfahrens
17
11
12
13
1
21
22
23
2
hom
31
32
33
3
v
m
m
m
v
m
m
m
T
v
m
m
m
0
0
0
1
=
(3.2)
Die 3x3 ­ Matrix m oben links ist orthonormal, das bedeutet, dass die
Vektoren der Matrix die Länge eins haben und paarweise senkrecht
zueinander stehen. Damit wird eine Rotation um alle drei Achsen ermöglicht.
Diese Matrix wird auch als Orientierungsmatrix bezeichnet. Der Vektor v,
welcher in der letzten Spalte steht, ermöglicht die Translation. Durch die
Erweiterung mit der letzten Zeile wird die homogene Transformationsmatrix
quadratisch, so lassen sich Rotationen und Translationen mittels Matrix-
Multiplikationen berechnen. Auch bei aufeinander folgenden Rotationen und
Translationen müssen nur die zugehörigen homogenen Transformationen
miteinander multipliziert werden. Die Erläuterung der Frame-Multiplikation
folgt, doch zuvor soll die Umrechnung der Darstellung in Roll, Pitch, Yaw -
Winkeln in die Darstellung als Frame erläutert werden.
Die Umrechnung der Roll, Pitch, Yaw ­ Winkeln in die Frame ­ Darstellung
ist eine Translation des Koordinatensystems, verbunden mit den drei im
vorherigen Abschnitt beschriebenen Rotationen. Die Translation lässt sich
mittels des Frames
1
0
0
x
0
1
0
y
Trans(x, y, z)
0
0
1
z
0
0
0
1
=
(3.3)
darstellen. Die Orientierungsmatrix ist die Einheitsmatrix, was folgerichtig ist,
denn bei einer Translation entsteht keine Rotation. Für die Rotation um die z-
Achse um einen Winkel
= Roll ergibt sich
z
cos( )
sin( )
0
0
sin( )
cos( )
0
0
( )
Rot
0
0
1
0
0
0
0
1
-
=
.
(3.4)
Hier ist sofort zu erkennen, dass der translatorische Teil der Nullvektor ist,
was bei einer Rotation folgerichtig ist. Entsprechend gilt für die Rotation um

Kapitel 3
Beschreibung des Verfahrens
18
die y-Achse um einen Winkel
= Pitch und die z-Achse um einen Winkel
¡
=
Yaw:
y
cos( )
0
sin( )
0
0
1
0
0
( )
Rot
sin( )
0
cos( )
0
0
0
0
1
=
-
und
(3.5)
x
1
0
0
0
0
cos( )
sin( )
0
( )
Rot
0
sin( )
cos( )
0
0
0
0
1
-
=
.
(3.6)
Für die komplette Transformation ergibt sich das Frame als Produkt dieser
Matrizen. Dabei ist die Reihenfolge der Multiplikation unbedingt zu beachten,
da die Multiplikation von Matrizen im Allgemeinen nicht kommutativ ist. Es
ergibt sich:
hom
z
y
x
Trans(x, y, z)
( )
( )
( )
Rot
Rot
Rot
T
=
(3.7)
cos( ) cos( ) cos( ) sin( ) sin( ) sin( ) cos( ) cos( ) sin( ) cos( ) sin( ) sin( ) x
sin( ) cos( ) sin( ) sin( ) sin( ) cos( ) cos( ) sin( ) sin( ) cos( ) cos( ) sin( ) y
sin( )
cos( ) sin( )
cos( ) cos( )
z
0
-
+
+
-
=
-
0
0
1
(3.8)
Das Ergebnis der Kalibrierung soll wieder eine Positionsliste im von C
OSIMIR
verwendeten PSL-Format sein. Dazu müssen die Ergebnisse wieder mittels
der Roll, Pitch, Yaw ­ Darstellung angegeben werden. Daher wird hier auch
die Umrechnung von Frames in Roll, Pitch, Yaw ­ Winkel beschrieben.
Die Werte x, y und z lassen sich aus einem Frame direkt ablesen. Die Roll,
Pitch, Yaw ­ Winkel berechnen sich zu:
(
)
Roll arctan 2 sin( ) cos( ), cos( ) cos( )
=
(3.9)
(
)
Pitch arctan 2 sin( ), 1 ( sin( ) sin( )
=
- -
(3.10)

Kapitel 3
Beschreibung des Verfahrens
19
(
)
Yaw arctan 2 cos( ) sin( ), cos( ) cos( )
=
(3.11)
Die für die Berechnung benötigte Funktion arctan2 ist abschnittsweise
definiert als:
z
arctan
falls n
0,
n
z
arctan
falls n
0 und z
0,
n
z
arctan 2(z, n)
arctan
falls n
0 und z
0,
n
falls n
0 und z
0,
2
sonst
2
+
=
-
=
-
(3.12)
Abbildung 3.5: Verknüpfung von Frames
Damit können nun folgende Berechnungen durchgeführt werden: Ist ein
Frame F gegeben, so kann ein Frame F' berechnet werden, das um einen

Kapitel 3
Beschreibung des Verfahrens
20
Vektor v verschoben und um eine Orientierungsmatrix m verdreht ist. Dazu
wird das Frame T = (m, v) verwendet. F' berechnet sich zu:
F ' F T
=
,
(3.13)
dazu ist Abbildung 3.5 zu beachten. Oft stellt sich aber auch eine andere
Frage: Wie liegt F' bezüglich F oder anders ausgedrückt: Welche Koordinaten
(sechsdimensional) hat F' im Koordinatensystem von F? Aus Gleichung
(3.13) folgt durch Umformung:
1
T F
F '
-
=
.
(3.14)
T wird auch als Differenz-Frame von F und F' bezeichnet.
3.2.4 Q
UATERNIONEN
Quaternionen wurden in [Hami 69] 1843 erstmals erwähnt und sind als
komplexe Zahlen im R
3
deutbar. Sie lassen sich verwenden, wenn es um die
Beschreibung von Rotationen im dreidimensionalen euklidschen Raum geht.
Für Quaternionen sind zwei Schreibweisen üblich:
q
s
ix
jy
kz
= +
+
+
oder
(3.15)
=
z
y
x
s
q
,
(3.16)
Für die in der ersten Schreibweise explizit auftretenden Imaginärteile i, j und
k gilt analog zu den komplexen Zahlen, dass die Summe der Quadrate der
Imaginärteile minus eins ergibt:
1
2
2
2
-
=
+
+
k
j
i
(3.17)
Weiterhin gelten zwischen den Imaginärteilen folgende Beziehungen:
k
j
i
=
,
(3.18)

Kapitel 3
Beschreibung des Verfahrens
21
i
k
j
=
und
(3.19)
j
i
k
=
.
(3.20)
Man beachte, dass die Multiplikation nicht kommutativ ist:
i
j
k
j
i
-
=
=
(3.21)
Die folgende Abbildung veranschaulicht die Vorzeichenregeln bei der
Rechnung mit Imaginärteile von Quaternionen:
Abbildung 3.6: Vorzeichenregeln für die Imaginärteile von Quaternionen
Es ist üblich, die Zahlen x, y, z als Vektor v und s als Skalar zu bezeichnen.
Ein Vektor
W
wird als Quaternion dargestellt, indem s auf Null und v auf die
Werte der Komponenten des Vektors gesetzt wird. Das Quaternion
x
q
0, y
z
=
(3.22)
entspricht also dem Vektor
x
w
y
z
=
(3.23)
Die Rotation um eine Achse k um den Winkel
wird durch das Quaternion

Details

Seiten
Erscheinungsform
Originalausgabe
Jahr
2002
ISBN (eBook)
9783832470883
ISBN (Paperback)
9783838670881
DOI
10.3239/9783832470883
Dateigröße
4.2 MB
Sprache
Deutsch
Institution / Hochschule
Technische Universität Dortmund – Informatik, Roboterforschung
Erscheinungsdatum
2003 (August)
Note
1,7
Schlagworte
robotik elektrotechnik informatik steuerung regelungstechnik
Zurück

Titel: Entwicklung und Implementierung eines Verfahrens zur statischen, kartesischen Kalibrierung von Robotern unter Verwendung gemessener räumlicher Abweichungen
book preview page numper 1
book preview page numper 2
book preview page numper 3
book preview page numper 4
book preview page numper 5
book preview page numper 6
book preview page numper 7
book preview page numper 8
book preview page numper 9
book preview page numper 10
book preview page numper 11
book preview page numper 12
book preview page numper 13
book preview page numper 14
book preview page numper 15
book preview page numper 16
book preview page numper 17
book preview page numper 18
book preview page numper 19
book preview page numper 20
book preview page numper 21
book preview page numper 22
book preview page numper 23
book preview page numper 24
114 Seiten
Cookie-Einstellungen