(based on Sensor Fusion Nanodegree Program)
Current application allows to render:
- Single *pcd file (static render);
- Stream *pcd files;
- Render point cloud data (raw and filtered);
- Render segmented point clouds: road and obstacles;
- Render clustered obstacle point clouds wrapped inside bounding boxes;
Additionally, it allows to select:
- Whether to draw bounding boxes for the obstacle point clouds;
- Whether to render the road point cloud;
The initial environment was developed by Aaron Brown. I've implemented custom RANSAC, KD-Tree algorithms for point cloud segmentation and Euclidean clustering algorithm along with some interface updates and command prompts that allow to set the runtime options.
Current application has been built on:
- Ubuntu 22.04
- PCL - v1.14.1
- C++ v14
- gcc v11.4
Note The PCL library has been built from the source code as the one installed with apt gives segmentation error. For Mac users: PCL Mac Compilation Docs
-
Clone this github repo:
cd ~ git clone https://github.com/cr0mwell/LiDAR_obstacle_detection.git
-
Execute the following commands in a terminal
cd ~/Lidar_Obstacle_Detection mkdir build && cd build cmake .. make ./environment
-
install homebrew
-
update homebrew
$> brew update
-
add homebrew science tap
$> brew tap brewsci/science
-
view pcl install options
$> brew options pcl
-
install PCL
$> brew install pcl
-
Clone this github repo
cd ~ git clone https://github.com/cr0mwell/LiDAR_obstacle_detection.git
-
Execute the following commands in a terminal
cd ~/Lidar_Obstacle_Detection mkdir build && cd build cmake .. make ./environment
If you get build errors related to Qt5, make sure that the path for Qt5 is correctly set in .bash_profile or .zsh_profile (Refer #45)