Accurate 3d imaging of objects where using current inexpensive scanning systems is impractical.
What it does
We used inexpensive parts to 3d image/scan an area with very accurate pixel locations in 3d space. The LiDAR only provides a range measurement. To image, the laser range finder needs to scan. Using a servo would add too much noise for accurate imaging, especially at a distance. The worm geared gimbal we designed and built provides very accurate elevation and azimuth angles (in theory, based on gear ratios, an accuracy of 0.00013 degrees). In conjunction with the accurate range reading (to ~1 cm) and further processing algorithms such as superresoltion, a very accurate 3D image can be generated.
How I built it
On Friday night, we designed and 3D printed most of the gimbal parts (8 hours of printing). On Saturday we assembled the worm geared gimbal (printed parts + two stepper motors) and experimented with the LiDAR for the first time. We used an Arduino Uno for gimbal control and lidar data acquisition. We wrote a processing scetch to receive the data and display raw results. We also imported the data in Python for possible superresolution processing algorithms for subpixel resolution enhancement.
Challenges I ran into
Detection of position of Gimbal. Registration of one line to next. People walking in front of the scanner. Speed of worm drive (it is slow) due to very low cost stepper motors.
Accomplishments that I'm proud of
Our goal was to 3d image an area or object with cheap parts, which we accomplished. The worm geared gimbal worked just as expected (though the $1 stepper motor was limiting factor). With additional detection of position, a better motor, and image processing, accurate 3d images/scans are practical.
What I learned
Imaging with a laser is difficult.
What's next for Worm LiDAR
Keep working on it. Speed up be collecting by running lidar and gimbal at same time (limitation of Ardunio model) rather than start/stopping the drive (currently running at 100 hz). Could speedup 5-7x easily. That will also help with pixel registration. Additionally, a lot of room for sub-pixel resolution using image processing algorithms.