This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Problemdefinition Koordinatensysteme und –transformationen Ansätze, die Gleichungen der Form lösen Ansätze, die Gleichungen der Form lösen Optimale Hand-Auge-Kalibrierung
Ein wichtiges Anwendungsgebiet von Objekterkennungsverfahren ist das Greifen der erkannten Objekte mit einem Roboter, z.B. um Objekte zusammenzufügen oder an einer vorgegebenen Stelle abzulegen
Ein Roboter besitzt typischerweise nur Informationen über seine eigene Geometrie, da er diese Information zur Steuerung seiner Bewegungen benötigt
Er besitzt typischerweise auch die Information über den Endeffektor (Werkzeug; end effector, tool), mit dem der Greifvorgang ausgeführt wird
Der Roboter besitzt keine Information darüber, wo die Kamera, mit der das Objekt erkannt wird, relativ zum Roboter liegt
Die relative Lage der Kamera zum Roboter ist aber unerläßlich, um die Lage des Objektes von Kamerakoordinaten in Roboterkoordinaten umzurechnen, und somit dem Roboter mitteilen zu können, wohin er greifen soll
Ein Roboter besteht aus einer Anzahl von Gliedern (links), die über Gelenke (joints) miteinander verbunden sind
Die Gelenke erlauben relative Bewegungen der Glieder zueinander Typische Gelenkarten:
Schubgelenk (prismatic joint, sliding joint): Lineare Bewegung der zwei benachbarten Glieder zueinander
Drehgelenk (rotary joint, revolute joint): Rotationsbewegung der zwei benachbarten Glieder zueinander um eine feste Achse
Rotoidgelenk (spherical joint): Drehbewegung der zwei benachbarten Glieder zueinander in drei Freiheitsgraden um einen festen Punkt (typischerweise als eine Kombination von drei Drehgelenken konstruiert, bei denen sich die drei Drehachsen in einem Punkt schneiden)
Die Struktur, mit der das erste Glied eines Industrieroboters befestigt wird, wird als Basis (base) bezeichnet
Die Basis des Roboters wird auf einer Basismontagefläche (base mounting surface) befestigt
Am letzten Glied des Roboters befindet sich die mechanische Schnittstelle (mechanical interface) des Roboters
Die Lage der mechanischen Schnittstelle läßt sich aus den Gelenkstellungen und der Geometrie der Gelenke und Glieder berechnen (vorwärtsgerichtete Kinematik; forward kinematics)
Das Werkzeug wird an der mechanischen Schnittstelle befestigt Falls der Robotersteuerungssoftware die relative Lage des
Werkzeugs bekannt gemacht wird, kann auch die Lage des Werkzeugs durch die Robotersteuerungssoftware berechnet werden
Es wird häufig ein von der Roboterbewegung unabhängiges Koordinatensystem definiert, das als Weltkoordinatensystem (world coordinate system) bezeichnet wird:
Die Basis definiert ein Basiskoordinatensystem (base coordinate system):
Die mechanische Schnittstelle definiert ein Koordinatensystem der mechanischen Schnittstelle (mechanical interface coordinate system):
Aufgrund der wenig intuitiven Bezeichnungen der Norm ISO 9787 im folgenden Verwendung von für das Weltkoordinatensystem und von für das Basiskoordinatensystem
Falls ein Roboter kameragesteuert Greifvorgänge ausführen soll, kommen mindestens noch drei weitere Koordinatensysteme hinzu
Das Werkzeug definiert ein Werkzeugkoordinatensystem (tool coordinate system, TCS):
Der Ursprung des Werkzeugkoordinatensystems wird häufig als Werkzeugarbeitspunkt (tool center point, TCP) bezeichnet
Es kann aber auch ein anderer Punkt als Werkzeugarbeitspunkt definiert werden
Die Kamera definiert ein Kamerakoordinatensystem (camera coordinate system):
Das zu erkennende Objekt definiert ein Objektkoordinatensystem (object coordinate system): (wenig intuitive Bezeichnung gemäß ISO 14539: )
Die Norm ISO 14539 definiert zusätzlich noch ein Aufgabenkoordinatensystem (task coordinate system), das im weiteren nicht benötigt wird (Bezeichnung: )
Bei der Hand-Auge-Kalibrierung eines Roboters mit einer stationären Kamera ist die wesentliche Aufgabe, die Lage des Kamerakoordinatensystems relativ zum Basiskoordinatensystem zu bestimmen
Bei der Hand-Auge-Kalibrierung eines Roboters mit einer bewegten Kamera ist die wesentliche Aufgabe, die Lage des Kamerakoordinatensystems relativ zum Werkzeugkoordinatensystem zu bestimmen
Es gibt aber noch weitere Kamerakonfigurationen und Systeme, die auch mit der Hand-Auge-Kalibrierung kalibriert werden können, z.B.: Schwenk-Neige-Kameras (pan-tilt cameras) Endoskope (Schmidt et al., 2003; Schmidt und Niemann, 2008) Computertomographie (Mitschke und Navab, 2000) Erweiterte Realität (augmented reality) (Baillot et al., 2003)
Zum Verständnis der Algorithmen zur Hand-Auge-Kalibrierung ist ein tieferes Verständnis der verschiedenen Arten, Koordinatensysteme (coordinate systems oder frames) und Transformationen zwischen Koordinatensystemen zu beschreiben, notwendig
Ein Koordinatensystem in einem -dimensionalen Raum wird beschrieben durch seinen Ursprung (origin) und orthogonale Koordinatenachsen bzw. (d.h. im weiteren oder )
Die Koordinatenachsen werden durch Einheitsvektoren (Vektoren der Länge 1) beschrieben
Das Koordinatensystem ist somit kartesisch Es wird angenommen, daß die Koordinatensysteme rechtshändig
sind Transformationen zwischen Koordinatensystemen sind starre
Die trigonometrischen Terme in der 2D-Rotationsmatrix sind geometrisch gesehen die Projektionen der Achsen des Koordinatensystems 1 auf die Achsen des Koordinatensystems 0
Die Projektion eines Einheitsvektors auf einen anderen wird durch das Skalarprodukt der beiden Vektoren berechnet:
Daher gilt:
Diese Formel erweitert sich in offensichtlicher Weise für Dimensionen ≥ 3
Die Rotationsmatrix repräsentiert nicht nur die Orientierung von Koordinatensystem 1 in Bezug auf Koordinatensystem 0, sondern transformiert auch Punkte von Koordinatensystem 1 in Koordinatensystem 0
Wenn einen Punkt in Koordinatensystem 1 repräsentiert, repräsentiert denselben Punkt im Koordinatensystem 0
Zusammenfassung: Eine Rotationsmatrix kann auf folgende Weisen interpretiert werden: Sie spezifiziert die Orientierung eines Koordinatensystems 1 in
Bezug auf ein anderes Koordinatensystem 0 Sie repräsentiert eine Koordinatentransformation, die die
Koordinaten eines Punktes in einem Koordinatensystem 1 in die Koordinaten desselben Punktes im Koordinatensystem 0 umrechnet
Sie repräsentiert einen Operator, der einen Punkt in einem gegebenen Koordinatensystem rotiert und in demselben Koordinatensystem zurückliefert
Beachte: die Inverse der Rotationsmatrix spezifiziert die Transformation, die das Koordinatensystem 1 in das Koordinatensystem 0 rotiert, wobei die Punkte als fest angesehen werden (d.h. Transformation von Koordinatensystemen; im weiteren nicht verwendet)
In manchen Anwendungen ist es einfacher, die Rotationen relativ zu einem festen (d.h. globalen) Koordinatensystem anzugeben
Es läßt sich leicht zeigen (z.B. Spong, Hutchinson, Vidyasagar, 2006), daß in diesem Fall die Rotationsmatrizen von links mit einer bestehende Rotationsmatrix multipliziert werden müssen:
Beachte: Da die Rotation im festen Koordinatensystem spezifiziert wird, muß diese Rotation korrekterweise mit bezeichnet werden (und nicht etwa mit )
Interpretation von zusammengesetzten Rotationsmatrizen: Multiplikation von rechts: Rotation des lokalen
Koordinatensystems Multiplikation von links: Rotation relativ zu einem globalen
Im weiteren werden homogene Koordinaten nicht explizit gekennzeichnet, da aus dem Kontext klar ist, ob ein Vektor in homogenen oder inhomogenen Koordinaten dargestellt ist
Beispiel:
Die Inverse einer starren Abbildung ist gegeben durch:
Für die Interpretation von zusammengesetzten homogenen Transformationsmatrizen gilt dasselbe wie für zusammengesetzte Rotationsmatrizen: Multiplikation von rechts: Transformation des lokalen
Koordinatensystems Multiplikation von links: Transformation relativ zu einem
Vektoren im 2D können auch durch komplexe Zahlenrepräsentiert werden
Komplexe Zahlen können auch in Polarkoordinaten dargestellt werden:
Eine komplexe Zahl vom Betrag 1 (d.h. ) bewirkt bei der Multiplikation eine Rotation um den Winkel :
Die Darstellung einer Rotation im 2D als Multiplikation mit einer komplexen Zahl der Länge 1 ist in gewisser Weise das Analogon der später behandelten Darstellung von Rotationen im 3D als Quaternionen
Rotationsmatrizen können im 2D auch wie folgt dargestellt werden:
Hierbei gilt:
Diese Darstellung folgt unmittelbar aus den Darstellungen als Rotationsmatrizen oder als komplexen Zahlen bei Verwendung des halben Winkels und zweimaliger Rotation
Diese Darstellung der Rotation im 2D ist ein weiteres Analogon der später behandelten Darstellung von Rotationen im 3D als Quaternionen
Jede Rotation im 3D läßt sich als Sequenz von drei Rotationen um Koordinatenachsen beschreiben, wobei zwei aufeinanderfolgende Rotationen nicht um dieselbe Koordinatenachse erfolgen dürfen (Kuipers, 1999)
Die Transformationen werden durch Elementarrotationen um die orthogonalen Koordinatenachsen ausgedrückt
Es gibt 12 verschiedenen Arten, 3D-Rotationen mit drei Winkeln (den sogenannten Eulerwinkeln) auszudrücken
Beispiele für Sequenzen von Rotationen: XYZ oder ZYZ Bei Unterscheidung zwischen Transformationen des lokalen
Koordinatensystems und Transformationen von Objekten in einem globalen Koordinatensystem verdoppelt sich die Anzahl
Die Unterscheidung wirkt sich aber lediglich auf die Reihenfolge aus, in der die Rotationsmatrizen multipliziert werden
XYZ (lokal) entspricht ZYX (global) und liefert dieselbe Matrix
Mechanische Kreiselkompasse verwenden häufig eine kardanische Aufhängung, die der Sequenz XYZ (lokal) entspricht
Falls die kardanische Blockade eintritt, kann der Kreiselkompaß die Orientierung nicht mehr bestimmen (daher der Name kardanische Blockade)
Die letzten drei Gelenke von Robotern (die Nebenachsen; wrist) werden häufig in einer Konfiguration angeordnet, die der Sequenz ZYZ (lokal) entspricht
Hier kann es bei der Bewegung des Handgelenks des Roboters zu einem sog. wrist flip kommen (einer extrem schnellen Drehung des Handgelenks um 180°), falls die erste und dritte Achse des Handgelenks kollinear sind
In Algorithmen, die die Eulerwinkel aus einer Rotationsmatrix berechnen müssen, kann die kardanische Blockade zu numerischen Problemen führen
Berechnung der Rotationsachse: Eine 3D-Rotationsmatrix besitzt die Eigenwerte , und Der Eigenvektor zum Eigenwert ist die Rotationsachse Der Rotationswinkel kann aus einem der beiden komplexen
Eigenwerte berechnet werden Ein weiterer Algorithmus zur Berechnung der Rotationsachse wird
häufig wie folgt angegeben:
Um diesen Algorithmus numerisch stabil zu machen, sind allerdings Modifikationen notwendig, falls (hier nicht näher behandelt; siehe (Hanson, 2006))
Jede Einheitsquaternion läßt sich in der folgenden Form darstellen ( ):
Hierbei ist ein 3D-Einheitsvektor Sei eine reine Quaternion Man kann zeigen (Rooney, 1977; Kuipers, 1999), daß folgende
Beziehungen gelten: Das Produkt kann geometrisch als eine Rotation
des Punktes um die Achse um den Winkel interpretiert werden
Das Produkt kann geometrisch als eine Rotation des Koordinatensystems um die Achse um den Winkel interpretiert werden (Umrechnung der Koordinaten von )
Die Darstellung ist nicht eindeutig: und beschreiben dieselbe Rotation:
Die Repräsentation ist eine Überparametrisierung: 4 Parameter, Nebenbedingung
In vielen Anwendungen ist die Parametrisierung über Einheitsquaternionen die am besten geeignete Parametrisierung von Rotationen
Insbesondere kann mit Einheitsquaternionen auch eine sinnvolle Interpolation zwischen zwei Koordinatensystemen erreicht werden, z.B. zur Animation von bewegten Objekten (hier nicht näher behandelt)
Starre Abbildungen können leider mit Quaternionen nicht in einem einheitlichen Ansatz (z.B. analog zu homogenen Matrizen) behandelt werden
Aufgrund der Eleganz der Darstellung von Rotationen durch Quaternionen ist eine Repräsentation wünschenswert, in der sich starre 3D-Abbildungen ähnlich kompakt beschreiben lassen
Die Herleitung dieser Repräsentation basiert auf dem Satz von Chasles: Jede starre Abbildung im 3D läßt sich als eine Schraubung darstellen
Eine Schraubung ist eine Rotationum eine Schraubenachse um einenWinkel gefolgt von einerTranslation entlang der Achseum den Abstand
Eine Gerade im 3D besitzt vierFreiheitsgerade, so daß sich mitdem Winkel und dem Abstand diesechs Freiheitsgerade einerstarren Abbildung ergeben
Für reelle Einheitsvektoren liefert das Vektorprodukt die gemeinsame Normale der beiden Vektoren und das Skalarproduktden Kosinus des Winkels zwischen den beiden Vektoren
Für duale Einheitsvektoren (d.h. Plückerkoordinaten) und liefert das Vektorprodukt die Gerade, die senkrecht zu den beiden Geraden ist und durch den kürzestenAbstand der Geraden verläuft
Für duale Einheitsvektoren liefertdas duale Skalarprodukt einen dualenWinkel , der den Winkelzwischen den beiden Geraden sowieihren Abstand beinhaltet:
Beachte: Die zwei orientierten Geradendefinieren eine eindeutige Schraubung
Falls das duale Skalarprodukt zweier nichtparalleler Geraden reell ist (d.h. falls der duale Teil 0 ist), schneiden sich die Geraden
Falls zusätzlich der Realteil des dualen Skalarprodukts 0 ist, schneiden sich die Geraden im rechten Winkel
Für das duale Vektorprodukt gilt in Analogie zum reellen Vektorprodukt ( ist ein dualer Einheitsvektor, der die Gerade, die senkrecht zu den beiden Geraden liegt, beschreibt):
Falls das Vektorprodukt zweier Geraden ein reiner dualer Vektor ist (d.h. falls der Realteil 0 ist), sind die Geraden parallel
Falls zusätzlich der Dualteil 0 ist, sind die Geraden kollinear
Die Darstellung ist nicht eindeutig: und beschreiben dieselbe starre Abbildung
Die Repräsentation ist eine Überparametrisierung: 8 Parameter, 2 Nebenbedingungen:
Die Parametrisierung von starren Abbildungen als duale Einheitsquaternionen ist die Darstellung, die für die Transformation von Geraden vorzuziehen ist (Rooney, 1978)
Falls Punkte mit einer starren Abbildung transformiert werden sollen, ist allerdings die Darstellung als homogene Matrizen vorzuziehen (Rooney, 1978)
Falls die innere Orientierung der Kamera unbekannt ist, werden die Kalibrierbilder dazu verwendet, die Kamera komplett zu kalibrieren, d.h. die innere Orientierung der Kamera sowie die äußere Orientierung des Kalibrierkörpers in jedem Bild zu bestimmen
Falls die innere Orientierung der Kamera bekannt ist, werden die Kalibrierbilder dazu verwendet, die äußere Orientierung des Kalibrierkörpers in jedem Bild zu bestimmen
In jedem Fall ist die Pose des Kalibrierkörpers in jedem Bild bekannt
Die Pose des Werkzeugs relativ zur Basis in jedem Bild wird aus der Robotersteuerung ausgelesen und ist somit bekannt
Falls die Robotersteuerung nur die Pose der mechanischen Schnittstelle zurückliefert, muß die Pose des Werkzeugs von Hand hinzugerechnet werden
Beachte: Die Robotersteuerung liefert entweder oder Je nach Konfiguration (stationäre oder bewegte Kamera) muß
die von der Robotersteuerung gelieferte Pose geeignet ungerechnet (d.h. evtl. invertiert) werden
In beiden Fällen sind bzw. und für Posen des Roboters bekannt
Beide Systeme von Gleichungen haben die Struktur
wobei die Pose des Werkzeugs relativ zur Basis oder umgekehrt beschreibt und die Pose der Kamera relativ zum Kalibrierkörper, jeweils an der i-ten Pose des Roboters
Die geometrischen Beziehungen, die durch die Gleichungausgedrückt werden, können durch homogene Matrizen beschrieben werden:
Dieser Ansatz führt zu separaten Gleichungen zur Berechnung der Rotation und Translation:
In homogenen Koordinaten kann zuerst der Rotationsanteil der gesuchten Pose bestimmt werden und dann der Translationsanteil
Die Gleichungen können z.B. in der Darstellung Achse + Winkel (Tsai und Lenz, 1989) oder in der Darstellung als Quaternionen gelöst werden (Chou und Kamel, 1991)
Die separate Bestimmung der Rotation und Translation ist suboptimal, da sich Fehler bei der Bestimmung der Rotation zu größeren Fehlern in der Translation fortpflanzen
Es ist daher besser, die Rotation und Translation gemeinsam zu bestimmen
Die gemeinsame Bestimmung der Rotation und Translation wird durch die Darstellung der Posen als duale Quaternionen ermöglicht (Daniilidis, 1999)
Nur der Vektoranteil von liefert Bedingungsgleichungen für die Bestimmung von :
Falls der Winkel der Schraubung nicht 0° oder 360° ist, ergibt sich:
Dabei sind und die Schraubenachsen der Kamera und des Werkzeugs
Die Hand-Auge-Kalibrierung ist äquivalent zur Bestimmung einer starren Abbildung, die zwei Konfigurationen von ( ) Geraden (den Schraubenachsen der Kamera und des Werkzeugs) möglichst gut aufeinander abbildet
Die Bedingungen, unter denen dieses Problem gelöst werden kann, sind von Chen (1991) vollständig beschrieben worden: Es sind zwei nichtparallele Schraubenachsen notwendig, um
die Hand-Auge-Kalibrierung eindeutig lösen zu können Falls nur eine Schraubenachse vorliegt (d.h. zwei
Roboterposen), kann der Winkel und Abstand der Schraubungnicht bestimmt werden (d.h. zwei Parameter sind
unbestimmbar) Falls alle Schraubenachsen parallel sind, kann der Abstand der
Schraubung nicht bestimmt werden (d.h. ein Parameter ist unbestimmbar)
Es gibt weitere degenerierte Fälle falls der Winkel der Kamera-und Werkzeugschraubung 0° ist oder falls der Winkel 180° und der Abstand 0 sind (Chen, 1991; hier nicht näher behandelt)
Falls kein Rauschen (Fehler in den Schraubenachsen) vorliegt, hat die Matrix den Rang 6
Falls alle Schraubenachsen parallel sind, hat den Rang 5 Die Lösungen sind Linearkombinationen aus dem Kern von Im allgemeinen sind die Schraubenachsen mit Fehlern behaftet Numerisch besitzt typischerweise den Rang 8 (und nicht den
geometrisch zu erwartenden Rang 6) Zur Berechnung der Basis des Kerns von kann die
Singulärwertzerlegung (singular value decomposition, SVD) verwendet werden:
Für fehlerfreie Schraubenachsen gilt: Für fehlerbehaftete Schraubenachsen gilt dies im allgemeinen
nicht Die Singulärwerte und werden aber im allgemeinen sehr viel
kleiner sein, als die restlichen Singulärwerte Falls zusätzlich der Singulärwert sehr klein ist, sind die
Schraubenachsen alle parallel, d.h. es existiert keine eindeutige Lösung
Die Basis des Kerns von ist gegeben durch die Spalten von , die den Singulärwerten von 0 entsprechen (bzw. hinreichend kleinen Singulärwerten), d.h. den Spalten 7 und 8 von
Die Genauigkeit der Hand-Auge-Kalibrierung kann erhöht werden, wenn folgende Punkte (insbesondere bei der Planung der Roboterbewegungen) berücksichtigt werden (Tsai und Lenz, 1989): Der Roboter (die Roboterkinematik) sollte möglichst genau
kalibriert sein, d.h. die Lage des Werkzeugs relativ zur Basis sollte möglichst genau bekannt sein
Der Winkel zwischen den Schraubenachsen zwischen zwei Roboterposen sollte so groß wie möglich sein
Der Rotationswinkel der Schraubung zwischen zwei Roboterposen sollte so groß wie möglich sein
Der Abstand des Projektionszentrums der Kamera zum Kalibrierkörper sollte so klein wie möglich sein
Der Abstand der Werkzeugarbeitspunkte zwischen zwei Roboterposen sollte so klein wie möglich sein
Es sollten möglichst viele Roboterposen verwendet werden
Die obigen Kriterien können durch umsichtige Wahl der Roboterposen erfüllt werden
In vielen Fällen sind die Anwender aber mit der Planung der Posen unter den obigen Nebenbedingungen überfordert
In einigen Anwendungen (z.B. Endoskopie) ist eine gezielte Planung der Roboterposen nicht möglich
Eine automatische Auswahl der relativen Posen aus vorgegebenen Roboterposen ist wie folgt möglich (Schmidt et al., 2003): Sei die Rotationsachse (parallel zur Schraubenachse) der
relativen Pose zwischen den Roboterposen und Bestimme (z.B. ) Relativbewegungen durch:
Ein robusterer und effizienterer Algorithmus ist in Schmidt und Niemann (2008) beschrieben (hier nicht näher behandelt)
Erinnerung: Für stationäre Kameras gilt und für bewegte Kameras gilt
Dies kann wie folgt umformuliert werden: Stationäre Kameras:
Bewegte Kameras:
Beide Systeme von Gleichungen haben die Struktur
wobei die Pose der Basis relativ zum Werkzeug oder umgekehrt beschreibt und die Pose der Kamera relativ zum Kalibrierkörper, jeweils an der i-ten Pose des Roboters
Beachte: Statt wird in der Literatur auch manchmal verwendet( )
Die geometrischen Beziehungen, die durch die Gleichungausgedrückt werden, können durch homogene Matrizen beschrieben werden:
Dieser Ansatz führt zu separaten Gleichungen zur Berechnung der Rotation und Translation:
Die Gleichungen können z.B. in der Darstellung als Quaternionen gelöst werden (Dornaika und Horaud, 1998)
Die separate Lösung der Rotationen und Translationen ist aber suboptimal, da sich Fehler in den Rotationen in erhöhte Fehler in den Translationen fortpflanzen
Es ist besser, die Rotationen und Translationen gemeinsam zu bestimmen
Eine einfache Methode ist die Minimierung der Frobenius-Norm der Darstellung der Transformationen als homogene Matrizen:
Dornaika und Horaud (1998) verwenden eine nichtlineare Minimierung einer Fehlerfunktion der folgenden Art:
Die Startwerte können in beiden Fällen z.B. mit den Ergebnissen des linearen Verfahrens von Daniilidis (1999) berechnet werden
In beiden Fällen muß sichergestellt sein, daß die Translationen in etwa gleiches Gewicht wie die Rotationsanteile erhalten (durch geeignete Wahl der Einheiten oder über und )
Die bisher vorgestellten Verfahren sind nicht optimal, da sie die Genauigkeiten der als bekannt vorausgesetzten Transformationen nicht berücksichtigen und da sie teilweise algebraische Fehler optimieren
Strobl und Hirzinger (2006) beschreiben ein Verfahren, das diese Probleme behebt
Wenn die Transformationen alle auf eine Seite der definierenden Gleichung gebracht werden, ergibt sich eine geschlossene Kette von Transformationen:
Beide Arten von Gleichungen haben dieselbe Struktur:
Yohan Baillot, Simon J. Julier, Dennis Brown, Mark A. Livingston: A Tracker Alignment Framework for Augmented Reality, International Symposium on Mixed and Augmented Reality, S. 142–150, 2003
Homer H. Chen: A Screw Motion Approach to Uniqueness Analysis of Head-Eye Geometry, International Conference on Computer Vision and Pattern Recognition, S. 145–151, 1991
Jack C. K. Chou, M. Kamel: Finding the Position and Orientation of a Sensor on a Robot Manipulator Using Quaternions, International Journal of Robotics Research 10(3):240–254, 1991
Konstantinos Daniilidis: Hand-Eye Calibration Using Dual Quaternions, International Journal of Robotics Research 18(3):286–298, 1999
Fadi Dornaika, Radu Horaud: Simultaneous Robot-World and Hand-Eye Calibration, IEEE Transactions on Robotics and Automation 14(4):617–622, 1998
Andrew J. Hanson: Visualizing Quaternions, Morgan Kaufmann Publishers, 2006
ISO 8373:1994: Manipulating industrial robots — Vocabulary, 1994 ISO 9787:1999: Manipulating industrial robots — Coordinate
systems and motion nomenclatures, 1999 ISO 14539:2000: Manipulating industrial robots — Object handling
with grasp-type grippers — Vocabulary and presentation of characteristics, 2000
Jack B. Kuipers: Quaternions and Rotation Sequences: A Primer with Applications to Orbits, Aerospace, and Virtual Reality, Princeton University Press, 1999
Reimar Lenz: Viedeometrie mit CCD-Sensoren und ihre Anwendung in der Robotik, Habilitationsschrift, Lehrstuhl für Nachrichtentechnik der Technischen Universität München, 1988
Matthias M. Mitschke, Nassir Navab: Recovering Projection Geometry: How a Cheap Camera Can Outperform an Expensive Stereo System, IEEE Conference on Computer Vision and Pattern Recognition, Bd. 1, S. 193–200, 2000
A. Morawiec, D. P. Field: Rodrigues parameterization for orientation and misorientation distributions, Philosophical Magazine A 73(4): 1113–1130, 1996
J. Rooney: A survey of representations of spatial rotation about a fixed point, Environment and Planning B 4(2):185–210, 1977
J. Rooney: A comparison of representations of general spatial screw displacement, Environment and Planning B 5(1):45–88, 1978
Jochen Schmidt, Florian Vogt, Heinrich Niemann: Robust Hand–Eye Calibration of an Endoscopic Surgery Robot Using Dual Quaternions, in: Bernd Michaelis, Gerard Krell, Hrsg.: Pattern Recognition, Lecture Notes in Computer Science, Bd. 2781,S. 548–556, Springer Verlag, 2003
Jochen Schmidt, Heinrich Niemann: Data Selection for Hand–Eye Calibration: A Vector Quantization Approach, International Journal of Robotics Research 27(9):1027–1053, 2008
Mark W. Spong, Seth Hutchinson, M. Vidyasagar: Robot Modeling and Control, John Wiley & Sons, 2006
Klaus H. Strobl, Gerd Hirzinger: Optimal Hand-Eye Calibration, International Conference on Intelligent Robots and Systems,S. 4647–4653, 2006
Roger Y. Tsai, Reimar K. Lenz: A New Technique for Fully Autonomous and Efficient 3D Robotics Hand/Eye Calibration, IEEE Transactions on Robotics and Automation 5(3):345–358, 1989