Main MRPT website > C++ reference for MRPT 1.5.7
List of all members | Classes | Protected Member Functions | Protected Attributes
mrpt::graphslam::deciders::CRangeScanOps< GRAPH_T > Class Template Reference

Detailed Description

template<class GRAPH_T = typename mrpt::graphs::CNetworkOfPoses2DInf>
class mrpt::graphslam::deciders::CRangeScanOps< GRAPH_T >

Class for keeping together all the RangeScanner-related functions.

Description

Deciders that make use of either 2DRangeScans (laser generated observations) or 3DRangeScans (RGBD-cameras) can inherit from this class in case they want to use the underlying methods

.ini Configuration Parameters

The configuration parameters of the current decider class are listed below. These parameters are parsed from an external .ini configuration file from their respective section. If an optional parameter is not found a default value is used instead. If a mandatory/required parameter is not found a runtime error is raised. For a sample configuration file see $mrpt/share/mrpt/config_files/graphslam-engine/laser_odometry.ini (Modify $mrpt according to the path of your mrpt source directory).
Note
Class contains an instance of the mrpt::slam::CICP class and it parses the configuration parameters of the latter from the "ICP" section. Refer to mrpt::slam::CICP documentation for its list of configuration parameters

Definition at line 81 of file CRangeScanOps.h.

#include <mrpt/graphslam/misc/CRangeScanOps.h>

Inheritance diagram for mrpt::graphslam::deciders::CRangeScanOps< GRAPH_T >:
Inheritance graph

Classes

struct  TParams
 

Protected Member Functions

void getICPEdge (const mrpt::obs::CObservation2DRangeScan &from, const mrpt::obs::CObservation2DRangeScan &to, constraint_t *rel_edge, const mrpt::poses::CPose2D *initial_pose=NULL, mrpt::slam::CICP::TReturnInfo *icp_info=NULL)
 Align the 2D range scans provided and fill the potential edge that can transform the one into the other. More...
 
void getICPEdge (const mrpt::obs::CObservation3DRangeScan &from, const mrpt::obs::CObservation3DRangeScan &to, constraint_t *rel_edge, const mrpt::poses::CPose2D *initial_pose=NULL, mrpt::slam::CICP::TReturnInfo *icp_info=NULL)
 Align the 3D range scans provided and find the potential edge that can transform the one into the other. More...
 
void decimatePointsMap (mrpt::maps::CPointsMap *m, size_t keep_point_every=4, size_t low_lim=0)
 Reduce the size of the given CPointsMap by keeping one out of "keep_point_every" points. More...
 
bool convert3DTo2DRangeScan (mrpt::obs::CObservation3DRangeScanPtr &scan3D_in, mrpt::obs::CObservation2DRangeScanPtr *scan2D_out=NULL)
 Wrapper around the CObservation3DRangeScan::convertTo2DScan corresponding method. More...
 

Protected Attributes

TParams params
 

Private Types

typedef GRAPH_T::constraint_t constraint_t
 Handy typedefs. More...
 
typedef CRangeScanOps< GRAPH_T > self_t
 

Member Typedef Documentation

◆ constraint_t

template<class GRAPH_T = typename mrpt::graphs::CNetworkOfPoses2DInf>
typedef GRAPH_T::constraint_t mrpt::graphslam::deciders::CRangeScanOps< GRAPH_T >::constraint_t
private

Handy typedefs.

Definition at line 84 of file CRangeScanOps.h.

◆ self_t

template<class GRAPH_T = typename mrpt::graphs::CNetworkOfPoses2DInf>
typedef CRangeScanOps<GRAPH_T> mrpt::graphslam::deciders::CRangeScanOps< GRAPH_T >::self_t
private

Definition at line 85 of file CRangeScanOps.h.

Member Function Documentation

◆ convert3DTo2DRangeScan()

