icra’2016 tutorial on vision for robotics visual...

33
Visual Servoing François Chaumette Lagadic group Inria at Irisa Rennes, France http://team.inria.fr/lagadic http://visp.inria.fr ICRA’2016 Tutorial on Vision for Robotics

Upload: others

Post on 21-Apr-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ICRA’2016 Tutorial on Vision for Robotics Visual Servoingteam.inria.fr/lagadic/tuto/ICRA2016-TVfR-Chaumette.pdf · 2016-05-20 · ICRA’2016 Tutorial on Vision for Robotics. How

Visual Servoing

François Chaumette

Lagadic group Inria at Irisa

Rennes, France

http://team.inria.fr/lagadic http://visp.inria.fr

ICRA’2016 Tutorial on Vision for Robotics

Page 2: ICRA’2016 Tutorial on Vision for Robotics Visual Servoingteam.inria.fr/lagadic/tuto/ICRA2016-TVfR-Chaumette.pdf · 2016-05-20 · ICRA’2016 Tutorial on Vision for Robotics. How

How to control robot motion from vision?

1st basic idea: determine only once the displacement to be done (open loop/saccade)

2

Advantages: •  Only one image to be processed and one very fast displacement to be

achieved if the full system is perfectly calibrated

Drawbacks: •  Not robust to modeling and calibration errors •  Iterating may help, or not… Object detection for each new image

Page 3: ICRA’2016 Tutorial on Vision for Robotics Visual Servoingteam.inria.fr/lagadic/tuto/ICRA2016-TVfR-Chaumette.pdf · 2016-05-20 · ICRA’2016 Tutorial on Vision for Robotics. How

What is visual servoing?

Vision-based closed loop control of a dynamic system by iterative minimization of a visual error (Lyapunov function)

3

Advantages: •  Positioning accuracy •  Robustness with respect to modeling and calibration errors •  Reactive to changes (target tracking)

Drawbacks: •  Need many images to be processed

Page 4: ICRA’2016 Tutorial on Vision for Robotics Visual Servoingteam.inria.fr/lagadic/tuto/ICRA2016-TVfR-Chaumette.pdf · 2016-05-20 · ICRA’2016 Tutorial on Vision for Robotics. How

What is visual servoing?

Usual steps: • extract and track visual measurements near video rate • design visual features and control schemes from the available measurements •  taking into account the system and environment constraints

for an adequate system behavior (stability, robustness, …)

4

Page 5: ICRA’2016 Tutorial on Vision for Robotics Visual Servoingteam.inria.fr/lagadic/tuto/ICRA2016-TVfR-Chaumette.pdf · 2016-05-20 · ICRA’2016 Tutorial on Vision for Robotics. How

A wide spectrum of applications

Just need a camera and a robot

5

Page 6: ICRA’2016 Tutorial on Vision for Robotics Visual Servoingteam.inria.fr/lagadic/tuto/ICRA2016-TVfR-Chaumette.pdf · 2016-05-20 · ICRA’2016 Tutorial on Vision for Robotics. How

Whatever sort of vision sensor

6

Omnidirectional camera

2D US probe RGB-D sensor

Page 7: ICRA’2016 Tutorial on Vision for Robotics Visual Servoingteam.inria.fr/lagadic/tuto/ICRA2016-TVfR-Chaumette.pdf · 2016-05-20 · ICRA’2016 Tutorial on Vision for Robotics. How

Just need a camera

Pose estimation / 3D tracking can be formulated as Virtual Visual Servoing

7

Page 8: ICRA’2016 Tutorial on Vision for Robotics Visual Servoingteam.inria.fr/lagadic/tuto/ICRA2016-TVfR-Chaumette.pdf · 2016-05-20 · ICRA’2016 Tutorial on Vision for Robotics. How

Just need a computer

8

Page 9: ICRA’2016 Tutorial on Vision for Robotics Visual Servoingteam.inria.fr/lagadic/tuto/ICRA2016-TVfR-Chaumette.pdf · 2016-05-20 · ICRA’2016 Tutorial on Vision for Robotics. How

The basic tools: Modeling

9

2D visual features (IBVS) / 3D visual features (PBVS)

Same principle in both cases (but not same properties)

•  : interaction matrix, : feature Jacobian •  : instantaneous camera velocity in camera frame

Visual features:

Page 10: ICRA’2016 Tutorial on Vision for Robotics Visual Servoingteam.inria.fr/lagadic/tuto/ICRA2016-TVfR-Chaumette.pdf · 2016-05-20 · ICRA’2016 Tutorial on Vision for Robotics. How

The basic tools: the feature Jacobian

10

Eye-in-hand system Eye-to-hand system

Page 11: ICRA’2016 Tutorial on Vision for Robotics Visual Servoingteam.inria.fr/lagadic/tuto/ICRA2016-TVfR-Chaumette.pdf · 2016-05-20 · ICRA’2016 Tutorial on Vision for Robotics. How

The basic tools

Modeling:

11

Stability analysis:

Usually, LAS only

