28#ifndef SRC_LOCAL_MAP_H_
29#define SRC_LOCAL_MAP_H_
31#include "rtabmap/core/rtabmap_core_export.h"
33#include <pcl/pcl_base.h>
34#include <pcl/point_types.h>
36#include <rtabmap/core/Transform.h>
37#include <rtabmap/core/Parameters.h>
38#include <rtabmap/core/Signature.h>
97 template<
typename Po
intT>
98 typename pcl::PointCloud<PointT>::Ptr segmentCloud(
99 const typename pcl::PointCloud<PointT>::Ptr & cloud,
100 const pcl::IndicesPtr & indices,
102 const cv::Point3f & viewPoint,
103 pcl::IndicesPtr & groundIndices,
104 pcl::IndicesPtr & obstaclesIndices,
105 pcl::IndicesPtr * flatObstacles = 0)
const;
125 cv::Mat & groundCells,
126 cv::Mat & obstacleCells,
127 cv::Mat & emptyCells,
128 cv::Point3f & viewPoint);
146 cv::Mat & groundCells,
147 cv::Mat & obstacleCells,
148 cv::Mat & emptyCells,
149 cv::Point3f & viewPointInOut)
const;
163 template<
typename Po
intT>
164 static pcl::IndicesPtr noiseFilteringWithMaxRange(
165 const typename pcl::PointCloud<PointT>::Ptr & cloud,
166 const pcl::IndicesPtr & indices,
169 int minNeighborsInRadius);
174 unsigned int cloudDecimation_;
177 std::vector<float> roiRatios_;
178 float footprintLength_;
179 float footprintWidth_;
180 float footprintHeight_;
183 bool preVoxelFiltering_;
184 int occupancySensor_;
186 float maxObstacleHeight_;
188 float groundNormalsUp_;
189 float maxGroundAngle_;
190 float clusterRadius_;
192 bool flatObstaclesDetected_;
193 float minGroundHeight_;
194 float maxGroundHeight_;
195 bool normalsSegmentation_;
197 bool groundIsObstacle_;
198 float noiseFilteringRadius_;
199 int noiseFilteringMinNeighbors_;
200 bool scan2dUnknownSpaceFilled_;
206#include <rtabmap/core/impl/LocalMapMaker.hpp>
Represents 2D or 3D laser scan data with support for multiple point data formats.
Builds per-node local occupancy grids from laser scans or depth clouds.
float getCellSize() const
void createLocalMap(const LaserScan &cloud, const Transform &pose, cv::Mat &groundCells, cv::Mat &obstacleCells, cv::Mat &emptyCells, cv::Point3f &viewPointInOut) const
Creates a local grid from a 3D (or organized) LaserScan.
bool isGridFromDepth() const
virtual void parseParameters(const ParametersMap ¶meters)
Updates grid settings from Grid/ entries in parameters.
LocalGridMaker(const ParametersMap ¶meters=ParametersMap())
Constructs with parseParameters() on parameters (or defaults).
void createLocalMap(const Signature &node, cv::Mat &groundCells, cv::Mat &obstacleCells, cv::Mat &emptyCells, cv::Point3f &viewPoint)
Creates a local grid from a Signature's laser scan or depth data.
bool isMapFrameProjection() const
Represents a node in RTAB-Map's pose graph.
std::map< std::string, std::string > ParametersMap
Parameter keys mapped to their values, as used by every configurable class (see Parameters).