Visual Servoing

Visual servoing is the closed-loop control of a robot using visual feedback from one or more cameras. It is the bridge where computer vision (perception) and robot kinematics (action) meet: the image is the sensor, the joint velocities are the command, and the task is specified directly in terms of what the camera sees.

Let be a vector of image features measured from the current camera view (e.g., pixel coordinates of tracked points, moments of a blob, or a 6-DoF pose recovered via two-view geometry), and let be the desired feature vector. The visual servoing objective is to drive the error to zero.

The feature velocity is related to the camera’s rigid body velocity by the image (interaction) Jacobian :

where is the (possibly estimated) depth of each feature.

Combining with the robot’s body Jacobian , which maps joint velocities to camera twist (when the camera is rigidly mounted on the end-effector), gives the composite relation

A proportional control law for exponential error decay is

where is the Moore-Penrose pseudoinverse and is a gain.

Two canonical variants:

  • Image-Based Visual Servoing (IBVS): features are pixel coordinates; the control loop closes in image space. Robust to calibration error but may exhibit unstable 3D camera paths.
  • Position-Based Visual Servoing (PBVS): features are the 3D pose recovered from images via epipolar geometry or pose-from-known-model (PnP); control is in Cartesian space. Geometrically clean but sensitive to calibration and pose-estimation noise.

Intuition

Forward kinematics tells the robot where its hand is given the joint angles. Differential kinematics tells it how a small change in joint angles moves the hand. But neither answers the more practical question: how do I move the hand to where that object is in the image?

Visual servoing closes the loop. The camera — typically mounted on the end-effector (“eye-in-hand”) — produces a stream of image features that change as the robot moves. Differentiating the pinhole projection with respect to camera motion gives the image Jacobian , which plays the same role on the vision side that the robot Jacobian plays on the actuation side. Chaining them,

yields a direct map from what the robot commands to what the camera sees. Inverting that chain (via pseudoinverse) gives the control law.

The deep point is that visual servoing reuses the same Lie-algebraic machinery — twists, adjoints, Jacobians — developed for open-loop kinematics, now in a closed-loop, sensor-driven setting. The image becomes just another coordinate chart on the task.

The Image Jacobian

For a single 3D point in the camera frame, the pinhole projection gives pixel coordinates . Differentiating, and using the rigid body velocity (point velocity relative to a moving camera), one obtains the classical 2-row-per-point interaction matrix:

where are normalized image coordinates. Stacking such rows for tracked points produces . At least three non-collinear points () are required for to have rank 6.

The depth enters and must be estimated — typically from a two-view measurement, a stereo rig, or a constant “desired depth” approximation.

Links to Robotics

  • Forward Kinematics — gives the rigid transform of the camera relative to the base, used to bring feature errors into the robot’s reference frame.
  • Robot Jacobians — the body Jacobian is composed with the image Jacobian to close the loop from image error to joint command.
  • Singularities — can become rank-deficient at certain configurations, causing visual servoing to stall or oscillate even when the robot itself is well away from kinematic singularities.
  • Jacobian IK — the pseudoinverse control law in visual servoing is structurally identical to velocity IK, with playing the role of .

Links to Computer Vision

  • 5.1. The Pinhole Camera — the geometric model that produces the image Jacobian via chain rule on the projection equations.
  • 5.3. Epipolar Geometry — supplies the relative pose that defines the goal in PBVS.
  • 5.2. Stereo Geometry — an alternative way to recover the depth that enters .
  • 4. Feature-Based Alignment — the feature detection / matching pipeline supplies the image measurements .
  • SfM — PnP-style pose recovery from 2D-3D correspondences is the workhorse of model-based PBVS.

IBVS vs. PBVS

AspectIBVSPBVS
Feature spacepixels3D pose
Control frameimageCartesian
Sensitivity to calibrationlowhigh
3D trajectorymay be erraticstraight line
Singularitiesimage Jacobian rank lossnone (by construction)
Depth requiredyes (for )implicit in pose recovery

A full treatment of hybrid and partitioned schemes (2.5D visual servoing) is left to the reader; see Chaumette & Hutchinson’s 2006 tutorial.