DIY 3D LiDAR Scanner
BSD-3-CLAUSE License
This project goal is to support a wide variety of sensors and controlers (throught the Mary Library) so people can construct their own 3D LiDAR Scanner with off-the-shelf devices.
The general set up consist of an affordable LiDAR sensor mounted on a structure that pan it around with presicion and accuracy (we call that mount). There are other sensors that will help your scanner to have more or better data like GPS and/or Magnetometer
Supported LiDAR Sensors:
Manufacture | Device | Mary Driver | Range | Outdoors | Angle Resolution |
---|---|---|---|---|---|
SLAMTECH | RPLidar A1 | lidar/RPLidar.h |
12m | no | non applicalbe |
SLAMTECH | RPLidar A2 | lidar/RPLidar.h |
18m | no | 0.45° ~ 1.35° |
SLAMTECH | RPLidar A3 | lidar/RPLidar.h |
25m / 16m (in/outdoors) | yes | 0.3375° / 0.54° |
SLAMTECH | RPLidar S1 | lidar/RPLidar.h |
40m | yes | 0.391° |
Supported Mounts:
Manufacture | Device | Mary Driver |
---|---|---|
Celestron | NexStar STL Series | mount/Celestron.h |
Celestron | NexStar STL Series | mount/Celestron.h |
TBD | TBD | TBD |
Supported GPS:
Manufacture | Device |
---|---|
* | All deviced supported by Gpsd |
Supported Magnetometers:
Manufacture | Device |
---|---|
OzzMaker | BerryIMU |
OzzMaker | BerryGPS-IMU |
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.
models/celestron_mount/rplidar_A1.stl
. This mount attach to the celestron mount through the dovetail rail, and to the RPLidar A1 and it's driver through screws.Install dependencies:
sudo apt install cmake libpcl-dev libglm-dev gpsd gpsd-clients libgps-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.
3dscan
Makes a 3D lidar 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: - ADD ARGUMENTS DESCRIPTIONS
./3dscan --mount /dev/ttyUSB0 --lidar /dev/ttyUSB1 --speed 0.9 --degrees 270 --voxel 0.5 --normals --filename point_cloud --formats ply,pcd,png
OpenLiDAR lib/
:
Console based app/3dscan
:
Daemon app/3dscanner
: