#include <lidar.hpp>
Public Member Functions | |
| template<> | |
| void | detectEdges (const pcl::PointCloud< pcl::PointXYZ >::Ptr &points, pcl::PointCloud< pcl::PointXYZL >::Ptr &edges) |
| Scanner type. More... | |
| void | detectEdges (const pcl::PointCloud< pcl::PointXYZ >::Ptr &points, pcl::PointCloud< pcl::PointXYZL >::Ptr &edges) |
| template<> | |
| void | detectEdges (const pcl::PointCloud< pcl::PointXYZ >::Ptr &points, pcl::PointCloud< pcl::PointXYZL >::Ptr &edges) |
| overload detectEdges for Scanner type More... | |
| template<> | |
| void | detectEdges (const pcl::PointCloud< pcl::PointXYZ >::Ptr &points, pcl::PointCloud< pcl::PointXYZL >::Ptr &edges) |
| overload detectEdges for Imager type More... | |
| template<> | |
| void | detectEdges (const pcl::PointCloud< pcl::PointXYZ >::Ptr &points, pcl::PointCloud< pcl::PointXYZL >::Ptr &edges) |
| Imager type. More... | |
| void | detectSurfaces (const pcl::PointCloud< pcl::PointXYZ >::Ptr &points, pcl::PointCloud< pcl::PointNormal >::Ptr &normals) |
| template<> | |
| void | detectSurfaces (const pcl::PointCloud< pcl::PointXYZ >::Ptr &points, pcl::PointCloud< pcl::PointNormal >::Ptr &normals) |
| overload detectSurfaces for Scanner type More... | |
| template<> | |
| void | detectSurfaces (const pcl::PointCloud< pcl::PointXYZ >::Ptr &points, pcl::PointCloud< pcl::PointNormal >::Ptr &normals) |
| overload detectSurfaces for Imager type More... | |
| template<> | |
| void | detectSurfaces (const pcl::PointCloud< pcl::PointXYZ >::Ptr &points, pcl::PointCloud< pcl::PointNormal >::Ptr &normals) |
| Scanner type. More... | |
| template<> | |
| void | detectSurfaces (const pcl::PointCloud< pcl::PointXYZ >::Ptr &points, pcl::PointCloud< pcl::PointNormal >::Ptr &normals) |
| overloaded for Imager type More... | |
Public Attributes | |
| std::vector< int > | m_addedPoints |
| Eigen::Matrix< std::complex< double >, 3, 3 > | m_covariance |
| covariance objects More... | |
| Eigen::Matrix< std::complex< double >, 3, 1 > | m_eigenValues |
| pcl::KdTreeFLANN< pcl::PointXYZ > | m_kdTree |
| kdTree More... | |
| std::vector< pcl::PointCloud< pcl::PointXYZ >::Ptr > | m_lidarScans |
| lidarScans More... | |
| T | m_settings |
| Settings for specific Lidar type. More... | |
| floam::lidar::Total | m_total |
| Total counters (i.e. frames and time) More... | |
| std::vector< int > | pointSearch |
| std::vector< float > | pointSquaredDistance |
| void floam::lidar::Lidar< floam::lidar::Scanner >::detectEdges | ( | const pcl::PointCloud< pcl::PointXYZ >::Ptr & | points, |
| pcl::PointCloud< pcl::PointXYZL >::Ptr & | edges | ||
| ) |
Scanner type.
clear addedPoints
clear lidar scans
TODO(flynneva): use downsampling technique instead of just skipping points? number of points to skip
calculate radial distance to point
number of neighbor points found - 1
divide matrix by number of points - 1
calculate surface variation
end function
(flynneva) why 131?
TODO(flynneva): separate out this bit to function?
input: points, sectorSize output: cloudCurvature
end of potential cloudCurvature func
loop over sectors
| void floam::lidar::Lidar< T >::detectEdges | ( | const pcl::PointCloud< pcl::PointXYZ >::Ptr & | points, |
| pcl::PointCloud< pcl::PointXYZL >::Ptr & | edges | ||
| ) |
Detects edges from input pointcloud
| points | input pointcloud |
| edges | output edges |
| void floam::lidar::Lidar< floam::lidar::Scanner >::detectEdges | ( | const pcl::PointCloud< pcl::PointXYZ >::Ptr & | points, |
| pcl::PointCloud< pcl::PointXYZL >::Ptr & | edges | ||
| ) |
overload detectEdges for Scanner type
| void floam::lidar::Lidar< floam::lidar::Imager >::detectEdges | ( | const pcl::PointCloud< pcl::PointXYZ >::Ptr & | points, |
| pcl::PointCloud< pcl::PointXYZL >::Ptr & | edges | ||
| ) |
overload detectEdges for Imager type
| void floam::lidar::Lidar< floam::lidar::Imager >::detectEdges | ( | const pcl::PointCloud< pcl::PointXYZ >::Ptr & | points, |
| pcl::PointCloud< pcl::PointXYZL >::Ptr & | edges | ||
| ) |
| void floam::lidar::Lidar< T >::detectSurfaces | ( | const pcl::PointCloud< pcl::PointXYZ >::Ptr & | points, |
| pcl::PointCloud< pcl::PointNormal >::Ptr & | normals | ||
| ) |
Detects surface normals from input pointcloud
| points | input pointcloud |
| edges | output edges |
| void floam::lidar::Lidar< floam::lidar::Scanner >::detectSurfaces | ( | const pcl::PointCloud< pcl::PointXYZ >::Ptr & | points, |
| pcl::PointCloud< pcl::PointNormal >::Ptr & | normals | ||
| ) |
overload detectSurfaces for Scanner type
| void floam::lidar::Lidar< floam::lidar::Imager >::detectSurfaces | ( | const pcl::PointCloud< pcl::PointXYZ >::Ptr & | points, |
| pcl::PointCloud< pcl::PointNormal >::Ptr & | normals | ||
| ) |
overload detectSurfaces for Imager type
| void floam::lidar::Lidar< floam::lidar::Scanner >::detectSurfaces | ( | const pcl::PointCloud< pcl::PointXYZ >::Ptr & | points, |
| pcl::PointCloud< pcl::PointNormal >::Ptr & | normals | ||
| ) |
| void floam::lidar::Lidar< floam::lidar::Imager >::detectSurfaces | ( | const pcl::PointCloud< pcl::PointXYZ >::Ptr & | points, |
| pcl::PointCloud< pcl::PointNormal >::Ptr & | normals | ||
| ) |
| std::vector<int> floam::lidar::Lidar< T >::m_addedPoints |
| Eigen::Matrix<std::complex<double>, 3, 3> floam::lidar::Lidar< T >::m_covariance |
| Eigen::Matrix<std::complex<double>, 3, 1> floam::lidar::Lidar< T >::m_eigenValues |
| pcl::KdTreeFLANN<pcl::PointXYZ> floam::lidar::Lidar< T >::m_kdTree |
| std::vector<pcl::PointCloud<pcl::PointXYZ>::Ptr> floam::lidar::Lidar< T >::m_lidarScans |
| T floam::lidar::Lidar< T >::m_settings |
| floam::lidar::Total floam::lidar::Lidar< T >::m_total |
| std::vector<int> floam::lidar::Lidar< T >::pointSearch |
| std::vector<float> floam::lidar::Lidar< T >::pointSquaredDistance |