102
© 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen Ansätze, die Gleichungen der Form lösen Ansätze, die Gleichungen der Form lösen Optimale Hand-Auge-Kalibrierung XB AX YB AX

Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München538

Hand-Auge-Kalibrierung

Problemdefinition Koordinatensysteme und –transformationen Ansätze, die Gleichungen der Form lösen Ansätze, die Gleichungen der Form lösen Optimale Hand-Auge-Kalibrierung

XBAX YBAX

Page 2: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München539

Problemdefinition

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

Page 3: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München540

Problemdefinition

Es gibt zwei unterschiedliche Konfigurationen von Kamera und Roboter: Die Kamera ist am Endeffektor des Roboters montiert (bewegte

Kamera oder auch Auge-in-Hand-Konfiguration) Die Kamera ist außerhalb des Roboters angebracht und

beobachtet den Arbeitsraum des Roboters (stationäre Kamera)

Page 4: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München541

Bewegte Kamera

Video © Sensor Control 2010

Kamera

Page 5: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München542

Stationäre Kamera

Video © ABB 2009

Kamera

Page 6: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München543

Roboter

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)

Page 7: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München544

Koordinatensysteme an Industrierobotern

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

Page 8: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München545

Beispiel: Anthropomorpher Roboter

BasismontageflächeGlied 0Gelenk 1

Glied 1Gelenk 2

Glied 2Gelenk 3

Glied 3

Gelenk 4Glied 4

Gelenk 5 Glied 5 Gelenk 6

Glied 6 =mechanischeSchnittstelle

Robotermodell © Martin Rohrmeier, DLR 1998

Page 9: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München546

Koordinatensysteme an Industrierobotern

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

0000 zyxo

1111 zyxo

mmmm zyxo

wwww zyxobbbb zyxo

Page 10: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München547

Koordinatensysteme an Industrierobotern

mzmy

mx

mo

wy

wxwo

wz

bxbo

bz by

Page 11: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München548

Koordinatensysteme an Industrierobotern

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: )

tttt zyxo

cccc zyxo

oooo zyxojjjj zyxo

kkkk zyxo

Page 12: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München549

Stationäre Kamera

tzty

tx

to

co

cz

cxcy

bz

bo

by

bx

wywz

wo wx

Page 13: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München550

Bewegte Kamera

tzty

tx

to

co

czcxcy

bz

bo

by

bx

wywz

wo wx

Page 14: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München551

Problemdefinition

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)

Page 15: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München552

Beispiel: Robonaut 2 der NASA

Bilder © NASA 2010

Page 16: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München553

Koordinatensysteme und –transformationen

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

Abbildungen im -dimensionalen Raum

n

2nno

xyzxy 3n

n

Page 17: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München554

Koordinaten in Koordinatensystemen

Beispiel: Darstellung einesPunktes in zweiKoordinatensystemen

Beachte: der Punkt existiertals geometrisches Objektunabhängig von der Wahl desKoordinatensystems

Notation: und : Koordinatensysteme und : Koordinaten des Punktes im Koordinatensystem

und Im Beispiel: und Der Ursprung eines Koordinatensystems ist ein Punkt, der in

einem anderen Koordinatensystem dargestellt werden kann Im Beispiel: und

p

000 yxo 111 yxox0

y0

x1y1

o0

o1p 1

p 0

p

p

0p 1p p

