Giter VIP home page Giter VIP logo

sfnd_lidar_obstacle_detection's Introduction

Sensor Fusion Self-Driving Car Course

Welcome to the Sensor Fusion course for self-driving cars.

In this course we will be talking about sensor fusion, whch is the process of taking data from multiple sensors and combining it to give us a better understanding of the world around us. we will mostly be focusing on two sensors, lidar, and radar. By the end we will be fusing the data from these two sensors to track multiple cars on the road, estimating their positions and speed.

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.

Radar data is typically very sparse and in a limited range, however it can directly tell us how fast an object is moving in a certain direction. This ability makes radars a very pratical sensor for doing things like cruise control where its important to know how fast the car infront of you is traveling. Radar sensors are also very affordable and common now of days in newer cars.

Sensor Fusion by combing lidar's high resolution 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.

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

Note The library version of PCL being distributed by the apt repository for 18.04 and 20.04 are both older than v1.11. The following links have the information regarding the versions-

Bionic 18.04 Focal 20.04

You can either build PCL from source (for v1.11) or use the older version.

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

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)

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

sfnd_lidar_obstacle_detection's People

Contributors

abhiojha8 avatar awbrown90 avatar roman-smirnov avatar sudkul avatar swwelch avatar uanjali avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sfnd_lidar_obstacle_detection's Issues

Build error on Ubuntu

I successfully installed pcl using "sudo apt install libpcl-dev" and created a build directory inside the SFND_Lidar_Obstacle_Detection directory. The cmake command successfully generated the makefile. I encountered an error: ‘filesystem’ is not a member of ‘boost’ on running makefile.

Screenshot from 2023-11-28 23-51-18

PCL 1.2 & C++ 14 or Above

When building this the cmake requires PCL version 1.2 which requires C++ 14 or above now. In the Cmake the following line needed to be changed for me:

add_definitions(-std=c++14)

apt repository libpcl-dev version missmatch for Ubuntu

The local installation instructions for Ubuntu instruct to set the required PCL library to version 1.11, but currently, the library version being distributed by the apt repository for 18.04 and 20.04 are both older than this. The following links have the information regarding the versions-

If I am not missing anything here, an update to the local installation instructions might be useful for future students.

PCL installed with Homebrew

As at now, Homebrew provides PCL version 1.9.1. However, this version has a bug which makes the project fail at compile time.

The fix is, once installed via Hombrew, go to this file in your local machine and modify this line so it looks like this other one.

Probably, adding the link to this issue into the README would help students.

Feel free to close it.

Macos building - Error with boost::filesystem

Hi, I got this error when compiling the simulator
In file included from /Users/antonioortiz/Proyectos/NanoDegree/SFND_Lidar_Obstacle_Detection/src/environment.cpp:7: /Users/antonioortiz/Proyectos/NanoDegree/SFND_Lidar_Obstacle_Detection/src/processPointClouds.h:47:17: error: no member named 'filesystem' in namespace 'boost'; did you mean 'std::__fs::filesystem'? std::vector<boost::filesystem::path> streamPcd(std::string dataPath); ^~~~~~~~~~~~~~~~~ std::__fs::filesystem
I got it on the make step

The 3D Viewer display is incorrect

屏幕截图 2021-08-23 13:54:17
As shown in the figure above, when I run ./environment, the 3D Viewer display is incorrect. However, cmake has no problem and PCL is version 1.11.0. And my partner can display it well using her computer. Is there something I've missed during the installation?

make errors on Mac

Hello!
I am trying to get this project up and running on my Mac (macOS Monterey 12.6).

  • Installation of point cloud library seems correct.

pcl_error

  • I was able to run cmake .. successfully in the build folder.

  • However, I got errors when typing make in the build folder. Does anyone has an idea what might be the problem? Thanks a lot!

