Visual Servoing Henrik I. Christensen Robotics and Intelligent - - PDF document

visual servoing
SMART_READER_LITE
LIVE PREVIEW

Visual Servoing Henrik I. Christensen Robotics and Intelligent - - PDF document

Introduction Problem Structure Servoing Image Based Servoing Smart Strategies Summary Visual Servoing Henrik I. Christensen Robotics and Intelligent Machines @ GT College of Computing Georgia Institute of Technology Atlanta, GA


slide-1
SLIDE 1 Introduction Problem Structure Servoing Image Based Servoing Smart Strategies Summary

Visual Servoing

Henrik I. Christensen

Robotics and Intelligent Machines @ GT College of Computing Georgia Institute of Technology Atlanta, GA hic@cc.gatech.edu

February 14, 2008

  • H. I. Christensen (RIM@GT)
Visual Servoing February 14, 2008 1 / 37 Introduction Problem Structure Servoing Image Based Servoing Smart Strategies Summary

Outline

1

Introduction

2

Problem Structure

3

Servoing

4

Image Based Servoing

5

Smart Strategies

6

Summary

  • H. I. Christensen (RIM@GT)
Visual Servoing February 14, 2008 2 / 37 Introduction Problem Structure Servoing Image Based Servoing Smart Strategies Summary

Introduction

Recap of camera model Overview of strategies to visual servoing The basic theory behind models for visual servoing A few examples to illustrate use of the system.

  • H. I. Christensen (RIM@GT)
Visual Servoing February 14, 2008 3 / 37 Introduction Problem Structure Servoing Image Based Servoing Smart Strategies Summary

Pin-Hole Model

  • H. I. Christensen (RIM@GT)
Visual Servoing February 14, 2008 4 / 37
slide-2
SLIDE 2 Introduction Problem Structure Servoing Image Based Servoing Smart Strategies Summary

Pin-Hole Model

The relations are then: x λ = X Z y λ = Y Z ⇒ x = λX Z y = λY Z

  • H. I. Christensen (RIM@GT)
Visual Servoing February 14, 2008 5 / 37 Introduction Problem Structure Servoing Image Based Servoing Smart Strategies Summary

Pin-Hole Model

Remember Homogeneous Coordinates?

  • P =

    X Y Z 1     Define the Perspective transform as T =     1 1 1

1 λ

   

  • H. I. Christensen (RIM@GT)
Visual Servoing February 14, 2008 6 / 37 Introduction Problem Structure Servoing Image Based Servoing Smart Strategies Summary

The general problem of servoing

3D WORLD

GENERATION CONTROL TASK PLANNING

y u y*

ROBOT

STATE ESTIMATION

x

  • H. I. Christensen (RIM@GT)
Visual Servoing February 14, 2008 7 / 37 Introduction Problem Structure Servoing Image Based Servoing Smart Strategies Summary

Outline

1

Introduction

2

Problem Structure

3

Servoing

4

Image Based Servoing

5

Smart Strategies

6

Summary

  • H. I. Christensen (RIM@GT)
Visual Servoing February 14, 2008 8 / 37
slide-3
SLIDE 3 Introduction Problem Structure Servoing Image Based Servoing Smart Strategies Summary

Coordinate Systems

CL G CR

PUMA 560

R

O O O O OC O

W

O

O
  • H. I. Christensen (RIM@GT)
Visual Servoing February 14, 2008 9 / 37 Introduction Problem Structure Servoing Image Based Servoing Smart Strategies Summary

Basic Organization

  • H. I. Christensen (RIM@GT)
Visual Servoing February 14, 2008 10 / 37 Introduction Problem Structure Servoing Image Based Servoing Smart Strategies Summary

Camera - Robot Configurations

1 2

EYE−IN−HAND STAND−ALONE EYE−IN−HAND STAND−ALONE

VISUAL MEASUREMENTS

VM1 VM2 VM3 VM4 number of cameras VM5

>2

VM3 VM1 VM2 VM4
  • H. I. Christensen (RIM@GT)
Visual Servoing February 14, 2008 11 / 37 Introduction Problem Structure Servoing Image Based Servoing Smart Strategies Summary

Outline

1

Introduction

2

Problem Structure

3

Servoing

4

Image Based Servoing

5

Smart Strategies

6

Summary

  • H. I. Christensen (RIM@GT)
Visual Servoing February 14, 2008 12 / 37
slide-4
SLIDE 4 Introduction Problem Structure Servoing Image Based Servoing Smart Strategies Summary

