Main MRPT website > C++ reference for MRPT 1.4.0
List of all members | Classes | Public Member Functions | Static Public Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | Friends
mrpt::hmtslam::CHMTSLAM Class Reference

Detailed Description

An implementation of Hybrid Metric Topological SLAM (HMT-SLAM).

The main entry points for a user are pushAction() and pushObservations(). Several parameters can be modified through m_options.

The mathematical models of this approach have been reported in:

More information in the wiki page: http://www.mrpt.org/HMT-SLAM . A complete working application can be found in "MRPT/apps/hmt-slam".

The complete state of the SLAM framework is serializable, so it can be saved and restore to/from a binary dump. This class implements mrpt::utils::CSerializable, so it can be saved with "stream << slam_object;" and restored with "stream >> slam_object;". Alternatively, the methods CHMTSLAM::saveState and CHMTSLAM::loadState can be invoked, which in turn call internally to the CSerializable interface.

See also
CHierarchicalMHMap

Definition at line 59 of file CHMTSLAM.h.

#include <mrpt/hmtslam/CHMTSLAM.h>

Inheritance diagram for mrpt::hmtslam::CHMTSLAM:
Inheritance graph

Classes

struct  TMessageLSLAMfromAA
 Message definition: More...
 
struct  TMessageLSLAMfromTBI
 Message definition: More...
 
struct  TMessageLSLAMtoTBI
 Message definition: More...
 
struct  TOptions
 A variety of options and configuration params (private, use loadOptions). More...
 

Public Member Functions

 CHMTSLAM ()
 Default constructor. More...
 
 CHMTSLAM (const CHMTSLAM &)
 
const CHMTSLAMoperator= (const CHMTSLAM &)
 
virtual ~CHMTSLAM ()
 Destructor. More...
 
bool abortedDueToErrors ()
 Return true if an exception has been caught in any thread leading to the end of the mapping application: no more actions/observations will be processed from now on. More...
 
void generateLogFiles (unsigned int nIteration)
 Called from LSLAM thread when log files must be created. More...
 
void getAs3DScene (mrpt::opengl::COpenGLScene &outScene)
 Gets a 3D representation of the current state of the whole mapping framework. More...
 
High-level map management
void loadOptions (const std::string &configFile)
 Loads the options from a config file. More...
 
void loadOptions (const mrpt::utils::CConfigFileBase &cfgSource)
 Loads the options from a config source. More...
 
void initializeEmptyMap ()
 Initializes the whole HMT-SLAM framework, reseting to an empty map (It also clears the logs directory) - this must be called AFTER loading the options with CHMTSLAM::loadOptions. More...
 
