3D visionExplainer

Sheet of light laser triangulation: the calibration model explained

Sheet of light laser triangulation: calibrate the camera model, laser plane and motion step, then compute 3D points from each line pixel.

LumaSpec Vision11 min read Share on LinkedIn

On this page 10 sections
  1. 01What does a sheet of light setup actually measure?
  2. 02Which three calibration results does the triangulation model need?
  3. 03How does one laser-line pixel become a 3D point?
  4. 04How does the motion step get into the point cloud?
  5. 05What profile rate does my travel speed need?
  6. 06How accurate can a self-built rig be?
  7. 07When should you buy a laser profiler instead of building one?
  8. 08What can you scan when the part cannot move?
  9. 09Which checks catch a bad calibration before production?
  10. 10Questions

A sheet of light build turns an area camera, a line laser and one moving axis into a 3D scanner, and the calibration is what makes the pixels tell the truth. Teams that skip a step end up fighting clouds that sit on a tilt, bars that measure long or short as the stage speeds up, and heights that will not repeat. This article walks through the triangulation model the way you set it up on the bench: the three calibration results the model needs, the ray-plane intersection that turns a laser pixel into a point, the travel vector that stacks profiles into a surface, and the profile rate your line speed demands. If you would rather skip the calibration work, the laser profilers in the second half do the same job with the geometry set at the factory.

What does a sheet of light setup actually measure?

A sheet of light setup projects a fan of laser light onto the part, photographs the line with a tilted camera, and rebuilds one height profile per image row as the part or camera moves.

The hardware is three parts. A line laser fans a sheet of light across the surface. An area camera sits tilted so the fan crosses its field obliquely, at an angle of roughly 30 to 45 degrees, which is what makes height visible as an image shift. An axis - a belt, a linear stage, a gantry - carries the part or the camera through the field. Each exposure captures one profile along the line; reconstruction repeats per profile as the axis advances, and the profiles stack into a point cloud.

The same geometry runs under other names, light stripe triangulation among them, and it is the working principle inside every laser profiler in the 3D sensor range. A self-built rig spreads the three parts across your bench and your calibration routine; a profiler integrates them with the geometry fixed at the factory and rated on its data sheet.

Which three calibration results does the triangulation model need?

Calibration must recover exactly three results: the camera's intrinsics and its pose, the laser plane equation in the same coordinate frame, and the translation vector the stage applies per captured profile.

The camera model. Flat-plate calibration gives the focal lengths fx and fy in pixels, the principal point cx and cy, and the lens distortion coefficients. The same plate session fixes the camera pose - the rotation R and translation T that place the camera in the stage frame. If the pose is wrong, nothing downstream can rescue the cloud, which is why the pose comes first, as argued in camera intrinsics for hand-eye calibration.

The laser plane. In that same stage frame, the fan lies in a plane n·P = d, with n the plane normal and d the offset. You measure it by sweeping the calibration plate through the beam: in each pose the laser draws a line on the plate, and the plate's known pose lifts that image line into 3D. The poses must differ enough that the projected lines are not parallel to one another.

The travel vector. Drive a sharp target, a pin edge works, through the field while triggering on the encoder, and fit the stage displacement per captured profile. The result is Δs in millimetres per profile, sign included.

All three results must live in one coordinate frame. A plane solved in camera millimetres while the camera model sits in stage coordinates is the classic recipe for a cloud that refuses to sit flat.

How does one laser-line pixel become a 3D point?

Each pixel on the laser line defines a camera ray, and the 3D point is where that ray pierces the calibrated laser plane, which costs one dot product and one division once the plane is known.

Undistort the pixel with the calibrated distortion coefficients, build the ray, and intersect it with the plane:

r = ((u − cx)/fx, (v − cy)/fy, 1) ray through pixel (u, v) t = d / (n·r) hit distance along the ray P = t·r 3D point, camera frame, mm

Here u and v are the pixel coordinates, fx and fy the focal lengths in pixels, cx and cy the principal point, and n and d the plane normal and offset that calibration returned.

A worked example with round numbers. Set fx = fy = 2000 px, cx = 640, cy = 512, and take a profile pixel at (840, 312). The ray is ((840 − 640)/2000, (312 − 512)/2000, 1) = (0.1, −0.1, 1). Say the plate sweep returned the plane y + z = 80 mm in the camera frame. Then n·r = −0.1 + 1 = 0.9 and t = 80/0.9 = 88.9 mm, so the point lands at P = (8.9, −8.9, 88.9) mm. Check it: −8.9 + 88.9 = 80, exactly on the plane. A full profile of a thousand line pixels costs a few thousand such divisions, trivial work for a PC.

The lateral scale falls out of the same numbers. At the 80 mm stand-off where this plane crosses the camera axis, one pixel spans 80/2000 = 0.04 mm along the line, and that footprint is the point spacing you get across the profile.

How does the motion step get into the point cloud?