`Consolidate compiler generated dependencies of target environment
[ 25%] Building CXX object CMakeFiles/environment.dir/src/environment.cpp.o
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/environment.cpp:5:
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/sensors/lidar.h:3:
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/sensors/../render/render.h:7:
In file included from /usr/local/include/pcl-1.12/pcl/visualization/pcl_visualizer.h:42:
In file included from /usr/local/include/pcl-1.12/pcl/correspondence.h:45:
In file included from /usr/local/include/pcl-1.12/pcl/pcl_base.h:46:
In file included from /usr/local/include/pcl-1.12/pcl/memory.h:48:
In file included from /usr/local/include/eigen3/Eigen/Core:171:
/usr/local/include/eigen3/Eigen/src/Core/MathFunctions.h:989:12: error: reference to unresolved using declaration
return isfinite EIGEN_NOT_A_MACRO (x);
^
/Library/Developer/CommandLineTools/SDKs/MacOSX13.0.sdk/usr/include/c++/v1/cmath:323:1: note: using declaration annotated with 'using_if_exists' here
using ::isfinite _LIBCPP_USING_IF_EXISTS;
^
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/environment.cpp:5:
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/sensors/lidar.h:3:
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/sensors/../render/render.h:7:
In file included from /usr/local/include/pcl-1.12/pcl/visualization/pcl_visualizer.h:42:
In file included from /usr/local/include/pcl-1.12/pcl/correspondence.h:45:
In file included from /usr/local/include/pcl-1.12/pcl/pcl_base.h:46:
In file included from /usr/local/include/pcl-1.12/pcl/memory.h:48:
In file included from /usr/local/include/eigen3/Eigen/Core:171:
/usr/local/include/eigen3/Eigen/src/Core/MathFunctions.h:1004:12: error: reference to unresolved using declaration
return isinf EIGEN_NOT_A_MACRO (x);
^
/Library/Developer/CommandLineTools/SDKs/MacOSX13.0.sdk/usr/include/c++/v1/cmath:324:1: note: using declaration annotated with 'using_if_exists' here
using ::isinf _LIBCPP_USING_IF_EXISTS;
^
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/environment.cpp:5:
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/sensors/lidar.h:3:
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/sensors/../render/render.h:7:
In file included from /usr/local/include/pcl-1.12/pcl/visualization/pcl_visualizer.h:42:
In file included from /usr/local/include/pcl-1.12/pcl/correspondence.h:45:
In file included from /usr/local/include/pcl-1.12/pcl/pcl_base.h:46:
In file included from /usr/local/include/pcl-1.12/pcl/memory.h:48:
In file included from /usr/local/include/eigen3/Eigen/Core:171:
/usr/local/include/eigen3/Eigen/src/Core/MathFunctions.h:1019:12: error: reference to unresolved using declaration
return isnan EIGEN_NOT_A_MACRO (x);
^
/Library/Developer/CommandLineTools/SDKs/MacOSX13.0.sdk/usr/include/c++/v1/cmath:325:1: note: using declaration annotated with 'using_if_exists' here
using ::isnan _LIBCPP_USING_IF_EXISTS;
^
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/environment.cpp:5:
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/sensors/lidar.h:3:
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/sensors/../render/render.h:7:
In file included from /usr/local/include/pcl-1.12/pcl/visualization/pcl_visualizer.h:42:
In file included from /usr/local/include/pcl-1.12/pcl/correspondence.h:45:
In file included from /usr/local/include/pcl-1.12/pcl/pcl_base.h:46:
In file included from /usr/local/include/pcl-1.12/pcl/memory.h:48:
In file included from /usr/local/include/eigen3/Eigen/Core:177:
/usr/local/include/eigen3/Eigen/src/Core/arch/Default/BFloat16.h:251:25: error: expected unqualified-id
output.value = std::signbit(v) ? 0xFFC0: 0x7FC0;
^
/usr/local/include/math.h:170:5: note: expanded from macro 'signbit'
( sizeof(x) == sizeof(float) ? __inline_signbitf((float)(x))
^
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/environment.cpp:5:
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/sensors/lidar.h:3:
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/sensors/../render/render.h:7:
In file included from /usr/local/include/pcl-1.12/pcl/visualization/pcl_visualizer.h:42:
In file included from /usr/local/include/pcl-1.12/pcl/correspondence.h:45:
In file included from /usr/local/include/pcl-1.12/pcl/pcl_base.h:46:
In file included from /usr/local/include/pcl-1.12/pcl/memory.h:48:
In file included from /usr/local/include/eigen3/Eigen/Core:177:
/usr/local/include/eigen3/Eigen/src/Core/arch/Default/BFloat16.h:286:25: error: expected unqualified-id
output.value = std::signbit(ff) ? 0xFFC0: 0x7FC0;
^
/usr/local/include/math.h:170:5: note: expanded from macro 'signbit'
( sizeof(x) == sizeof(float) ? __inline_signbitf((float)(x))
^
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/environment.cpp:5:
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/sensors/lidar.h:3:
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/sensors/../render/render.h:7:
In file included from /usr/local/include/pcl-1.12/pcl/visualization/pcl_visualizer.h:42:
In file included from /usr/local/include/pcl-1.12/pcl/correspondence.h:45:
In file included from /usr/local/include/pcl-1.12/pcl/pcl_base.h:46:
In file included from /usr/local/include/pcl-1.12/pcl/memory.h:48:
In file included from /usr/local/include/eigen3/Eigen/Core:177:
/usr/local/include/eigen3/Eigen/src/Core/arch/Default/BFloat16.h:478:11: error: reference to unresolved using declaration
return (isinf)(float(a));
^
/Library/Developer/CommandLineTools/SDKs/MacOSX13.0.sdk/usr/include/c++/v1/cmath:324:1: note: using declaration annotated with 'using_if_exists' here
using ::isinf _LIBCPP_USING_IF_EXISTS;
^
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/environment.cpp:5:
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/sensors/lidar.h:3:
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/sensors/../render/render.h:7:
In file included from /usr/local/include/pcl-1.12/pcl/visualization/pcl_visualizer.h:42:
In file included from /usr/local/include/pcl-1.12/pcl/correspondence.h:45:
In file included from /usr/local/include/pcl-1.12/pcl/pcl_base.h:46:
In file included from /usr/local/include/pcl-1.12/pcl/memory.h:48:
In file included from /usr/local/include/eigen3/Eigen/Core:177:
/usr/local/include/eigen3/Eigen/src/Core/arch/Default/BFloat16.h:478:11: error: reference to unresolved using declaration
return (isinf)(float(a));
^
/Library/Developer/CommandLineTools/SDKs/MacOSX13.0.sdk/usr/include/c++/v1/cmath:324:1: note: using declaration annotated with 'using_if_exists' here
using ::isinf _LIBCPP_USING_IF_EXISTS;
^
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/environment.cpp:5:
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/sensors/lidar.h:3:
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/sensors/../render/render.h:7:
In file included from /usr/local/include/pcl-1.12/pcl/visualization/pcl_visualizer.h:42:
In file included from /usr/local/include/pcl-1.12/pcl/correspondence.h:45:
In file included from /usr/local/include/pcl-1.12/pcl/pcl_base.h:46:
In file included from /usr/local/include/pcl-1.12/pcl/memory.h:48:
In file included from /usr/local/include/eigen3/Eigen/Core:177:
/usr/local/include/eigen3/Eigen/src/Core/arch/Default/BFloat16.h:482:11: error: reference to unresolved using declaration
return (isnan)(float(a));
^
/Library/Developer/CommandLineTools/SDKs/MacOSX13.0.sdk/usr/include/c++/v1/cmath:325:1: note: using declaration annotated with 'using_if_exists' here
using ::isnan _LIBCPP_USING_IF_EXISTS;
^
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/environment.cpp:5:
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/sensors/lidar.h:3:
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/sensors/../render/render.h:7:
In file included from /usr/local/include/pcl-1.12/pcl/visualization/pcl_visualizer.h:42:
In file included from /usr/local/include/pcl-1.12/pcl/correspondence.h:45:
In file included from /usr/local/include/pcl-1.12/pcl/pcl_base.h:46:
In file included from /usr/local/include/pcl-1.12/pcl/memory.h:48:
In file included from /usr/local/include/eigen3/Eigen/Core:177:
/usr/local/include/eigen3/Eigen/src/Core/arch/Default/BFloat16.h:482:11: error: reference to unresolved using declaration
return (isnan)(float(a));
^
/Library/Developer/CommandLineTools/SDKs/MacOSX13.0.sdk/usr/include/c++/v1/cmath:325:1: note: using declaration annotated with 'using_if_exists' here
using ::isnan _LIBCPP_USING_IF_EXISTS;
^
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/environment.cpp:5:
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/sensors/lidar.h:3:
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/sensors/../render/render.h:7:
In file included from /usr/local/include/pcl-1.12/pcl/visualization/pcl_visualizer.h:48:
In file included from /usr/local/include/pcl-1.12/pcl/visualization/common/actor_map.h:40:
In file included from /usr/local/include/pcl-1.12/pcl/visualization/point_cloud_geometry_handlers.h:51:
In file included from /usr/local/include/vtk-9.1/vtkFloatArray.h:27:
In file included from /usr/local/include/vtk-9.1/vtkAOSDataArrayTemplate.h:38:
In file included from /usr/local/include/vtk-9.1/vtkGenericDataArray.h:72:
/usr/local/include/vtk-9.1/vtkGenericDataArrayLookupHelper.h:40:15: error: expected member name or ';' after declaration specifiers
static bool isnan(T x) { return std::isnan(x); }

/usr/local/include/math.h:165:7: note: expanded from macro 'isnan'
  ( sizeof(x) == sizeof(float)  ? __inline_isnanf((float)(x))          \
    ^
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/environment.cpp:5:
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/sensors/lidar.h:3:
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/sensors/../render/render.h:7:
In file included from /usr/local/include/pcl-1.12/pcl/visualization/pcl_visualizer.h:48:
In file included from /usr/local/include/pcl-1.12/pcl/visualization/common/actor_map.h:40:
In file included from /usr/local/include/pcl-1.12/pcl/visualization/point_cloud_geometry_handlers.h:51:
In file included from /usr/local/include/vtk-9.1/vtkFloatArray.h:27:
In file included from /usr/local/include/vtk-9.1/vtkAOSDataArrayTemplate.h:38:
In file included from /usr/local/include/vtk-9.1/vtkGenericDataArray.h:72:
/usr/local/include/vtk-9.1/vtkGenericDataArrayLookupHelper.h:40:15: error: expected ')'
/usr/local/include/math.h:165:7: note: expanded from macro 'isnan'
  ( sizeof(x) == sizeof(float)  ? __inline_isnanf((float)(x))          \
    ^
/usr/local/include/vtk-9.1/vtkGenericDataArrayLookupHelper.h:40:15: note: to match this '('
/usr/local/include/math.h:165:5: note: expanded from macro 'isnan'
  ( sizeof(x) == sizeof(float)  ? __inline_isnanf((float)(x))          \
  ^
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/environment.cpp:5:
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/sensors/lidar.h:3:
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/sensors/../render/render.h:7:
In file included from /usr/local/include/pcl-1.12/pcl/visualization/pcl_visualizer.h:48:
In file included from /usr/local/include/pcl-1.12/pcl/visualization/common/actor_map.h:40:
In file included from /usr/local/include/pcl-1.12/pcl/visualization/point_cloud_geometry_handlers.h:51:
In file included from /usr/local/include/vtk-9.1/vtkFloatArray.h:27:
In file included from /usr/local/include/vtk-9.1/vtkAOSDataArrayTemplate.h:38:
In file included from /usr/local/include/vtk-9.1/vtkGenericDataArray.h:72:
/usr/local/include/vtk-9.1/vtkGenericDataArrayLookupHelper.h:46:15: error: expected member name or ';' after declaration specifiers
static bool isnan(T) { return false; }
~~~~~~~~~~~ ^
/usr/local/include/math.h:165:7: note: expanded from macro 'isnan'
  ( sizeof(x) == sizeof(float)  ? __inline_isnanf((float)(x))          \
    ^
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/environment.cpp:5:
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/sensors/lidar.h:3:
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/sensors/../render/render.h:7:
In file included from /usr/local/include/pcl-1.12/pcl/visualization/pcl_visualizer.h:48:
In file included from /usr/local/include/pcl-1.12/pcl/visualization/common/actor_map.h:40:
In file included from /usr/local/include/pcl-1.12/pcl/visualization/point_cloud_geometry_handlers.h:51:
In file included from /usr/local/include/vtk-9.1/vtkFloatArray.h:27:
In file included from /usr/local/include/vtk-9.1/vtkAOSDataArrayTemplate.h:38:
In file included from /usr/local/include/vtk-9.1/vtkGenericDataArray.h:72:
/usr/local/include/vtk-9.1/vtkGenericDataArrayLookupHelper.h:46:15: error: expected ')'
/usr/local/include/math.h:165:7: note: expanded from macro 'isnan'
  ( sizeof(x) == sizeof(float)  ? __inline_isnanf((float)(x))          \
    ^
/usr/local/include/vtk-9.1/vtkGenericDataArrayLookupHelper.h:46:15: note: to match this '('
/usr/local/include/math.h:165:5: note: expanded from macro 'isnan'
  ( sizeof(x) == sizeof(float)  ? __inline_isnanf((float)(x))          \
  ^
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/environment.cpp:5:
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/sensors/lidar.h:3:
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/sensors/../render/render.h:7:
In file included from /usr/local/include/pcl-1.12/pcl/visualization/pcl_visualizer.h:48:
In file included from /usr/local/include/pcl-1.12/pcl/visualization/common/actor_map.h:40:
In file included from /usr/local/include/pcl-1.12/pcl/visualization/point_cloud_geometry_handlers.h:51:
In file included from /usr/local/include/vtk-9.1/vtkFloatArray.h:27:
In file included from /usr/local/include/vtk-9.1/vtkAOSDataArrayTemplate.h:38:
In file included from /usr/local/include/vtk-9.1/vtkGenericDataArray.h:72:
/usr/local/include/vtk-9.1/vtkGenericDataArrayLookupHelper.h:50:6: error: expected unqualified-id
bool isnan(T x)
   ^
/usr/local/include/math.h:165:7: note: expanded from macro 'isnan'
  ( sizeof(x) == sizeof(float)  ? __inline_isnanf((float)(x))          \
    ^
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/environment.cpp:5:
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/sensors/lidar.h:3:
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/sensors/../render/render.h:7:
In file included from /usr/local/include/pcl-1.12/pcl/visualization/pcl_visualizer.h:48:
In file included from /usr/local/include/pcl-1.12/pcl/visualization/common/actor_map.h:40:
In file included from /usr/local/include/pcl-1.12/pcl/visualization/point_cloud_geometry_handlers.h:51:
In file included from /usr/local/include/vtk-9.1/vtkFloatArray.h:27:
In file included from /usr/local/include/vtk-9.1/vtkAOSDataArrayTemplate.h:38:
In file included from /usr/local/include/vtk-9.1/vtkGenericDataArray.h:72:
/usr/local/include/vtk-9.1/vtkGenericDataArrayLookupHelper.h:50:6: error: expected ')'
/usr/local/include/math.h:165:7: note: expanded from macro 'isnan'
  ( sizeof(x) == sizeof(float)  ? __inline_isnanf((float)(x))          \
    ^
/usr/local/include/vtk-9.1/vtkGenericDataArrayLookupHelper.h:50:6: note: to match this '('
/usr/local/include/math.h:165:5: note: expanded from macro 'isnan'
  ( sizeof(x) == sizeof(float)  ? __inline_isnanf((float)(x))          \
  ^
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/environment.cpp:5:
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/sensors/lidar.h:3:
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/sensors/../render/render.h:7:
In file included from /usr/local/include/pcl-1.12/pcl/visualization/pcl_visualizer.h:48:
In file included from /usr/local/include/pcl-1.12/pcl/visualization/common/actor_map.h:40:
In file included from /usr/local/include/pcl-1.12/pcl/visualization/point_cloud_geometry_handlers.h:51:
In file included from /usr/local/include/vtk-9.1/vtkFloatArray.h:27:
In file included from /usr/local/include/vtk-9.1/vtkAOSDataArrayTemplate.h:38:
In file included from /usr/local/include/vtk-9.1/vtkGenericDataArray.h:72:
/usr/local/include/vtk-9.1/vtkGenericDataArrayLookupHelper.h:131:21: error: expected unqualified-id
    if (::detail::isnan(value))
                  ^
/usr/local/include/math.h:165:5: note: expanded from macro 'isnan'
  ( sizeof(x) == sizeof(float)  ? __inline_isnanf((float)(x))          \
  ^
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/environment.cpp:5:
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/sensors/lidar.h:3:
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/sensors/../render/render.h:7:
In file included from /usr/local/include/pcl-1.12/pcl/visualization/pcl_visualizer.h:48:
In file included from /usr/local/include/pcl-1.12/pcl/visualization/common/actor_map.h:40:
In file included from /usr/local/include/pcl-1.12/pcl/visualization/point_cloud_geometry_handlers.h:51:
In file included from /usr/local/include/vtk-9.1/vtkFloatArray.h:27:
In file included from /usr/local/include/vtk-9.1/vtkAOSDataArrayTemplate.h:38:
In file included from /usr/local/include/vtk-9.1/vtkGenericDataArray.h:72:
/usr/local/include/vtk-9.1/vtkGenericDataArrayLookupHelper.h:144:19: error: expected unqualified-id
  if (::detail::isnan(value) && !this->NanIndices.empty())
                ^
/usr/local/include/math.h:165:5: note: expanded from macro 'isnan'
  ( sizeof(x) == sizeof(float)  ? __inline_isnanf((float)(x))          \
  ^
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/environment.cpp:5:
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/sensors/lidar.h:3:
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/sensors/../render/render.h:7:
In file included from /usr/local/include/pcl-1.12/pcl/visualization/pcl_visualizer.h:48:
In file included from /usr/local/include/pcl-1.12/pcl/visualization/common/actor_map.h:40:
In file included from /usr/local/include/pcl-1.12/pcl/visualization/point_cloud_geometry_handlers.h:51:
In file included from /usr/local/include/vtk-9.1/vtkFloatArray.h:27:
In file included from /usr/local/include/vtk-9.1/vtkAOSDataArrayTemplate.h:38:
In file included from /usr/local/include/vtk-9.1/vtkGenericDataArray.h:422:
In file included from /usr/local/include/vtk-9.1/vtkGenericDataArray.txx:21:
/usr/local/include/vtk-9.1/vtkMath.h:2031:15: error: expected unqualified-id
return std::isinf(x);
            ^
/usr/local/include/math.h:160:5: note: expanded from macro 'isinf'
  ( sizeof(x) == sizeof(float)  ? __inline_isinff((float)(x))          \
  ^
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/environment.cpp:5:
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/sensors/lidar.h:3:
In file included from /Users/xpcai2016/Documents/GitHub/SFND_Lidar_Obstacle_Detection_Git/src/sensors/../render/render.h:7:
In file included from /usr/local/include/pcl-1.12/pcl/visualization/pcl_visualizer.h:48:
In file included from /usr/local/include/pcl-1.12/pcl/visualization/common/actor_map.h:40:
In file included from /usr/local/include/pcl-1.12/pcl/visualization/point_cloud_geometry_handlers.h:51:
In file included from /usr/local/include/vtk-9.1/vtkFloatArray.h:27:
In file included from /usr/local/include/vtk-9.1/vtkAOSDataArrayTemplate.h:38:
In file included from /usr/local/include/vtk-9.1/vtkGenericDataArray.h:422:
In file included from /usr/local/include/vtk-9.1/vtkGenericDataArray.txx:21:
/usr/local/include/vtk-9.1/vtkMath.h:2044:15: error: expected unqualified-id
return std::isnan(x);
            ^
/usr/local/include/math.h:165:5: note: expanded from macro 'isnan'
  ( sizeof(x) == sizeof(float)  ? __inline_isnanf((float)(x))          \
  ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make[2]: *** [CMakeFiles/environment.dir/src/environment.cpp.o] Error 1
make[1]: *** [CMakeFiles/environment.dir/all] Error 2
make: *** [all] Error 2
`

