You point the camera at a round part, teach the mark point, and the pen lands somewhere new every cycle. The reflex is to blame the camera, move it closer or buy more pixels. For a rotationally symmetric target none of that helps, because the scatter almost never comes from the finder. It comes from the angle output a matcher invents for a part that has no angle, from a teach point that sits off the true center, from a marker that rocks in its clamp, and from the arm's own return accuracy. This guide puts numbers on each source, shows why the centroid — not the pattern score — is the output to send, and gives three bench tests that separate vision error from robot and tooling error, so you fix the right part of the cell.
Rank the error sources before you touch a setting
Five sources produce the scatter, and the finder is the smallest of them. Rank them for a typical eye-in-hand marking cell before you tune anything:
| Error source | Typical magnitude | Signature |
|---|---|---|
| Angle jitter × teach offset | 0.05-1.0 mm | scatter scales with how far the teach point sits off center; angle flips double it |
| Tool compliance at the tip | 0.02-0.5 mm | stays when the finder output is frozen |
| Robot pose return | ±0.03-0.1 mm | matches the arm's data-sheet repeatability |
| Calibration residual (part moved) | 0.1-2 mm | marks identical while the part sits still, drifting once it moves |
| Centroid finder | 0.005-0.015 mm | invisible under the rows above |
The magnitudes are typical values for a tabletop six-axis arm with ±0.03-0.1 mm data-sheet repeatability, a pen or nozzle held in a real fixture, and a calibration built from a proper target. They set the decision: expect same-spot scatter of roughly 0.1 mm with a stiff tool, treat anything above 0.2 mm as tooling, robot or calibration work, and read 1 mm of scatter on a part that never moves as the angle-coupling signature described next. For the whole accuracy chain down to micrometers, the vision guided positioning accuracy limits guide works every term in one budget.
Why the angle output is noise on a round part
A pattern matcher earns its angle from texture gradients, and a rotationally symmetric disc has none in the rotation direction. The score is flat: every angle in the search range correlates equally well, and the reported value wanders with sensor noise, a shadow edge or a paper fiber on the surface. The X-Y output then pays for it. Finders report the taught point in the found part's frame, so a teach offset from the true center — you clicked 0.5 mm off center on a shade of gray — rotates with the angle error. Two reads whose angle estimates differ by Δ place the point 2 × r × sin(Δ/2) apart:
With r = 0.5 mm, a ±3° disagreement moves the point 2 × 0.5 mm × sin 3° ≈ 0.05 mm; the 180° flips a featureless white disc produces move it the full 2 × 0.5 mm = 1.0 mm. Scatter of a full millimeter on a part that never moves is this coupling, not the sensor. The fix costs nothing: suppress the angle output, send the centroid only, and keep the tool orientation constant over the part so the arm never needs a rotation.
If the process genuinely needs rotation — a nozzle aligned to a seam, a print squared to an edge — symmetric-part orientation matching has its own tolerance rules, and the target has to be broken on purpose.
What the centroid gives you instead
A blob finder approaches from the other side: it thresholds the part and fits the center from the boundary, where hundreds of edge pixels average the noise down. Subpixel location estimators exist to land inside a single pixel; on a clean, evenly lit edge, plan on 0.1-0.2 px of 3σ jitter, which is the figure the worked example carries. Three image conditions buy that figure: light even around the whole rim, so the threshold crosses at the same gray value in every direction — the lighting geometry rules for contrast apply directly; no glare hotspots, or a polarizer on shiny stock; and a part large in frame, so the boundary is many pixels around.
Then change what the robot receives: in the finder result, zero or delete the angle field so no rotation value can ride along, and send X-Y only. The centroid is the same quantity that locates part centers for picking, so nothing downstream changes. Wiring that X-Y pair into the arm is the same hand-off a dispensing cell uses; a vision-guided robot pattern-dispensing walkthrough shows the cycle from snapshot to bead. One bookkeeping detail before you compare reads: know where the pixel origin sits, because a half-pixel convention difference shows up as a constant offset, not noise — see the half-pixel centroid offset.
Worked example: pen-marking a 50 mm disc
The case: a 50 mm white disc on a dark table, a camera over it, and a spring pen that must touch the same spot every cycle. The inputs, with where each comes from:
- Field of view: 100 mm across — keeps the disc at 50% of frame with detection margin. This is the field every later number refers to.
- Image width: 1600 px — the 1.6 MP camera class featured in the next section.
- Centroid jitter: 0.2 px at 3σ — the figure set in the section above.
- Robot repeatability: ±0.05 mm — the middle of the ±0.03-0.1 mm data-sheet range for tabletop six-axis arms.
- Tool compliance: 0.15 mm — a pen that can rock slightly in its clamp.
The rule: independent error sources add in quadrature, because they do not peak together.
The arithmetic:
- s = 100 mm ÷ 1600 px = 0.0625 mm/px
- e_vision = 0.2 px × 0.0625 mm/px = 0.0125 mm
- e_total = sqrt(0.0125² + 0.05² + 0.15²) mm = sqrt(0.000156 + 0.0025 + 0.0225) mm ≈ 0.159 mm
Result: about 0.16 mm of same-spot scatter, dominated by the pen. Clamp the pen so it cannot rock (0.02 mm) and the same budget gives sqrt(0.000156 + 0.0025 + 0.0004) mm ≈ 0.055 mm, call it 0.06 mm. The decision: with a stiff tool you should land inside about 0.1 mm every cycle; measured scatter above 0.2 mm points at the tool, the snapshot pose or the calibration, and only after those at the camera.
Field of view, snapshot height and pixel scale
Pixel scale is the one number that ties the image to millimeters: s = FOV ÷ image width. Two levers move it, and one is free. Halve the field to 50 mm and the scale halves to 0.031 mm/px. Quadruple the pixels — 1.6 MP to 6.4 MP — and it halves by the same √4 = 2; the 6 MP class in the camera finder lands near 0.032 mm/px on the same field. Both moves shave the finder term from 0.013 mm to under 0.01 mm, worth doing only after tool and arm are honest. Keep the disc within 30-50% of the field width so segmentation keeps margin on every side, and pin the snapshot height: a stand on the bench, a taught constant Z in the cell, because scale moves with height.
The resolution calculator below runs the same arithmetic the other way, from a required scale to pixels:
Cameras and light for a stable centroid
Two properties decide the camera: mono pixels and a finder whose angle output can be suppressed. Mono gives the threshold a clean gray edge without color artifacts; a global shutter helps when the arm is still ringing slightly at the snapshot. The smart camera category is built around exactly this job — blob finders, I/O handshakes, no PC in the loop.
The HK-TD032-12-WBN is a 1.6 MP mono vision sensor with global shutter, a 1/2.9" sensor and Fast Ethernet — the resolution class behind the worked example.
- Interface
- Fast Ethernet
- Resolution
- Up to 3 MP
- Sensor format
- 1/2.9"
- Shutter
- Global
The LS-SMC-0063 folds the light in: 1.6 MP at 60 fps with a 16 mm lens and an integrated white light, GigE on the wire, and polarized variants for shiny stock.
- Interface
- GigE
- Resolution
- Up to 3 MP
With a separate lensed camera, light does half the work: the rim must cross the threshold cleanly at every azimuth. On a flat disc a diffused ring does it — the LS-RNG-0143 is a ring light with diffuser at 30° running from 24 V — and the ring lights category covers low-angle and dark-field types for surfaces that curve away. The light finder filters by diameter, angle and wavelength.
- Size
- 100-200 mm
- Type
- Diffused
- Angle
- 30°
- Voltage
- 24 V
Three tests that split vision, robot and tooling
Tests 1 and 2 run without the robot; stands, stages and brackets for the bench work sit in the camera stands category.
Test 1 — camera alone, part untouched. Park the camera over the disc, fire 50 snapshots without moving anything, and compute the 3σ spread of the X-Y reads. On the worked field the budget says 3σ near 0.01-0.02 mm. Measure more and the problem is visible without the robot: threshold chatter, glare or an uneven rim. The LS-MNT-0040 slide-table stand holds a camera on a 700 mm column over a 400 × 450 mm base for exactly this bench work.
- Type
- Camera stands
Test 2 — move the part, and the calibration speaks. Read the center, slide the disc a known 10.00 mm on a stage, read again. The LS-MNT-0220 manual XY and rotation stage gives 60 mm of travel on a 60 mm base for this. The measured displacement should reproduce the mechanical one to within your calibration budget: a careful hand-eye lands near 0.1-0.3 mm over a small workspace, a rushed session leaves 1-2 mm. When moved parts drift, static camera calibration accuracy explains why; nine-point hand-eye alignment is the rebuild, and its verification test tells you whether to trust the result.
Test 3 — the arm in the loop. Run the full cycle 30 times: same taught snapshot pose, mark, then measure the mark centers under a loupe or a zoom camera. Compare the spread with the quadrature budget from the worked example plus the arm's repeatability; the numbers should close. If measured scatter doubles the budget, the snapshot pose is not repeating — watch the arm's own reported position across cycles and diagnose an eye-in-hand pick point offset the same way, term by term.
When a round part cannot give you an angle
When the process itself needs an angle — a seam aligned, a label squared — a rotationally symmetric part is the wrong target, and no tuning creates information that is not in the pixels. Break the symmetry on purpose: a printed fiducial dot near the rim, the molding gate, a D-flat on a shaft, a corner notch. The angle output then means something, and the scatter logic of this guide applies to the translation alone. Until then, round parts should run angle-free.
Checklist: before you blame the camera
Work down the list before ordering new hardware:
- Suppress the angle output in the finder result — an angle you never use can still move the taught point.
- Teach the mark point at the fitted center, not by eye — a 0.5 mm teach offset turns a 180° flip into a 1.0 mm swing.
- Log 50 untouched-part reads and compute 3σ — it should stay near 0.01-0.02 mm at the worked pixel scale.
- Slide the part a known distance and read again — the readout must reproduce the mechanical displacement within the calibration budget.
- Run 30 full cycles and measure the marks — the spread should match the quadrature budget, not exceed it.
- Clamp the pen or nozzle — tip compliance sets the floor under every other number.
- Pin the snapshot height on a stand or a taught constant Z — pixel scale drifts with height.
- Keep the part within 30-50% of the field width — margin keeps the threshold stable at the rim.
Put the bench together
Every number above comes from hardware you can assemble on a bench in an afternoon: one mono vision sensor or smart camera, one diffused ring, one stand, one 60 mm stage. Size the field and pixel scale for your own part in the configurator:
The configurator matches a camera, lens, light, light controller and cables to each other, step by step, and lists only parts that fit what you already picked.
If the moved-part test still reads above 0.3 mm after a careful calibration rebuild, bring the numbers to the contact page and we will work the budget with you. The rest of the robot-and-vision guides sit on the systems topic page, and the accessories finder sorts stands and stages by travel and load.
Questions
What repeatability should I expect when the robot returns to the same spot?
Add the sources in quadrature. At 0.2 px of centroid jitter the finder contributes about 0.013 mm on the worked field; a ±0.05 mm arm and a 0.15 mm compliant pen give a total near 0.16 mm. Clamp the pen to 0.02 mm and the same budget falls to about 0.06 mm. Expect the 0.1 mm class on a stiff set-up, not micrometers.
How do I find the true center of a round part when teaching?
Do not teach by eye. Threshold the disc and fit a circle to its edge, or average the centroid over 20 snapshots with the part untouched, then teach the robot point at that averaged position. Three manual edge points on the rim also fit a center to well under a tenth of a millimeter. A teach offset acts as a lever that any angle jitter converts into X-Y scatter.
Does a higher-resolution camera fix the scatter?
Rarely by itself. Pixel scale falls with the square root of pixel count: going from 1.6 MP to 6 MP on the same field takes the scale from 0.063 to about 0.032 mm per pixel and the finder term from 0.013 to 0.006 mm. When a loose pen adds 0.15 mm, the camera upgrade moves well under 1% of the total. Fix the tool first.
When is moving the camera closer better than buying pixels?
Pixel scale equals field of view divided by pixel count, so halving the worked field to 50 mm halves the scale to 0.031 mm per pixel at no cost. Keep the disc within roughly 30-50% of the field width so segmentation keeps margin, and fix the snapshot height on a stand so the scale cannot drift. Going closer loses context, so keep any surrounding features the detector needs.



