ApplicationsApplication note

Camera orientation precision on small parts and the 10% field rule

Camera orientation precision on small parts: why a part under 10% of the field of view gives an unusable angle, and the edge-sliding fix that beats it.

LumaSpec Vision12 min read Share on LinkedIn

On this page 11 sections
  1. 01What the 10% rule actually limits
  2. 02Where the angle error comes from
  3. 03The tolerance stack against a 0.5 mm clearance
  4. 04Worked example: an 8 mm hex nut into a chuck with 0.5 mm clearance
  5. 05The fix: slide the part along a straight edge
  6. 06Lighting the shiny nut
  7. 07Camera, lens and stand set-up
  8. 08Checks before you build
  9. 09When the usual answer is wrong
  10. 10The decision, and the next step
  11. 11Questions

A chuck that accepts a nut with 0.5 mm of clearance leaves the robot less than half a millimetre of play. A nut that fills under 10% of the camera's field of view still gets found every cycle — but the orientation the vision system reports is not trustworthy at that scale, and the insertion starts failing at random. This guide walks the arithmetic: what the 10%-of-field minimum actually limits, where the angle error of a small part comes from, how the tolerance stack compares against your clearance, and the mechanical fix — sliding the part along a straight edge — that removes the angle from vision's job entirely.

What the 10% rule actually limits

Pick-and-place camera tools document a minimum part size: the taught part should span about 10% of the field's smaller dimension. Below that, the template carries too few pixels to score reliably. The rule exists for detection, not for pose. A high-contrast hole on a matte belt still localizes at 8% of the field; what degrades first is everything the tool derives beyond the centroid.

Position survives small parts because a centroid averages the whole silhouette: hundreds of pixels voting, with error a fraction of a pixel. Orientation cannot play that game. The angle comes from two feature groups a short lever arm apart inside the part, so every pixel of edge noise converts into degrees. That asymmetry is the decision: below the 10% line, use the camera for X and Y and get the angle from somewhere else. Hardware for this kind of cell starts with the smart cameras range and the camera finder.

Where the angle error comes from

The angle estimate uses two feature groups — hex corners, silhouette ends — separated by a pixel baseline b, each located with an edge error σe. In the worst case the two errors oppose, which gives:

θ_err ≈ arctan(2 σe / b)

Here σe is per feature and b is measured in pixels. On the example nut below, the two groups sit about 100 px apart. Subpixel edge location on a well-lit matte part holds σe near 0.5 px — estimating edge position accuracy from image sampling derives that floor from sampling alone. Then arctan(2 × 0.5 / 100) = 0.6°. Light the same nut with a hard ring and highlights pull the edges by 2 px: arctan(2 × 2 / 100) = 2.3°.

Add the matcher's angular search step, which pick tools commonly run in whole degrees, and the realistic error for a part this size is 2-5°. Carry that number into the tolerance stack, not the 0.6° pixel floor.

The tolerance stack against a 0.5 mm clearance

To first order, a corner of the nut swings outward by r · sin θ as the nut rotates inside its socket, so the pair clears while r · sin θ stays under the radial clearance c. That gives the allowance θ_max = arcsin(c / r) and the lateral error at the mouth, e_tip = r · sin θ. With c = 0.5 mm and an engagement radius r = 4 mm — half the across-flats of an 8 mm nut — θ_max = arcsin(0.125) = 7.2°.

Everything angular must fit inside that 7.2°:

Angular term Value Basis
Vision angle on a part under 10% of the field 2-5° lever-arm formula with highlight pull and search step
Hand-eye rotation and gripper squareness 0.5-1.5° bench calibration residual — see calibration residual targets
Total 2.5-6.5° against a 7.2° allowance

