Tracker Alignmentusing Hand-Eye Calibration
Sebastian Grembowietz
2005-03-31 Sebastian Grembowietz [tracker alignment] 2
Outline Introduction
Tracker Alignment• Definition and Applications
Achieving Aligned Trackers Solving AX=XB
classical solution (Tsai)• Splitting and solving AX=XB
More robust solution (Daniilidis)• Complex Numbers, Dual Quaternions and Screws• Solving aq = qb
Improving accuracy
2005-03-31 Sebastian Grembowietz [tracker alignment] 3
Introduction of myself Sebastian Grembowietz
23 years old studying computer science at TUM 5th semester Current focus: Augmented Reality
2005-03-31 Sebastian Grembowietz [tracker alignment] 4
Tracker Alignment Hybrid trackers
Combining strengths Minimizing weaknesses
2005-03-31 Sebastian Grembowietz [tracker alignment] 5
Applications More robust sensors:
ART + camera:• fewer dependence on illumination• obtaining 3d data from camera
Aurora + ART:• partly independent from line-of-view• high precision
2005-03-31 Sebastian Grembowietz [tracker alignment] 6
Applications Robotics aided model generation
Robot arm and laser scanner combined
2005-03-31 Sebastian Grembowietz [tracker alignment] 7
Applications Robotics aided model generation
Taking measurementsfor custom-madeclothing
2005-03-31 Sebastian Grembowietz [tracker alignment] 8
Applications Automated part assembly
Automatic weldingguidedby feedbackfrom cameras
2005-03-31 Sebastian Grembowietz [tracker alignment] 9
Applications Endoscopic Surgery
minimally invasive surgery
2005-03-31 Sebastian Grembowietz [tracker alignment] 10
Aligning Trackers Forward Engineering
Hybrid tracker entirely designed Only one way of mounting possible Fixed alignment
2005-03-31 Sebastian Grembowietz [tracker alignment] 11
Aligning Trackers Manually registering points
User points on marker Correspondences used
for tracker alignment
2005-03-31 Sebastian Grembowietz [tracker alignment] 12
Aligning Trackers Automatic
alignmentfrommovements
2005-03-31 Sebastian Grembowietz [tracker alignment] 13
Setup Transforms
obtained
2005-03-31 Sebastian Grembowietz [tracker alignment] 14
Setup Transforms
computed
2005-03-31 Sebastian Grembowietz [tracker alignment] 15
Setup Transform
wanted
from
2005-03-31 Sebastian Grembowietz [tracker alignment] 16
Classical Solution 1989: Roger Tsai and Reimar Lenz
2005-03-31 Sebastian Grembowietz [tracker alignment] 17
Splitting AX=XB AX=XB in matrix form
multiplied out
2005-03-31 Sebastian Grembowietz [tracker alignment] 18
2 Phases Solving AX=XB in 2 phases
Phase 1 - computing modified Rodrigues formula
Phase 2 - computing
2005-03-31 Sebastian Grembowietz [tracker alignment] 19
Phase 1 - Rotation Rodrigues formula corresponding to
Rodrigues formula computed soon
2005-03-31 Sebastian Grembowietz [tracker alignment] 20
Phase 1 - Rotation Step 1 - For all movement pairs
rewritten to
and solved usinglinear least squares
2005-03-31 Sebastian Grembowietz [tracker alignment] 21
Phase 1 - Computing Rotation Step 2 - obtain
2005-03-31 Sebastian Grembowietz [tracker alignment] 22
Phase 2 - Translation known
Computation of from
using linear least squares
2005-03-31 Sebastian Grembowietz [tracker alignment] 23
Modern Solution 1998:
KostasDaniilidis
2005-03-31 Sebastian Grembowietz [tracker alignment] 24
Complex Numbers Short introduction:
Addition
2005-03-31 Sebastian Grembowietz [tracker alignment] 25
Complex Numbers Multiplication
Conjugate
Norm
2005-03-31 Sebastian Grembowietz [tracker alignment] 26
Complex Numbers Multiplication = Rotation in 2D
anglesadded
normsmultiplied
2005-03-31 Sebastian Grembowietz [tracker alignment] 27
Quaternions Discovered by Hamilton in 1834
2005-03-31 Sebastian Grembowietz [tracker alignment] 28
Quaternions extension of complex numbers to 4D
imaginaryunitsi, j, k
2005-03-31 Sebastian Grembowietz [tracker alignment] 29
Quaternion Conjugate
Addition
2005-03-31 Sebastian Grembowietz [tracker alignment] 30
Quaternions Multiplication
2005-03-31 Sebastian Grembowietz [tracker alignment] 31
Quaternions Norm
Unit quaternions: norm of 1
2005-03-31 Sebastian Grembowietz [tracker alignment] 32
Using Quaternions Unit quaternion used for rotation in 3D
Rotating x to y
2005-03-31 Sebastian Grembowietz [tracker alignment] 33
Superiority of quaternions......concerning rotations: size
4 values instead of 9 interpolation
SLERP: Spherical Linear Interpolation no gimbal lock robustness thanks to easy normalization
2005-03-31 Sebastian Grembowietz [tracker alignment] 34
Dual Numbers Definition
Addition
2005-03-31 Sebastian Grembowietz [tracker alignment] 35
Dual Numbers Multiplication
2005-03-31 Sebastian Grembowietz [tracker alignment] 36
Plücker Coordinates Dual numbers used in vectors as
representation of lines
direction u moment v
2005-03-31 Sebastian Grembowietz [tracker alignment] 37
Dual Quaternions Dual Quaternion = Quaternion using dual
numbers
with q, q‘ quaternions
2005-03-31 Sebastian Grembowietz [tracker alignment] 38
Line transformations Line as Plücker coordinate
with additional constraint
line transformations by
line transformationsusing dual quaternions
2005-03-31 Sebastian Grembowietz [tracker alignment] 39
Line transformations Proof: From vector ...
... to quaternion ...
2005-03-31 Sebastian Grembowietz [tracker alignment] 40
Line transformations
... to dual quaternions
or equivalently
2005-03-31 Sebastian Grembowietz [tracker alignment] 41
Screws Rigid transformation (R, t)
equivalentto screw
rotation axis lnot throughorigin
pitch d same angle
2005-03-31 Sebastian Grembowietz [tracker alignment] 42
Screw from Transform Direction l of screw axis
parallel to rotation axis of transform Pitch d
projecton of translation on rotation axis Moment m
using auxilliary point c
2005-03-31 Sebastian Grembowietz [tracker alignment] 43
Screw to Dual Quaternion
2005-03-31 Sebastian Grembowietz [tracker alignment] 44
Back to Tracker Alignment AX=XB with dual quaterions
Screw Congruence Theorem Pitch and angle of a screw invariant under
rigid transformations
2005-03-31 Sebastian Grembowietz [tracker alignment] 45
Tracker Alignment Simplified
Note: only motion of the screw axis left
2005-03-31 Sebastian Grembowietz [tracker alignment] 46
Tracker Alignment Splitting in dual and non-dual part
rearranging and using
2005-03-31 Sebastian Grembowietz [tracker alignment] 47
Tracker Alignment Disregarding the scalar parts to set up
the linear system
with S being 6x8 matrix
2005-03-31 Sebastian Grembowietz [tracker alignment] 48
Tracker Alignment Construct 6nx8 matrix T
for n motion pairs
Compute SVD
and obtain
2005-03-31 Sebastian Grembowietz [tracker alignment] 49
Tracker Alignment Compute the lambdas using
unit quaternion criterions
Constraits result in
and
2005-03-31 Sebastian Grembowietz [tracker alignment] 50
Tracker Alignment Assuming so that
and substituting results in
and thus two solutions for s Choose the s maximizing
and easily obtain the lambas
2005-03-31 Sebastian Grembowietz [tracker alignment] 51
Tracker Alignment Convert dual quaternions to
non-dual part corresponds to rotation
translation by using
2005-03-31 Sebastian Grembowietz [tracker alignment] 52
Improving accuracy Preselection by applying threshold angle
for rotations
Optimality criterion to be minimized for allmotion pairs
Using as many stations as possible RANSAC approach
2005-03-31 Sebastian Grembowietz [tracker alignment] 53
Thank you...... for your attention