Approaches to servoing

Position Based Servoing Image Based Servoing 21

2D Servoing

  • H. I. Christensen (RIM@GT)
Visual Servoing February 14, 2008 13 / 37 Introduction Problem Structure Servoing Image Based Servoing Smart Strategies Summary

Position Based Servoing

BASED CONTROL POSITION (CARTESIAN) FEATURE EXTRACTION ESTIMATION POSE 3D CAMERA ROBOT + − T Tc d V, Ω

  • H. I. Christensen (RIM@GT)
Visual Servoing February 14, 2008 14 / 37 Introduction Problem Structure Servoing Image Based Servoing Smart Strategies Summary

Position Servoing

Td Tc Oc Od

Y Z X X Y Z Y X

O

Z

  • H. I. Christensen (RIM@GT)
Visual Servoing February 14, 2008 15 / 37 Introduction Problem Structure Servoing Image Based Servoing Smart Strategies Summary

Image Based Servoing

ROBOT + − c d V, Ω BASED CONTROL IMAGE EXTRACTION FEATURE CAMERA S S

  • H. I. Christensen (RIM@GT)
Visual Servoing February 14, 2008 16 / 37
slide-5
SLIDE 5 Introduction Problem Structure Servoing Image Based Servoing Smart Strategies Summary

Image Servoing

fc

4

fc

3

fc

2

fc

1

fd

1

fd

2 d 3

f

d

f4

Y Z X

Oc

  • H. I. Christensen (RIM@GT)
Visual Servoing February 14, 2008 17 / 37 Introduction Problem Structure Servoing Image Based Servoing Smart Strategies Summary

2.5D Servoing

pe * pe uθ* uθ

ROBOT CAMERA FEATURE EXTRACTION ESTIMATION 3D POSE PARTIAL POSITION ROTATION

V + − + − CONTROL LAW
  • H. I. Christensen (RIM@GT)
Visual Servoing February 14, 2008 18 / 37 Introduction Problem Structure Servoing Image Based Servoing Smart Strategies Summary

Outline

1

Introduction

2

Problem Structure

3

Servoing

4

Image Based Servoing

5

Smart Strategies

6

Summary

  • H. I. Christensen (RIM@GT)
Visual Servoing February 14, 2008 19 / 37 Introduction Problem Structure Servoing Image Based Servoing Smart Strategies Summary

Image Based Servoing

Specify the task as an image based task Associate an error function (e) with the task Goal is achieved when e = 0 Derivation of an Image Jacobian to relate image changes to control of the robot

  • H. I. Christensen (RIM@GT)
Visual Servoing February 14, 2008 20 / 37
slide-6
SLIDE 6 Introduction Problem Structure Servoing Image Based Servoing Smart Strategies Summary

Image Jacobian

J(P) =

  • δf

δP

  • =

   

δf1(P) δP1

. . .

δf1(P) δPm

. . . ... . . .

δfk(P) δP1

. . .

δfk(P) δPm

   

  • H. I. Christensen (RIM@GT)
Visual Servoing February 14, 2008 21 / 37 Introduction Problem Structure Servoing Image Based Servoing Smart Strategies Summary

Point Motion

The point motion can be written as

C ˙

P =

CΩ × CP + CV

Or more detailed ˙ x = zωy − yωz + Tx ˙ y = xωz − zωx + Ty ˙ z = yωx − xωy + Tz

  • H. I. Christensen (RIM@GT)
Visual Servoing February 14, 2008 22 / 37 Introduction Problem Structure Servoing Image Based Servoing Smart Strategies Summary

Point flow

Given the perspective projection u v

  • = λ

z x y

  • The image flow is then

˙ u = λz ˙ x − x ˙ z z2 ˙ v = λz ˙ y − y ˙ z z2

  • H. I. Christensen (RIM@GT)
Visual Servoing February 14, 2008 23 / 37 Introduction Problem Structure Servoing Image Based Servoing Smart Strategies Summary

Image Jacobian

˙ u ˙ v

  • =

ku kv

1 Z

− x

Z

−xy 1 + x2 −y

1 Z

− y

Z

−1 − y2 xy x

       VX VY VZ ωX ωY ωZ        

  • H. I. Christensen (RIM@GT)
Visual Servoing February 14, 2008 24 / 37
slide-7
SLIDE 7 Introduction Problem Structure Servoing Image Based Servoing Smart Strategies Summary

For k image points?

       ˙ u1 ˙ v1 . . . ˙ uk ˙ vk        = A        

1 Z1