Build fails on Windows as it can't find libraries installed with vcpkg

Hi!

I faced the following issue when trying to build the project on Windows 10:

-- Selecting Windows SDK version 10.0.22621.0 to target Windows 6.2.9200.
CMake Error at CMakeLists.txt:16 (find_package):
  By not providing "FindPCL.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "PCL", but
  CMake did not find one.

  Could not find a package configuration file provided by "PCL" (requested
  version 1.11) with any of the following names:

    PCLConfig.cmake
    pcl-config.cmake

  Add the installation prefix of "PCL" to CMAKE_PREFIX_PATH or set "PCL_DIR"
  to a directory containing one of the above files.  If "PCL" provides a
  separate development package or SDK, be sure it has been installed.

Obviously, the toolchain file from vcpkg should be included within the CmakeLists.txt before running find_package() command:
include(/path/to/vcpkg/scripts/buildsystems/vcpkg.cmake)

Build error on Mac

Followed the steps to setup the required packages and cloned the repo. When I tried to build, I get the following dependency error and I am not sure what's the cause.

Screen Shot 2022-02-16 at 8 34 23 AM

Updated link to PCL on Windows

Hi Udacity Sensor Fusion team - it looks like the ReadMe startup guide has a broken link for the Windows setup of the Point Cloud Library. The existing link results in a 404 not found at pointclouds.org. Could the link be updated with the "Cross Platform" setup instructions here: PCL Cross-Platform.

