Visual servoing. Visual servoing, also known as vision-based robot control and abbreviated VS, is a technique which uses feedback information extracted from a vision sensor (visual feedback) to control the motion of a robot. One of the earliest papers that talks about visual servoing was from the SRI International Labs in 1979.

Visual servoing taxonomy

There are two fundamental configurations of the robot end-effector (hand) and the camera:

 Eye-in-hand, or end-point open-loop control, where the camera is attached to the moving hand and observing the relative position of the target.
 Eye-to-hand, or end-point closed-loop control, where the camera is fixed in the world and observing the target and the motion of the hand.

Visual Servoing control techniques are broadly classified into the following types:
Image-based (IBVS)
Position/pose-based (PBVS)
Hybrid approach

IBVS  was proposed by Weiss and Sanderson.  The control law is based on the error between current and desired features on the image plane, and does not involve any estimate of the pose of the target. The features may be the coordinates of visual features, lines or moments of regions.  IBVS has difficulties with motions very large rotations, which has come to be called camera retreat.

PBVS is a model-based technique (with a single camera). This is because the pose of the object of interest is estimated with respect to the camera and then a command is issued to the robot controller, which in turn controls the robot. In this case the image features are extracted as well, but are additionally used to estimate 3D information (pose of the object in Cartesian space), hence it is servoing in 3D.

Hybrid approaches use some combination of the 2D and 3D servoing. There have been a few different approaches to hybrid servoing
 2-1/2-D Servoing
 Motion partition-based
 Partitioned DOF Based

Survey

The following description of the prior work is divided into 3 parts

 Survey of existing visual servoing methods.
 Various features used and their impacts on visual servoing.
 Error and stability analysis of visual servoing schemes.

Survey of existing visual servoing methods 

Visual servo systems, also called servoing, have been around since the early 1980s 
, although the term visual servo itself was only coined in 1987.
Visual Servoing is, in essence, a method for robot control where the sensor used is a camera (visual sensor). 
Servoing consists primarily of two techniques,
one involves using information from the image to directly control the degrees of freedom (DOF) of the robot, thus referred to as Image Based Visual Servoing (IBVS).
While the other involves the geometric interpretation of the information extracted from the camera, such as estimating the pose of the target and parameters of the camera (assuming some basic model of the target is known). Other servoing classifications exist based on the variations in each component of a servoing system 
,
e.g. the location of the camera, the two kinds are eye-in-hand and hand–eye configurations. 
Based on the control loop, the two kinds are end-point-open-loop and end-point-closed-loop. Based on whether the control is applied to the joints (or DOF)
directly or as a position command to a robot controller the two types are
direct servoing and dynamic look-and-move.
Being one of the earliest works 
the authors proposed a hierarchical
visual servo scheme applied to image-based servoing. The technique relies on
the assumption that a good set of features can be extracted from the object
of interest (e.g. edges, corners and centroids) and used as a partial model
along with global models of the scene and robot. The control strategy is
applied to a simulation of a two and three DOF robot arm.

Feddema et al.
introduced the idea of generating task trajectory
with respect to the feature velocity. This is to ensure that the sensors are
not rendered ineffective (stopping the feedback) for any the robot motions.
The authors assume that the objects are known a priori (e.g. CAD model)
and all the features can be extracted from the object.
The work by Espiau et al.
discusses some of the basic questions in
visual servoing. The discussions concentrate on modeling of the interaction
matrix, camera, visual features (points, lines, etc..).
In  
an adaptive servoing system was proposed with a look-and-move
servoing architecture. The method used optical flow along with SSD to
provide a confidence metric and a stochastic controller with Kalman filtering
for the control scheme. The system assumes (in the examples) that the plane
of the camera and the plane of the features are parallel., discusses an approach of velocity control using the Jacobian relationship s˙ = Jv˙ . In addition the author uses Kalman filtering, assuming that
the extracted position of the target have inherent errors (sensor errors). A
model of the target velocity is developed and used as a feed-forward input
in the control loop. Also, mentions the importance of looking into kinematic
discrepancy, dynamic effects, repeatability, settling time oscillations and lag
in response.

Corke  poses a set of very critical questions on visual servoing and tries
to elaborate on their implications. The paper primarily focuses the dynamics
of visual servoing. The author tries to address problems like lag and stability,
while also talking about feed-forward paths in the control loop. The paper
also, tries to seek justification for trajectory generation, methodology of axis
control and development of performance metrics.