T)2,2(0 p000 yxo 111 yxo

T)21,21(1 p

T)2,3(01 o T)21,25(1

0 o

Page 18: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München555

Relative Lage von Koordinatensystemen

Die Position eines Koordinatensystems 1 in einem Koordinatensystem 0 läßt sich als Translationsvektordarstellen

Es bleibt noch das Problem, wie die Rotation zwischen zwei Koordinatensystemen beschrieben werden kann

Dies kann analog zur Translation dadurch erfolgen, daß die Koordinaten der Achsen des Koordinatensystems 1 im Koordinatensystem 0 ausgedrückt werden

Beispiel im 2D: Rotation desKoordinatensystems 1 um denWinkel relativ zuKoordinatensystem 0

01

01 ot

y0

o0 o1

x1

y1

sin

cos x0

cossin

,sincos 0

101 yx

Page 19: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München556

Rotation von Koordinatensystemen

Die Koordinaten der transformierten Koordinatenachsen können zu einer Matrix zusammengefaßt werden:

Eine Matrix dieser Form ist eine 2D-Rotationsmatrix Die Spaltenvektoren einer Rotationsmatrix sind die Koordinaten

der Achsen des Koordinatensystems 1 ausgedrückt in Koordinaten des Koordinatensystems 0

Die Herleitung über trigonometrische Funktionen kann nicht direkt auf Dimensionen ≥ 3 übertragen werden

cossinsincos0

101

01 yxR

Page 20: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München557

Rotation von Koordinatensystemen

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

0101

010101

01

01 yyyx

xyxxyxR

n

iiiwv

1wvwv T

01

0101

01

0101 ,

yyxy

yyxxx

x

Page 21: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München558

Rotation von Koordinatensystemen

Wenn die Lage des Koordinatensystems 0 im Koordinatensystem 1 ausgedrückt wird, ergibt sich:

Daher gilt:

Da und geometrisch betrachtet inverse Transformationen sind, gilt:

Matrizen dieses Typs heißen orthogonale Matrizen Sie umfassen auch Spiegelungen ( ) Um eine Rotation zu erhalten, muß gelten:

1010

101010 yyyx

xyxxR

T01

10 RR

10R

01R

101

01

RR

T

1det 01 R

1det 01 R

Page 22: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München559

Umrechnung von Punktkoordinaten

In vielen Anwendungen müssen Punkte, die in einem Koordinatensystem gegeben sind in ein anderes Koordinatensystem umgerechnet werden

Beispiel: der Punkt sei imKoordinatensystem 1 gegebendurch

Dann gilt: Die Projektion auf die Achsen des

Koordinatensystems 0 ergibt dieKoordinaten des Punktes imKoordinatensystem 0:

pT),,(1 wvup

111 zyxp wvu

0

0

00

zpypxp

p

1y

p

1z

1x

0y

0z

0x10 oo

Page 23: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München560

Interpretation von Rotationsmatrizen

Einsetzen ergibt:

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

101

010101

010101

0101010 p

zzzyzxyzyyyxxzxyxx

p R

wvu

01R

1p10

10 pp R

Page 24: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München561

Interpretation von Rotationsmatrizen

Eine Rotationsmatrix kann auch dazu verwendet werden, eine starre Bewegung eines Objektes in einem festen Koordinatensystem zu beschreiben

Sei der Punkt vor der Bewegung und der Punkt nach der Bewegung (im festen Koordinatensystem 0)

Indem man sich ein lokales Koordinatensystem 1 vorstellt, das fest an dem transformierten Objekt angebracht ist, sieht man:

Vor der Rotation gilt:

Daher gilt:

ap bp

101

0bb pp R

01ab pp

0001

0aab ppp RR

10 oo

10 zz 10 xx

10 yy

10 oo

0z0x

10 yy

1z1x

bp

ap

Page 25: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München562

Interpretation von Rotationsmatrizen

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)

Page 26: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München563

Durchführung mehrerer Rotationen

Es seien drei Koordinatensysteme (0, 1, 2) gegeben Dann gilt:

Einsetzen ergibt:

Daher gilt:

Multiplikation einer gegebenen Rotationsmatrix mit einer Rotationsmatrix von rechts rotiert das aktuelle (d.h. lokale) Koordinatensystem

202

0

212

1

101

0

pppppp

R

R

R

212

01

0 pp RR

12

01

02 RRR

Page 27: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München564

Durchführung mehrerer Rotationen

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

Koordinatensystem

01

02 RRR

R12R

Page 28: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München565

Starre Abbildungen

Starre Abbildungen (oft auch starre Bewegungen genannt; rigid motions) setzen sich aus einer Rotation und einer Translation zusammen:

Es seien drei Koordinatensysteme (0, 1, 2) gegeben Dann gilt:

Einsetzen ergibt:

Daher gilt:

01

101

0 tpp R

02

202

0

12

212

1

01

101

0

tpptpptpp

R

R

R

01

12

01

212

01

0 ttpp RRR

01

12

01

02

12

01

02

ttt

R

RRR

Page 29: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München566

Homogene Transformationsmatrizen

Die Darstellung einer längeren Sequenz von starren Abbildungen als Rotation + Translation ist sehr umständlich

Sie wird stark erleichtert durch die Verwendung von homogenen Koordinaten: Punkte werden um eine dritte (2D) oder vierte Koordinate (3D)

mit dem Wert 1 erweitert Die Transformationen werden als 3×3- oder 4×4-Matrix wie folgt

beschrieben:

Beispiel:

1T0tR

H

11111

01

101

101

01

101

0 tpptpp RRH T0

Page 30: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München567

Homogene Transformationsmatrizen

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

globalen Koordinatensystem

101

0 pp H

11

T

TT

0tRR

H

Page 31: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München568

Darstellung von Rotationen im 2D

Rotationen im 2D können durch eine Rotationsmatrix dargestellt werden:

Umgekehrt ist jede Matrix der Form

