3D GESTURE TRACKING
SEE VIDEO NOW!
What is it
A system for rapidly tracking an object in 3D space.
How about Kinect
Kinect can not track an object as rapidly and smoothly as a system built of 3 LDR-M10’s. Also, Kinect does not work outside in the sun. The reason for the speed difference is that each LDR-M10 is sampling at 1 million samples per second. These samples are then averaged to a 50 Hz bandwidth to give the system its fast response.
How does it work
The system works on the principal of trilateration. By measuring three distances to an object, the location of the object can be determined. This assumes that you know the location of each sensor and that you know if the object is in front or rear of were you are looking. The equations basically find the solution of three intersecting spheres. Since there are two such points in the solution, we pick the one in front of the sensor. This same technique is used for GPS, however a fourth satellite is used to get a unique solution.
For the sensor to work, the object needs to be inside the field of view (FOV) of all 3 sensors. This is not a problem for LDR-M10 since the FOV of each sensor is +/- 20 Degrees. The diagram shows the side view of two of the three sensors and how the FOV’s (in red) overlap.
The range and energy outputs of each sensor are wired to the 6 Arduino A/D inputs. Each input is decoupled with 2.2uF cap to ground. The Arduino code samples all these channels and sends them over to the PC ever 4 mSec. There is and additional single pole digital software filter for each channel before the data is fed in to the trilateration equations.
To build this system the following parts were used.
- 3 x LDR-M10
- 1 x Arduino UNO
- 6 x 2.2uF capacitors at Arduino A/D inputs to ground
- Base Plate to hold three sensors
- 11-12V power supply @ 250mA
- USB cable to connect Arduino to PC
- Processing code to display results on PC screen