− x1

Z1

−x1y1 1 + x2

1

−y1

1 Z1

− y1

Z1

−1 − y2

1

x1y1 x1 . . . . . . . . . . . . . . . . . .

1 Zk

− xk

Zk

−xkyk 1 + x2

k

−yk

1 Zk

− yk

Zk

−1 − y2

k

xkyk xk                 VX VY VZ ωX ωY ωZ        

  • H. I. Christensen (RIM@GT)
Visual Servoing February 14, 2008 25 / 37 Introduction Problem Structure Servoing Image Based Servoing Smart Strategies Summary

Considerations

Naive use of image based servoing might generate surprising motion

  • f the camera

Comparison: Approach Pros Cons PBVS Intuitive Calibration? IBVS Accuracy Singularities?

  • H. I. Christensen (RIM@GT)
Visual Servoing February 14, 2008 26 / 37 Introduction Problem Structure Servoing Image Based Servoing Smart Strategies Summary

Illustrative Examples

  • H. I. Christensen (RIM@GT)
Visual Servoing February 14, 2008 27 / 37 Introduction Problem Structure Servoing Image Based Servoing Smart Strategies Summary

Outline

1

Introduction

2

Problem Structure

3

Servoing

4

Image Based Servoing

5

Smart Strategies

6

Summary

  • H. I. Christensen (RIM@GT)
Visual Servoing February 14, 2008 28 / 37
slide-8
SLIDE 8 Introduction Problem Structure Servoing Image Based Servoing Smart Strategies Summary

Smart Strategies

Doing large scale servoing is really hard Doing limited recognition is much easier How about recognition based servoing?

  • H. I. Christensen (RIM@GT)
Visual Servoing February 14, 2008 29 / 37 Introduction Problem Structure Servoing Image Based Servoing Smart Strategies Summary

Model Based Servoing

MODEL RENDER LOCATE MANUAL CAMERA PROJECTION 3D MATRIX FITTING POSE MOTION NORMAL FLOW VISIBLE EDGES 3D MODEL PARAMETERS INITIALIZATION AFFINE
  • H. I. Christensen (RIM@GT)
Visual Servoing February 14, 2008 30 / 37 Introduction Problem Structure Servoing Image Based Servoing Smart Strategies Summary

Initial Pose Estimation

  • H. I. Christensen (RIM@GT)
Visual Servoing February 14, 2008 31 / 37 Introduction Problem Structure Servoing Image Based Servoing Smart Strategies Summary

Initialization

  • H. I. Christensen (RIM@GT)
Visual Servoing February 14, 2008 32 / 37
slide-9
SLIDE 9 Introduction Problem Structure Servoing Image Based Servoing Smart Strategies Summary

Moving Edge Model

90 45 135

P P P t t t+1

  • H. I. Christensen (RIM@GT)
Visual Servoing February 14, 2008 33 / 37 Introduction Problem Structure Servoing Image Based Servoing Smart Strategies Summary

Fitting the model

How does one fit the model to the object? A local pertubation model might be adequate Or optimization of differential motion (Drummond & Cipola)

  • H. I. Christensen (RIM@GT)
Visual Servoing February 14, 2008 34 / 37 Introduction Problem Structure Servoing Image Based Servoing Smart Strategies Summary

An polygonal approximation

xt+1

i

yt+1

i

  • =

a0 a1

  • +

a2 a3 a4 a5 xt

i

yt

i

  • +

a6 a7 a6 a7   xt2

i

xt

i yt i

yt2

i

  = W(X t

i )Θ

  • H. I. Christensen (RIM@GT)
Visual Servoing February 14, 2008 35 / 37 Introduction Problem Structure Servoing Image Based Servoing Smart Strategies Summary

Model Based Servoing

  • H. I. Christensen (RIM@GT)
Visual Servoing February 14, 2008 36 / 37
slide-10
SLIDE 10 Introduction Problem Structure Servoing Image Based Servoing Smart Strategies Summary

Outline

1

Introduction

2

Problem Structure

3

Servoing

4

Image Based Servoing

5

Smart Strategies

6

Summary

  • H. I. Christensen (RIM@GT)
Visual Servoing February 14, 2008 37 / 37 Introduction Problem Structure Servoing Image Based Servoing Smart Strategies Summary

Summary

Overview of methods for visual servoing Major camera - robot configurations The basic motion equations for design of control Strategies to arrive at a good solution

  • H. I. Christensen (RIM@GT)
Visual Servoing February 14, 2008 38 / 37