für die gilt, eine Rotationsmatrix

cossinsincos

R

cssc

R

122 sc

Page 32: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München569

Darstellung von Rotationen im 2D

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

iyxz

ireiyxz

1r

)cossin()sincos())(sin(cos)(

yxiyxiyxiiyxez i

Page 33: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München570

Darstellung von Rotationen im 2D

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

22

22

22baababba

R

)2sin()2cos(

ba

Page 34: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München571

Darstellung von Rotationen im 3D

Im 3D ist die Darstellung von Rotationen deutlich vielfältiger als im 2D

Beachte: Rotationen im 2D sind kommutativ, im 3D hingegen nur, falls die Rotationen um parallele Achsen erfolgen (also nur in Ausnahmefällen)

Eine Rotation im 3D hat drei Freiheitsgrade Die verschiedenen Darstellungen unterscheiden sich darin, ob die

Parametrisierung minimal oder überparametrisiert ist und welche Art von Singularitäten die Parametrisierung aufweist

Beispiel: Die Darstellung von Rotationen als 3×3-Matrizen mit 9 Parametern ist eine Überparametrisierung

Es gelten sechs Nebenbedingungen, die sich aus herleiten lassen

IRR T

Page 35: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München572

Eulerwinkel

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

Page 36: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München573

Elementarrotationen

Rotation um die -Achse um den Winkel :

Rotation um die -Achse um den Winkel :

Rotation um die -Achse um den Winkel :

y

cs

sc

y

0010

0

cos0sin010sin0cos

,R

z

10000

1000cossin0sincos

,

cssc

zR

x

csscx

00

001

cossin0sincos0001

,R

Page 37: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München574

Eulerwinkel

Beispiel: XYZ (lokal) bzw. ZYX (global):

Beispiel: ZYZ (lokal):

ccssccscscsscsssscccssscssccc

zyxxyz ,,,),,( RRRR

csscsssccscsscccssccssccssccc

zyzzyz ,,,),,( RRRR

Page 38: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München575

Eulerwinkel

Beispiel: XYZ (lokal) mit , und 30 40 50

Page 39: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München576

Eulerwinkel

Beispiel: ZYX (global) mit , und 30 40 50

Page 40: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München577

Eulerwinkel

Berechnung der Eulerwinkel am Beispiel XYZ (lokal) Rotationsmatrix:

Falls :

Beide Lösungen führen zur selben Rotationsmatrix Die Eulerwinkel sind nur dann eindeutig bestimmbar, falls

konsistent eine der beiden Lösungen gewählt wird

333231

232221

131211

rrrrrrrrr

R

00 1211 rr

),(atan2),(atan2

),(atan2

),(atan2),(atan2

),(atan2

1112

212

21113

3323

1112

212

21113

3323

rrrrr

rr

rrrrr

rr

oder

Page 41: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München578

Eulerwinkel

Falls

Für sind und nicht eindeutig bestimmbar, sondern nur

Dieses Problem wird als kardanische Blockade (gimbal lock) bezeichnet

Es tritt für beliebige Arten, Eulerwinkel zu spezifizieren immer dann auf, wenn eine Rotation so gewählt wird, daß die Rotationsachsen koplanar werden

Für die Sequenz ZYZ (lokal) tritt die kardanische Blockade z.B. fürund auf

00 1211 rr

00100

00100

),,(

sccs

sccsccsssscccssc

R

0cos

0

2

Page 42: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München579

Eulerwinkel

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

Page 43: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München580

Kardanische Blockade

Beispiel: Flugzeug oder Raumschiff mit Kreiselkompaß

Flugzeug in Ausgangslage: Alle Flugzeugbewegungen können

vom Kreiselkompaß kompensiert werden

Flugzeug nach Rollen und Nicken um 90°: Der Kreiselkompaß ist bei

Rollbewegungen blockiert

Page 44: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München581

Rotationsachse und Rotationswinkel

Eine Rotation kann im 3D beschrieben werden durch eine Rotationsachse und einen Rotationswinkel

Die Rotationsachse ist dabei ein Einheitsvektor ( ) Die Rotationsmatrix ist gegeben durch:

Hierbei ist

Daher gilt:

T),,( 321 nnnn1n

2, )cos1(sin nn IR n

00

0

12

13

23

nnnnnn

n

ccnsncnnsncnnsncnnccnsncnnsncnnsncnnccn

n

)1()1()1()1()1()1()1()1()1(

23132231

13222321

23132121

,R

Page 45: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München582

Rotationsachse und Rotationswinkel

Beispiel: Rotation um die Achse um(entspricht XYZ (lokal) und ZYX (global) mit ,

und )

T)6495.0,4899.0,5814.0(n 52.71 30

50 40

Page 46: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München583

Rotationsachse und Rotationswinkel

Die Darstellung ist nicht eindeutig: und beschreiben dieselbe Rotation:

Die Repräsentation ist eine Überparametrisierung: 4 Parameter, Nebenbedingung

In manchen Anwendungen wird daher eine minimale Parametrisierung durch Kombination von Rotationsachse und Rotationswinkel gewählt:

Eine andere Art der minimalen Parametrisierung kann durch die Darstellung als Rodriguesvektor erreicht werden (Lenz, 1988; Morawiec und Field, 1996):

Vorteil: Einfache Umrechnung mit quadratischen Termen Nachteil: Rotationen mit können nicht dargestellt werden

),( n ),( n ,, nn RR

1n

nn

nr )2tan(

23

22

21132231

13223

22

21321

23132123

22

21

23

22

21 1)(2)(2

)(21)(2)(2)(21

11

rrrrrrrrrrrrrrrrrrrrrrrrrrr

rrrrR

180

Page 47: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München584

Rotationsachse und Rotationswinkel

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))

