$ sudo apt install libpcl-dev
$ cd ~
$ git clone https://github.com/rtkartista/sfe_projects.git
$ cd p1
$ mkdir build && cd build
$ cmake ..
$ make
$ ./environmentThe project includes four important sections to demonstrate object detection pipleline
-
Fliteration, here, the scaned data from the lidars which is read from the .pcd file is first resized to create a region of interest. Then, voxel filteration is done to decrease the resolution on the loaded data.
-
Segmentation, here, the data is seperated into two region, the ground plane cloud and next the obstacle point cloud using RANSAC algorithm.
-
Clustering, here, the obstacle cloud data obtained from the previous step is stored in a # dimensional KD-Tree. Then by setting distance tolerance parameter, clusters of obstacles are detected using Eucledian clustering algorithm.
-
Finally, rendering the project and drawing rectangular boxes around the clusters. Additionally, PCA analysis is done on the data and th boxes are rotated in the yaw direction using quaternion rotaions. It is observed that boxes after rotations do not fit the clusters. It is due to the limited field of view of the LIDAR sensors. It is also a reason of adding additional sensors to the vehicle to achieve autonomy.
- This project uses abstact C++ data types like templates
- For the project submission, we had to write the functions from stratch without the help of PCL. And additionally, an empty project was provided by Udacity for classroom assignments
git clone https://github.com/udacity/SFND_Lidar_Obstacle_Detection.git