Control: to try to ensure (exponential decoupled decrease)

Page 12: ICRA’2016 Tutorial on Vision for Robotics Visual Servoingteam.inria.fr/lagadic/tuto/ICRA2016-TVfR-Chaumette.pdf · 2016-05-20 · ICRA’2016 Tutorial on Vision for Robotics. How

Usually LAS only: potential local minimum (for 6 dof)

12

This local minimum can be avoided with another choice of or

Page 13: ICRA’2016 Tutorial on Vision for Robotics Visual Servoingteam.inria.fr/lagadic/tuto/ICRA2016-TVfR-Chaumette.pdf · 2016-05-20 · ICRA’2016 Tutorial on Vision for Robotics. How

13

Local minimum avoided by using (very coarse approximation)

Usually LAS only: potential local minimum (for 6 dof)

Page 14: ICRA’2016 Tutorial on Vision for Robotics Visual Servoingteam.inria.fr/lagadic/tuto/ICRA2016-TVfR-Chaumette.pdf · 2016-05-20 · ICRA’2016 Tutorial on Vision for Robotics. How

The basic tools

Modeling:

14

For an image point: Control:

The depth of each point appears for the 3 translational dof (true )

• Can be approximated: • Can be estimated: - by triangulation with stereovision - from pose if 3D object model available - up to a scale factor from epipolar geometry/homography with current &

desired images - from structure from known motion

Page 15: ICRA’2016 Tutorial on Vision for Robotics Visual Servoingteam.inria.fr/lagadic/tuto/ICRA2016-TVfR-Chaumette.pdf · 2016-05-20 · ICRA’2016 Tutorial on Vision for Robotics. How

The basic tools

Modeling:

15

For an image point:

Control:

Different choices of will induce different image & robot behaviors

Page 16: ICRA’2016 Tutorial on Vision for Robotics Visual Servoingteam.inria.fr/lagadic/tuto/ICRA2016-TVfR-Chaumette.pdf · 2016-05-20 · ICRA’2016 Tutorial on Vision for Robotics. How

One open problem for 6 dof (solved for 4 dofs)

What are the visual features for an optimal behavior?

16

Page 17: ICRA’2016 Tutorial on Vision for Robotics Visual Servoingteam.inria.fr/lagadic/tuto/ICRA2016-TVfR-Chaumette.pdf · 2016-05-20 · ICRA’2016 Tutorial on Vision for Robotics. How

What are the good visual features?

A very bad choice

17

Page 18: ICRA’2016 Tutorial on Vision for Robotics Visual Servoingteam.inria.fr/lagadic/tuto/ICRA2016-TVfR-Chaumette.pdf · 2016-05-20 · ICRA’2016 Tutorial on Vision for Robotics. How

What are the good visual features?

A perfect choice for this particular configuration

18

Page 19: ICRA’2016 Tutorial on Vision for Robotics Visual Servoingteam.inria.fr/lagadic/tuto/ICRA2016-TVfR-Chaumette.pdf · 2016-05-20 · ICRA’2016 Tutorial on Vision for Robotics. How

The basic tools

Modeling:

19

Control:

known for many visual features:

•  In 2D: - Point, segment, straight line, circle, cylinder, sphere, … - Moments for planar or almost planar shapes

•  In 3D, directly from kinematics: : GAS if 3D is perfect

If unknown, it can be estimated (off-line, on-line, by learning) but be careful to non-linearity and stability

From your application (robot dof, object, task), search for the best choice

Page 20: ICRA’2016 Tutorial on Vision for Robotics Visual Servoingteam.inria.fr/lagadic/tuto/ICRA2016-TVfR-Chaumette.pdf · 2016-05-20 · ICRA’2016 Tutorial on Vision for Robotics. How

My 2 cents on the endless debate: IBVS vs PBVS

20

2D visual features (IBVS) / 3D visual features (PBVS) For IBVS, 3D appears in but not in So 3D noise will affect the transient, but not the accuracy at the goal This is not the case for PBVS

Page 21: ICRA’2016 Tutorial on Vision for Robotics Visual Servoingteam.inria.fr/lagadic/tuto/ICRA2016-TVfR-Chaumette.pdf · 2016-05-20 · ICRA’2016 Tutorial on Vision for Robotics. How

Pose estimation may be unstable

21

Page 22: ICRA’2016 Tutorial on Vision for Robotics Visual Servoingteam.inria.fr/lagadic/tuto/ICRA2016-TVfR-Chaumette.pdf · 2016-05-20 · ICRA’2016 Tutorial on Vision for Robotics. How

My 2 cents on the endless debate: IBVS vs PBVS

22

2D visual features (IBVS) / 3D visual features (PBVS)

And the winner was to combine 2D and 3D visual features (2 ½ D VS)…

For IBVS, 3D appears in but not in So 3D noise will affect the transient, but not the accuracy at the goal This is not the case for PBVS

Page 23: ICRA’2016 Tutorial on Vision for Robotics Visual Servoingteam.inria.fr/lagadic/tuto/ICRA2016-TVfR-Chaumette.pdf · 2016-05-20 · ICRA’2016 Tutorial on Vision for Robotics. How