Missing images in quiz markdown

Please check:
src/quiz/ransac/RansacQuiz.md and /src/quiz/cluster/ClusterQuiz.md
It would be great if we can put the quiz.md images in the media folder too!

Could not find a package configuration file provided by "PCL" ubuntu 19.04

I am having this error when i try to compile the project on ubuntu 19.04

`CMake Error at CMakeLists.txt:10 (find_package):
By not providing "FindPCL.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "PCL", but
CMake did not find one.

Could not find a package configuration file provided by "PCL" (requested
version 1.2) with any of the following names:

PCLConfig.cmake
pcl-config.cmake

Add the installation prefix of "PCL" to CMAKE_PREFIX_PATH or set "PCL_DIR"
to a directory containing one of the above files. If "PCL" provides a
separate development package or SDK, be sure it has been installed.

-- Configuring incomplete, errors occurred!
See also "/home/hema/SFND/01Lidar/SFND_Lidar_Obstacle_Detection/build/CMakeFiles/CMakeOutput.log".`

MacOS: Build Error: no member named 'filesystem' in namespace 'boost'

I'm following the steps given for MacOS and ran into a compilation error on the make step.

[ 25%] Building CXX object CMakeFiles/environment.dir/src/environment.cpp.o
In file included from /Users/farhan/devel/udacity/SFND_Lidar_Obstacle_Detection/src/environment.cpp:7:
/Users/farhan/devel/udacity/SFND_Lidar_Obstacle_Detection/src/processPointClouds.h:47:17: error: no member named 'filesystem' in namespace 'boost'; did you mean 'std::__fs::filesystem'?
    std::vector<boost::filesystem::path> streamPcd(std::string dataPath);
                ^~~~~~~~~~~~~~~~~
                std::__fs::filesystem
