The principle behind it is a pair of laser lines, separated by a known angle and rotating at a constant rate which then sweep a pair of sensors with a known separation about the axis of rotation.
For a laser pair (L1 and L2) sweeping down around the horizontal axis, the time between laser L1 hitting the top and bottom sensor is a factor of how far the sensor pair is from the centre of rotation due to the constant rate and variable, relative, angle.
The time between laser fan L1 and L2 hitting the same sensor is always the same, regardless of distance, because the angle and the rate of rotation within the time-frame of the sweep are very constant. Taking the ratio of these two times will remove the rotational speed from the equation and give you a relative distance between the sensor pair and the lasers. Knowing the exact vertical separation between the sensors and also knowing the exact angle between the laser fans will fix the distance to a known scale.
I've re-done some of the calcs I did a while ago (at that time I was thinking 8MHz clocks!) and added a link to the google sheet as well as an image of the chart. At 5m you're looking at a single distance measurement LSB accuracy of 2mm (20mm sensor separation, 32MHz counter, 25Hz/120deg laser sweep). Implementing the logic and counters within a CPLD/FPGA would be more development (for me at least) but could push the accuracy by up to x10, proportional with the clock frequency increase. Fusing multiple readings and a 6DoF sensor and the accuracy for the sensor cluster should be very good.
COMPARING THIS APPROACH TO THE TWIN SWEEP PULSE:CONSTANT SPEED APPROACH
- This approach does not need exact rotational speeds, only consistent speeds whilst sweeping over the object which makes the hardware easier/cheaper.
- Different rotational speeds (within bands) can be used to determine different bases and axis. This allows multiple bases sweeping without the need to sync them all together.
- As the only critical time for interference is limited to the time it is sweeping over the cluster, different rotational speeds for all the bases minimises the interference between them to very infrequent clashes. Then, on the next sweep following the clash, they have moved away from each other.
- Target movement, so long as it's linear whilst the laser sweeps the target, changes both the apparent speed of rotation as well as the duration between the hits. This essentially compensates for movement.
- Due to the fact that you only get relative angles between the detector positions, it's impossible to get a position without doing a full pose estimation. With the Pulse:Constant sweep approach rough angles can be estimated easily and, with triangulation, rough position too.
- Target movement, if fast enough, could make one base look like another if the apparent rotational speed change is great enough.