Motion enters as a translation, not new camera mathematics: calibration gives you the stage's travel vector per profile, and reconstruction simply adds the profile count times that vector to every plane-hit point.

The extrinsics change frames first: P_stage = R·P_cam + T, rotate then translate, in that order - the mix-up is common enough that extrinsic transform order has its own page. In the worked example, say calibration returned an identity rotation and T = (0, 0, −30) mm, placing the camera 30 mm above the stage origin. The hit point then sits at (8.9, −8.9, 58.9) mm over the stage origin, and profile 57 adds the travel: 57 × 0.2 mm = 11.4 mm along the stage direction, for a final position of (8.9, 2.5, 58.9) mm.

Measure Δs on your own axis rather than trusting the motor data sheet. The target-crossing capture from the calibration section gives it directly, and the fitted value is what the model uses.

A wrong travel vector stretches or shrinks the cloud exactly in proportion and touches nothing else: a 5 % error turns a 100.0 mm gauge bar into 100.0 × 1.05 = 105.0 mm while every height stays put. That makes it the easiest fault to isolate - length wrong, heights right, suspect Δs first.

What profile rate does my travel speed need?

Divide travel speed by the point spacing you want along the travel direction: at 120 mm/s and 0.2 mm spacing the camera must deliver 600 profiles per second, with exposure held at or below 1.67 ms.

The rule is one division: profile rate in hertz equals travel speed divided by in-line point spacing. Exposure is bounded the same way, at most spacing divided by speed, because a longer exposure smears the laser line across pixels and fattens every profile.

For the example rig: 120/0.2 = 600 profiles per second at 120 mm/s with 0.2 mm spacing, and exposure at or below 0.2/120 = 1.67 ms. The data volume stays modest - 600 profiles × 1280 points × 12 bytes per point is about 9.2 MB/s, comfortably inside a standard GigE link. Past a few thousand profiles per second, or with several cameras on one PC, the interface starts to matter, and that is where vision-grade frame grabbers earn their slot. Profilers meet the same throughput wall, and onboard data reduction is how they hold their profile rate at speed.

The same division sizes any scanned system, so it is worth a bookmark:

Line-scan camera line rate
Units
Pixel on the part
– mm
Line rate needed
– kHz
Longest exposure
– µs
Data rate
– MB/s
Lines per metre
–
Encoder setting
–

Square pixels: line rate = speed / pixel on the part; the exposure must end within one line period. Encoder: lines per pulse = (π × roller diameter / pulses per revolution) / pixel on the part.

Find line scan cameras Open the full calculator

How accurate can a self-built rig be?

Budget the lateral spacing from the pixel footprint, stand-off divided by focal length in pixels, and expect height to be the coarser axis because it depends on the triangulation angle between camera axis and laser fan.

Lateral repeatability lands well under the footprint: a centroid algorithm finds the line centre to a fraction of a pixel, and a tenth of a pixel on the example geometry moves the centre by 0.004 mm. Height is the coarser axis, and it improves as the angle between camera axis and laser fan grows - steeper geometry turns a height change into a bigger image shift - at the cost of shadowing behind tall features.

No formula replaces a measurement here. Put a gauge block under the fan and read what the system reports: a 2.000 mm slip gauge reading 1.985 mm is a (2.000 − 1.985)/2.000 = 0.75 % scale error, the kind a clean re-run of the plate sweep usually removes. The three validation habits in stereo system accuracy checks transfer directly to a triangulation rig.

These figures belong to the example geometry, so recompute the footprint for your own stand-off and focal length before you quote a tolerance.

When should you buy a laser profiler instead of building one?

Buy a laser profiler when the rig has to run production: the vendor calibrates the same three results at the factory, prints rated stand-off, range and resolutions on the data sheet, and takes the drift questions off your desk.

Build when the geometry is one-off or the rig lives on a bench: you trade factory calibration for control of the geometry, and the checks at the end of this article are what make the result trustworthy.

Production shoppers start with the laser profile sensors in the 3D sensor range. The DP3000-series MIS-DP3850-01P and the DP4000-series MV-DP4180-03P ship with their triangulation calibrated, leaving you the mounting and the hand-eye step - which is the whole subject of sheet of light robot guidance with a laser profile sensor, the integration-side companion to this article.

Their data-sheet rows, side by side:

Specification MIS-DP3850-01P MV-DP4180-03P
Data points/profile 3200 4080
Reference distance 126 mm 175 mm
Measurement range (Z-axis) 86 mm 100 mm
Measurement range (X-axis) 65 mm @ near end; 85 mm @ reference distance; 105 mm @ far end 75 mm @ near field of view; 100 mm @ reference distance; 125 mm @ far field of view
Resolution (Z-axis) 4.38 ~ 8.33 μm 3.72 μm to 8.40 μm
Repeatability (Z-axis) 1.68 μm @ data that sensor tests gauge block on optical platform1 1.5 μm @ data that sensor tests gauge block on optical platform
Profile data interval 20.4 ~ 35.7 μm 18.5 μm to 32.2 μm
Scan frame rate 3.4 kHz to 46.7 kHz (high frame rate mode) 2.5 kHz (within max. measurement range), max. 49 kHz (in ROI mode)
Data output Original image, profile data, depth image, brightness image Profile data, depth image, brightness image
Trigger mode Software trigger, hardware trigger (differential encoder) Software trigger, hardware trigger (differential encoder)
Laser wavelength 405 nm 650 nm
Laser safety class Class3R Class 3R
Price $12,379.00 · quoted $12,389.00 · quoted