/Library/Developer/CommandLineTools/SDKs/MacOSX14.2.sdk/usr/include/c++/v1/__filesystem/u8path.h:32:1: note: 'std::__fs::filesystem' declared here
_LIBCPP_BEGIN_NAMESPACE_FILESYSTEM
^
/Library/Developer/CommandLineTools/SDKs/MacOSX14.2.sdk/usr/include/c++/v1/__config:724:62: note: expanded from macro '_LIBCPP_BEGIN_NAMESPACE_FILESYSTEM'
      _LIBCPP_BEGIN_NAMESPACE_STD namespace __fs { namespace filesystem {
                                                             ^
In file included from /Users/farhan/devel/udacity/SFND_Lidar_Obstacle_Detection/src/environment.cpp:9:
/Users/farhan/devel/udacity/SFND_Lidar_Obstacle_Detection/src/processPointClouds.cpp:132:13: error: no member named 'filesystem' in namespace 'boost'; did you mean 'std::__fs::filesystem'?
std::vector<boost::filesystem::path> ProcessPointClouds<PointT>::streamPcd(std::string dataPath)
            ^~~~~~~~~~~~~~~~~
            std::__fs::filesystem
/Library/Developer/CommandLineTools/SDKs/MacOSX14.2.sdk/usr/include/c++/v1/__filesystem/u8path.h:32:1: note: 'std::__fs::filesystem' declared here
_LIBCPP_BEGIN_NAMESPACE_FILESYSTEM
^
/Library/Developer/CommandLineTools/SDKs/MacOSX14.2.sdk/usr/include/c++/v1/__config:724:62: note: expanded from macro '_LIBCPP_BEGIN_NAMESPACE_FILESYSTEM'
      _LIBCPP_BEGIN_NAMESPACE_STD namespace __fs { namespace filesystem {
                                                             ^
In file included from /Users/farhan/devel/udacity/SFND_Lidar_Obstacle_Detection/src/environment.cpp:9:
/Users/farhan/devel/udacity/SFND_Lidar_Obstacle_Detection/src/processPointClouds.cpp:135:17: error: no member named 'filesystem' in namespace 'boost'; did you mean 'std::__fs::filesystem'?
    std::vector<boost::filesystem::path> paths(boost::filesystem::directory_iterator{dataPath}, boost::filesystem::directory_iterator{});
                ^~~~~~~~~~~~~~~~~
                std::__fs::filesystem
/Library/Developer/CommandLineTools/SDKs/MacOSX14.2.sdk/usr/include/c++/v1/__filesystem/u8path.h:32:1: note: 'std::__fs::filesystem' declared here
_LIBCPP_BEGIN_NAMESPACE_FILESYSTEM
^
/Library/Developer/CommandLineTools/SDKs/MacOSX14.2.sdk/usr/include/c++/v1/__config:724:62: note: expanded from macro '_LIBCPP_BEGIN_NAMESPACE_FILESYSTEM'
      _LIBCPP_BEGIN_NAMESPACE_STD namespace __fs { namespace filesystem {
                                                             ^
In file included from /Users/farhan/devel/udacity/SFND_Lidar_Obstacle_Detection/src/environment.cpp:9:
/Users/farhan/devel/udacity/SFND_Lidar_Obstacle_Detection/src/processPointClouds.cpp:135:48: error: no member named 'filesystem' in namespace 'boost'; did you mean 'std::__fs::filesystem'?
    std::vector<boost::filesystem::path> paths(boost::filesystem::directory_iterator{dataPath}, boost::filesystem::directory_iterator{});
                                               ^~~~~~~~~~~~~~~~~
                                               std::__fs::filesystem
/Library/Developer/CommandLineTools/SDKs/MacOSX14.2.sdk/usr/include/c++/v1/__filesystem/u8path.h:32:1: note: 'std::__fs::filesystem' declared here

Segmentation fault when launching environment application (Ubuntu 22.04)

Running ./environment app results in segmentation fault.
gbd debugging showed the problem on line 90 of environment.cpp file:
viewer->spinOnce ();
Further googling showed that the problem has been solved by PCL developers in further releases.
The recommendation is to build PCL from the source. Worked for me.

build failed on Ubuntu 20.04.4 LTS

Hi @UAnjali . Can you please help me with following issue.

/usr/include/pcl-1.10/pcl/point_representation.h: In instantiation of ‘void pcl::DefaultFeatureRepresentation<PointDefault>::NdCopyPointFunctor::operator()() [with Key = pcl::fields::alpha_m; PointDefault = pcl::PPFSignature]’:
/usr/include/pcl-1.10/pcl/for_each_type.h:87:51:   recursively required from ‘static void pcl::for_each_type_impl<false>::execute(F) [with Iterator = boost::mpl::v_iter<boost::mpl::vector<pcl::fields::f1, pcl::fields::f2, pcl::fields::f3, pcl::fields::f4, pcl::fields::alpha_m>, 1>; LastIterator = boost::mpl::v_iter<boost::mpl::vector<pcl::fields::f1, pcl::fields::f2, pcl::fields::f3, pcl::fields::f4, pcl::fields::alpha_m>, 5>; F = pcl::DefaultFeatureRepresentation<pcl::PPFSignature>::NdCopyPointFunctor]’
/usr/include/pcl-1.10/pcl/for_each_type.h:87:51:   required from ‘static void pcl::for_each_type_impl<false>::execute(F) [with Iterator = boost::mpl::v_iter<boost::mpl::vector<pcl::fields::f1, pcl::fields::f2, pcl::fields::f3, pcl::fields::f4, pcl::fields::alpha_m>, 0>; LastIterator = boost::mpl::v_iter<boost::mpl::vector<pcl::fields::f1, pcl::fields::f2, pcl::fields::f3, pcl::fields::f4, pcl::fields::alpha_m>, 5>; F = pcl::DefaultFeatureRepresentation<pcl::PPFSignature>::NdCopyPointFunctor]’
/usr/include/pcl-1.10/pcl/for_each_type.h:98:92:   required from ‘void pcl::for_each_type(F) [with Sequence = boost::mpl::vector<pcl::fields::f1, pcl::fields::f2, pcl::fields::f3, pcl::fields::f4, pcl::fields::alpha_m>; F = pcl::DefaultFeatureRepresentation<pcl::PPFSignature>::NdCopyPointFunctor]’
/usr/include/pcl-1.10/pcl/point_representation.h:310:40:   required from ‘void pcl::DefaultFeatureRepresentation<PointDefault>::copyToFloatArray(const PointDefault&, float*) const [with PointDefault = pcl::PPFSignature]’
/usr/include/pcl-1.10/pcl/point_representation.h:308:7:   required from here
/usr/include/pcl-1.10/pcl/point_representation.h:252:48: error: the value of ‘NrDims’ is not usable in a constant expression
/usr/include/pcl-1.10/pcl/point_representation.h:251:19: note: ‘NrDims’ was not initialized with a constant expression
  251 |         const int NrDims = pcl::traits::datatype<PointDefault, Key>::size;
      |                   ^~~~~~
/usr/include/pcl-1.10/pcl/point_representation.h:252:48: note: in template argument for type ‘int’
  252 |         Helper<Key, FieldT, NrDims>::copyPoint (p1_, p2_, f_idx_);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
make[2]: *** [CMakeFiles/environment.dir/build.make:63: CMakeFiles/environment.dir/src/environment.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:76: CMakeFiles/environment.dir/all] Error 2
make: *** [Makefile:84: all] Error 2
(base) tdc@tdc:~/Desktop/SDC/SFND_Lida

Make in MacOS Catalina fails

I have followed all the steps but when doing the make I get this error.

MacBook-Pro-de-Hector-2:build hectoresteban$ make
Scanning dependencies of target environment
[ 25%] Building CXX object CMakeFiles/environment.dir/src/environment.cpp.o
In file included from /Users/hectoresteban/Documents/C++/SensorFusion/SFND_Lidar_Obstacle_Detection/src/environment.cpp:5:
In file included from /Users/hectoresteban/Documents/C++/SensorFusion/SFND_Lidar_Obstacle_Detection/src/sensors/lidar.h:3:
In file included from /Users/hectoresteban/Documents/C++/SensorFusion/SFND_Lidar_Obstacle_Detection/src/sensors/../render/render.h:7:
In file included from /usr/local/include/pcl-1.9/pcl/visualization/pcl_visualizer.h:42:
In file included from /usr/local/include/pcl-1.9/pcl/correspondence.h:46:
In file included from /usr/local/include/eigen3/Eigen/StdVector:14:
In file included from /usr/local/include/eigen3/Eigen/Core:96:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/complex:245:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cmath:317:9: error: no member named 'signbit' in the global namespace
using ::signbit;
      ~~^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cmath:318:9: error: no member named 'fpclassify' in the global namespace
using ::fpclassify;
      ~~^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cmath:319:9: error: no member named 'isfinite' in the global namespace; did you mean 'finite'?
using ::isfinite;
      ~~^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/math.h:749:12: note: 'finite' declared here
extern int finite(double)
           ^
In file included from /Users/hectoresteban/Documents/C++/SensorFusion/SFND_Lidar_Obstacle_Detection/src/environment.cpp:5:
In file included from /Users/hectoresteban/Documents/C++/SensorFusion/SFND_Lidar_Obstacle_Detection/src/sensors/lidar.h:3:
In file included from /Users/hectoresteban/Documents/C++/SensorFusion/SFND_Lidar_Obstacle_Detection/src/sensors/../render/render.h:7:
In file included from /usr/local/include/pcl-1.9/pcl/visualization/pcl_visualizer.h:42:
In file included from /usr/local/include/pcl-1.9/pcl/correspondence.h:46:
In file included from /usr/local/include/eigen3/Eigen/StdVector:14:
In file included from /usr/local/include/eigen3/Eigen/Core:96:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/complex:245:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cmath:320:9: error: no member named 'isinf' in the global namespace
using ::isinf;
      ~~^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cmath:321:9: error: no member named 'isnan' in the global namespace
using ::isnan;
      ~~^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cmath:322:9: error: no member named 'isnormal' in the global namespace
using ::isnormal;
      ~~^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cmath:323:7: error: no member named 'isgreater' in the global namespace; did you mean '::std::greater'?
using ::isgreater;
      ^~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional:731:29: note: '::std::greater' declared here
struct _LIBCPP_TEMPLATE_VIS greater : binary_function<_Tp, _Tp, bool>
                            ^
In file included from /Users/hectoresteban/Documents/C++/SensorFusion/SFND_Lidar_Obstacle_Detection/src/environment.cpp:5:
In file included from /Users/hectoresteban/Documents/C++/SensorFusion/SFND_Lidar_Obstacle_Detection/src/sensors/lidar.h:3:
In file included from /Users/hectoresteban/Documents/C++/SensorFusion/SFND_Lidar_Obstacle_Detection/src/sensors/../render/render.h:7:
In file included from /usr/local/include/pcl-1.9/pcl/visualization/pcl_visualizer.h:42:
In file included from /usr/local/include/pcl-1.9/pcl/correspondence.h:46:
In file included from /usr/local/include/eigen3/Eigen/StdVector:14:
In file included from /usr/local/include/eigen3/Eigen/Core:96:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/complex:245:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cmath:324:7: error: no member named 'isgreaterequal' in the global namespace; did you mean '::std::greater_equal'?
using ::isgreaterequal;
      ^~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional:760:29: note: '::std::greater_equal' declared here
struct _LIBCPP_TEMPLATE_VIS greater_equal : binary_function<_Tp, _Tp, bool>
                            ^
In file included from /Users/hectoresteban/Documents/C++/SensorFusion/SFND_Lidar_Obstacle_Detection/src/environment.cpp:5:
In file included from /Users/hectoresteban/Documents/C++/SensorFusion/SFND_Lidar_Obstacle_Detection/src/sensors/lidar.h:3:
In file included from /Users/hectoresteban/Documents/C++/SensorFusion/SFND_Lidar_Obstacle_Detection/src/sensors/../render/render.h:7:
In file included from /usr/local/include/pcl-1.9/pcl/visualization/pcl_visualizer.h:42:
In file included from /usr/local/include/pcl-1.9/pcl/correspondence.h:46:
In file included from /usr/local/include/eigen3/Eigen/StdVector:14:
In file included from /usr/local/include/eigen3/Eigen/Core:96:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/complex:245:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cmath:325:9: error: no member named 'isless' in the global namespace
using ::isless;
      ~~^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cmath:326:9: error: no member named 'islessequal' in the global namespace
using ::islessequal;
      ~~^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cmath:327:9: error: no member named 'islessgreater' in the global namespace
using ::islessgreater;
      ~~^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cmath:328:9: error: no member named 'isunordered' in the global namespace
using ::isunordered;
      ~~^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cmath:329:9: error: no member named 'isunordered' in the global namespace
using ::isunordered;
      ~~^
In file included from /Users/hectoresteban/Documents/C++/SensorFusion/SFND_Lidar_Obstacle_Detection/src/environment.cpp:5:
In file included from /Users/hectoresteban/Documents/C++/SensorFusion/SFND_Lidar_Obstacle_Detection/src/sensors/lidar.h:3:
In file included from /Users/hectoresteban/Documents/C++/SensorFusion/SFND_Lidar_Obstacle_Detection/src/sensors/../render/render.h:7:
In file included from /usr/local/include/pcl-1.9/pcl/visualization/pcl_visualizer.h:42:
In file included from /usr/local/include/pcl-1.9/pcl/correspondence.h:46:
In file included from /usr/local/include/eigen3/Eigen/StdVector:14:
In file included from /usr/local/include/eigen3/Eigen/Core:371:
/usr/local/include/eigen3/Eigen/src/Core/MathFunctions.h:719:16: error: no member named 'isfinite' in namespace 'std'; did you mean 'finite'?
    using std::isfinite;
          ~~~~~^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cmath:319:9: note: 'finite' declared here
using ::isfinite;
        ^
In file included from /Users/hectoresteban/Documents/C++/SensorFusion/SFND_Lidar_Obstacle_Detection/src/environment.cpp:5:
In file included from /Users/hectoresteban/Documents/C++/SensorFusion/SFND_Lidar_Obstacle_Detection/src/sensors/lidar.h:3:
In file included from /Users/hectoresteban/Documents/C++/SensorFusion/SFND_Lidar_Obstacle_Detection/src/sensors/../render/render.h:7:
In file included from /usr/local/include/pcl-1.9/pcl/visualization/pcl_visualizer.h:42:
In file included from /usr/local/include/pcl-1.9/pcl/correspondence.h:46:
In file included from /usr/local/include/eigen3/Eigen/StdVector:14:
In file included from /usr/local/include/eigen3/Eigen/Core:371:
/usr/local/include/eigen3/Eigen/src/Core/MathFunctions.h:734:16: error: no member named 'isinf' in namespace 'std'
    using std::isinf;
          ~~~~~^
/usr/local/include/eigen3/Eigen/src/Core/MathFunctions.h:749:16: error: no member named 'isnan' in namespace 'std'
    using std::isnan;
          ~~~~~^
In file included from /Users/hectoresteban/Documents/C++/SensorFusion/SFND_Lidar_Obstacle_Detection/src/environment.cpp:5:
In file included from /Users/hectoresteban/Documents/C++/SensorFusion/SFND_Lidar_Obstacle_Detection/src/sensors/lidar.h:3:
In file included from /Users/hectoresteban/Documents/C++/SensorFusion/SFND_Lidar_Obstacle_Detection/src/sensors/../render/render.h:7:
In file included from /usr/local/include/pcl-1.9/pcl/visualization/pcl_visualizer.h:48:
In file included from /usr/local/include/pcl-1.9/pcl/visualization/common/actor_map.h:40:
In file included from /usr/local/include/pcl-1.9/pcl/visualization/point_cloud_handlers.h:41:
In file included from /usr/local/include/pcl-1.9/pcl/visualization/point_cloud_geometry_handlers.h:50:
In file included from /usr/local/Cellar/vtk/8.2.0_10/include/vtk-8.2/vtkFloatArray.h:29:
In file included from /usr/local/Cellar/vtk/8.2.0_10/include/vtk-8.2/vtkAOSDataArrayTemplate.h:35:
In file included from /usr/local/Cellar/vtk/8.2.0_10/include/vtk-8.2/vtkGenericDataArray.h:72:
/usr/local/Cellar/vtk/8.2.0_10/include/vtk-8.2/vtkGenericDataArrayLookupHelper.h:40:13: error: expected member name or ';' after declaration specifiers
static bool isnan(T x)
~~~~~~~~~~~ ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/math.h:165:7: note: expanded from macro 'isnan'
    ( sizeof(x) == sizeof(float)  ? __inline_isnanf((float)(x))          \
      ^
In file included from /Users/hectoresteban/Documents/C++/SensorFusion/SFND_Lidar_Obstacle_Detection/src/environment.cpp:5:
In file included from /Users/hectoresteban/Documents/C++/SensorFusion/SFND_Lidar_Obstacle_Detection/src/sensors/lidar.h:3:
In file included from /Users/hectoresteban/Documents/C++/SensorFusion/SFND_Lidar_Obstacle_Detection/src/sensors/../render/render.h:7:
In file included from /usr/local/include/pcl-1.9/pcl/visualization/pcl_visualizer.h:48:
In file included from /usr/local/include/pcl-1.9/pcl/visualization/common/actor_map.h:40:
In file included from /usr/local/include/pcl-1.9/pcl/visualization/point_cloud_handlers.h:41:
In file included from /usr/local/include/pcl-1.9/pcl/visualization/point_cloud_geometry_handlers.h:50:
In file included from /usr/local/Cellar/vtk/8.2.0_10/include/vtk-8.2/vtkFloatArray.h:29:
In file included from /usr/local/Cellar/vtk/8.2.0_10/include/vtk-8.2/vtkAOSDataArrayTemplate.h:35:
In file included from /usr/local/Cellar/vtk/8.2.0_10/include/vtk-8.2/vtkGenericDataArray.h:72:
/usr/local/Cellar/vtk/8.2.0_10/include/vtk-8.2/vtkGenericDataArrayLookupHelper.h:40:13: error: expected ')'
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/math.h:165:7: note: expanded from macro 'isnan'
    ( sizeof(x) == sizeof(float)  ? __inline_isnanf((float)(x))          \
      ^
/usr/local/Cellar/vtk/8.2.0_10/include/vtk-8.2/vtkGenericDataArrayLookupHelper.h:40:13: note: to match this '('
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/math.h:165:5: note: expanded from macro 'isnan'
    ( sizeof(x) == sizeof(float)  ? __inline_isnanf((float)(x))          \
    ^
In file included from /Users/hectoresteban/Documents/C++/SensorFusion/SFND_Lidar_Obstacle_Detection/src/environment.cpp:5:
In file included from /Users/hectoresteban/Documents/C++/SensorFusion/SFND_Lidar_Obstacle_Detection/src/sensors/lidar.h:3:
In file included from /Users/hectoresteban/Documents/C++/SensorFusion/SFND_Lidar_Obstacle_Detection/src/sensors/../render/render.h:7:
In file included from /usr/local/include/pcl-1.9/pcl/visualization/pcl_visualizer.h:48:
In file included from /usr/local/include/pcl-1.9/pcl/visualization/common/actor_map.h:40:
In file included from /usr/local/include/pcl-1.9/pcl/visualization/point_cloud_handlers.h:41:
In file included from /usr/local/include/pcl-1.9/pcl/visualization/point_cloud_geometry_handlers.h:50:
In file included from /usr/local/Cellar/vtk/8.2.0_10/include/vtk-8.2/vtkFloatArray.h:29:
In file included from /usr/local/Cellar/vtk/8.2.0_10/include/vtk-8.2/vtkAOSDataArrayTemplate.h:35:
In file included from /usr/local/Cellar/vtk/8.2.0_10/include/vtk-8.2/vtkGenericDataArray.h:72:
/usr/local/Cellar/vtk/8.2.0_10/include/vtk-8.2/vtkGenericDataArrayLookupHelper.h:49:15: error: expected member name or ';' after declaration specifiers
  static bool isnan(T)
  ~~~~~~~~~~~ ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/math.h:165:7: note: expanded from macro 'isnan'
    ( sizeof(x) == sizeof(float)  ? __inline_isnanf((float)(x))          \
      ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make[2]: *** [CMakeFiles/environment.dir/src/environment.cpp.o] Error 1
make[1]: *** [CMakeFiles/environment.dir/all] Error 2
make: *** [all] Error 2
MacBook-Pro-de-Hector-2:build hectoresteban$ 

Add destructors to KdTree and Node

Both Node and KdTree have pointers to Nodes, which I believe wont be deleted by an unaware programmer. I suggest adding destructors to those two classes where the corresponding pointers would be deleted.

Helpful link for someone who meet error below.

  1. ' "/usr/lib/x86_64-linux-gnu/libEGL.so" but this file does not exist' error
    sudo rm /usr/lib/x86_64-linux-gnu/libEGL.so; sudo ln /usr/lib/x86_64-linux-gnu/libEGL.so.1 /usr/lib/x86_64-linux-gnu/libEGL.so

  2. When you met an error below during 'make'
    *** No rule to make target '/usr/lib/x86_64-linux-gnu/libproj.so'
    --> link

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.