A ChArUco board can produce convincing corner overlays while reporting a badly scaled distance. The detector finds image features, but the pose solver depends on the physical coordinates you assign to those features. A printing or units error can therefore survive an apparently successful detection.
Start with the board on the bench, not with the camera calibration settings. This troubleshooting sequence helps you verify printed geometry, identify a scale error, and separate it from image-processing or coordinate-frame problems. It also explains which measurements to repeat before using the pose for machine guidance.
1. Classify the distance error before changing settings
Record the estimated translation, the image dimensions, and an independent distance measurement at several stationary board positions. Keep the board near the image center initially, with its orientation approximately unchanged.
Use the same physical reference for every measurement. A ruler measurement from the camera housing is not automatically a distance from the optical coordinate origin. Document that reference offset rather than treating the front of the housing as the origin.
| Observed symptom | Check first | Useful isolation test |
|---|---|---|
| Distance is wrong by roughly the same ratio everywhere | Board scale and length units | Compare estimated-to-measured distance ratios at several positions |
| Error changes after resizing or switching image streams | Intrinsics and image coordinates | Test the original calibrated image stream without cropping or resizing |
| Error grows toward image edges | Distortion handling and calibration coverage | Move the board across the field while keeping its orientation similar |
| Translation changes unexpectedly when the board rotates | Board origin, pose ambiguity, corner geometry | Keep one physical reference point fixed and examine rotation and translation together |
| Local camera-to-board pose is reasonable, but the machine display is wrong | Transform direction and frame chain | Inspect the direct pose before applying any machine transforms |
These symptoms are clues, not proof. Change one input at a time and retain the original images. For the broader diagnostic sequence, use fiducial distance errors and calibration frames.
2. Measure the printed board, not the generation settings
The dimensions entered when generating a target describe the intended geometry. They do not prove that the printer produced that geometry. Page fitting, document scaling, and later image resizing can change the physical result.
Check these items against the exact board definition used by the pose software:
- Number of chessboard squares along each direction, distinguished from the number of internal corner intersections.
- Physical square side length after printing.
- Physical marker side length, measured across the marker's outer printed boundary rather than the surrounding chessboard square.
- Marker dictionary and identifier arrangement.
- Any wrapper-specific parameter, such as overall target width or longest board side.
- The origin and axis directions assigned to the board coordinates.
Do not substitute overall paper dimensions for patterned-board dimensions. White margins outside the pattern usually do not belong to its geometric extent. Conversely, software asking for the longest patterned side should not receive the length of one square.
Measure across several complete squares, then divide by the number of intervals. For example, a measured span of 216 mm across 8 squares gives:
Measure horizontally and vertically. If the two directions have different scale factors, one square-length correction cannot describe the print accurately. Reprint without unequal scaling, or use a target whose measured geometry matches the supported board model.
Check the target support as well. Bending changes the assumed planar geometry rather than merely changing scale. The calibration target flatness guide explains when a paper target is sufficient and when its mounting becomes the limiting factor.
3. Use the scale ratio to test your hypothesis
With fixed camera intrinsics, uniformly scaling all object coordinates preserves their image projection when the translation is scaled by the same factor. That is why a good overlay cannot independently validate physical distance.
For an otherwise correct board model, the expected relationship is:
Consider a board configured with a square side of 30 mm but printed with a square side of 27 mm. Across 8 squares, the configured extent is 8 × 30 = 240 mm, while the measured extent is 8 × 27 = 216 mm.
Here, 720 mm is an illustrative distance from the camera coordinate origin to the board origin along the optical axis. The board can look correctly aligned while its reported depth is about 11.1% too large.
Confirm the hypothesis at more than one distance. If an unchanged setup reports approximately 500 mm for a true 450 mm depth and 1000 mm for a true 900 mm depth, both ratios are about 1.111. That strongly supports a scale problem, although an incorrect focal calibration can also produce distance-dependent bias.
Correct the board definition and solve the pose again. Treat manual rescaling of old translations as a diagnostic calculation, not a substitute for correcting the geometry used throughout the workflow.
4. Trace length units through the complete pipeline
Pose translations inherit the units of the object points. If board coordinates are expressed in millimetres, the resulting translation is expressed in millimetres. The pose solver does not infer that a downstream display expects metres.
Follow one known length through every stage:
- Record the physical square and marker dimensions.
- Inspect the values stored in the board configuration.
- Inspect the generated object-point coordinates where the software exposes them.
- Record the raw translation returned by the pose solver.
- Check conversions before publishing, storing, or displaying that translation.
For example, 0.027 m and 27 mm describe the same square. Entering 27 into a field expecting metres introduces a factor of 1000. Applying a second conversion later can create another factor of 1000 in the opposite direction.
Check parameter names and documented meanings rather than assuming every length field uses the same units. If the application publishes camera information alongside images, the camera information validation workflow provides useful checks for matching calibration data to the active stream.
5. Match intrinsics to the exact image being processed
Only move to intrinsics after confirming the physical board definition. Record the image width and height at the point where corners are detected, not merely at acquisition.
A calibration matrix describes a particular pixel coordinate system. Resizing or cropping changes that system. For a resize without cropping, the focal lengths and principal point scale with the image axes:
For an unscaled crop beginning at pixel coordinates (u0, v0), the focal lengths remain unchanged while the principal point becomes (cx - u0, cy - v0). Combined transformations must be applied in their actual order.
A resize from 1920 × 1200 pixels to 960 × 600 pixels has sx = sy = 0.5. Corners measured in the smaller image require the correspondingly scaled camera matrix. Alternatively, map detected corners back into the original pixel coordinates before solving.
Also distinguish raw distorted images from rectified images. Raw coordinates require the matching distortion model. Rectified coordinates require the camera matrix for that rectified output, without applying the original distortion correction again. Use the rectified-image pose estimation guide for that distinction.
Keep the complete board visible during testing. The target coverage and field-of-view guide helps separate poor target coverage from incorrect geometry.
6. Compare the same distance in the same frame
A translation vector contains coordinates of an origin, not an unspecified distance to the nearest board surface. Before comparing numbers, identify which two points and which reference frame they describe.
For the common object-to-camera pose convention:
A board origin displaced sideways from the optical axis has a range larger than its optical-axis depth. For example, tx = 300 mm, ty = 0 mm, and tz = 400 mm give a range of 500 mm. Neither 400 mm nor 500 mm is wrong; they answer different questions.
The board origin may be at a pattern corner rather than its center. Rotating the board while holding its center fixed can therefore move the reported origin. Compare a defined reference point transformed from board coordinates instead of assuming translation always follows the center.
If you need the inverse pose, transpose the rotation and transform the translation:
Negating translation alone is generally incorrect. Also verify the published axes instead of assuming a mechanical mounting frame matches an optical frame. The pose reference-frame guide explains how a frame definition changes the meaning of a pose.
7. Stabilize the measurement before replacing hardware
A stationary, sharply imaged target makes scale diagnosis much easier. Lock focus, keep acquisition settings consistent, support the board flat, and prevent cable forces from disturbing the camera.
Compare camera stands through the accessory finder when you need a repeatable bench arrangement. The LS-MNT-0040 camera stand is a candidate to review against your mounting layout.
- Type
- Camera stands
If controlled target tilt would help reproduce an angle-dependent symptom, review the LS-MNT-0001 manual tilt stage. Confirm its mounting interface, travel requirements, load suitability, and securing method from the product information before selecting it.
- Type
- CCD camera stand and positioning stage (LS-MNT-S01)
Do not assume a positioning accessory supplies measurement accuracy that its documentation does not state. Its role here is to make the setup easier to hold and repeat.
Replacing the camera is not the first response to a consistent scale ratio. Consider area scan cameras and the camera finder only after identifying an acquisition limitation such as inadequate target detail or unacceptable motion distortion.
8. Verify the correction across distance and angle
Build a small validation set rather than accepting one improved display. As a practical starting point, collect observations at 3 distances and 3 orientations at each distance. Keep enough identified corners visible and record which observations were rejected.
For every accepted observation, save:
- Original image and processing dimensions.
- Board definition, physical measurements, and length units.
- Camera matrix, distortion settings, and image-stream identity.
- Raw camera-to-board rotation and translation.
- Independent reference measurement and its measurement origin.
- Error in the distance quantity you actually need.
Use an explicit acceptance limit derived from the task. A visually plausible axis overlay is not an acceptance criterion for machine positioning. The extrinsic calibration accuracy guide explains why image residuals and physical positioning errors need separate checks.
Uniform board rescaling does not automatically invalidate intrinsic calibration, because ideal image geometry can remain unchanged. However, translations derived from the wrong scale must be recomputed. Re-estimate any dependent hand-eye or multi-camera transforms, and repeat their physical validation before returning the system to service.
9. When a square-length correction is not enough
Stop treating the symptom as one scale factor if the error changes substantially with board angle, image location, or which corners are visible. Investigate unequal print scaling, target bending, incorrect corner-to-object-point associations, mismatched image calibration, and unstable planar pose estimates.
Small targets and nearly front-facing views can make some pose components poorly constrained. Test modestly tilted views with broad corner coverage. Reject blurred detections rather than averaging them into a convincing but biased result.
Before closing the fault, confirm this short checklist:
- Printed dimensions match the configured geometry in both directions.
- Length units are converted exactly where intended.
- Detected pixels and intrinsics share the same image coordinate system.
- The reported origin, transform direction, and distance definition are documented.
- Independent measurements meet the task limit across the working range.
For a repeatable test fixture, continue with the stand configurator. If the remaining error depends on your mounting geometry or image pipeline, send the measurements and configuration details through technical support before changing more hardware.
Questions
Which ChArUco board dimensions should the pose solver use?
Use the dimensions of the physical pattern after printing, not just the values entered during generation. Measure across several squares in both directions, then calculate the square side length. Confirm separately whether your software requests square length, marker length, or an overall patterned-board dimension.
Why can the corner overlay look correct when the distance is wrong?
Image projection cannot establish the physical scale of a monocular target independently. If the object coordinates and estimated translation share the same incorrect scale, the projected corners can still align. Validate scale with measured target dimensions and a separate physical distance check.
Must camera intrinsics be recalibrated after fixing board scale?
Not necessarily. A uniform change in target length units can leave ideal intrinsic calibration unchanged while changing estimated translations. Recompute the affected poses and any dependent spatial calibrations. Recalibrate intrinsics if the image geometry, focus, distortion handling, or original calibration quality is also in doubt.
Why does translation change when the board tilts around its center?
The translation normally locates the board coordinate origin, which may not be at its center. Holding the center stationary while tilting can move that origin physically. Calculate the center from its known board coordinates and transform that point before comparing it with a center-based measurement.

