Coder Social home page Coder Social logo

openlidar's Introduction

OpenLiDAR

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

Hardware Setups

Celestron/RPLidarA1 (March 2020)

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.

Software setup

Installation

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

Apps

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

ROADMAP

OpenLiDAR lib/:

  • Multi thread method with callback (specially for creating UI interfaces)
  • Add support for Magnetometers
  • 360 panoramic reconstruction using camera input
    • Add support for different cameras
    • RGB and Depth callibration

Console based app/3dscan:

  • Choose different output types: PLY, PCD
  • Add PNG format as a range equirectangular projection image
  • Add LAS format (add geo-location from GPS data)
  • Figure how to geo-locate PLYs, PCDs and PNGs using GPS data
  • Add optional outliers removal

Daemon app/3dscanner:

  • HTTP server <=> client

openlidar's People

Contributors

patriciogonzalezvivo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openlidar's Issues

how long does it take to scan such a room

on your project description you are showing an animated gif of a 3D pointcloud of a room. can you please say something about the speed and time to scan this room?

Other questions:

  • how many 3D points are recorded by second?
  • what is the step size and how fine can you setup the mount step in degrees?
  • how long does it take for 360 deg horizontal and full vertical (what is the full vertical degree range)?
  • can you also give the 3D points a color value (or combine it with 360 degree image)?
  • how precise is the lidar laser distance?
  • could you also develop a simple mount (3d printed) with a stepper motor with fine tuning the z-axes steps so you don't need to buy such a large telescope mount?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.