bool saveState (mrpt::utils::CStream &out) const
 Save the state of the whole HMT-SLAM framework to some binary stream (e.g. More...
 
bool loadState (mrpt::utils::CStream &in)
 Load the state of the whole HMT-SLAM framework from some binary stream (e.g. More...
 

Static Public Member Functions

static void printf_debug (const char *frmt,...)
 Sends a formated text to "debugOut" if not NULL, or to cout otherwise. More...
 

Public Attributes

The important data.
CHierarchicalMHMap m_map
 The hiearchical, multi-hypothesis graph-based map. More...
 
aligned_containers< THypothesisID, CLocalMetricHypothesis >::map_t m_LMHs
 The list of LMHs at each instant. More...
 

Protected Member Functions

CSerializable virtual methods
void writeToStream (mrpt::utils::CStream &out, int *getVersion) const MRPT_OVERRIDE
 
void readFromStream (mrpt::utils::CStream &in, int version) MRPT_OVERRIDE
 
HMT-SLAM sub-processes.
void LSLAM_process_message (const mrpt::utils::CMessage &msg)
 Auxiliary method within thread_LSLAM. More...
 
void LSLAM_process_message_from_AA (const TMessageLSLAMfromAA &myMsg)
 No critical section locks are assumed at the entrance of this method. More...
 
void LSLAM_process_message_from_TBI (const TMessageLSLAMfromTBI &myMsg)
 No critical section locks are assumed at the entrance of this method. More...
 
void perform_TLC (CLocalMetricHypothesis &LMH, const CHMHMapNode::TNodeID areaInLMH, const CHMHMapNode::TNodeID areaLoopClosure, const mrpt::poses::CPose3DPDFGaussian &pose1wrt2)
 Topological Loop Closure: Performs all the required operations to close a loop between two areas which have been determined to be the same. More...
 

Static Protected Member Functions

static TMessageLSLAMfromAAPtr areaAbstraction (CLocalMetricHypothesis *LMH, const TPoseIDList &newPoseIDs)
 The Area Abstraction (AA) method, invoked from LSLAM. More...
 
static TMessageLSLAMfromTBIPtr TBI_main_method (CLocalMetricHypothesis *LMH, const CHMHMapNode::TNodeID &areaID)
 The entry point for Topological Bayesian Inference (TBI) engines, invoked from LSLAM. More...
 
static std::string generateUniqueAreaLabel ()
 Generates a new and unique area textual label (currently this generates "0","1",...) More...
 
static TPoseID generatePoseID ()
 Generates a new and unique pose ID. More...
 
static THypothesisID generateHypothesisID ()
 Generates a new and unique hypothesis ID. More...
 

Protected Attributes

bool m_terminateThreads
 Termination flag for signaling all threads to terminate. More...
 
bool m_terminationFlag_LSLAM
 Threads termination flags: More...
 
bool m_terminationFlag_TBI
 
bool m_terminationFlag_3D_viewer
 
mrpt::hmtslam::CHMTSLAM::TOptions m_options
 
The different SLAM algorithms that can be invoked from the LSLAM thread.
CLSLAMAlgorithmBasem_LSLAM_method
 An instance of a local SLAM method, to be applied to each LMH - initialized by "initializeEmptyMap" or "loadState". More...
 

Static Protected Attributes

static int64_t m_nextAreaLabel
 
static TPoseID m_nextPoseID
 
static THypothesisID m_nextHypID
 

Friends

class CLocalMetricHypothesis
 
class CLSLAM_RBPF_2DLASER
 
class CTopLCDetector_GridMatching
 
class CTopLCDetector_FabMap
 

Related to the input queue:

enum  TLSlamMethod { lsmRBPF_2DLASER = 1 }
 
std::queue< mrpt::utils::CSerializablePtr > m_inputQueue
 The queue of pending actions/observations supplied by the user waiting for being processed. More...
 
synch::CCriticalSection m_inputQueue_cs
 Critical section for accessing m_inputQueue. More...
 
synch::CCriticalSection m_map_cs
 Critical section for accessing m_map. More...
 
synch::CCriticalSection m_LMHs_cs
 Critical section for accessing m_LMHs. More...
 
void clearInputQueue ()
 Empty the input queue. More...
 
bool isInputQueueEmpty ()
 Returns true if the input queue is empty (Note that the queue must not be empty to the user to enqueue more actions/observaitions) More...
 
size_t inputQueueSize ()
 Returns the number of objects waiting for processing in the input queue. More...
 
void pushAction (const mrpt::obs::CActionCollectionPtr &acts)
 Here the user can enter an action into the system (will go to the SLAM process). More...
 
void pushObservations (const mrpt::obs::CSensoryFramePtr &sf)
 Here the user can enter observations into the system (will go to the SLAM process). More...
 
void pushObservation (const mrpt::obs::CObservationPtr &obs)
 Here the user can enter an observation into the system (will go to the SLAM process). More...
 
mrpt::utils::CSerializablePtr getNextObjectFromInputQueue ()
 Used from the LSLAM thread to retrieve the next object from the queue. More...
 

RTTI stuff <br>

typedef CHMTSLAMPtr SmartPtr
 
static mrpt::utils::CLASSINIT _init_CHMTSLAM
 
static mrpt::utils::TRuntimeClassId classCHMTSLAM
 
static const mrpt::utils::TRuntimeClassIdclassinfo
 
static const mrpt::utils::TRuntimeClassId_GetBaseClass ()
 
virtual const mrpt::utils::TRuntimeClassIdGetRuntimeClass () const MRPT_OVERRIDE
 
virtual mrpt::utils::CObjectduplicate () const MRPT_OVERRIDE
 
static mrpt::utils::CObjectCreateObject ()
 
static CHMTSLAMPtr Create ()
 

Inter-thread communication queues:

typedef stlplus::smart_ptr< TMessageLSLAMfromAATMessageLSLAMfromAAPtr
 
typedef stlplus::smart_ptr< TMessageLSLAMtoTBITMessageLSLAMtoTBIPtr
 
typedef stlplus::smart_ptr< TMessageLSLAMfromTBITMessageLSLAMfromTBIPtr
 
utils::CMessageQueue m_LSLAM_queue
 LSLAM thread input queue, messages of type CHMTSLAM::TMessageLSLAMfromAA. More...
 

The different Loop-Closure modules that are to be executed in the TBI thread.

typedef CTopLCDetectorBase *(* TLopLCDetectorFactory) (CHMTSLAM *)
 
std::map< std::string, TLopLCDetectorFactorym_registeredLCDetectors
 
std::deque< CTopLCDetectorBase * > m_topLCdets
 The list of LC modules in operation - initialized by "initializeEmptyMap" or "loadState". More...
 
synch::CCriticalSection m_topLCdets_cs
 The critical section for accessing m_topLCdets. More...
 
void registerLoopClosureDetector (const std::string &name, CTopLCDetectorBase *(*ptrCreateObject)(CHMTSLAM *))
 Must be invoked before calling initializeEmptyMap, so LC objects can be created. More...
 
CTopLCDetectorBaseloopClosureDetector_factory (const std::string &name)
 The class factory for topological loop closure detectors. More...
 

Threads stuff

mrpt::system::TThreadHandle m_hThread_LSLAM
 Threads handles. More...
 
mrpt::system::TThreadHandle m_hThread_TBI
 
mrpt::system::TThreadHandle m_hThread_3D_viewer
 
void thread_LSLAM ()
 The function for the "Local SLAM" thread. More...
 
void thread_TBI ()
 The function for the "TBI" thread. More...
 
void thread_3D_viewer ()
 The function for the "3D viewer" thread. More...
 

Member Typedef Documentation

◆ SmartPtr

A typedef for the associated smart pointer

Definition at line 67 of file CHMTSLAM.h.

◆ TLopLCDetectorFactory

typedef CTopLCDetectorBase *(* mrpt::hmtslam::CHMTSLAM::TLopLCDetectorFactory) (CHMTSLAM *)
protected

Definition at line 283 of file CHMTSLAM.h.

◆ TMessageLSLAMfromAAPtr

Definition at line 97 of file CHMTSLAM.h.

◆ TMessageLSLAMfromTBIPtr

Definition at line 141 of file CHMTSLAM.h.

◆ TMessageLSLAMtoTBIPtr

Definition at line 109 of file CHMTSLAM.h.

Member Enumeration Documentation

◆ TLSlamMethod

Enumerator
lsmRBPF_2DLASER 

Definition at line 203 of file CHMTSLAM.h.

Constructor & Destructor Documentation

◆ CHMTSLAM() [1/2]

mrpt::hmtslam::CHMTSLAM::CHMTSLAM ( )

Default constructor.

Parameters
debug_out_streamIf debug output messages should be redirected to any other stream apart from std::cout

◆ CHMTSLAM() [2/2]

mrpt::hmtslam::CHMTSLAM::CHMTSLAM ( const CHMTSLAM )
inline

Definition at line 341 of file CHMTSLAM.h.

References THROW_EXCEPTION.

◆ ~CHMTSLAM()

virtual mrpt::hmtslam::CHMTSLAM::~CHMTSLAM ( )
virtual

Destructor.

Member Function Documentation

◆ _GetBaseClass()

static const mrpt::utils::TRuntimeClassId * mrpt::hmtslam::CHMTSLAM::_GetBaseClass ( )
staticprotected

◆ abortedDueToErrors()

bool mrpt::hmtslam::CHMTSLAM::abortedDueToErrors ( )

Return true if an exception has been caught in any thread leading to the end of the mapping application: no more actions/observations will be processed from now on.

◆ areaAbstraction()

static TMessageLSLAMfromAAPtr mrpt::hmtslam::CHMTSLAM::areaAbstraction ( CLocalMetricHypothesis LMH,
const TPoseIDList newPoseIDs 
)
staticprotected

The Area Abstraction (AA) method, invoked from LSLAM.

Parameters
LMH(IN) The LMH which to this query applies.
newPoseIDs(IN) The new poseIDs to be added to the graph partitioner.
Returns
A structure with all return data. Memory to be freed by user.
Note
The critical section for LMH must be locked BEFORE calling this method (it does NOT lock any critical section).

◆ clearInputQueue()

void mrpt::hmtslam::CHMTSLAM::clearInputQueue ( )

Empty the input queue.

◆ Create()

static CHMTSLAMPtr mrpt::hmtslam::CHMTSLAM::Create ( )
static

◆ CreateObject()

static mrpt::utils::CObject * mrpt::hmtslam::CHMTSLAM::CreateObject ( )
static

◆ duplicate()

virtual mrpt::utils::CObject * mrpt::hmtslam::CHMTSLAM::duplicate ( ) const
virtual

◆ generateHypothesisID()

static THypothesisID mrpt::hmtslam::CHMTSLAM::generateHypothesisID ( )
staticprotected

Generates a new and unique hypothesis ID.

◆ generateLogFiles()

void mrpt::hmtslam::CHMTSLAM::generateLogFiles ( unsigned int  nIteration)

Called from LSLAM thread when log files must be created.

◆ generatePoseID()

static TPoseID mrpt::hmtslam::CHMTSLAM::generatePoseID ( )
staticprotected

Generates a new and unique pose ID.

◆ generateUniqueAreaLabel()

static std::string mrpt::hmtslam::CHMTSLAM::generateUniqueAreaLabel ( )
staticprotected

Generates a new and unique area textual label (currently this generates "0","1",...)

◆ getAs3DScene()

void mrpt::hmtslam::CHMTSLAM::getAs3DScene ( mrpt::opengl::COpenGLScene outScene)

Gets a 3D representation of the current state of the whole mapping framework.

◆ getNextObjectFromInputQueue()

mrpt::utils::CSerializablePtr mrpt::hmtslam::CHMTSLAM::getNextObjectFromInputQueue ( )
protected

Used from the LSLAM thread to retrieve the next object from the queue.

Returns
The object, or NULL if empty.

◆ GetRuntimeClass()

virtual const mrpt::utils::TRuntimeClassId * mrpt::hmtslam::CHMTSLAM::GetRuntimeClass ( ) const
virtual

◆ initializeEmptyMap()

void mrpt::hmtslam::CHMTSLAM::initializeEmptyMap ( )

Initializes the whole HMT-SLAM framework, reseting to an empty map (It also clears the logs directory) - this must be called AFTER loading the options with CHMTSLAM::loadOptions.

◆ inputQueueSize()

size_t mrpt::hmtslam::CHMTSLAM::inputQueueSize ( )

Returns the number of objects waiting for processing in the input queue.

See also
pushAction,pushObservations, isInputQueueEmpty

◆ isInputQueueEmpty()

bool mrpt::hmtslam::CHMTSLAM::isInputQueueEmpty ( )

Returns true if the input queue is empty (Note that the queue must not be empty to the user to enqueue more actions/observaitions)

See also
pushAction,pushObservations, inputQueueSize

◆ loadOptions() [1/2]

void mrpt::hmtslam::CHMTSLAM::loadOptions ( const mrpt::utils::CConfigFileBase cfgSource)

Loads the options from a config source.

◆ loadOptions() [2/2]

void mrpt::hmtslam::CHMTSLAM::loadOptions ( const std::string &  configFile)

Loads the options from a config file.

◆ loadState()

bool mrpt::hmtslam::CHMTSLAM::loadState ( mrpt::utils::CStream in)

Load the state of the whole HMT-SLAM framework from some binary stream (e.g.

a file).

Returns
true if everything goes OK.
See also
saveState

◆ loopClosureDetector_factory()

CTopLCDetectorBase * mrpt::hmtslam::CHMTSLAM::loopClosureDetector_factory ( const std::string &  name)

The class factory for topological loop closure detectors.

Possible values are enumerated in TOptions::TLC_detectors

Exceptions
std::exceptionOn unknown name.

◆ LSLAM_process_message()

void mrpt::hmtslam::CHMTSLAM::LSLAM_process_message ( const mrpt::utils::CMessage msg)
protected

Auxiliary method within thread_LSLAM.

◆ LSLAM_process_message_from_AA()

void mrpt::hmtslam::CHMTSLAM::LSLAM_process_message_from_AA ( const TMessageLSLAMfromAA myMsg)
protected

No critical section locks are assumed at the entrance of this method.

◆ LSLAM_process_message_from_TBI()

void mrpt::hmtslam::CHMTSLAM::LSLAM_process_message_from_TBI ( const TMessageLSLAMfromTBI myMsg)
protected

No critical section locks are assumed at the entrance of this method.

◆ operator=()

const CHMTSLAM & mrpt::hmtslam::CHMTSLAM::operator= ( const CHMTSLAM )
inline

Definition at line 342 of file CHMTSLAM.h.

References THROW_EXCEPTION.

◆ perform_TLC()

void mrpt::hmtslam::CHMTSLAM::perform_TLC ( CLocalMetricHypothesis LMH,
const CHMHMapNode::TNodeID  areaInLMH,
const CHMHMapNode::TNodeID  areaLoopClosure,
const mrpt::poses::CPose3DPDFGaussian pose1wrt2 
)
protected

Topological Loop Closure: Performs all the required operations to close a loop between two areas which have been determined to be the same.

◆ printf_debug()

static void mrpt::utils::CDebugOutputCapable::printf_debug ( const char *  frmt,
  ... 
)
staticinherited

Sends a formated text to "debugOut" if not NULL, or to cout otherwise.

Referenced by mrpt::math::CLevenbergMarquardtTempl< VECTORTYPE, USERPARAM >::execute().

◆ pushAction()

void mrpt::hmtslam::CHMTSLAM::pushAction ( const mrpt::obs::CActionCollectionPtr acts)

Here the user can enter an action into the system (will go to the SLAM process).

This class will delete the passed object when required, so DO NOT DELETE the passed object after calling this.

See also
pushObservations,pushObservation

◆ pushObservation()

void mrpt::hmtslam::CHMTSLAM::pushObservation ( const mrpt::obs::CObservationPtr obs)

Here the user can enter an observation into the system (will go to the SLAM process).

This class will delete the passed object when required, so DO NOT DELETE the passed object after calling this.

See also
pushAction,pushObservation

◆ pushObservations()

void mrpt::hmtslam::CHMTSLAM::pushObservations ( const mrpt::obs::CSensoryFramePtr sf)

Here the user can enter observations into the system (will go to the SLAM process).

This class will delete the passed object when required, so DO NOT DELETE the passed object after calling this.

See also
pushAction,pushObservation

◆ readFromStream()

void mrpt::hmtslam::CHMTSLAM::readFromStream ( mrpt::utils::CStream in,
int  version 
)
protected

◆ registerLoopClosureDetector()

void mrpt::hmtslam::CHMTSLAM::registerLoopClosureDetector ( const std::string &  name,
CTopLCDetectorBase *(*)(CHMTSLAM *)  ptrCreateObject 
)

Must be invoked before calling initializeEmptyMap, so LC objects can be created.

◆ saveState()

bool mrpt::hmtslam::CHMTSLAM::saveState ( mrpt::utils::CStream out) const

Save the state of the whole HMT-SLAM framework to some binary stream (e.g.

a file).

Returns
true if everything goes OK.
See also
loadState

◆ TBI_main_method()

static TMessageLSLAMfromTBIPtr mrpt::hmtslam::CHMTSLAM::TBI_main_method ( CLocalMetricHypothesis LMH,
const CHMHMapNode::TNodeID areaID 
)
staticprotected

The entry point for Topological Bayesian Inference (TBI) engines, invoked from LSLAM.

Parameters
LMH(IN) The LMH which to this query applies.
areaID(IN) The area ID to consider for potential loop-closures.
Note
The critical section for LMH must be locked BEFORE calling this method (it does NOT lock any critical section).

◆ thread_3D_viewer()

void mrpt::hmtslam::CHMTSLAM::thread_3D_viewer ( )
protected

The function for the "3D viewer" thread.

◆ thread_LSLAM()

void mrpt::hmtslam::CHMTSLAM::thread_LSLAM ( )
protected

The function for the "Local SLAM" thread.

◆ thread_TBI()

void mrpt::hmtslam::CHMTSLAM::thread_TBI ( )
protected

The function for the "TBI" thread.

◆ writeToStream()

void mrpt::hmtslam::CHMTSLAM::writeToStream ( mrpt::utils::CStream out,
int *  getVersion 
) const
protected

Friends And Related Function Documentation

◆ CLocalMetricHypothesis

friend class CLocalMetricHypothesis
friend

Definition at line 61 of file CHMTSLAM.h.

◆ CLSLAM_RBPF_2DLASER

friend class CLSLAM_RBPF_2DLASER
friend

Definition at line 62 of file CHMTSLAM.h.

◆ CTopLCDetector_FabMap

friend class CTopLCDetector_FabMap
friend

Definition at line 64 of file CHMTSLAM.h.

◆ CTopLCDetector_GridMatching

friend class CTopLCDetector_GridMatching
friend

Definition at line 63 of file CHMTSLAM.h.

Member Data Documentation

◆ _init_CHMTSLAM

mrpt::utils::CLASSINIT mrpt::hmtslam::CHMTSLAM::_init_CHMTSLAM
staticprotected

Definition at line 67 of file CHMTSLAM.h.

◆ classCHMTSLAM

mrpt::utils::TRuntimeClassId mrpt::hmtslam::CHMTSLAM::classCHMTSLAM
static

Definition at line 67 of file CHMTSLAM.h.

◆ classinfo

const mrpt::utils::TRuntimeClassId* mrpt::hmtslam::CHMTSLAM::classinfo
static

Definition at line 67 of file CHMTSLAM.h.

◆ m_hThread_3D_viewer

mrpt::system::TThreadHandle mrpt::hmtslam::CHMTSLAM::m_hThread_3D_viewer
protected

Definition at line 240 of file CHMTSLAM.h.

◆ m_hThread_LSLAM

mrpt::system::TThreadHandle mrpt::hmtslam::CHMTSLAM::m_hThread_LSLAM
protected

Threads handles.

Definition at line 240 of file CHMTSLAM.h.

◆ m_hThread_TBI

mrpt::system::TThreadHandle mrpt::hmtslam::CHMTSLAM::m_hThread_TBI
protected

Definition at line 240 of file CHMTSLAM.h.

◆ m_inputQueue

std::queue<mrpt::utils::CSerializablePtr> mrpt::hmtslam::CHMTSLAM::m_inputQueue
protected

The queue of pending actions/observations supplied by the user waiting for being processed.

Definition at line 215 of file CHMTSLAM.h.

◆ m_inputQueue_cs

synch::CCriticalSection mrpt::hmtslam::CHMTSLAM::m_inputQueue_cs
protected

Critical section for accessing m_inputQueue.

Definition at line 218 of file CHMTSLAM.h.

◆ m_LMHs

aligned_containers<THypothesisID,CLocalMetricHypothesis>::map_t mrpt::hmtslam::CHMTSLAM::m_LMHs

The list of LMHs at each instant.

Definition at line 380 of file CHMTSLAM.h.

◆ m_LMHs_cs

synch::CCriticalSection mrpt::hmtslam::CHMTSLAM::m_LMHs_cs
protected

Critical section for accessing m_LMHs.

Definition at line 223 of file CHMTSLAM.h.

◆ m_LSLAM_method

CLSLAMAlgorithmBase* mrpt::hmtslam::CHMTSLAM::m_LSLAM_method
protected

An instance of a local SLAM method, to be applied to each LMH - initialized by "initializeEmptyMap" or "loadState".

Definition at line 275 of file CHMTSLAM.h.

◆ m_LSLAM_queue

utils::CMessageQueue mrpt::hmtslam::CHMTSLAM::m_LSLAM_queue
protected

LSLAM thread input queue, messages of type CHMTSLAM::TMessageLSLAMfromAA.

Definition at line 144 of file CHMTSLAM.h.

◆ m_map

CHierarchicalMHMap mrpt::hmtslam::CHMTSLAM::m_map

The hiearchical, multi-hypothesis graph-based map.

Definition at line 379 of file CHMTSLAM.h.

◆ m_map_cs

synch::CCriticalSection mrpt::hmtslam::CHMTSLAM::m_map_cs
protected

Critical section for accessing m_map.

Definition at line 221 of file CHMTSLAM.h.

◆ m_nextAreaLabel

int64_t mrpt::hmtslam::CHMTSLAM::m_nextAreaLabel
staticprotected

Definition at line 330 of file CHMTSLAM.h.

◆ m_nextHypID

THypothesisID mrpt::hmtslam::CHMTSLAM::m_nextHypID
staticprotected

Definition at line 332 of file CHMTSLAM.h.

◆ m_nextPoseID

TPoseID mrpt::hmtslam::CHMTSLAM::m_nextPoseID
staticprotected

Definition at line 331 of file CHMTSLAM.h.

◆ m_options

mrpt::hmtslam::CHMTSLAM::TOptions mrpt::hmtslam::CHMTSLAM::m_options
protected

◆ m_registeredLCDetectors

std::map<std::string,TLopLCDetectorFactory> mrpt::hmtslam::CHMTSLAM::m_registeredLCDetectors
protected

Definition at line 285 of file CHMTSLAM.h.

◆ m_terminateThreads

bool mrpt::hmtslam::CHMTSLAM::m_terminateThreads
protected

Termination flag for signaling all threads to terminate.

Definition at line 313 of file CHMTSLAM.h.

◆ m_terminationFlag_3D_viewer

bool mrpt::hmtslam::CHMTSLAM::m_terminationFlag_3D_viewer
protected

Definition at line 319 of file CHMTSLAM.h.

◆ m_terminationFlag_LSLAM

bool mrpt::hmtslam::CHMTSLAM::m_terminationFlag_LSLAM
protected

Threads termination flags:

Definition at line 317 of file CHMTSLAM.h.

◆ m_terminationFlag_TBI

bool mrpt::hmtslam::CHMTSLAM::m_terminationFlag_TBI
protected

Definition at line 318 of file CHMTSLAM.h.

◆ m_topLCdets

std::deque<CTopLCDetectorBase*> mrpt::hmtslam::CHMTSLAM::m_topLCdets
protected

The list of LC modules in operation - initialized by "initializeEmptyMap" or "loadState".


Definition at line 288 of file CHMTSLAM.h.

◆ m_topLCdets_cs

synch::CCriticalSection mrpt::hmtslam::CHMTSLAM::m_topLCdets_cs
protected

The critical section for accessing m_topLCdets.

Definition at line 291 of file CHMTSLAM.h.




Page generated by Doxygen 1.9.5 for MRPT 1.4.0 SVN: at Mon Dec 26 04:51:47 UTC 2022