Open platform for automating LiDAR scanns with DIY devices.
The hardware setup basically consist on an affordable 360 LiDAR sensor attached to a mount that spins it around in a control way. The OpenLiDAR.h
class reflect this configuration, although for my personal setup I'm using a RPLiDAR A1 together with a Motorize Celestron Telescope Mount I'm designing the library to be easy to extend and modularize with the hope others will contribute their own configurations.
Because hardware is not really one of my strengths I decide to reuse existing hardware as much as possible. Avoiding 3D printing moving peaces like gears was very important because they tend to introduce error. For that I based my desing on using a motorize telescope mount which robust design have been tested extensivelly while provides maximum presicion and control. As an extra if it's properly calibrated (using their own system based on stars possition) can waranty excelent alignments of your point clouds.
- RPLiDAR A1/A2/A3 depending your needs and budge (from 99 ~ 600 U$D)
- Celestron NexStar GoTo Mount to spin the RPLiDAR around in 360 degrees with precision (~200 U$D). The
Celestron.h
driver sends serial commands to the Celestron HandController though the Mini-USB port at the bottom of it. Most of that code is based on INDI Lib. - Celestron compatible dovetail mount. Non-permanent solution to attach the LiDAR sensor to the Celestron mount.
- 3D Print the model on the
models/
folder based on this thingiverse project by Robotics Weekends. This will help you to put it all together.
Optional:
- RaspberryPi to control both the sensor and the mount running OpenLiDAR. I modify my Celestron mount following this directions in order to derive power from it (35 U$D)
- GPS Hat If you want to GeoTag your point clouds (45 U$D)
Install dependencies:
sudo apt install cmake libpcl-dev libglm-dev
Clone this repository:
git clone https://github.com/patriciogonzalezvivo/OpenLiDAR.git
Compile and Install
cd OpenLiDAR
mkdir build
cd build
cmake ..
make
Give your user permission to access the USB ports:
sudo usermod -a -G dialout $USER
Ecosystem of apps to scann and process LiDAR data.
Makes a 360 scan. To run you need to the USB addresses of the Celestron mount (first argument) and the RPLiDAR sensor (second argument). In linux systems they are given by the order you plug them. (TODO: I'm working on automatic that)
./scan /dev/ttyUSB0 /dev/ttyUSB1