1221

3113

2332332211

sin21,

21arccos

21)(trarccos

rrrrrr

rrr

nR

0)(tr R

1 ie ie

1

Page 48: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München585

Quaternionen

Quaternionen sind 4D-Vektoren , die mit den folgenden Rechenregeln ausgestattet werden: Multiplikation:

Konjugation:

Einheitsquaternionen sind Quaternionen, für die gilt

),( 0000

12213003

31132002

23321001

33221100

qppqqp

qpqp

qpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqp

pq

),(),,,( 03210 qqqqqqq

),(),,,( 03210 q qqqqqq1qq

Page 49: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München586

Quaternionen

Quaternionen können mit folgenden Definitionen als Verallgemeinerung der komplexen Zahlen aufgefaßt werden:

Aus der Multiplikationsregel folgt:

Daher gilt:

Die Multiplikationsregel läßt sich leicht aus den obigen Beziehungen herleiten

Die Komponente einer Quaternion wird als Skalarteil oder Realteil bezeichnet

Die Komponente einer Quaternion wird als Vektorteil oder Imaginärteil bezeichnet

Eine Quaternion, deren Realteil 0 ist, wird als reine Quaternion bezeichnet

)1,0,0,0(),0,1,0,0(),0,0,1,0(),0,0,0,1(1 kji

1,11 2222 ijkkji

ikjkikjijkjikij ,,

q

0q

Page 50: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München587

Quaternionen

Beachte: Die Multiplikation von Quaternionen ist nicht kommutativ, d.h. im allgemeinen gilt

Die Multiplikation von Quaternionen kann auch über Matrizen definiert werden:

Die Inverse einer Quaternion ist gegeben durch:

Für Einheitsquaternionen gilt offensichtlich:qqqq 1

qq 1

qppq

3

2

1

0

0123

1032

2301

3210

3

2

1

0

0123

1032

2301

3210

pppp

qqqqqqqqqqqqqqqq

qqqq

pppppppppppppppp

pq

Page 51: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München588

Quaternionen

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 )

))2sin(),2(cos( nqn),0( pp

qqpqpq 1

p n

pqqpqq 1

np

40

Page 52: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München589

Quaternionen

Das Produkt ist ein linearer Operator bzgl. , der in eine Rotationsmatrix umgerechnet werden kann:

Für das Produkt gilt: Das Produkt von zwei Einheitsquaternionen und entspricht der

Hintereinanderausführung von zwei Rotationen Für das erste Produkt entspricht dies der Multiplikation von

Rotationsmatrizen von links (globales Koordinatensystem):

Für das zweite Produkt entspricht dies der Multiplikation von Rotationsmatrizen von rechts (lokales Koordinatensystem)

qqp p

23

22

21

2010322031

103223

22

21

203021

2031302123

22

21

20

222222222222

qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq

qR

pqq Tqq RR

1q 2q

12qqq

21qqq

Page 53: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München590

Quaternionen

Quaternionen können in Analogie zu den komplexen Zahlen auch in einer exponentiellen Form geschrieben werden

Sei Dann gilt: Die Berechnung einer Quaternion aus einer Rotationsmatrix erfolgt

analog zur Extraktion der Rotationsachse und des Rotationswinkels (hier nur der Fall ):

Für den Fall siehe (Hanson, 2006)

0)(tr R

1221

3113

2332

03

2

1

0

41

1)(tr21

rrrrrr

qqqq

q R

0)(tr R

),,( kjii)2sin()2cos(2 nini eq

Page 54: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München591

Quaternionen

Die Elementarrotationen entsprechen den folgenden Quaternionen:

Damit lassen sich beliebige Eulerwinkel direkt in Quaternionen umrechnen

Beispiel: XYZ (lokal) bzw. ZYX (global):

)2sin()2cos(

)2sin()2cos()2sin()2cos(

,

,

,

kqjqiq

z

y

x

)2cos()2sin()2sin()2sin()2cos()2cos()2sin()2cos()2sin()2cos()2sin()2cos()2sin()2sin()2cos()2cos()2cos()2sin()2sin()2sin()2sin()2cos()2cos()2cos(

),,( ,,,

zyxxyz qqqq

Page 55: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München592

Quaternionen

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

q qqq RR

1qq

Page 56: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München593

Schraubungen

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

d

d

Page 57: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München594

Plückerkoordinaten

Geraden im 3D lassen sich durch zwei verschiedene Punkte undauf der Geraden sowie durch einen Punkt auf der Geraden und

den Richtungsvektor der Geraden beschreiben

Eine Gerade läßt sich auch durchPlückerkoordinaten beschreiben

Dabei ist der Richtungsvektor derGeraden und das Moment derGeraden bzgl. des Ursprungs:

Es gilt: Plückerkoordinaten sind homogene

Koordinaten: und( ) beschreiben dieselbe Gerade

Normierung durch

pq

llppqp )(g

),( mll

m

qplpm 0 mlml T

),( ml ),( ml0

1l

p

o

p

q

pql

l

m

y

x

z

Page 58: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München595

Plückerkoordinaten

In der projektiven Geometrie werden Plückerkoordinaten über die folgende Konstruktion (oder eine dazu äquivalente) definiert:

Die zwei Punkte auf der Geraden seien durch homogene Koordinaten und dargestellt

Dann ergeben sich die Plückerkoordinaten aus:

Es gilt: Es gibt sechs verschiedene Plückerkoordinaten, von denen

typischerweise die folgenden ausgewählt werden:

Durch Einsetzen von inhomogenen Punktkoordinaten ( ) läßt sich leicht zeigen:

In dieser Darstellung gilt:

T),,,( 4321 ppppp T),,,( 4321 qqqqq

ijjijj

iiij qpqp

qpqp

l

jiij ll

),,,,,( 344223141312 llllll144 qp

),,(),,( 121323344214 llllll ml0231442133412 llllllml

Page 59: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München596

Berechnung der Schraubungsparameter

Eine starre Abbildung sei gegeben durch und Dann sind und gegeben durch die Rotationsachse und den

Rotationswinkel von Der Abstand ist die Projektion von auf : Das Moment der Schraubenachse ist gegeben durch (Daniilidis,

1999):

Umrechnung der Schraubungsparameter in eine starre Abbildung: kann aus und wie zuvor beschrieben berechnet werden ist gegeben durch:

Beachte: ist der Punkt auf der Geraden mit dem kürzesten Abstand zum Ursprung

R t

Rl

d t l ltlt Td

))2cot()((21))2cot()((

21 ltltltlltm d

m

R l t

lmlt d ))(( RIml ),( ml

Page 60: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München597

Duale Zahlen

Im folgenden werden zur Beschreibung von starren Abbildungen duale Zahlen benötigt

Erinnerung: Komplexe Zahlen sind Zahlen der Form , wobei gilt

Analog hierzu sind duale Zahlen definiert als Zahlen der Form, wobei gilt

heißt der Realteil und der Dualteil von Modelle für beide Zahlensysteme können leicht mit 2×2-Matrizen

mit reellen Zahlen konstruiert werden: Komplexe Zahlen:

Duale Zahlen

iyxz 12 i

baz ˆ 02

0110

1001

1 i

0010

1001

1

a zb

Page 61: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München598

Rechenregeln für duale Zahlen

Für duale Zahlen gelten folgende Rechenregeln: Addition:

Multiplikation:

Konjugation:

Inversion (nur für ):

Division (nur für ):

)()()()(ˆˆ dbcadcbawv

)())((ˆˆ bcadacdcbawv

baz ˆ

21

ˆˆˆˆ

aba

zzzz

2

)(ˆˆ

cadbcac

dcba

wv

0a

0c

Page 62: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München599

Funktionen von dualen Zahlen

Funktionen von dualen Zahlen können über eine formelle Taylorentwicklung von definiert werden:

Wichtige Funktionen für die Darstellung von starren Abbildungen:

)ˆ(zf

)(2

)()()()ˆ( 2 afbafbafbafzf

02 )()()()ˆ( afbafbafzf

)sin()cos()cos()ˆcos()cos()sin()sin()ˆsin(ababazababaz

Page 63: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München600

Duale Vektoren

Analog zu normalen 3D-Vektoren über den reellen Zahlen können 3D-Vektoren über den dualen Zahlen definiert werden:

In vollkommen analoger Weise zu reellen Vektoren können das Skalarprodukt und das Vektorprodukt definiert werden:

Geraden in Plückerkoordinaten können als duale Vektoren dargestellt werden:

bav

33

22

11

3

2

1

ˆˆˆ

ˆbababa

vvv

)()()(ˆˆ)()()(ˆˆcbdacadcbawvcbdacadcbawv

mll ˆ

Page 64: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München601

Geraden als duale Vektoren

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

lklk ˆˆ

d ˆ

sincosˆcosˆˆ d lk lk ˆˆ

lk

d

Page 65: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München602

Geraden als duale Vektoren

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

)cos(sinˆˆsinˆˆˆ d eelk

e

Page 66: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München603

Duale Quaternionen

Duale Quaternionen sind Vektoren über den dualen Zahlen mit folgenden Rechenregeln: Multiplikation:

Konjugation:

)ˆˆˆˆˆˆ,ˆˆˆˆ(

ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ

ˆˆ 0000

12213003

31132002

23321001

33221100

qppqqp

qpqp

qpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqp

qp

)ˆ,ˆ()ˆ,ˆ,ˆ,ˆ(ˆ 03210 qqqqqqq

)ˆ,ˆ()ˆ,ˆ,ˆ,ˆ(ˆ 03210 q qqqqqq

Page 67: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München604

Duale Quaternionen

Einheitsquaternionen sind Quaternionen, für die gilt Duale Quaternionen können auch mit reellen Quaternionen und

wie folgt geschrieben werden: ist eine duale Einheitsquaternion, falls und Die Inverse einer dualen Quaternion ist gegeben durch:

Beachte: Die Inverse existiert genau dann, wenn der Realteil vonnicht 0 ist:

Für Einheitsquaternionen gilt offensichtlich: Eine duale Quaternion, deren Realteil 0 ist, wird als reine duale

Quaternion bezeichnet

1ˆˆ qq

rqq ˆq r

q 1qq 0 rqrq

qqqqˆˆˆˆ 1

q0q

qq ˆˆ 1

Page 68: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München605

Duale Quaternionen

Reine duale Quaternionen können zur Repräsentation von Geraden in Plückerkoordinaten verwendet werden:

Jede duale Einheitsquaternion läßt sich in der folgenden Form darstellen:

Dabei definieren und die Parameter einer Schraubung: ist die Schraubenachse ( ) sind der Winkel und der Abstand der Schraubung

Eine duale Einheitsquaternion läßt sich auch als explizite Funktion der Parameter der starren Abbildung schreiben (Daniilidis, 1999):

Eine Gerade wird mittels einer dualen Einheitsquaternion wie folgt transformiert (Rooney, 1978; Daniilidis, 1999):

),0(),0()ˆ,0(ˆ mll l

))2ˆsin(ˆ),2ˆ(cos(ˆ nq

d ˆ

n onn ˆ

qlqk ˆˆˆˆ

l q

0,1 onn

)2sin,2)(cos2,1(ˆˆ nt qtq

Page 69: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München606

Duale Quaternionen

Eine starre Abbildung sei durch gegeben Die duale Quaternion kann wie folgt in eine homogene

Transformationsmatrix umgerechnet werden: Die Rotation ist gegeben durch die Umrechnung der

Quaternion :

Die Translation ist gegeben durch den Vektorteil von :

Die homogene Transformationsmatrix ist gegeben durch:

rqq ˆq

qqRR

R

qr2),0( tqr2

1T0tR

H

Page 70: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München607

Duale Quaternionen

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)

q q

1ˆˆ qq

Page 71: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München608

Hand-Auge-Kalibrierung

Die Hand-Auge-Kalibrierung wird wie die normale Kamerakalibrierung mit einem Kalibrierkörper durchgeführt

Das Werkzeug des Roboters wird zur Kalibrierung in unterschiedliche Posen (Position und Orientierung; pose) bewegt

Die Kamera nimmt an jeder Pose ein Bild eines Kalibrierkörpers auf

Für bewegte Kameras liegt der Kalibrierkörper an einer festen Pose im Arbeitsraum des Roboters

Für stationäre Kameras wird der Kalibrierkörper vom Werkzeug gehalten und bewegt sich somit

n

Page 72: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München609

Hand-Auge-Kalibrierung

Video © Sensor Control 2010

Page 73: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München610

Hand-Auge-Kalibrierung

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

Page 74: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München611

Stationäre Kamera

tzty

txcz

cy

bz

bo

by

oy

oz

oo

ox

co cx

bx

to

Page 75: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München612

Stationäre Kamera

Bekannte TransformationUnbekannte Transformation

co

bc

tb

to HHHH

coHb

cH

tbH

toH

Page 76: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München613

Bewegte Kamera

tzty

tx

toco

czcxcy

bz

bo

by

bx oy

ozoo

ox

Page 77: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München614

Bewegte Kamera

Bekannte TransformationUnbekannte Transformation

co

tc

bt

bo HHHH

boH

btH

tcH

coH

Page 78: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München615

Hand-Auge-Kalibrierung

Für stationäre Kameras gilt:

Für bewegte Kameras gilt:

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

co

bc

tb

to HHHH

co

tc

bt

bo HHHH

btH

tbH

tbH

btH

coH n

iiXBAY

iBiA

Page 79: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München616

Hand-Auge-Kalibrierung

In den Gleichungen ist die wesentliche Unbekannte Sie repräsentiert die Pose der Kamera relativ zur Basis bei

stationären Kameras bzw. die Pose der Kamera relativ zum Werkzeug bei bewegten Kameras

Für zwei unterschiedliche Posen und des Roboters gilt:

Daher kann die unbekannte Pose eliminiert werden:

Diese Gleichung kann umgeformt werden zu:

Eine Möglichkeit zur Hand-Auge-Kalibrierung besteht darin, Gleichungen der Form zu lösen

stellt die relative Pose des Werkzeugs und die relative Pose der Kamera dar

iiXBAY X

jiiiXBAY

Y

jjii XBAXBA

11 ijij BXBXAA

XBAX

jjXBAY

BA

Page 80: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München617

Lösung von Gleichungen der Form AX XB

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)

