Skip to content

A self-driving car needs some techniques for preventing collision with pedestrians, vehicles, and other objects that would exist in the way of a car. One of these tools is LiDAR that can be used for obstacle detection on the road. In this repository, I am going to implement a LiDAR Obstacle Detection by using C++.

PooyaAlamirpour/Lidar-Obstacle-Detection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Self-Driving Car-LiDAR Obstacle Detection

A self-driving car needs some techniques for preventing collision with pedestrians, vehicles, and other objects that would exist in the way of a car. One of these tools is LiDAR that can be used for obstacle detection on the road. In this repository, I am going to implement a LiDAR Obstacle Detection by using C++. At the beginning of this journey, let's talk about a LiDAR. What is it and how can be used to help to determine objects?

LiDAR

Lidar sensing gives us high resolution data by sending out thousands of laser signals. These lasers bounce off objects, returning to the sensor where we can then determine how far away objects are by timing how long it takes for the signal to return. Also we can tell a little bit about the object that was hit by measuring the intesity of the returned signal. Each laser ray is in the infrared spectrum, and is sent out at many different angles, usually in a 360 degree range. While lidar sensors gives us very high accurate models for the world around us in 3D, they are currently very expensive, upwards of $60,000 for a standard unit. Sensor Fusion by combing lidar's high resoultion imaging with radar's ability to measure velocity of objects we can get a better understanding of the sorrounding environment than we could using one of the sensors alone. If you want to run my project own, follow the below structure on your system. If you want to run my project own, follow the below structure on your system. In this project, I have used PCL(Point Cloud Library).

The demo of the PCL visualization

Minimum Requirements

  • ubuntu 16.04.
  • g++-5.5.
  • PCL 1.2 library

If you have ros melodic installed on ubuntu 18.04 or ros kinetic installed on ubuntu 16.04 that will be good to build.

Installing

If you want to run my project own, follow the below structure on your system. In this project, I have used PCL(Point Cloud Library). If you want to run my project own, follow the below structure on your system. In this project, I have used PCL(Point Cloud Library). The Point Cloud Library (PCL) is a standalone, large scale, open project for 2D/3D image and point cloud processing. PCL is released under the terms of the BSD license, and thus free for commercial and research use. We are financially supported by a consortium of commercial companies, with our own non-profit organization, Open Perception. We would also like to thank individual donors and contributors that have been helping the project. This library does not have any structure for running code in windows currently. But you can build it from scratch here. So you have two approaches.

1- Using docker file that could be downloaded from here. This is the official PCL docker file.
2- Installing Ubuntu on a VM.

Ubuntu

$> sudo apt install libpcl-dev
$> cd ~
$> git clone https://github.com/PooyaAlamirpour/Lidar-Obstacle-Detection.git
$> cd Lidar-Obstacle-Detection
$> mkdir build && cd build
$> cmake ..
$> make -j4
$> ./environment

Also you can find the continuous integration here.

Build Platform Status
Ubuntu Status
Status
Status
Windows Status
Status
macOS Status
Status
Documentation Status

References

About

A self-driving car needs some techniques for preventing collision with pedestrians, vehicles, and other objects that would exist in the way of a car. One of these tools is LiDAR that can be used for obstacle detection on the road. In this repository, I am going to implement a LiDAR Obstacle Detection by using C++.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published