maggieliuzzi / lidar_obstacle_detection

CropBox ROI filtering | VoxelGrid downsampling | Ground plane segmentation using RANSAC | Euclidean clustering optimised with a k-d tree | Bounding boxes | Custom C++ implementations and PCL.
31 stars 10 forks source link
cpp lidar pcl

Object detection (LiDAR only)

LiDAR sensors can give us accurate high-resolution 3D models of the world around us by sending out laser signals. The beams bounce off objects, returning to the sensor where we can then determine how far away objects are by, for instance, timing how long it takes for the signal to return. We can also tell a little bit about the object that was hit by measuring the intensity of the returned signal. Laser rays are in the infrared spectrum and are sent out at many different angles, usually in a 360-degree range.

Installation

Ubuntu

$> sudo apt install libpcl-dev
$> cd ~
$> git clone git@github.com:maggieliuzzi/lidar_object_detection.git
$> cd lidar_object_detection
$> mkdir build && cd build
$> cmake ..
$> make
$> ./environment

Windows

http://www.pointclouds.org/downloads/windows.html

MAC

Install via Homebrew

  1. install homebrew
  2. update homebrew
    $> brew update
  3. add homebrew science tap
    $> brew tap brewsci/science
  4. view pcl install options
    $> brew options pcl
  5. install PCL
    $> brew install pcl

Prebuilt Binaries via Universal Installer

http://www.pointclouds.org/downloads/macosx.html
NOTE: very old version

Build from Source

PCL Source Github

PCL Mac Compilation Docs

Some of these functions were developed by Udacity as part of their Sensor Fusion Engineer Nanodegree.