Calibration Calibrate (vt) : 1. to determine the caliber of (as a thermometer tube); 2. to determine, rectify, or mark the gradations of (as a thermometer tube); 3. to standardize (as a measuring instrument) by determining the deviation from a standard so as to ascertain the proper correction factors; 4. ADJUST, TUNE
Calibration Reality Measuring device + - Error Model of Reality
Calibration Reality Actuation device + - Error Model of Reality
Basic Techniques Parameter Estimation Mapping the space
Parameter Estimation Compare observed system performance to reference standard ( ground truth ) Compute parameters of mathematical model that minimizes residual error. System Parameters + - Model of reality Reality Error Calibration process
Pointing device calibration p pivot p t (unknown) F = ( R, p ) i i i
Pointing device calibration p pivot p t (unknown) F = ( R, p ) i i i
Pointing device calibration p pivot p t F = ( R, p ) i i i
Pointing device calibration p pivot p t (unknown) Rp + p = p i t i pivot F = ( R, p ) i i i
Pointing device calibration p pivot p t (unknown) p t R I p p j pivot j F = ( R, p ) i i i
Linear Parameter Estimation p = f( q) where q= [ q,... q nom 1 n T ] are parameters * p = f( q+ q) L fi f( q) + ( q) q NM j f( q) + J ( q) q f O L QP NM q q 1 n O QP
Linear Parameter Estimation Given f(q), and a set of observations p k * corresponding to nominal parameter values q k *, solve the least squares problem L NM O QP L NM * f ( q ) q p f( q ) J k k k O QP
Example: 2 link robot calibration a 2 * p k a 1
Example: 2 link robot calibration a 2 * p k a 1
Example: 2 link robot calibration p = L NM a a sinθ + a sin( θ ) 1 1 2 12 0 cosθ + a cos( θ ) 1 1 2 12 O QP where θ = θ + θ 12 1 2 p * = L NM ( a1+ a1)sin( θ1+ θ1) + ( a2 + a2)sin( θ12 + θ1+ θ2) 0 ( a + a cos( θ + θ ) + ( a + a ) cos( θ + θ + θ ) 1 1 1 1 2 2 12 1 2 O QP
Example: 2 link robot calibration p = f( q ) = f( a, a, θ, θ ) = k k 1 2 1 2 L NM a1sinθ1, k + a2sin( θ12, k) 0 a cosθ + a cos( θ ) 1 1, k 2 12, k O QP where θ = θ + θ 12 1 2 so we solve the least squares problem L NM f a OL QP NM a1 f f f a 2 ( q ) ( q ) ( q ) ( q ) a θ θ θ 1P θ arot 1 ( y, θ 1 k ) + arot( y, θ ) * k k k k p, k 1 2 1 2 2 1, k 2 O Q L NM L M N O QP O P Q
Example: 2 link robot calibration Here so J f L NM ( q ) = k L NM sinθ sin θ a (cosθ + cos θ ) a cosθ 0 0 0 0 1, k 12, k 1 1, k 12, k 2 12, k cosθ cos θ a (sinθ + sin θ ) a cosθ 1, k 12, k 1 1, k 12, k 2 12, k a 1 sinθ, k sin θ, k a (cosθ, k + cos θ, k) a cosθ 1 12 1 1 12 2 12, k a cosθ, k cos θ, k a (sinθ, k + sin θ, k) a cosθ 2 1 12 1 1 12 2 12, k θ PM 1P θ OL QN 2 O Q O QP L NM x a sinθ + a sin( θ ) z a cos a cos( ) * k 1 1, k 2 12, k * k 1 θ1, k + 2 θ12, k O QP
Example: Robodoc Wrist Calibration Basic robot had very accurate calibration Custom wrist was less accurate Crucial goal was to determine position of cutter tip Cutter Calibration post
Kinematic Model p = p + R( z, θ + θ ) ( α x+ v ) tool wrist 4 4 distal v = R( x, β ) [ R( y, θ + θ )( v + v )] distal 5 5 c c
Linearization p p + [ R R ( v + v )] +... post wrist 4 5 c c
Linear Least Squares Most commonly used method for parameter estimation Many numerical libraries See the web site Here is a quick review Microsoft PowerPoint Presentation
Example: Undistorted fluoroscope calibration
Calibration if no distortion (version 1) Assume no distortion. For the moment also assume that you have N point calibration features (e.g., small steel balls) at known { } positions a0,, a N 1 relative to the detector. Assume further that the points { } create images at corresponding points d0,, d N 1 on the detector. Estimate the position s of the x-ray source relative to the detector
Approach F obj s Calibration object a k d k Detector
Projection of a point feature s s= λ(a-d)+d (a - d) (s - d) λ = (a - d) (a - d) a d d= µ ( a s) + s µ = (a - s) (d - s) (a - s) (a - s)
Approach s d a ( a d) ( s d) = 0 skew( a d) s = ( a d) d = a d d d = a d 0 dz az ay dy az dz 0 dx ax s = a d dy ay ax dx 0
Solve least squares problem Approach skew( a0 d0) sx a0 d0 s y s z skew( N 1 N 1) a d an 1 dn 1 s a d
What if pose of calibration object is imprecisely known? This is a hairier problem, but solvable In fact, it makes a great homework assignment.
Mapping the space Compare observed system performance to reference standard ( ground truth ) Interpolate residual errors System + - Model of reality Reality Error Model Correction Lookup Table
Example: Fluoroscope calibration
Projection of a point feature with distortion a s s= λ(a-d)+d (a-d) (s-d) λ = (a - d) (a - d) d u u = f( d, ν )
C-Arm Detector and dewarp plate Experimental Setup Robot Arm Corkscrew Phantom Surgical Cutter
Dewarping Method
Intrinsic Image Calibration Intrinsic imaging parameters (Schreiner et. al.) Image Warping (Checkerboard Based Method) 1/16 4/16 3/16 4/16 Top View Side View
Step 0: Acquire Image
Step 1: Find groove points Find image points corresponding to the centerline of each vertical and horizontal groove
Step 2: Fit 5 th order Bernstein Fit least square smooth curve to each vertical and horizontal groove 5 th order Bernstein Polynomial Polynomial Curves 5 5 5 k B( a0,, a5; v) = ak ( 1 v) v k = 0 k k
Step 3: Dewarp Employ a two pass scan line algorithm to dewarp the image
Advantages Fast 2 seconds on Pentium II 400 Robust works well even with overlaid objects Sub-pixel Accuracy mean error 0.12 mm on the central area Does not completely obscure the image trades off image contrast depth for image area
Two Plane Method Plane 1 pattern Plane 2 pattern E.g., Lavallee E.g., Helm
Two Plane Method Plane 1 pattern Plane 2 pattern Given q = a point in image coordinates, determine the points f f The desired ray in space passes through and * 1 * 2 f = the point on grid 1 corresponding to = the point on grid 2 corresponding to * 2. f * 1 q q
Photos: Sofamor Danek
Interpolation Ubiquitous throughout CIS research and applications Many techniques and methods Here are a few more notes Microsoft PowerPoint Presentation
Two plane calibration Again, the essential problem is to determine the coordinates in the two planes at which the source-to-detector ray passes through the plane. Many methods for this. E.g., Find the four surrounding bead locations on each plane and use bilinear interpolation Fit a general spline model for the distortion on each plane and then directly interpolate