RoboticsHow-to

Eye-to-hand calibration: verify the camera-to-base result

Sanity-check an eye-to-hand calibration: frame-stability checks while the robot moves and a tape-measure cross-check of the base-to-camera translation.

LumaSpec Vision7 min read Share on LinkedIn

On this page 9 sections
  1. 01What a good result looks like
  2. 02Check 1: the static plausibility pass
  3. 03Check 2: frames stay fixed while the robot moves
  4. 04Check 3: a quantitative accuracy number
  5. 05Common causes when the check fails
  6. 06Setting the camera up for a clean capture
  7. 07Pre-production checklist
  8. 08When the usual answer is wrong
  9. 09Questions

An eye-to-hand calibration mounts the camera on the cell frame, looking at a robot that carries the calibration target on its flange. The solver returns one transform from the robot base frame to the camera frame, and every downstream projection depends on it. Before you trust that transform in production, run three checks: confirm the rotation is valid, confirm projected world points stay fixed while the robot moves, and compare the translation against tape-measure distances. This guide walks through each check and what a failure tells you.

What a good result looks like

For a work cell roughly a metre across, a usable eye-to-hand calibration typically puts the end-to-end error under about 1 mm. The translation vector should place the camera plausibly in the cell: above and to the side of the base, at a distance that matches where you bolted it. The rotation as a quaternion must be a unit quaternion, and its axis should roughly match how you oriented the camera. A result like a translation of 0.47 m in X, 1.04 m in Y and 0.64 m in Z is not wrong on its face, but no printed vector proves the calibration. Only a dynamic test does.

Check 1: the static plausibility pass

Before moving anything, read the numbers.

  1. Check the quaternion norm. The square root of x² + y² + z² + w² must be 1.0 within rounding. A value far from 1 means the solver output was mangled or a wrong convention was written to the launch or config file.
  2. Convert the quaternion to a rotation matrix or axis-angle and ask whether the camera's optical axis points where the hardware does. A camera bolted to a beam pointing straight down should have its optical axis close to the base -Z direction in base coordinates.
  3. Compare each translation component to a tape measure. Measure from the robot base origin to the camera in X, Y and Z along the base axes. Expect agreement within a few millimetres. This is a coarse check, but it catches sign errors, swapped axes and wrong-frame exports immediately.

If any axis disagrees by tens of millimetres, stop and re-export or re-solve. Do not tune offsets by hand; the error is in the capture, not the mounting.

Check 2: frames stay fixed while the robot moves

This is the decisive test. Publish the calibrated base-to-camera transform and view the full frame tree while you jog the robot to several well-separated poses.

  1. Place a fixed, recognizable object in the cell, in view of the camera from many poses.
  2. At each robot pose, detect the object and transform its pose into the base frame using the calibration.
  3. Record the object's X, Y and Z in base coordinates at every pose.

In a correct calibration, those coordinates stay put: a spread of a millimetre or two across poses is normal. If the object's world pose swings by centimetres, slides along an axis as the arm extends, or rotates with the tool, the rotation is wrong. The failure pattern matters: an error that grows with tool rotation points to bad flange-pose data; a constant offset that changes with camera viewing angle points to too-similar calibration poses.

How you capture the poses matters as much as the solver. The poses need varied orientation and varied position relative to the target, and the same requirements apply to the verification poses. If your verification keeps failing, revisit how you choose capture positions; the guidance on eye in hand calibration pose selection applies to eye-to-hand capture too, because both rely on the same pose-variety mathematics.

Check 3: a quantitative accuracy number

Once frames stay fixed, put a number on the error.

  1. Mount a calibrated artefact or use a feature of known size at a known base position, such as a dowel in a reamed hole.
  2. From five or more robot poses, compute the artefact's base-frame position via the camera.
  3. Report the mean error and the spread. Mean error under 1 mm on a metre-scale cell is good; a spread above 3-4 mm usually means distortion or pose variety problems, while a consistent mean offset points to a rotation bias.

Distinguish these two failures: a tight cluster in the wrong place is fixable by understanding one systematic error, while a scattered cluster means the calibration itself is unstable and should be re-captured, not offset.

