22
Visual Servo Control Tutorial Part 1: Basic Approaches Chayatat Ratanasawanya December 2, 2009 Ref: Article by Francois Chaumette & Seth Hutchinson

Visual Servo Control Tutorial Part 1: Basic Approaches Chayatat Ratanasawanya December 2, 2009 Ref: Article by Francois Chaumette & Seth Hutchinson

Embed Size (px)

Citation preview

Page 1: Visual Servo Control Tutorial Part 1: Basic Approaches Chayatat Ratanasawanya December 2, 2009 Ref: Article by Francois Chaumette & Seth Hutchinson

Visual Servo Control TutorialPart 1: Basic Approaches

Chayatat RatanasawanyaDecember 2, 2009

Ref: Article by Francois Chaumette & Seth Hutchinson

Page 2: Visual Servo Control Tutorial Part 1: Basic Approaches Chayatat Ratanasawanya December 2, 2009 Ref: Article by Francois Chaumette & Seth Hutchinson

Overview

•Introduction•Basic components of visual servoing•Image-based visual servo (IBVS)•Position-based visual servo (PBVS)•Stability analysis•Conclusion•Questions/comments

Page 3: Visual Servo Control Tutorial Part 1: Basic Approaches Chayatat Ratanasawanya December 2, 2009 Ref: Article by Francois Chaumette & Seth Hutchinson

Introduction•Visual servo (VS) control – the use of computer

vision data to control the motion of a robot.

•Relies on techniques from image processing, computer vision, and control theory

•Two camera configurations:▫Eye-in-hand: camera is mounted on a robot

manipulator or on a mobile robot.▫Camera is fixed in the workspace

Page 4: Visual Servo Control Tutorial Part 1: Basic Approaches Chayatat Ratanasawanya December 2, 2009 Ref: Article by Francois Chaumette & Seth Hutchinson

Basic components of VS

•Error function▫The goal is to minimize the error

•Design of s: ▫Consists of a set of features that are readily

available in the image data (IBVS), or▫Consists of a set of 3D parameters, which must

be estimated from image measurements (PBVS)