All 2 share: Linearity Z-axis (±% of MR) 0.01; Power supply 24 VDC; Ingress protection IP67; Humidity 20% RH to 85% RH (no condensation). Values as printed in each product's data sheet; open a part for its drawing and full specifications.

What can you scan when the part cannot move?

If the part cannot pass under the camera, steer the laser with a galvanometer or switch to a full-field method that needs no scanning motion at all.

A galvanometer moves the beam instead of the part. The MV-DLS300P-04 pairs a laser-steering galvanometer with stereo reconstruction, so the beam walks across a stationary casting, weldment or large panel while the fixture never moves.

3D sensorsHikrobot MV-DLS300P-04 Laser galvanometer stereo cameraMV-DLS300P-04
Type
Stereo / structured light
$16,579.00 · quotedView and quote

Full-field structured light skips scanning altogether. The MV-DPS200P-02 projects a pattern over the scene and rebuilds the whole surface from a single capture, which suits static parts, awkward fixturing and cycle times too short for a sweep.

3D sensorsHikrobot MV-DPS200P-02 Projected structured-light 3D cameraMV-DPS200P-02
Type
Stereo / structured light
$8,829.00 · quotedView and quote

Choose by part shape. A scan keeps occlusion handling predictable, because each profile sees its own slice of the geometry, while one full-field capture is faster but struggles in deep pockets where the projected light cannot reach and points go missing - the recovery moves are collected in missing points in a 3D camera point cloud. Projected patterns have their own mapping model, a close cousin of the ray-plane math above, walked through in structured light projector pixel mapping.

Which checks catch a bad calibration before production?

Four checks catch nearly every calibration fault before parts run: a gauge block for scale and sign, a plane fit on a flat reference, a travel check with a known bar, and a second stand-off.

  1. Gauge block for scale and sign. Measure a 2.000 mm slip gauge and expect the reported step within 1 %, that is ±0.020 mm. A bigger error, or a negative height where the step goes up, sends you back to the plate sweep before anything else.

  2. Plane fit on a flat reference. Scan a surface plate and fit a plane. Residuals of a few times the pixel footprint - about 0.1 mm on the example geometry - are normal; a bow or an edge step in the residuals points at the plane or the camera model, and least squares versus RANSAC plane fitting shows how to fit so stray points cannot skew the verdict.

  3. Travel check with a known bar. Scan a 100.0 mm bar and expect length within ±0.5 mm. Length wrong with heights right is the Δs signature from the motion section.

  4. Second stand-off. Repeat the gauge test about 20 mm closer to the camera. Errors that grow with stand-off trace to the camera model; constant offsets trace to the plane offset d.

A cloud that sits on a tilt is almost always one of these four, and why a laser triangulation point cloud is tilted walks that diagnosis in order.

If you are speccing a rig rather than debugging one, the camera finder filters sensors by type and resolution, the system configurator steps through camera, interface and controller together, and the applications team answers geometry questions from the contact page. The rest of the triangulation reading sits on the 3D topic page.

Questions

How many plate poses does laser plane calibration need?

A single plate pose images the beam as one line, and collinear points cannot define a plane, so two poses with non-parallel lines are the mathematical floor. Five to ten poses spread across the measuring volume average the noise out and expose a loose plate mount immediately.

Why does the cloud drift between a cold start and mid-afternoon?

Thermal expansion tilts the laser plane and shifts the camera as the rig warms up. Let the rig run twenty to thirty minutes before calibrating, and treat any later bracket adjustment as a recalibration trigger. On the worked geometry, a 0.1 mrad plane tilt at the 80 mm stand-off moves reconstructed heights by about a hundredth of a millimetre, so mounting stiffness matters.

Can a rolling shutter camera run sheet of light?

Only when nothing moves during the exposure. A rolling shutter reads the rows one after another, so a part travelling during readout comes out sheared, and the shear grows with speed. Use a global shutter camera for any scanned part, and keep rolling shutter bodies for static work where you steer the beam or project a pattern instead of moving the part.

What laser class is safe on an open bench?

Class 2 or below is the open-bench choice: the class caps visible output at one milliwatt, which is eye-safe for accidental exposure. At Class 3B and above you need goggles rated for the wavelength, an enclosed beam path, housing interlocks and a laser safety routine before the first power-up. Whatever the class, keep the beam below eye level.