A structured-light sensor that sails through the first calibration shot and aborts on the second is telling you something specific: the capture path works, and what changed between the two shots is where the panel sits inside the projected field. Error codes at this point — one example is MSensorCal-0204 — point at the calibration panel, but swapping panels and lens sets rarely changes anything, because the panel is only the messenger. This guide walks the fault tree in order of probability: uneven projector output first, ambient light and panel pose second, host software last. You will read the projected pattern the way the sensor does, put a number on its falloff, and know whether the fix is a wipe, a refocus or a service call.
What the second shot is really testing
A panel-based structured-light calibration takes several poses of one target. The first pose usually sits centred and square to the sensor; later poses move the panel off-axis, tilt it, or change the standoff, so the solver sees the target across the whole measurement volume. Calibration pins down the camera-projector geometry and drives the average reprojection error down (structured-light 3D scanner); every pose must contribute decodable stripes across the full panel to do that.
That is why the failure point matters. A completed first shot proves the sensor answers triggers, transfers frames and decodes the pattern in the middle of its field. The second pose then pulls the panel's corners into the outer field, exactly where a tired projector is dimmest. When the corner stripes fall below the decoder's contrast floor, the routine stops and reports a panel fault. The panel is the messenger; the projector is the usual suspect.
The projector is an optical instrument in its own right — in effect a camera running backwards, as structured light cameras: projector pixel mapping to 3D points explains. It has a field, a focus and a brightness distribution, and that distribution ages with the source, the window and the years.
The causes, in order of probability
When the same abort appears with two lens sets and two clean panels, the suspects are everything both attempts shared: the projector, the light in the room, the panel pose and the host software. Ranked by how often each turns out to be guilty:
| Rank | Cause | Why it fails on shot two | Quick test |
|---|---|---|---|
| 1 | Uneven projector output: aged source, film on the window, decentered projector optics | Panel corners land in the dim outer field | Grey values, corner against centre |
| 2 | Ambient light reaching the second pose | Pose two faces a window, door or fixture lamp the first pose never saw | Projector off: panel still visible to the camera |
| 3 | Panel coverage or focus at the second standoff | Pattern or sharpness does not reach the panel edge in that pose | Live view at both poses |
| 4 | New host software after a PC swap | New SDK defaults changed exposure or decode settings | Same exposure in the vendor viewer |
Test one: read the pattern the way the sensor does
- Open the sensor's live 2D view in the vendor viewer, on both camera channels if it offers them.
- Mark the second-shot panel pose — tape on the bench — so you can return to it exactly.
- With the pattern running, read grey values at the centre, mid-radius and each corner of the panel: one bright stripe and the dark stripe beside it.
- Save a frame from the first pose and one from the second pose before you change anything.
- Turn the projector off and look again; whatever remains visible on the panel is ambient light. Disabling the projector for a 2D live feed covers where that setting lives.
- Compare the saved frames side by side. The failing pose shows you the dim zone of the field exactly as the sensor itself sees it.
The number that decides it: modulation
Compute the modulation contrast (Michelson) on the raw 8-bit grey values — bright stripe against the dark stripe beside it, at the same spot on the panel:
The table below is a bench reading of one sensor that calibrated cleanly for years and then began aborting on the second pose; the values are illustrative of that failure, not a data sheet:
| Panel position | Healthy: bright / dark | Healthy M | Failing: bright / dark | Failing M |
|---|---|---|---|---|
| Centre | 220 / 35 | 0.73 | 245 / 30 | 0.78 |
| Mid-radius | 205 / 40 | 0.67 | 160 / 35 | 0.64 |
| Corner | 190 / 45 | 0.62 | 70 / 45 | 0.22 |
Centre, healthy: (220 − 35) / (220 + 35) = 185 / 255 = 0.73. Corner, failing: (70 − 45) / (70 + 45) = 25 / 115 = 0.22. The failing unit's centre is actually brighter than the healthy one (245 against 220) while its corner bright stripe collapses to 70 — 29% of centre. The corner-to-centre modulation ratio is 0.62 / 0.73 = 0.85 healthy, and 0.22 / 0.78 = 0.28 failing.
The decision follows from those two ratios. A field that holds its corners to 80% or more of centre modulation calibrates; a field at 28% aborts on any pose that reaches the edge, and the second pose always does. We treat a corner below about a third of centre as the failure line on the bench; your sensor's exact decode threshold sits in its firmware, but a drop from 0.85 to 0.28 is not a threshold argument — it is a dying pattern.
Ambient light on the second pose
The second pose often swings the panel toward a doorway, a window or a fixture lamp the first pose never faced. Ambient light fills in the dark stripes, so modulation drops precisely where that pose needs contrast most, and the abort looks identical to a projector fault. Step 5 above separates them in one minute: with the projector dark, a panel you can still see clearly is a panel with an ambient problem.
The fix is shade, not electronics: a curtain or screen on the sightline, a move of the station out of the lamp's throw, or a schedule change if the offender is daylight. Ambient light variation in pick and place vision covers the longer-term controls once you have found the source.
Panel pose, coverage and focus
Two pose faults mimic the same abort. Coverage: the projected square no longer contains the whole panel at the second standoff — in the live view, the pattern should sit outside all four panel edges with margin. Focus: the panel sits outside the projector's focus range, so the stripes smear at the edges. 3D camera working distance and positioning covers standoff selection; camera stands exist to make it repeatable.
Focus and brightness are different variables, and the distinction saves hours. Focus trades sharpness between centre and edge; it does not move grey value. If a corner bright stripe reads 70 where it once read 190, refocus moves it a few counts at most — which is why refocusing over and over changes nothing. Poor stereo depth quality: fix calibration and focus mismatch first shows the same interaction from the image side. Adjust focus once, for even sharpness across the whole panel at the calibration standoff, then leave it.
A fixed mount keeps both poses at the same standoff at every recalibration. A stand such as the LS-MNT-0040 machine vision camera stand gives a 700 mm column height on a 400 x 450 mm base — enough reach to hold a bench-scale panel pose without drift.
- Type
- Camera stands
Edge coverage stays important after calibration too: warped sparse point cloud: fix calibration coverage at the edges shows what thin edge coverage does to every scan that follows.
Why the PC swap is almost certainly not it
Commit on this one: missing administrator rights does not abort a calibration at shot two. Capture and decode run inside the sensor SDK at normal user level, and a blocked process fails at launch, not halfway through a routine. The completed first shot already proves the control port, the trigger and the frame transfer all work — a permissions fault cannot wait for the second pose to appear.
What a new PC does change is the software stack: SDK and driver versions, and the default exposure and decode settings that ship with them. Run the vendor viewer on the same PC with the exposure values your old set-up used; if the viewer calibrates and your own code does not, it is settings, not hardware — 3D camera capture time slower in the API than in the viewer walks that split. Pin the SDK version and write it in the calibration log.
The fix, in order
- Clean the projector window and both camera windows — lint-free wipe, optical-grade solvent, never dry. The technique in cleaning a sapphire inspection window without scratching it applies to any exposed optical surface. On a unit near eight years old, film on the projector window is the most common single cause of a hot-centre pattern.
- Refocus once, deliberately, for even sharpness across the whole panel at the calibration standoff. If the corner grey values do not move, refocus is not your lever.
- If the corners stay dim after both, the source or the projector optics have aged past field repair. The legitimate route is the manufacturer's service exchange or a replacement sensor — on a unit this old, plan for that outcome from the first hour.
- Choosing a replacement, pick the technology before the model: industrial 3D camera selection: stereo, ToF or structured light sorts that decision in one page.
Two stereo / structured-light cameras from our range, side by side:
- Type
- Stereo / structured light
- Type
- Stereo / structured light
Start from the full 3D sensor range if neither matches your volume:
Laser profilers and stereo 3D cameras
170 models · from $699.00Confirm the fix, then make it stick
Rerun the calibration and read the reported reprojection error; compare it with the value in your last good calibration log, not with a generic figure. Then validate on something known: scan a flat plate and measure the deviation, as depth camera flat plane distortion: quantify edge error shows. A marginal projector that squeaked through calibration shows up as edge distortion on the very next scan.
Keep the fault from returning:
- Log centre and corner grey values at every calibration; drift is the early warning.
- Clean projector and camera windows on a schedule, not on failure.
- Keep one reference frame pair per sensor for comparison.
- Fix both panel poses on a stand so the standoff never drifts.
- Pin SDK and driver versions, and rerun a calibration after any host change before production resumes.
If the frame pair points at the projector and you want a second opinion before the service call, send both images through the contact page — we read them the same way, corner against centre.
Questions
Why does calibration pass the first shot and fail on the second?
The first pose is usually centred and square to the sensor, so it only needs the bright middle of the projected field. Later poses push the panel's corners into the outer field. If the projector has gone uneven — bright core, dull edges — the corner stripes drop below the decoder's contrast floor and the solver aborts, blaming the panel. Compare the saved frames from both poses and measure corner against centre grey values; the dim zone sits exactly where the second pose lands.
Can missing admin rights on a new PC cause a mid-calibration abort?
No. Capture and decoding run inside the sensor SDK at normal user level, and a blocked process fails when it starts, not after a completed first shot. What a PC replacement does change is the software stack: SDK and driver versions plus their default exposure and decode settings. Run the vendor viewer on the same PC with the old exposure values; if it calibrates, match those settings in your own code and pin the SDK version in the calibration log.
What contrast should the projected pattern have at the panel corners?
Measure modulation: bright minus dark grey value, divided by bright plus dark. A healthy field holds corners at roughly 80% of centre modulation — for example 0.62 against 0.73. A failing field collapses to a quarter or a third — 0.22 against 0.78 — while the centre often reads brighter than before. Treat any corner below about a third of centre as the abort signature and stop recalibrating; clean, refocus once, then service.
Is projector focus the same problem as uneven brightness?
No, and telling them apart saves hours. Turning the focus ring shifts sharpness between centre and edge; it will not lift a grey value. A corner stripe that has sunk from around 190 down to 70 counts barely moves when you touch focus, which is why repeated attempts never change the abort. Falloff comes from the source, the window or the projector optics. Set focus a single time for uniform sharpness over the whole panel at the calibration standoff, then stop adjusting it.
Is an eight-year-old structured-light sensor worth repairing?
Clean and refocus first: film on the projector window alone reproduces the hot-centre pattern, and both steps cost an hour. If the corners stay dim afterwards, the source or projector optics have aged past field repair, and the manufacturer's service exchange or a replacement sensor is the route. Weigh that against a decade of firmware and SDK support already behind the unit; on most production lines the replacement pays back in uptime.