Chaumette in  provides good insight into the two major problems with
IBVS. One, servoing to a local minima and second, reaching a Jacobian singularity. The author show that image points alone do not make good features
due to the occurrence of singularities. The paper continues, by discussing the
possible additional checks to prevent singularities namely, condition numbers
of J_s and Jˆ+_s, to check the null space of ˆ J_s and J^T_s . One main point that
the author highlights is the relation between local minima and unrealizable
image feature motions.

Over the years many hybrid techniques have been developed. These
involve computing partial/complete pose from Epipolar Geometry using multiple views or multiple cameras. The values are obtained by direct estimation or through a learning or a statistical scheme. While others have used
a switching approach that changes between image-based and position-based
on a Lyapnov function.
The early hybrid techniques that used a combination of image-based and
pose-based (2D and 3D information) approaches for servoing required either
a full or partial model of the object in order to extract the pose information
and used a variety of techniques to extract the motion information from the
image. used an affine motion model from the image motion in addition
to a rough polyhedral CAD model to extract the object pose with respect to
the camera to be able to servo onto the object (on the lines of PBVS).

2-1/2-D visual servoing developed by Malis et al. is a well known technique that breaks down the information required for servoing into an organized fashion which decouples rotations and translations. The papers
assume that the desired pose is known a priori. The rotational information is
obtained from partial pose estimation, a homography, (essentially 3D information) giving an axis of rotation and the angle (by computing the eigenvalues and eigenvectors of the homography). The translational information is
obtained from the image directly by tracking a set of feature points. The only
conditions being that the feature points being tracked never leave the field of
view and that a depth estimate be predetermined by some off-line technique.
2-1/2-D servoing has been shown to be more stable than the techniques that
preceded it. Another interesting observation with this formulation is that
the authors claim that the visual Jacobian will have no singularities during
the motions.
The hybrid technique developed by Corke and Hutchinson, popularly called portioned approach partitions the visual (or image) Jacobian into
motions (both rotations and translations) relating X and Y axes and motions related to the Z axis. outlines the technique, to break out columns
of the visual Jacobian that correspond to the Z axis translation and rotation
(namely, the third and sixth columns). The partitioned approach is shown to
handle the Chaumette Conundrum discussed in. This technique requires
a good depth estimate in order to function properly.
 outlines a hybrid approach where the servoing task is split into two,
namely main and secondary. The main task is keep the features of interest within the field of view. While the secondary task is to mark a fixation
point and use it as a reference to bring the camera to the desired pose. The
technique does need a depth estimate from an off-line procedure. The paper
discusses two examples for which depth estimates are obtained from robot
odometry and by assuming that all features are on a plane. The secondary
task is achieved by using the notion of parallax. The features that are tracked
are chosen by an initialization performed on the first frame, which are typically points.
 carries out a discussion on two aspects of visual servoing, feature
modeling and model-based tracking. Primary assumption made is that the
3D model of the object is available. The authors highlights the notion that
ideal features should be chosen such that the DOF of motion can be decoupled
by linear relation. The authors also introduce an estimate of the target
velocity into the interaction matrix to improve tracking performance. The
results are compared to well known servoing techniques even when occlusions
occur.

Various features used and their impacts on visual servoing 

This section discusses the work done in the field of visual servoing. We try
to track the various techniques in the use of features. Most of the work
has used image points as visual features. The formulation of the interaction
matrix in  assumes points in the image are used to represent the target.
There has some body of work that deviates from the use of points and use
feature regions, lines, image moments and moment invariants.
In, the authors discuss an affine based tracking of image features.
The image features are chosen based on a discrepancy measure, which is
based on the deformation that the features undergo. The features used were
texture patches. One of key points of the paper was that it highlighted the
need to look at features for improving visual servoing.
In  the authors look into choice of image features (the same question
was also discussed in  in the context of tracking). The effect of the choice
of image features on the control law is discussed with respect to just the
depth axis. Authors consider the distance between feature points and the
area of an object as features. These features are used in the control law with
slightly different forms to highlight the effects on performance. It was noted
that better performance was achieved when the servo error was proportional
to the change in depth axis.
 provides one of the early discussions of the use of moments. The
