Main MRPT website > C++ reference for MRPT 1.9.9
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 76 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=nullptr, mrpt::slam::CICP::TReturnInfo *icp_info=nullptr)
 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=nullptr, mrpt::slam::CICP::TReturnInfo *icp_info=nullptr)
 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::CObservation3DRangeScan::Ptr &scan3D_in, mrpt::obs::CObservation2DRangeScan::Ptr *scan2D_out=nullptr)
 Wrapper around the CObservation3DRangeScan::convertTo2DScan corresponding method. More...
 

Protected Attributes

TParams params
 
using constraint_t = typename GRAPH_T::constraint_t
 Handy typedefs. More...
 
using self_t = CRangeScanOps< GRAPH_T >
 

Member Typedef Documentation

◆ constraint_t

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

Handy typedefs.

Definition at line 80 of file CRangeScanOps.h.

◆ self_t

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

Definition at line 81 of file CRangeScanOps.h.

Member Function Documentation

◆ convert3DTo2DRangeScan()

template<class GRAPH_T >
bool mrpt::graphslam::deciders::CRangeScanOps< GRAPH_T >::convert3DTo2DRangeScan ( mrpt::obs::CObservation3DRangeScan::Ptr scan3D_in,
mrpt::obs::CObservation2DRangeScan::Ptr scan2D_out = nullptr 
)
protected

Wrapper around the CObservation3DRangeScan::convertTo2DScan corresponding method.

Returns
True if operation was successful, false otherwise

Definition at line 147 of file CRangeScanOps_impl.h.

◆ 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 113 of file CRangeScanOps_impl.h.

◆ 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 = nullptr,
mrpt::slam::CICP::TReturnInfo icp_info = nullptr 
)
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 20 of file CRangeScanOps_impl.h.

Referenced by mrpt::graphslam::deciders::CICPCriteriaNRD< GRAPH_T >::checkRegistrationCondition2D().

◆ 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 = nullptr,
mrpt::slam::CICP::TReturnInfo icp_info = nullptr 
)
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 55 of file CRangeScanOps_impl.h.

Member Data Documentation

◆ params

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

Definition at line 153 of file CRangeScanOps.h.




Page generated by Doxygen 1.8.17 for MRPT 1.9.9 Git: ad3a9d8ae Tue May 1 23:10:22 2018 -0700 at miƩ 12 jul 2023 10:03:34 CEST