51

Page 24: ICRA’2016 Tutorial on Vision for Robotics Visual Servoingteam.inria.fr/lagadic/tuto/ICRA2016-TVfR-Chaumette.pdf · 2016-05-20 · ICRA’2016 Tutorial on Vision for Robotics. How

My 2 cents on the endless debate: IBVS vs PBVS

24

2D visual features (IBVS) / 3D visual features (PBVS)

And the winner was to combine 2D and 3D visual features (2 ½ D VS)…

Now, try to design IBVS with PBVS behavior (search for such that )

For IBVS, 3D appears in but not in So 3D noise will affect the transient, but not the accuracy at the goal This is not the case for PBVS

Page 25: ICRA’2016 Tutorial on Vision for Robotics Visual Servoingteam.inria.fr/lagadic/tuto/ICRA2016-TVfR-Chaumette.pdf · 2016-05-20 · ICRA’2016 Tutorial on Vision for Robotics. How

A new family of visual servoing: photometric VS

Remove the image processing part in the usual steps: • extract and track visual measurements near video rate • design visual features and control schemes from the available measurements

25

Advantages: • Robustness to image processing errors and noise!

Page 26: ICRA’2016 Tutorial on Vision for Robotics Visual Servoingteam.inria.fr/lagadic/tuto/ICRA2016-TVfR-Chaumette.pdf · 2016-05-20 · ICRA’2016 Tutorial on Vision for Robotics. How

Photometric visual servoing

Visual features: intensity of each pixel

26

highly non linear Drawbacks: small convergence domain, strange robot trajectory

Modeling: (function of the image content)

But no feature extraction, tracking nor matching + excellent positioning accuracy

Page 27: ICRA’2016 Tutorial on Vision for Robotics Visual Servoingteam.inria.fr/lagadic/tuto/ICRA2016-TVfR-Chaumette.pdf · 2016-05-20 · ICRA’2016 Tutorial on Vision for Robotics. How

Photometric visual servoing

Robustness to global illumination changes by using

27

Robustness to outliers (occlusion) by using

Accuracy < 0.1 µm

Page 28: ICRA’2016 Tutorial on Vision for Robotics Visual Servoingteam.inria.fr/lagadic/tuto/ICRA2016-TVfR-Chaumette.pdf · 2016-05-20 · ICRA’2016 Tutorial on Vision for Robotics. How

Similar on ultrasound images

28

Similar on depth map from RGB-D sensor:

Page 29: ICRA’2016 Tutorial on Vision for Robotics Visual Servoingteam.inria.fr/lagadic/tuto/ICRA2016-TVfR-Chaumette.pdf · 2016-05-20 · ICRA’2016 Tutorial on Vision for Robotics. How

In the same spirit:

•  RGB components, spatial gradient image •  Sum of conditional variance: with •  Maximize mutual information between current and desired image •  Histogram-based visual servoing •  Mixture of Gaussian •  Wavelet •  …

29

Page 30: ICRA’2016 Tutorial on Vision for Robotics Visual Servoingteam.inria.fr/lagadic/tuto/ICRA2016-TVfR-Chaumette.pdf · 2016-05-20 · ICRA’2016 Tutorial on Vision for Robotics. How

Photometric moments

Going back to geometric features for enlarging the convergence domain and improving the robot trajectory

30

Then select adequate moments (area, cog, main orientation, …)

Page 31: ICRA’2016 Tutorial on Vision for Robotics Visual Servoingteam.inria.fr/lagadic/tuto/ICRA2016-TVfR-Chaumette.pdf · 2016-05-20 · ICRA’2016 Tutorial on Vision for Robotics. How

Other/open issues

• Consider constraints: - visibility, occlusion, obstacles - joint limits, singularities - dynamics: non holonomy, under-actuation

• Path planning in the image, optimal control, MPC • Redundancy, task sequencing, stack of tasks

31

• Multi sensor-based control • Modeling, fusion

• Target tracking • PI controller • Estimate, predict and compensate the target motion (feed forward)

Page 32: ICRA’2016 Tutorial on Vision for Robotics Visual Servoingteam.inria.fr/lagadic/tuto/ICRA2016-TVfR-Chaumette.pdf · 2016-05-20 · ICRA’2016 Tutorial on Vision for Robotics. How

To go further

• F. Chaumette, S. Hutchinson, P. Corke: Visual servoing, in Chapter 34 of Handbook of Robotics, 2nd edition, expected for IROS’2016.

• Many papers in the field

• Do not hesitate to use ViSP for visual tracking and visual servoing:

visp.inria.fr

32

Page 33: ICRA’2016 Tutorial on Vision for Robotics Visual Servoingteam.inria.fr/lagadic/tuto/ICRA2016-TVfR-Chaumette.pdf · 2016-05-20 · ICRA’2016 Tutorial on Vision for Robotics. How

Thanks for your attention

33

Acknowledgments: Lagadic colleagues and the VS worlwide community