authors provide a new formulation of the interaction matrix using the velocity
of the moments in the image, albeit complicated. Even though the moments
are used, the moments are of the small change in the location of contour
points with the use of Green’s theorem. The paper also tries to determine
the set of features (on a plane) to for a 6 DOF robot.
In  discusses the use of image moments to formulate the visual Jacobian.
This formulation allows for decoupling of the DOF based on type of moments
chosen. The simple case of this formulation is notionally similar to the 2-1/2-
D servoing. The time variation of the moments (m˙ij) are determined using
the motion between two images and Greens Theorem. The relation between
m˙ij and the velocity screw (v) is given as m˙_ij = L_m_ij v. This technique
avoids camera calibration by assuming that the objects are planar and using
a depth estimate. The technique works well in the planar case but tends to
be complicated in the general case. The basic idea is based on the work in [4]
Moment Invariants have been used in. The key idea being to find
the feature vector that decouples all the DOF of motion. Some observations
made were that centralized moments are invariant for 2D translations. A
complicated polynomial form is developed for 2D rotations. The technique
follows teaching-by-showing, hence requiring the values of desired depth and
area of object (assuming that the plane of camera and object are parallel,
and the object is planar). Other parts of the feature vector are invariants
R3, R4. The authors claim that occlusions can be handled.
 and  build on the work described in. The major differ-
ence being that the authors use a technique similar to, where the task is
broken into two (in the case where the features are not parallel to the cam-
era plane). A virtual rotation is performed to bring the featured parallel to
the camera plane. consolidates the work done by the authors on image
moments.

Error and stability analysis of visual servoing schemes 
Espiau in  showed from purely experimental work that image based visual servoing (IBVS)
is robust to calibration errors. The author used a camera with no explicit
calibration along with point matching and without pose estimation. The
paper looks at the effect of errors and uncertainty on the terms in the interaction matrix from an experimental approach. The targets used were points
and were assumed to be planar.

A similar study was done in  where the
authors carry out experimental evaluation of a few uncalibrated visual servo
systems that were popular in the 90’s. The major outcome was the experimental evidence of the effectiveness of visual servo control over conventional
control methods.
Kyrki et al. analyze servoing errors for position based and 2-1/2-D
visual servoing. The technique involves determining the error in extracting
image position and propagating it to pose estimation and servoing control.
Points from the image are mapped to points in the world a priori to obtain a mapping (which is basically the homography, although not explicitly stated
in the paper). This mapping is broken down to pure rotations and translations. Pose estimation is performed using standard technique from Computer
Vision. Pixel errors are transformed to the pose. These are propagating to
the controller. An observation from the analysis shows that errors in the
image plane are proportional to the depth and error in the depth-axis is
proportional to square of depth.
Measurement errors in visual servoing have been looked into extensively.
Most error functions relate to two aspects of visual servoing. One being
steady state error (once servoed) and two on the stability of the control
loop. Other servoing errors that have been of interest are those that arise
from pose estimation and camera calibration. In, the authors extend the
work done in  by considering global stability in the presence of intrinsic
and extrinsic calibration errors. provides an approach to bound the task
function tracking error. In, the authors use teaching-by-showing visual
servoing technique. Where the desired pose is known a priori and the robot
is moved from a given pose. The main aim of the paper is to determine the
upper bound on the positioning error due to image noise using a convex-
optimization technique.
 provides a discussion on stability analysis with respect the uncertainty
in depth estimates. The authors conclude the paper with the observation that
for unknown target geometry a more accurate depth estimate is required in
order to limit the error.
Many of the visual servoing techniques  implicitly assume that
only one object is present in the image and the relevant feature for tracking
along with the area of the object are available. Most techniques require either
a partial pose estimate or a precise depth estimate of the current and desired
pose.

Software
Matlab toolbox for visual servoing.
Java-based visual servoing simulator.
ViSP (ViSP states for "Visual Servoing Platform") is a modular software that allows fast development of visual servoing applications.

See also
Robotics
Robot
Computer Vision
Machine Vision
Robot control

References

External links
S. A. Hutchinson, G. D. Hager, and P. I. Corke. A tutorial on visual servo control. IEEE Trans. Robot. Automat., 12(5):651—670, Oct. 1996.
F. Chaumette, S. Hutchinson.  Visual Servo Control, Part I: Basic Approaches. IEEE Robotics and Automation Magazine, 13(4):82-90, December 2006.
F. Chaumette, S. Hutchinson. Visual Servo Control, Part II: Advanced Approaches. IEEE Robotics and Automation Magazine, 14(1):109-118, March 2007.
Notes from IROS 2004 tutorial on advanced visual servoing.
 Springer Handbook of Robotics Chapter 24: Visual Servoing and Visual Tracking (François Chaumette, Seth Hutchinson)
UW-Madison, Robotics and Intelligent Systems Lab
INRIA Lagadic research group
 Johns Hopkins University, LIMBS Laboratory
University of Siena, SIRSLab Vision & Robotics Group
Tohoku University, Intelligent Control Systems Laboratory
INRIA Arobas research group
LASMEA, Rosace group
UIUC, Beckman Institute

Robotic sensing
Computer vision
Robot control
Articles containing video clips