MRPT  1.9.9
mrpt::pbmap::PbMapLocaliser Class Reference

Detailed Description

This class is used to explore the PbMap (or other previously acquired PbMaps) to find places observed previously (it has uses in e.g. place recognition or relocalization). PbMapLocaliser run its own thread, which is created at initialization.

Definition at line 37 of file PbMapLocaliser.h.

#include <mrpt/pbmap/PbMapLocaliser.h>

Public Member Functions

 PbMapLocaliser (PbMap &mPbM, const std::string &config_file)
 
 ~PbMapLocaliser ()
 

Public Attributes

std::vector< std::stringpreviousPbMapNames
 
std::vector< PbMappreviousPbMaps
 
*PbMapLocaliser y montarlo en un define *size_t totalPrevPlanes
 
std::vector< unsigned > vQueueObservedPlanes
 
std::map< std::string, pcl::PointXYZ > foundPlaces
 
pcl::PointCloud< pcl::PointXYZRGBA >::Ptr alignedModelPtr
 
std::map< unsigned, std::vector< std::pair< double, int > > > evalColor
 

Protected Member Functions

void run ()
 
bool stop_pbMapLocaliser ()
 

Protected Attributes

std::thread pbMapLocaliser_hd
 
bool m_pbMapLocaliser_must_stop
 
bool m_pbMapLocaliser_finished
 

Private Member Functions

void LoadPreviousPbMaps (std::string fileMaps)
 
bool searchPlaneContext (Plane &searchPlane)
 ! Searches the input plane in the rest of planes of the map taking into account the neighboring relations More...
 
void compareSubgraphNeighbors (SubgraphMatcher &matcher)
 
double getAreaMatch ()
 

Private Attributes

PbMapmPbMap
 
SubgraphMatcher matcher
 
std::map< std::string, std::pair< int, double > > planeRecognitionLUT
 
unsigned bestMap
 
std::map< unsigned, unsigned > bestMatch
 
double score
 

Constructor & Destructor Documentation

◆ PbMapLocaliser()

PbMapLocaliser::PbMapLocaliser ( PbMap mPbM,
const std::string config_file 
)

◆ ~PbMapLocaliser()

PbMapLocaliser::~PbMapLocaliser ( )

Definition at line 528 of file PbMapLocaliser.cpp.

References stop_pbMapLocaliser().

Here is the call graph for this function:

Member Function Documentation

◆ compareSubgraphNeighbors()

void PbMapLocaliser::compareSubgraphNeighbors ( SubgraphMatcher matcher)
private

◆ getAreaMatch()

double PbMapLocaliser::getAreaMatch ( )
private

Definition at line 177 of file PbMapLocaliser.cpp.

References bestMatch, mPbMap, and mrpt::pbmap::PbMap::vPlanes.

Referenced by searchPlaneContext().

Here is the caller graph for this function:

◆ LoadPreviousPbMaps()

void PbMapLocaliser::LoadPreviousPbMaps ( std::string  fileMaps)
private

Load previous PbMaps to search for previous places.

Definition at line 51 of file PbMapLocaliser.cpp.

References mrpt::pbmap::PbMap::loadPbMap(), previousPbMapNames, previousPbMaps, totalPrevPlanes, and mrpt::pbmap::PbMap::vPlanes.

Referenced by PbMapLocaliser().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ run()

void PbMapLocaliser::run ( )
protected

This executes the PbMapLocaliser's thread

Definition at line 388 of file PbMapLocaliser.cpp.

References mrpt::pbmap::SubgraphMatcher::configLocaliser, mrpt::pbmap::config_heuristics::graph_mode, m_pbMapLocaliser_finished, m_pbMapLocaliser_must_stop, matcher, mrpt::pbmap::config_heuristics::min_planes_recognition, mPbMap, mrpt::pbmap::SubgraphMatcher::nCheckConditions, searchPlaneContext(), time1, time2, mrpt::pbmap::PbMap::vPlanes, and vQueueObservedPlanes.

Referenced by PbMapLocaliser().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ searchPlaneContext()

bool PbMapLocaliser::searchPlaneContext ( Plane searchPlane)
private

! Searches the input plane in the rest of planes of the map taking into account the neighboring relations

Search the subgraph defined by a plane (neighborhood of 1-connected planes) in the rest of the PbMap or PbMaps aquired till the moment.

Definition at line 194 of file PbMapLocaliser.cpp.

References alignedModelPtr, bestMap, bestMatch, mrpt::pbmap::SubgraphMatcher::compareSubgraphs(), mrpt::pbmap::SubgraphMatcher::configLocaliser, foundPlaces, getAreaMatch(), mrpt::pbmap::ConsistencyTest::getRTwithModel(), mrpt::pbmap::config_heuristics::graph_mode, mrpt::pbmap::Plane::id, mrpt::pbmap::inverse(), matcher, mrpt::pbmap::config_heuristics::min_planes_recognition, model, mPbMap, mrpt::pbmap::Plane::nearbyPlanes, mrpt::pbmap::Plane::neighborPlanes, planeRecognitionLUT, previousPbMapNames, previousPbMaps, totalPrevPlanes, and mrpt::pbmap::PbMap::vPlanes.

Referenced by run().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ stop_pbMapLocaliser()

bool PbMapLocaliser::stop_pbMapLocaliser ( )
protected

