Skip to content

This project is to detect 3D objects in a continuous stream of LiDAR point clouds. The code is functional to any type of OpenCV point cloud point types. Feel free to clone and execute the repo.

Notifications You must be signed in to change notification settings

kaushik4444/LiDAR-Object-Detection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LiDAR Object Detection

The goal of the project is to consistantly detect objects in a real lidar point cloud stream. This is achieved by filtering, segmenting and clustering the point cloud. Lidar is an active sensor that provides real-time spatial perception of the environment.

LiDAR

Lidar is an active sensor that emits laser beams and receives them upon reflection. The distance of the obstructing surface is computed using the Time of Flight and speed of the corresponding beam. Each such beam, upon 360 degrees rotation of the Lidar scanner, provides the distances of the obstacles present in the contemporary environment. In addition, the intensities of the reflected beams are recorded. This process is called environment perception, which is the first step in the motion planning of an autonomous robot.

The point cloud used in this project is obtained using a Velodyne VLP-64 Lidar, where 64 stands for the number of laser emitters in the emitter array. One scan of this sensor generates 256,000 points.

Workspace

The workspace provided in the SFND classroom comes preinstallated with everything that you need to finish the exercises and projects. Versions used by Udacity for this ND are as follows:

  • Ubuntu 16.04
  • PCL - v1.7.2
  • C++ v11
  • gcc v5.5

Note The [CMakeLists.txt] file provided in this repo can be used locally if you have the same package versions as mentioned above. If you want to run this project locally (outside the Udacity workspace), please follow the steps under the Local Installation section.

Local Installation

Ubuntu

  1. Clone this github repo:

    cd ~
    git clone https://github.com/udacity/SFND_Lidar_Obstacle_Detection.git
  2. Edit CMakeLists.txt as follows:

cmake_minimum_required(VERSION 2.8 FATAL_ERROR)

add_definitions(-std=c++14)

set(CXX_FLAGS "-Wall")
set(CMAKE_CXX_FLAGS, "${CXX_FLAGS}")

project(playback)

find_package(PCL 1.11 REQUIRED)

include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
list(REMOVE_ITEM PCL_LIBRARIES "vtkproj4")


add_executable (environment src/environment.cpp src/render/render.cpp src/processPointClouds.cpp)
target_link_libraries (environment ${PCL_LIBRARIES})
  1. Execute the following commands in a terminal

    sudo apt install libpcl-dev
    cd ~/SFND_Lidar_Obstacle_Detection
    mkdir build && cd build
    cmake ..
    make
    ./environment

    This should install the latest version of PCL. You should be able to do all the classroom exercises and project with this setup.

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
  6. Clone this github repo

    cd ~
    git clone https://github.com/udacity/SFND_Lidar_Obstacle_Detection.git
  7. Edit the CMakeLists.txt file as shown in Step 2 of Ubuntu installation instructions above.

  8. Execute the following commands in a terminal

    cd ~/SFND_Lidar_Obstacle_Detection
    mkdir build && cd build
    cmake ..
    make
    ./environment

WINDOWS

Install via cvpkg

  1. Follow the steps here to install PCL.

  2. Clone this github repo

    cd ~
    git clone https://github.com/udacity/SFND_Lidar_Obstacle_Detection.git
  3. Edit the CMakeLists.txt file as shown in Step 2 of Ubuntu installation instructions above.

  4. Execute the following commands in Powershell or Terminal

    cd ~/SFND_Lidar_Obstacle_Detection
    mkdir build && cd build
    cmake ..
    make
    ./environment

Build from Source

PCL Source Github

PCL Mac Compilation Docs

About

This project is to detect 3D objects in a continuous stream of LiDAR point clouds. The code is functional to any type of OpenCV point cloud point types. Feel free to clone and execute the repo.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published