- Kinect Z Buffer Noise and Audio Beam Steering Precision
- Eighteen Reasons Why You Should Not Follow Bill Sardi's Children Flu Season Vaccination Advice
- C++ Morsels: Why does C++ distinguish between member and pointer-to-member?
- Mammoth by John Varley
- C++ Morsels: std::for_each functors member variables
- C++ Morsels: Initializer List Execution Order
- Junkyard Wars Snowplow
- The Witling by Vernor Vinge
- 285 Semi Accident at Parmalee Gulch
- Fevre Dream by George R. R. Martin
Lego RCX LIDAR Station
A rotating visible-light LIDAR device I cooked up as a test. Emits audible tones to correspond with signal strength, higher pitch indicates stronger return, aka closer/brighter object.
LIDAR rangefinding technique:
The light sensor's built-in light emitter is obscured and the view arc of the light sensor is limited by 'tunneling'. This is done by placing a pair of 1x2 technic blocks in front of the light sensor, with the actual sensor looking through the aligned holes. A lego incandescent light emitter is placed atop the assembly to allow controllable light sourcing.
A light reading is recorded with the incandescent emitter off. This is the ambient 'calibration' level for the moment. The incandescent emitter is powered on, and a new light reading is recorded. This is the illuminated light level. With deliberate delays inserted during the off/on transitions, this process takes about one tenth of a second, resulting in a 10Hz sampling rate.
The ambient calibration level is subtracted from the illuminated level. The resulting difference is a relative indication of proximity and reflectivity of objects in front of the beam.
A custom magnetic reed switch on the rotating assembly and magnet on the fixed base provide a sync trigger pulse when the unit returns to origin position. The IR Tower should be placed so that there is an unobstructed line of sight between it and the LIDARStation when the LIDARStation is in the origin position, as this is the only position in which it will try to conduct communications.
A worm gearbox ensures a good speed/power tradeoff. One revolution takes just less than 14 seconds, resulting in a sampling rate of about 140 samples per revolution, or around 2.5 degrees of angular arc per sample. A rotation (quadrature) sensor was built into the unit during testing, but is not currently used. Angular position of samples is inferred from their contextual position in the Datalog.
Using the visible-light emitter gives a very reliable degree of calibration/illuminated control so far unavailable with the onboard IR emitter, at the expense of poor power/range. I am looking for ways to use the IR emitter in a more controlled fashion that just sending serial data. This could greatly improve the unit's range.