XBAX

1111BBXXXXAA

TTTT 0000tttt RRRR

ABXXA

BXXA

)( ttt RIR

RRRR

BXXA RRRR

Page 81: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München618

Hand-Auge-Kalibrierung: duale Quaternionen

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)

Es gilt:

bxxa ˆˆˆˆ

xbxa ˆˆˆˆ

Page 82: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München619

Hand-Auge-Kalibrierung: duale Quaternionen

Erinnerung: Der Skalarteil einer dualen Quaternion enthält den Winkel und Abstand der Schraubung:

Der Skalarteil einer dualen Quaternion ist gegeben durch

Daher gilt:

Der Winkel und der Abstand der Schraubung der Kamera ist identisch zum Winkel und Abstand der Schraubung des Werkzeugs zwischen zwei Roboterposen

)2sin(2)2cos()2ˆcos()ˆ(Sc dq

2)ˆˆ()ˆ(Sc qqq

)ˆ(Scˆˆ)ˆ(Scˆ)ˆ(Scˆ

2)ˆ)ˆˆ(ˆ(2)ˆˆˆˆˆˆ(2)ˆˆ()ˆ(Sc

bxxbxbx

xbbxxbxxbxaaa

Page 83: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München620

Hand-Auge-Kalibrierung: duale Quaternionen

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

xbxa ˆˆˆˆ x

xx ˆ)ˆ)2ˆsin(,0(ˆ)ˆ)2ˆsin(,0( ba ba

xx ˆ)ˆ,0(ˆ)ˆ,0( ba ba

m 1 n

Page 84: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München621

Hand-Auge-Kalibrierung: duale Quaternionen

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)

x

x

Page 85: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München622

Hand-Auge-Kalibrierung: duale Quaternionen

Die Real- und Dualteile einer dualen Quaternion seien mit und bezeichnet, d.h.

Aus folgt:

Multiplikation von rechts mit und Anwendung vonergibt:

q q qqqq ˆ

xbxa ˆˆˆˆ

xbxxbxxxbaxxba

q 0 qqqq

bxbxxaxaxbax

0)()(0

bxxabxxaxbax

Page 86: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München623

Hand-Auge-Kalibrierung: duale Quaternionen

Seien , , und Dann können die Gleichungen

in Matrixform geschrieben werden als:

Jede Relativbewegung liefert eine 6×8-Matrix Aus Roboterposen, d.h. Relativbewegungen, läßt sich

eine Matrix (Dimension: ) wie folgt konstruieren:

),0( aa),0( aa ),0( bb ),0( bb

0)()(0

bxxabxxaxbax

000

xx

S

][][][

babababababa

iS1 nmn

T

TTTTmSSST ,,, 21

86 m

Page 87: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München624

Hand-Auge-Kalibrierung: duale Quaternionen

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:

Es gilt: , , und

Die Werte heißen die Singulärwerte von

TT

T

T

T

TUSVT IUU T IVV T ),,,(diag 21 n S

021 n

i T

Page 88: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München625

Hand-Auge-Kalibrierung: duale Quaternionen

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

087

7 8

6

T V

2

22

1

118271 v

uvu

vv xx

V

Page 89: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München626

Hand-Auge-Kalibrierung: duale Quaternionen

Damit die Lösung eine duale Einheitsquaternion ist, mußund gelten

Dies ist äquivalent zu und Einsetzen ergibt:

Der Ansatz ergibt eine quadratische Gleichung für :

Einsetzen von ergibt:

Das Problem hat neben der gesuchten Lösung noch die unerwünschte Lösung

Zur Vermeidung der unerwünschten Lösung werden beide Werte von in eingesetzt und die Lösung mit dem größeren Wert gewählt ,

x

1xxT 0xxT

1xx0 xxxx

0)(

12

222212212111

21

2222212111

21

vuvuvuvuuuuuuuTTTT

TTT

21 s0))(( 22122111

221 vuvuvuvu TTTT ss

s

21 s1)2( 222111

222 uuuuuu TTT ss

),( xx ),0( x

s 2221112 2 uuuuuu TTT ss

1 2

Page 90: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München627

Anforderungen an die Roboterbewegungen

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

Page 91: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München628

Automatische Auswahl der Relativbewegungen

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)

ijni j

m 1 nm

min klijnnT

Page 92: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München629

Lösung von Gleichungen der Form AX YB

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( )

co

bc

tb

to HHHH

co

tc

bt

bo HHHH

co

bc

to

bt HHHH

co

tc

bo

tb HHHH

ii YBXA iA

iB

ZBAX Y Z

Page 93: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München630

Lösung von Gleichungen der Form AX YB

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

YBAX

1111BBYYXXAA

TTTT 0000tttt RRRR

YBYAXA

BYXA

tttt RR

RRRR

BYXA RRRR

Page 94: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München631

Lösung von Gleichungen der Form AX YB

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 )