A 6.5° stack against a 7.2° allowance inserts only when the errors happen to cancel. The lateral check agrees: at 4° the nut displaces at the mouth by 4 × sin 4° = 0.28 mm, and position errors add on top — robot repeatability 0.05 mm, hand-eye offset 0.10 mm, centroid 0.05 mm. That totals 0.20 + 0.28 = 0.48 mm against the 0.5 mm clearance: no margin at 4°, outright failure at 5°, where 0.20 + 0.35 = 0.55 mm. The same clearance-first arithmetic governs matching vision accuracy to hole clearance in screw insertion.

Worked example: an 8 mm hex nut into a chuck with 0.5 mm clearance

The inputs, with their sources:

  • Field of view: 101.6 mm wide — a 4 in frame on a 6 in belt with 1 in of margin each side, the geometry this kind of cell gives you
  • Sensor: 1440 × 1080 px on a 1/2.9-inch format, a typical 1.6 MP smart camera
  • Nut: 8 mm across flats, the common M5 size; scale every result below by your real width
  • Clearance c = 0.5 mm and engagement radius r = 4 mm, from the chuck and the nut geometry
  • Edge error σe = 0.5 px matte and 2 px under highlights, from the sampling floor plus specular pull
  • Position terms: robot repeatability 0.05 mm, hand-eye offset 0.10 mm, centroid error 0.05 mm, bench-typical values
mm/px = FOV / horizontal pixels θ_err ≈ arctan(2 σe / b) θ_max = arcsin(c / r) e_tip = r · sin θ_err

Step 1 — sampling. 101.6 / 1440 = 0.071 mm/px. The nut spans 8 / 0.071 = 113 px, which is 7.9% of the field: under the 10% line, as this case runs.

Step 2 — angle error. arctan(2 × 0.5 / 100) = 0.6° on a matte part; arctan(2 × 2 / 100) = 2.3° with highlights; 2-5° once the search step joins.

Step 3 — angular allowance. arcsin(0.5 / 4) = 7.2°. The 2.5-6.5° angular stack spends most or all of it.

Step 4 — lateral margin. At 4°: 4 × sin 4° = 0.28 mm, so 0.20 + 0.28 = 0.48 mm against 0.5 mm. At 5°: 0.20 + 0.35 = 0.55 mm. The camera-only build fails on a shiny day and barely passes on a clean one.

Step 5 — with a fence. Sliding the nut along a straight edge sets the angle mechanically. A fence straight to 0.5 mm over a 50 mm slide holds arctan(0.5 / 50) = 0.57°. The angular stack drops to 0.57° + 1.5° = 2.1° of the 7.2° allowance, and the lateral stack to 0.20 + 4 × sin 0.57° = 0.20 + 0.04 = 0.24 mm. That leaves 0.26 mm of margin — more than the entire camera-only budget.

Decision: keep the angle's lateral term under 0.3 mm, which at a 4 mm radius means arcsin(0.30 / 4) = 4.3° of angle error. A part under 10% of the field with any gloss cannot hold that. Pre-orient mechanically and let the camera find position.

The fix: slide the part along a straight edge

A straight fence across the belt does what the camera cannot. Push the nut against it — a slide plate, a guide rail, the belt's own side guide — and the hex settles with two flats parallel to the edge. Orientation becomes a property of the fixture, with the fence's straightness as its tolerance instead of the camera's.

The vision task shrinks to the one measurement small parts do well: the hole center. A bore's centroid does not move when the part rotates, so the tool can ignore rotation and report X and Y only; most pick tools offer exactly that mode. Cycle time improves too, because the matcher stops scoring the template at every angle step.

Teach the pick rotation once, relative to the fence, through the hand-eye calibration; from then on the gripper closes on two flats every cycle. When the part is symmetric enough that rotation never mattered, the same position-only logic applies — see rotation tolerance when picking symmetric parts.

Lighting the shiny nut

Zinc-plated nuts are mirrors at LED wavelengths. A hard light paints the flats white and the corners black — exactly the edge pull that ruined the angle. Two fixes, in order of cost:

A one-box option puts camera and light in the same housing:

Smart cameras & vision sensors1.6 MP smart camera, 60 fps, 16 mm lens, white light (polarized, transparent light) (LS-SMC-0063)LS-SMC-0063
Interface
GigE
Resolution
Up to 3 MP
$1,110.00View part

The LS-SMC-0063 carries a 16 mm lens with polarized white light around it, so the diffuse-plus-crossed-polarizer stack comes out of the box. At 16 mm the 101.6 mm field sits at about 332 mm working distance, clear of the gripper's sweep. If a separate camera-and-light layout suits the cell better, a diffused ring wraps a small part evenly:

Ring lights100 mm dia. ring light with diffuser, 30° (LS-RNG-0143)LS-RNG-0143
Size
100-200 mm
Type
Diffused
Angle
30°
Voltage
24 V
$169.00View partBuild a system with it

The LS-RNG-0143 is a 100 mm diffused ring with a 30° emission angle on 24 V — soft light at short range, without hot spots on the flats.

Camera, lens and stand set-up

Size the field from the process, not from the camera in the drawer: belt width minus margins, or the feed-track width. The lens then follows from the sensor and the stand-off:

FOV = sensor width × WD / f

This is the thin-lens estimate, within a few percent at these magnifications; why sensor size and focal length set the field works the derivation. On the example's 4.9 mm wide sensor and 101.6 mm field: 3.4 mm focal length works at 70 mm stand-off, 8 mm needs 166 mm, 12 mm needs 249 mm, 16 mm needs 332 mm. Pixel scale stays 0.071 mm/px throughout — it follows from field width and pixel count, not from distance.

How sensor width, working distance and field of view set the focal length Rays from the edges of the sensor pass through the lens and spread to the edges of the field of view. The ratio of sensor width to field of view is the magnification m.CameraField of view (FOV)Working distance (WD)≈ fsensor width slensm = s / FOVf = WD × m / (1 + m)
How sensor width, working distance and field of view set the focal length. Rays from the edges of the sensor pass through the lens and spread to the edges of the field of view. The ratio of sensor width to field of view is the magnification m.
Lens focal length, field of view and working distance
Units
Solve for
Focal length
– mm
Field of view
– mm
Working distance
– mm
Magnification
– x
Angle of view
– °
Pixel on the part
– mm

Thin-lens model: m = sensor width / field of view, f = WD × m / (1 + m). Accurate to a few percent above about 150 mm; check the lens's minimum object distance.

Find lenses with this focal length Open the full calculator

Mount the camera so the fence runs parallel to the image's x-axis. The fence direction then holds one constant, calibrated angle in robot coordinates, and the pick rotation never changes between cycles. For bench bring-up and focus alignment, a slide-table stand beats a fixed bracket:

Camera standsMachine vision camera stand, professional slide-table type, height 700 mm, 400 x 450 mm base (LS-MNT-0040)LS-MNT-0040
Type
Camera stands
$629.00View partBuild a system with it

The LS-MNT-0040 slide-table stand carries a 700 mm height over a 400 x 450 mm base — enough range to set any working distance above and re-frame without disturbing the hand-eye. The camera stands range and the stand configurator cover smaller benches.

If pixel scale ever becomes the limit, more pixels shrink it:

Smart cameras & vision sensorsHikrobot MV-SC5060XM-08M-WBN SC5000X series Smart Camera, 6 MP, Mono, 8 mm focal length, M12-mountMV-SC5060XM-08M-WBN
Interface
GigE
Resolution
6-10 MP
$1,629.00View part
Smart cameras & vision sensorsHikrobot HK-TD032-12-WBN 1.6 MP mono vision sensorHK-TD032-12-WBN
Interface
Fast Ethernet
Resolution
Up to 3 MP
$1,699.00View part

The MV-SC5060XM-08M-WBN is a 6 MP mono smart camera with an 8 mm lens; the HK-TD032-12-WBN is a 1.6 MP mono vision sensor on Fast Ethernet. At the same 101.6 mm field, the 6 MP sensor halves the pixel scale to about 0.036 mm/px.