PbMapLocaliser's exit thread

Definition at line 517 of file PbMapLocaliser.cpp.

References m_pbMapLocaliser_finished, m_pbMapLocaliser_must_stop, and pbMapLocaliser_hd.

Referenced by ~PbMapLocaliser().

Here is the caller graph for this function:

Member Data Documentation

◆ alignedModelPtr

pcl::PointCloud<pcl::PointXYZRGBA>::Ptr mrpt::pbmap::PbMapLocaliser::alignedModelPtr

Point cloud of recognized place.

Definition at line 66 of file PbMapLocaliser.h.

Referenced by searchPlaneContext(), and mrpt::pbmap::PbMapMaker::viz_cb().

◆ bestMap

unsigned mrpt::pbmap::PbMapLocaliser::bestMap
private

Best previous PbMap correspondence.

Definition at line 95 of file PbMapLocaliser.h.

Referenced by compareSubgraphNeighbors(), and searchPlaneContext().

◆ bestMatch

std::map<unsigned, unsigned> mrpt::pbmap::PbMapLocaliser::bestMatch
private

Best correspondence between pair of planes.

Definition at line 98 of file PbMapLocaliser.h.

Referenced by compareSubgraphNeighbors(), getAreaMatch(), and searchPlaneContext().

◆ evalColor

std::map<unsigned, std::vector<std::pair<double, int> > > mrpt::pbmap::PbMapLocaliser::evalColor

Definition at line 68 of file PbMapLocaliser.h.

◆ foundPlaces

std::map<std::string, pcl::PointXYZ> mrpt::pbmap::PbMapLocaliser::foundPlaces

List of places where the system has been localised, keeping also the associated point cloud corresponding to the PbMap.

Definition at line 63 of file PbMapLocaliser.h.

Referenced by searchPlaneContext(), and mrpt::pbmap::PbMapMaker::viz_cb().

◆ m_pbMapLocaliser_finished

bool mrpt::pbmap::PbMapLocaliser::m_pbMapLocaliser_finished
protected

PbMapLocaliser's stop var

Definition at line 117 of file PbMapLocaliser.h.

Referenced by run(), and stop_pbMapLocaliser().

◆ m_pbMapLocaliser_must_stop

bool mrpt::pbmap::PbMapLocaliser::m_pbMapLocaliser_must_stop
protected

PbMapLocaliser's stop controller

Definition at line 114 of file PbMapLocaliser.h.

Referenced by run(), and stop_pbMapLocaliser().

◆ matcher

SubgraphMatcher mrpt::pbmap::PbMapLocaliser::matcher
private

The matching object.

Definition at line 75 of file PbMapLocaliser.h.

Referenced by compareSubgraphNeighbors(), PbMapLocaliser(), run(), and searchPlaneContext().

◆ mPbMap

PbMap& mrpt::pbmap::PbMapLocaliser::mPbMap
private

The current PbMap.

Definition at line 72 of file PbMapLocaliser.h.

Referenced by compareSubgraphNeighbors(), getAreaMatch(), run(), and searchPlaneContext().

◆ pbMapLocaliser_hd

std::thread mrpt::pbmap::PbMapLocaliser::pbMapLocaliser_hd
protected

PbMapLocaliser's thread handle

Definition at line 108 of file PbMapLocaliser.h.

Referenced by PbMapLocaliser(), and stop_pbMapLocaliser().

◆ planeRecognitionLUT

std::map<std::string, std::pair<int, double> > mrpt::pbmap::PbMapLocaliser::planeRecognitionLUT
private

List of places that have been matched, together with their plane correspondences.

Definition at line 83 of file PbMapLocaliser.h.

Referenced by searchPlaneContext().

◆ previousPbMapNames

std::vector<std::string> mrpt::pbmap::PbMapLocaliser::previousPbMapNames

Vector to store the name of previous PbMaps (previous places).

Definition at line 45 of file PbMapLocaliser.h.

Referenced by LoadPreviousPbMaps(), and searchPlaneContext().

◆ previousPbMaps

std::vector<PbMap> mrpt::pbmap::PbMapLocaliser::previousPbMaps

Vector of vectors containing previous PbMaps.

Definition at line 48 of file PbMapLocaliser.h.

Referenced by compareSubgraphNeighbors(), LoadPreviousPbMaps(), and searchPlaneContext().

◆ score

double mrpt::pbmap::PbMapLocaliser::score
private

Score of the matched places.

Definition at line 101 of file PbMapLocaliser.h.

◆ totalPrevPlanes

* PbMapLocaliser y montarlo en un define* size_t mrpt::pbmap::PbMapLocaliser::totalPrevPlanes

Number of planes of our search space.

Definition at line 56 of file PbMapLocaliser.h.

Referenced by LoadPreviousPbMaps(), and searchPlaneContext().

◆ vQueueObservedPlanes

std::vector<unsigned> mrpt::pbmap::PbMapLocaliser::vQueueObservedPlanes

observedPlanes is a list containing the current observed planes.

Definition at line 59 of file PbMapLocaliser.h.

Referenced by mrpt::pbmap::PbMapMaker::detectPlanesCloud(), and run().




Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: 8fe78517f Sun Jul 14 19:43:28 2019 +0200 at lun oct 28 02:10:00 CET 2019