Research
From principle to pipeline: how a laser profiler becomes a 3D depth inspection system.
The overall pipeline
Principle: laser triangulation
The sensor head projects a laser line onto the surface, and a camera views that line from a different angle. When the surface height changes, the line shifts in the image, and the head computes the height of each point along the line as one profile.
One profile only covers the row under the laser line. To capture a whole surface, the object (or the head) moves perpendicular to the line, scanning profile by profile, and the profiles are stacked.
Sensor data acquisition and output
The goal is to read profiles reliably with Python and save them in a reproducible format.
- Read the official LJ-X8000 manuals and developer material to confirm the available interfaces and data formats (official documents are the authority on specifications).
- Start with a single profile: connect, read, save, plot.
- Then continuous acquisition: record timestamps, handle invalid points, and measure noise by scanning the same object repeatedly.
Three-axis control and synchronization
Whether the height map is correct depends on whether every profile is matched to the right position.
- Confirm communication, single-axis motion, homing and limits first. Safety settings come before speed.
- Then move the stage at constant speed and align profiles with positions using an encoder trigger or timestamps.
- Check: scan a standard part with known dimensions and see whether the scanned size makes sense.
Height-map and point-cloud processing
Stack the profiles into a height map, then convert to a point cloud when needed.
- Handle invalid points and outliers.
- Level the data with plane fitting to remove tilt and overall bow.
- Check height accuracy with a sample of known step height.
Defect detection workflow
The first version uses simple, explainable methods before anything more complex.
- Build a baseline (a defect-free surface or a smoothed surface) and compute a difference map.
- Apply thresholds and morphology, then find defect regions with connected components.
- Output defect position, area and depth or height, and generate a report.
Reproducibility
Every experiment must be rerunnable. This is the most important habit in the whole project.
- Pin package versions and describe the environment in a file.
- Keep all parameters in config files instead of hard-coding them.
- Store raw data read-only, and save results separately with their parameters.
Note: this page describes my research plan and learning direction and will change as experiments progress. For equipment specifications and interfaces, Keyence's official documents are the authority.