min1

2

YBYAXA2

2

BYXA1

n

iiiiiitttt RRRRRR

n

iii

1

2YBXA

1 2

Page 95: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München632

Optimale Hand-Auge-Kalibrierung

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:

IHHHH otco

bc

tb

IHHHH obco

tc

bt

IYXBA ii

Page 96: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München633

Optimale Hand-Auge-Kalibrierung

Aus den Gleichungen folgen Gleichungen für die Rotation und Translation

Für die Rotationen muß gelten:

Ein geeignetes Fehlermaß ist der Winkel der Rotation :

Der Winkel ist gegeben durch:

Für die Translation lassen sich aus den geschlossenen Ketten von Abbildungen folgende Fehlermaße herleiten:

IYXBA ii

IRRRR YBXA ii

1AAYBXA~

iiii

RRRRRRR

2)1)(tr(arccosBA Riii

2~

~

BA

BBB

AAA

1

1

ii

iii

iii

i ttt

ttt

ttt

R

Page 97: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München634

Optimale Hand-Auge-Kalibrierung

Das zu minimierende Fehlermaß ist gegeben durch:

Die Standardabweichungen und sind typischerweise unbekannt

Eine Schätzung für und läßt sich wie folgt mittels der optimierten Posen berechnen:

Initialisierung und und iterierte Optimierung vonkonvergiert in wenigen Iterationen (typischerweise 3)

min1

2

2

2

2

n

i t

ii

t2

2t

2

2

2t

n

iit

n

ii nn 1

22

1

22 11 t und

12 12 t2

Page 98: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München635

Zusammenfassung Hand-Auge-Kalibrierung

Wichtige Punkte, die man sich merken sollte Koordinatensysteme und –transformationen

Eulerwinkel Rotationsachse und Rotationswinkel Quaternionen Schraubungen Duale Quaternionen

Koordinatensysteme an Robotern Problemdefinition (stationäre und bewegte Kamera) Lösungsmethoden

Ansätze, die Gleichungen der Form lösen Ansätze, die Gleichungen der Form lösen Optimale Hand-Auge-Kalibrierung

XBAX YBAX

Page 99: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München636

Literatur

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

Page 100: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München637

Literatur

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

Page 101: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München638

Literatur

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

Page 102: Bildverstehen II: Robot Vision - TUM · 2014-12-08 · © 2014 MVTec Software GmbH, München 538 Hand-Auge-Kalibrierung Problemdefinition Koordinatensysteme und –transformationen

© 2014 MVTec Software GmbH, München639

Literatur

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