*)),(()( samse tt

Page 5: Visual Servo Control Tutorial Part 1: Basic Approaches Chayatat Ratanasawanya December 2, 2009 Ref: Article by Francois Chaumette & Seth Hutchinson

Basic components of VS (Cont’d)•Interaction matrix (feature Jacobian)•Design of the controller

▫Can be done quite simply once s is selected▫The most straightforward approach is to design

a velocity controller

*)),(()( samse ttcsvLs

cevLe ee

eLv ec

eLv 1 ec eLv ec

ˆIn practice, it is

impossible to know perfectly Le or Le+

Page 6: Visual Servo Control Tutorial Part 1: Basic Approaches Chayatat Ratanasawanya December 2, 2009 Ref: Article by Francois Chaumette & Seth Hutchinson

Image-based visual servo (IBVS)• The classical IBVS schemes use the image-plane

coordinates of a set of points to define s.• m - the pixel coordinates of a set of image points.• a - the camera intrinsic parameters.• For a 3D point X=(x,y,z) in the camera frame,

using the projection model the point is at x=(u,v) in the image, the interaction matrix is

uuvv

z

v

z

vuuvz

u

zx

2

2

11

0

101

L

cxvLx

Page 7: Visual Servo Control Tutorial Part 1: Basic Approaches Chayatat Ratanasawanya December 2, 2009 Ref: Article by Francois Chaumette & Seth Hutchinson

Image-based visual servo (IBVS)• To control the 6DOF, at least three points are

necessary.• If the feature vector is chosen as x=(x1,x2,x3), the

Jacobian matrix can be

• However, more than 3 points are usually considered because there will exist cases for which Lx is singular. Moreover, it is not possible to differentiate the global minima (poses for which e=0) when they exist.

3

2

1

x

x

x

x

L

L

L

L

Page 8: Visual Servo Control Tutorial Part 1: Basic Approaches Chayatat Ratanasawanya December 2, 2009 Ref: Article by Francois Chaumette & Seth Hutchinson

IBVS: Estimating the interaction matrix1. If L e is known; i.e., if

the current z of each point is available

2. L e is unknown, but the desired z is available

3. Same condition as in 1.

eLv ecˆ

Tee

Teee LLLLL

ee LL

)(2

1ˆ*eee LLL

Page 9: Visual Servo Control Tutorial Part 1: Basic Approaches Chayatat Ratanasawanya December 2, 2009 Ref: Article by Francois Chaumette & Seth Hutchinson

Example of IBVS positioning

Page 10: Visual Servo Control Tutorial Part 1: Basic Approaches Chayatat Ratanasawanya December 2, 2009 Ref: Article by Francois Chaumette & Seth Hutchinson

IBVS result: case 1

Page 11: Visual Servo Control Tutorial Part 1: Basic Approaches Chayatat Ratanasawanya December 2, 2009 Ref: Article by Francois Chaumette & Seth Hutchinson

IBVS result: case 2

Page 12: Visual Servo Control Tutorial Part 1: Basic Approaches Chayatat Ratanasawanya December 2, 2009 Ref: Article by Francois Chaumette & Seth Hutchinson

IBVS result: case 3

Page 13: Visual Servo Control Tutorial Part 1: Basic Approaches Chayatat Ratanasawanya December 2, 2009 Ref: Article by Francois Chaumette & Seth Hutchinson

IBVS with a Stereovision system• A straightforward extension of the IBVS

approach.

• If a 3D point is visible in both left and right images, it is possible to use as visual features.

• The 3D coordinates of any point observed in both images can be estimated easily by a triangulation process, it is therefore possible and quite natural to use these 3D coordinates in the features set s.

Page 14: Visual Servo Control Tutorial Part 1: Basic Approaches Chayatat Ratanasawanya December 2, 2009 Ref: Article by Francois Chaumette & Seth Hutchinson

Position-based visual servo (PBVS)• PBVS schemes use the pose of the camera w.r.t.

some reference coordinate frame to define s.

• Computing that pose from a set of measurements in an image requires the camera intrinsic parameters and the 3D model of the object observed.

• m - the pixel coordinates of a set of image points.

• a - the camera intrinsic parameters and the 3D model of the object.

Page 15: Visual Servo Control Tutorial Part 1: Basic Approaches Chayatat Ratanasawanya December 2, 2009 Ref: Article by Francois Chaumette & Seth Hutchinson

PBVS: definition of ss=(t, θu)

1. If t is defined relative to the object frame, we have

Following the developments presented: determining Le and the estimate of its inverse, the control law is

utte

ts

uts

,

0,

,

*

**

oc

oc

oc

oc

uttt

c

oc

oc

oc

cv*

Page 16: Visual Servo Control Tutorial Part 1: Basic Approaches Chayatat Ratanasawanya December 2, 2009 Ref: Article by Francois Chaumette & Seth Hutchinson

PBVS result: case 1

Page 17: Visual Servo Control Tutorial Part 1: Basic Approaches Chayatat Ratanasawanya December 2, 2009 Ref: Article by Francois Chaumette & Seth Hutchinson

PBVS: definition of ss=(t, θu)

2. If t is defined w.r.t. the current camera frame, we have

the corresponding control law is

se

s

uts

0

,*

*

cc

tR

c

ccT

cv*

Page 18: Visual Servo Control Tutorial Part 1: Basic Approaches Chayatat Ratanasawanya December 2, 2009 Ref: Article by Francois Chaumette & Seth Hutchinson

PBVS result: case 2

Page 19: Visual Servo Control Tutorial Part 1: Basic Approaches Chayatat Ratanasawanya December 2, 2009 Ref: Article by Francois Chaumette & Seth Hutchinson

Stability analysis - IBVS

•Local asymptotic stability (vc=0 and e≠e*)

can be ensured when number of visual feature in the vector s is greater than 6.

•Global asymptotic stability cannot be guaranteed.

Page 20: Visual Servo Control Tutorial Part 1: Basic Approaches Chayatat Ratanasawanya December 2, 2009 Ref: Article by Francois Chaumette & Seth Hutchinson

Stability analysis - PBVS• Global stability is achievable when all pose

parameters are perfect.• Robustness: small points position computation

errors in the image can lead to pose errors that may impact the accuracy and the stability of the system significantly.

Page 21: Visual Servo Control Tutorial Part 1: Basic Approaches Chayatat Ratanasawanya December 2, 2009 Ref: Article by Francois Chaumette & Seth Hutchinson

Conclusion• IBVS or PBVS is better? – performance tradeoffs

• Stability: no strategy provides perfect properties

• Correct estimation of 3D parameters is important for IBVS, but crucial for PBVS.

• In PBVS, the vision sensor is considered as a 3D sensor, which leads to errors.

• In IBVS, the vision sensor is considered as a 2D sensor; therefore, it is robust to errors in calibration and image noise.

Page 22: Visual Servo Control Tutorial Part 1: Basic Approaches Chayatat Ratanasawanya December 2, 2009 Ref: Article by Francois Chaumette & Seth Hutchinson

Questions/comments