Common causes when the check fails

  • Camera moved after capture. Even a small bump changes the rotation. Any mechanical change means re-running the capture, or following a documented recovery procedure such as vision calibration recovery after camera or robot changes.
  • Mounting parameter mismatch. The calibration-time camera-to-flange convention differs from the runtime one, for example a sign flip in the target-to-flange transform.
  • Loose hardware. A bracket that flexes under robot vibration shifts the transform between capture and use. Rigid mounting is a precondition for every check above.
  • Too-few or too-similar poses. The solver quietly converges to a wrong solution. This is the most common cause of frames that fly during verification.

Setting the camera up for a clean capture

Fix the camera on a rigid mount with no cantilevered overhang, and keep the cable strain-relieved so nothing tugs the housing between poses. A bench with a repeatable slide, such as the LS-MNT-0040, helps you position a fixed overhead camera and holds it without drift; the stand's 700 mm column height and 400 × 450 mm base suit a typical bench-scale cell. Whatever you use, mark the mount so you can tell if it has been disturbed, and re-check fixation if verification suddenly fails after previously passing.

If you are still choosing where the camera goes in the cell, the trade-offs are the same for fixed-camera guidance as for tracking setups; see conveyor tracking camera placement relative to the robot. After mounting, a residual-error audit of the full camera set-up, as described in camera extrinsic calibration accuracy beyond reprojection error, pairs well with the checks here.

For deeper reading on the mapping approach used when a fixed camera watches a planar work area, there is a knowledgebase walkthrough of eye-to-hand XY tablet mapping that covers the same transform from the integration side.

Pre-production checklist

  • [ ] Quaternion norm equals 1 within rounding.
  • [ ] Translation matches tape measure in X, Y and Z within a few millimetres.
  • [ ] Rotation direction matches the physical camera orientation.
  • [ ] Fixed object holds its base-frame pose across at least five robot poses, spread under 2 mm.
  • [ ] Artefact test reports mean error under 1 mm and spread under 3 mm for the application.
  • [ ] Camera mount marked and undisturbed since capture.
  • [ ] Calibration and runtime conventions (frame names, target-to-flange transform) match exactly.

When the usual answer is wrong

A passing verification does not certify the whole cell. The transform is only as good as the robot's own kinematic accuracy, so a poorly mastering-calibrated arm will pass every check in one pose region and drift in another. Verify across the actual working volume, not just where capture was convenient. And if the application measures rather than guides, run the full artefact study at production speed: thermal drift and vibration show up dynamically, never in a static check.

When you are ready to specify the camera side of a fixed-camera cell, start with the area scan camera finder or the camera configurator, and bring the verification numbers above to the contact page if you want a second opinion on the result.

Questions

How accurate should an eye-to-hand calibration be?

For typical pick-and-place work, aim for a reprojection or end-to-end error under about 1 mm on a cell up to a metre across. Tape-measure agreement within 2-3 mm per axis is a reasonable sanity threshold before you run a formal accuracy test. If the translation is off by tens of millimetres, the capture poses or the camera-to-flange data were wrong, not just noisy.

Why do my frames move when the robot moves?

In a correct eye-to-hand result the camera frame is rigidly fixed to the robot base, so a world point seen by the camera must keep a constant pose in base coordinates no matter where the arm goes. If the frames swing, slide or rotate as the robot moves, the rotation is wrong: usually from too-similar calibration poses, a loose camera mount, or a mismatch between the calibration and runtime mounting parameter.

Can I verify eye-to-hand calibration without a robot move?

Only partially. You can check that the quaternion is a valid unit rotation and that the translation direction and magnitude are plausible against tape measurements, but the decisive test is dynamic: the transform must hold while the robot changes pose. A static check can pass while the rotation is subtly wrong, so treat it as a first filter rather than proof.

Do I need to recalibrate after moving the camera?

Yes. An eye-to-hand transform describes exactly one camera position. Even a small bump changes the rotation enough to shift projected targets by several millimetres at working distance. Re-run the calibration capture, or if only the robot changed, see whether a recovery procedure applies before starting from scratch.