Code Monkey home page Code Monkey logo

pooyaalamirpour / lidar-obstacle-detection Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 194.03 MB

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++.

Home Page: https://www.linkedin.com/in/pooya-alamirpour

C++ 96.76% CMake 3.24%
self-driving-car lidar obstacle-detection pcl-library pcl point-cloud

lidar-obstacle-detection's Introduction

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

lidar-obstacle-detection's People

Contributors

pooyaalamirpour avatar

Watchers

 avatar

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.