template<class GRAPH_T >
bool mrpt::graphslam::deciders::CRangeScanOps< GRAPH_T >::convert3DTo2DRangeScan ( mrpt::obs::CObservation3DRangeScanPtr &  scan3D_in,
mrpt::obs::CObservation2DRangeScanPtr *  scan2D_out = NULL 
)
protected

Wrapper around the CObservation3DRangeScan::convertTo2DScan corresponding method.

Returns
True if operation was successful, false otherwise

Definition at line 139 of file CRangeScanOps_impl.h.

References mrpt::obs::CObservation2DRangeScan::Create(), MRPT_END, and MRPT_START.

Referenced by mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::updateState().

◆ decimatePointsMap()

template<class GRAPH_T >
void mrpt::graphslam::deciders::CRangeScanOps< GRAPH_T >::decimatePointsMap ( mrpt::maps::CPointsMap m,
size_t  keep_point_every = 4,
size_t  low_lim = 0 
)
protected

Reduce the size of the given CPointsMap by keeping one out of "keep_point_every" points.

Note
If low_lim is set then the PointsMap will contain at least low_lim measurements, regardless of keep_point_every value. Set low_lim to 0 if no lower limit is to be specified

Definition at line 110 of file CRangeScanOps_impl.h.

References mrpt::maps::CPointsMap::applyDeletionMask(), min, MRPT_END, MRPT_START, and mrpt::maps::CPointsMap::size().

◆ getICPEdge() [1/2]

template<class GRAPH_T >
void mrpt::graphslam::deciders::CRangeScanOps< GRAPH_T >::getICPEdge ( const mrpt::obs::CObservation2DRangeScan from,
const mrpt::obs::CObservation2DRangeScan to,
constraint_t rel_edge,
const mrpt::poses::CPose2D initial_pose = NULL,
mrpt::slam::CICP::TReturnInfo icp_info = NULL 
)
protected

Align the 2D range scans provided and fill the potential edge that can transform the one into the other.

User can optionally ask that additional information be returned in a TReturnInfo struct

Definition at line 16 of file CRangeScanOps_impl.h.

References info, mrpt::maps::CMetricMap::insertObservation(), MRPT_END, and MRPT_START.

Referenced by mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::checkRegistrationCondition2D(), mrpt::graphslam::deciders::CICPCriteriaNRD< GRAPH_T >::checkRegistrationCondition2D(), and mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::checkRegistrationCondition3D().

◆ getICPEdge() [2/2]

template<class GRAPH_T >
void mrpt::graphslam::deciders::CRangeScanOps< GRAPH_T >::getICPEdge ( const mrpt::obs::CObservation3DRangeScan from,
const mrpt::obs::CObservation3DRangeScan to,
constraint_t rel_edge,
const mrpt::poses::CPose2D initial_pose = NULL,
mrpt::slam::CICP::TReturnInfo icp_info = NULL 
)
protected

Align the 3D range scans provided and find the potential edge that can transform the one into the other.

Fills the 2D part (rel_edge) of the 3D constraint between the scans, since we are interested in computing the 2D alignment. User can optionally ask that additional information be returned in a TReturnInfo struct

Definition at line 54 of file CRangeScanOps_impl.h.

References ASSERTMSG_, mrpt::mrpt::format(), mrpt::obs::CObservation3DRangeScan::hasRangeImage, info, mrpt::maps::CMetricMap::insertObservation(), MRPT_END, and MRPT_START.

Member Data Documentation

◆ params

template<class GRAPH_T = typename mrpt::graphs::CNetworkOfPoses2DInf>
TParams mrpt::graphslam::deciders::CRangeScanOps< GRAPH_T >::params
protected

Definition at line 155 of file CRangeScanOps.h.




Page generated by Doxygen 1.8.14 for MRPT 1.5.7 Git: 5902e14cc Wed Apr 24 15:04:01 2019 +0200 at lun oct 28 01:39:17 CET 2019