Checks before you build

  • Measure the clearance at the tightest point, not the nominal print. Chamfers at the socket mouth buy back nothing at full insertion — the whole budget hangs on this number.
  • Compute arcsin(c / r) for your part. If the allowance lands under about 5°, mechanical pre-orientation stops being optional.
  • Count the pixels across the part at your chosen field: keep it over 10% of the field's smaller side, and over roughly 100 px if any angle work is planned.
  • Light for the bare part — diffuse or crossed polarization — before considering any surface coating.
  • Lock exposure so belt sheen and room lights cannot move the centroid; controlling ambient light variation in pick and place is the playbook.
  • Confirm the pick tool's position-only mode exists before designing the fence around it.
  • Run 50 consecutive picks and log the X and Y residuals. The spread, not the average, is what must fit inside the clearance.

When the usual answer is wrong

The fence earns its keep when the part can slide, the mating feature is angular — flats, keyways, splines — and the clearance sits near or under 1 mm. Change any of those and the balance shifts:

  • Large, matte, backlit part: a silhouette at 25% or more of the field drives the angle error to the pixel floor, and vision can own the rotation. Subpixel edge measurement on cutting tools shows what a clean edge delivers.
  • No fence possible — mixed bins, fragile parts, random pose: that is a different problem class, and choosing a vision approach for flat parts in bins sorts the options.
  • Deep or compliant socket: the allowance can pass 15° and the camera's angle works as-is. Compute arcsin(c / r) before building any hardware.

The decision, and the next step

Under 10% of the field, a small part's reported angle is not a measurement; it is weather. Use the camera for the hole center, take the orientation from a fence, and spend the recovered margin on cycle speed. Size the light with the light configurator, browse more build-level guides in the applications topic, and contact the team with the part and clearance before you order.

Questions

Does the spacing between parts on the belt matter?

No. A hole-centered locator keys on the bore's contrast, so touching parts locate as well as isolated ones. What matters is that every nut presents its hole flat to the camera: a nut on edge or stacked hides the feature, and the pick fails for mechanical reasons, not vision ones. Spend the effort on a stage that leaves each nut flat and a uniform matte background, not on spreading the parts apart.

Would a higher resolution camera fix the angle?

Only marginally. Doubling resolution halves the pixel scale, so the example's noise floor falls from 0.6° to about 0.3°. The dominant terms — highlight pull of 2 px and the matcher's angular search step — do not shrink with pixel size, and the lever arm stays near 100 px unless you re-frame tighter. More pixels make detection more reliable and the centroid a little better; they do not rescue a pose taken from a short lever arm.

How accurate is the orientation after sliding along an edge?

It equals the fence's angular error over the contact length plus the nut's own flat parallelism. A machined gauge edge straight to 0.05 mm over a 50 mm slide holds 0.06°, and even a shop fence at 0.5 mm straightness holds under 0.6°. Both sit an order of magnitude inside the 7.2° allowance of the worked example, which is why the trick beats any camera upgrade at this part size.

Should I switch the pick tool to position-only mode?

Yes, once a fence sets the orientation. Position-only skips the angular search, so the matcher stops scoring the template at every angle step and cycle time drops; the angle error also leaves the tolerance stack entirely. Keep rotation search on only when parts arrive at the camera in unknown orientations and a downstream station needs that angle — which is exactly what the fence exists to prevent.

When can the camera handle orientation by itself?

When the part fills 25% or more of the field with a clean, matte silhouette. Backlight it and the angle error approaches the pixel floor: arctan(2 × 0.5 / 500) = 0.11° with features 500 px apart, a budget that fits clearances of a few tenths of a millimetre at a 4 mm engagement radius. The fence earns its keep in the opposite corner: small part, shiny surfaces, angular mating, clearance at or under 0.5 mm.