Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Friends | List of all members
karto::Mapper Class Reference

#include <Mapper.h>

Inheritance diagram for karto::Mapper:
Inheritance graph
[legend]

Public Member Functions

void AddListener (MapperListener *pListener)
 
void AddScanToLocalizationBuffer (LocalizedRangeScan *pScan, Vertex< LocalizedRangeScan > *scan_vertex)
 
void ClearLocalizationBuffer ()
 
void CorrectPoses ()
 
void FireBeginLoopClosure (const std::string &rInfo) const
 
void FireDebug (const std::string &rInfo) const
 
void FireEndLoopClosure (const std::string &rInfo) const
 
void FireInfo (const std::string &rInfo) const
 
void FireLoopClosureCheck (const std::string &rInfo) const
 
virtual const LocalizedRangeScanVector GetAllProcessedScans () const
 
virtual MapperGraphGetGraph () const
 
virtual ScanMatcherGetLoopScanMatcher () const
 
MapperSensorManagerGetMapperSensorManager () const
 
double getParamAngleVariancePenalty ()
 
double getParamCoarseAngleResolution ()
 
double getParamCoarseSearchAngleOffset ()
 
double getParamCorrelationSearchSpaceDimension ()
 
double getParamCorrelationSearchSpaceResolution ()
 
double getParamCorrelationSearchSpaceSmearDeviation ()
 
double getParamDistanceVariancePenalty ()
 
bool getParamDoLoopClosing ()
 
double getParamFineSearchAngleOffset ()
 
double getParamLinkMatchMinimumResponseFine ()
 
double getParamLinkScanMaximumDistance ()
 
double getParamLoopMatchMaximumVarianceCoarse ()
 
int getParamLoopMatchMinimumChainSize ()
 
double getParamLoopMatchMinimumResponseCoarse ()
 
double getParamLoopMatchMinimumResponseFine ()
 
double getParamLoopSearchMaximumDistance ()
 
double getParamLoopSearchSpaceDimension ()
 
double getParamLoopSearchSpaceResolution ()
 
double getParamLoopSearchSpaceSmearDeviation ()
 
double getParamMinimumAnglePenalty ()
 
double getParamMinimumDistancePenalty ()
 
double getParamMinimumTimeInterval ()
 
double getParamMinimumTravelDistance ()
 
double getParamMinimumTravelHeading ()
 
double getParamScanBufferMaximumScanDistance ()
 
int getParamScanBufferSize ()
 
bool getParamUseResponseExpansion ()
 
bool getParamUseScanBarycenter ()
 
bool getParamUseScanMatching ()
 
ScanSolvergetScanSolver ()
 
virtual ScanMatcherGetSequentialScanMatcher () const
 
void Initialize (kt_double rangeThreshold)
 
void LoadFromFile (const std::string &filename)
 
 Mapper ()
 
 Mapper (const std::string &rName)
 
virtual kt_bool Process (LocalizedRangeScan *pScan, Matrix3 *covariance=nullptr)
 
virtual kt_bool Process (Object *pObject)
 
kt_bool ProcessAgainstNode (LocalizedRangeScan *pScan, const int &nodeId, Matrix3 *covariance=nullptr)
 
kt_bool ProcessAgainstNodesNearBy (LocalizedRangeScan *pScan, kt_bool addScanToLocalizationBuffer=false, Matrix3 *covariance=nullptr)
 
kt_bool ProcessAtDock (LocalizedRangeScan *pScan, Matrix3 *covariance=nullptr)
 
kt_bool ProcessLocalization (LocalizedRangeScan *pScan, Matrix3 *covariance=nullptr)
 
void RemoveListener (MapperListener *pListener)
 
kt_bool RemoveNodeFromGraph (Vertex< LocalizedRangeScan > *)
 
virtual void Reset ()
 
void SaveToFile (const std::string &filename)
 
void setParamAngleVariancePenalty (double d)
 
void setParamCoarseAngleResolution (double d)
 
void setParamCoarseSearchAngleOffset (double d)
 
void setParamCorrelationSearchSpaceDimension (double d)
 
void setParamCorrelationSearchSpaceResolution (double d)
 
void setParamCorrelationSearchSpaceSmearDeviation (double d)
 
void setParamDistanceVariancePenalty (double d)
 
void setParamDoLoopClosing (bool b)
 
void setParamFineSearchAngleOffset (double d)
 
void setParamLinkMatchMinimumResponseFine (double d)
 
void setParamLinkScanMaximumDistance (double d)
 
void setParamLoopMatchMaximumVarianceCoarse (double d)
 
void setParamLoopMatchMinimumChainSize (int i)
 
void setParamLoopMatchMinimumResponseCoarse (double d)
 
void setParamLoopMatchMinimumResponseFine (double d)
 
void setParamLoopSearchMaximumDistance (double d)
 
void setParamLoopSearchSpaceDimension (double d)
 
void setParamLoopSearchSpaceResolution (double d)
 
void setParamLoopSearchSpaceSmearDeviation (double d)
 
void setParamMinimumAnglePenalty (double d)
 
void setParamMinimumDistancePenalty (double d)
 
void setParamMinimumTimeInterval (double d)
 
void setParamMinimumTravelDistance (double d)
 
void setParamMinimumTravelHeading (double d)
 
void setParamScanBufferMaximumScanDistance (double d)
 
void setParamScanBufferSize (int i)
 
void setParamUseResponseExpansion (bool b)
 
void setParamUseScanBarycenter (bool b)
 
void setParamUseScanMatching (bool b)
 
void SetScanSolver (ScanSolver *pSolver)
 
void SetUseScanMatching (kt_bool val)
 
kt_bool TryCloseLoop (LocalizedRangeScan *pScan, const Name &rSensorName)
 
virtual ~Mapper ()
 
- Public Member Functions inherited from karto::Module
 Module (const std::string &rName)
 
virtual ~Module ()
 
- Public Member Functions inherited from karto::Object
virtual const char * GetClassName () const =0
 
const NameGetName () const
 
virtual kt_objecttype GetObjectType () const =0
 
AbstractParameterGetParameter (const std::string &rName) const
 
virtual ParameterManagerGetParameterManager ()
 
const ParameterVectorGetParameters () const
 
 Object ()
 
 Object (const Name &rName)
 
 Object (const Object &)
 
const Objectoperator= (const Object &)
 
template<typename T >
void SetParameter (const std::string &rName, T value)
 
virtual ~Object ()
 
- Public Member Functions inherited from karto::NonCopyable
 NonCopyable ()
 
template<class Archive >
void serialize (Archive &ar, const unsigned int version)
 
virtual ~NonCopyable ()
 

Protected Member Functions

kt_bool HasMovedEnough (LocalizedRangeScan *pScan, LocalizedRangeScan *pLastScan) const
 
void InitializeParameters ()
 
template<class Archive >
void serialize (Archive &ar, const unsigned int version)
 

Protected Attributes

kt_bool m_Deserialized
 
kt_bool m_Initialized
 
std::vector< MapperListener * > m_Listeners
 
LocalizationScanVertices m_LocalizationScanVertices
 
Parameter< kt_double > * m_pAngleVariancePenalty
 
Parameter< kt_double > * m_pCoarseAngleResolution
 
Parameter< kt_double > * m_pCoarseSearchAngleOffset
 
Parameter< kt_double > * m_pCorrelationSearchSpaceDimension
 
Parameter< kt_double > * m_pCorrelationSearchSpaceResolution
 
Parameter< kt_double > * m_pCorrelationSearchSpaceSmearDeviation
 
Parameter< kt_double > * m_pDistanceVariancePenalty
 
Parameter< kt_bool > * m_pDoLoopClosing
 
Parameter< kt_double > * m_pFineSearchAngleOffset
 
MapperGraphm_pGraph
 
Parameter< kt_double > * m_pLinkMatchMinimumResponseFine
 
Parameter< kt_double > * m_pLinkScanMaximumDistance
 
Parameter< kt_double > * m_pLoopMatchMaximumVarianceCoarse
 
Parameter< kt_int32u > * m_pLoopMatchMinimumChainSize
 
Parameter< kt_double > * m_pLoopMatchMinimumResponseCoarse
 
Parameter< kt_double > * m_pLoopMatchMinimumResponseFine
 
Parameter< kt_double > * m_pLoopSearchMaximumDistance
 
Parameter< kt_double > * m_pLoopSearchSpaceDimension
 
Parameter< kt_double > * m_pLoopSearchSpaceResolution
 
Parameter< kt_double > * m_pLoopSearchSpaceSmearDeviation
 
MapperSensorManagerm_pMapperSensorManager
 
Parameter< kt_double > * m_pMinimumAnglePenalty
 
Parameter< kt_double > * m_pMinimumDistancePenalty
 
Parameter< kt_double > * m_pMinimumTimeInterval
 
Parameter< kt_double > * m_pMinimumTravelDistance
 
Parameter< kt_double > * m_pMinimumTravelHeading
 
Parameter< kt_double > * m_pScanBufferMaximumScanDistance
 
Parameter< kt_int32u > * m_pScanBufferSize
 
ScanSolverm_pScanOptimizer
 
ScanMatcherm_pSequentialScanMatcher
 
Parameter< kt_bool > * m_pUseResponseExpansion
 
Parameter< kt_bool > * m_pUseScanBarycenter
 
Parameter< kt_bool > * m_pUseScanMatching
 

Private Member Functions

 Mapper (const Mapper &)
 
const Mapperoperator= (const Mapper &)
 

Friends

class boost::serialization::access
 
class MapperGraph
 
class ScanMatcher
 

Detailed Description

Definition at line 1928 of file Mapper.h.

Constructor & Destructor Documentation

◆ Mapper() [1/3]

karto::Mapper::Mapper ( )

Default constructor

Definition at line 2085 of file Mapper.cpp.

◆ Mapper() [2/3]

karto::Mapper::Mapper ( const std::string &  rName)

Constructor a mapper with a name

Parameters
rNamemapper name

Default constructor

Definition at line 2100 of file Mapper.cpp.

◆ ~Mapper()

karto::Mapper::~Mapper ( )
virtual

Destructor

Definition at line 2115 of file Mapper.cpp.

◆ Mapper() [3/3]

karto::Mapper::Mapper ( const Mapper )
private

Restrict the copy constructor

Member Function Documentation

◆ AddListener()

void karto::Mapper::AddListener ( MapperListener pListener)

Add a listener to mapper

Parameters
pListenerAdds a listener
pListener

Definition at line 3243 of file Mapper.cpp.

◆ AddScanToLocalizationBuffer()

void karto::Mapper::AddScanToLocalizationBuffer ( LocalizedRangeScan pScan,
Vertex< LocalizedRangeScan > *  scan_vertex 
)

Definition at line 2974 of file Mapper.cpp.

◆ ClearLocalizationBuffer()

void karto::Mapper::ClearLocalizationBuffer ( )

Definition at line 3003 of file Mapper.cpp.

◆ CorrectPoses()

void karto::Mapper::CorrectPoses ( )
inline

Definition at line 2071 of file Mapper.h.

◆ FireBeginLoopClosure()

void karto::Mapper::FireBeginLoopClosure ( const std::string &  rInfo) const

Fire a message before loop closure to listeners

Parameters
rInfo

Definition at line 3295 of file Mapper.cpp.

◆ FireDebug()

void karto::Mapper::FireDebug ( const std::string &  rInfo) const

Fire a debug message to listeners

Parameters
rInfo

Definition at line 3269 of file Mapper.cpp.

◆ FireEndLoopClosure()

void karto::Mapper::FireEndLoopClosure ( const std::string &  rInfo) const

Fire a message after loop closure to listeners

Parameters
rInfo

Definition at line 3308 of file Mapper.cpp.

◆ FireInfo()

void karto::Mapper::FireInfo ( const std::string &  rInfo) const

Fire a general message to listeners

Parameters
rInfo

Definition at line 3261 of file Mapper.cpp.

◆ FireLoopClosureCheck()

void karto::Mapper::FireLoopClosureCheck ( const std::string &  rInfo) const

Fire a message upon checking for loop closure to listeners

Parameters
rInfo

Definition at line 3282 of file Mapper.cpp.

◆ GetAllProcessedScans()

const LocalizedRangeScanVector karto::Mapper::GetAllProcessedScans ( ) const
virtual

Returns all processed scans added to the mapper. NOTE: The returned scans have their corrected pose updated.

Returns
list of scans received and processed by the mapper. If no scans have been processed, return an empty list.

Gets all the processed scans

Returns
all scans

Definition at line 3227 of file Mapper.cpp.

◆ GetGraph()

MapperGraph * karto::Mapper::GetGraph ( ) const
virtual

Get scan link graph

Returns
graph

Definition at line 3331 of file Mapper.cpp.

◆ GetLoopScanMatcher()

ScanMatcher * karto::Mapper::GetLoopScanMatcher ( ) const
virtual

Gets the loop scan matcher

Returns
loop scan matcher

Definition at line 3341 of file Mapper.cpp.

◆ GetMapperSensorManager()

MapperSensorManager* karto::Mapper::GetMapperSensorManager ( ) const
inline

Gets the device manager

Returns
device manager

Definition at line 2056 of file Mapper.h.

◆ getParamAngleVariancePenalty()

double karto::Mapper::getParamAngleVariancePenalty ( )

Definition at line 2449 of file Mapper.cpp.

◆ getParamCoarseAngleResolution()

double karto::Mapper::getParamCoarseAngleResolution ( )

Definition at line 2464 of file Mapper.cpp.

◆ getParamCoarseSearchAngleOffset()

double karto::Mapper::getParamCoarseSearchAngleOffset ( )

Definition at line 2459 of file Mapper.cpp.

◆ getParamCorrelationSearchSpaceDimension()

double karto::Mapper::getParamCorrelationSearchSpaceDimension ( )

Definition at line 2410 of file Mapper.cpp.

◆ getParamCorrelationSearchSpaceResolution()

double karto::Mapper::getParamCorrelationSearchSpaceResolution ( )

Definition at line 2415 of file Mapper.cpp.

◆ getParamCorrelationSearchSpaceSmearDeviation()

double karto::Mapper::getParamCorrelationSearchSpaceSmearDeviation ( )

Definition at line 2420 of file Mapper.cpp.

◆ getParamDistanceVariancePenalty()

double karto::Mapper::getParamDistanceVariancePenalty ( )

Definition at line 2444 of file Mapper.cpp.

◆ getParamDoLoopClosing()

bool karto::Mapper::getParamDoLoopClosing ( )

Definition at line 2383 of file Mapper.cpp.

◆ getParamFineSearchAngleOffset()

double karto::Mapper::getParamFineSearchAngleOffset ( )

Definition at line 2454 of file Mapper.cpp.

◆ getParamLinkMatchMinimumResponseFine()

double karto::Mapper::getParamLinkMatchMinimumResponseFine ( )

Definition at line 2368 of file Mapper.cpp.

◆ getParamLinkScanMaximumDistance()

double karto::Mapper::getParamLinkScanMaximumDistance ( )

Definition at line 2373 of file Mapper.cpp.

◆ getParamLoopMatchMaximumVarianceCoarse()

double karto::Mapper::getParamLoopMatchMaximumVarianceCoarse ( )

Definition at line 2393 of file Mapper.cpp.

◆ getParamLoopMatchMinimumChainSize()

int karto::Mapper::getParamLoopMatchMinimumChainSize ( )

Definition at line 2388 of file Mapper.cpp.

◆ getParamLoopMatchMinimumResponseCoarse()

double karto::Mapper::getParamLoopMatchMinimumResponseCoarse ( )

Definition at line 2398 of file Mapper.cpp.

◆ getParamLoopMatchMinimumResponseFine()

double karto::Mapper::getParamLoopMatchMinimumResponseFine ( )

Definition at line 2403 of file Mapper.cpp.

◆ getParamLoopSearchMaximumDistance()

double karto::Mapper::getParamLoopSearchMaximumDistance ( )

Definition at line 2378 of file Mapper.cpp.

◆ getParamLoopSearchSpaceDimension()

double karto::Mapper::getParamLoopSearchSpaceDimension ( )

Definition at line 2427 of file Mapper.cpp.

◆ getParamLoopSearchSpaceResolution()

double karto::Mapper::getParamLoopSearchSpaceResolution ( )

Definition at line 2432 of file Mapper.cpp.

◆ getParamLoopSearchSpaceSmearDeviation()

double karto::Mapper::getParamLoopSearchSpaceSmearDeviation ( )

Definition at line 2437 of file Mapper.cpp.

◆ getParamMinimumAnglePenalty()

double karto::Mapper::getParamMinimumAnglePenalty ( )

Definition at line 2469 of file Mapper.cpp.

◆ getParamMinimumDistancePenalty()

double karto::Mapper::getParamMinimumDistancePenalty ( )

Definition at line 2474 of file Mapper.cpp.

◆ getParamMinimumTimeInterval()

double karto::Mapper::getParamMinimumTimeInterval ( )

Definition at line 2343 of file Mapper.cpp.

◆ getParamMinimumTravelDistance()

double karto::Mapper::getParamMinimumTravelDistance ( )

Definition at line 2348 of file Mapper.cpp.

◆ getParamMinimumTravelHeading()

double karto::Mapper::getParamMinimumTravelHeading ( )

Definition at line 2353 of file Mapper.cpp.

◆ getParamScanBufferMaximumScanDistance()

double karto::Mapper::getParamScanBufferMaximumScanDistance ( )

Definition at line 2363 of file Mapper.cpp.

◆ getParamScanBufferSize()

int karto::Mapper::getParamScanBufferSize ( )

Definition at line 2358 of file Mapper.cpp.

◆ getParamUseResponseExpansion()

bool karto::Mapper::getParamUseResponseExpansion ( )

Definition at line 2479 of file Mapper.cpp.

◆ getParamUseScanBarycenter()

bool karto::Mapper::getParamUseScanBarycenter ( )

Definition at line 2338 of file Mapper.cpp.

◆ getParamUseScanMatching()

bool karto::Mapper::getParamUseScanMatching ( )

Definition at line 2333 of file Mapper.cpp.

◆ getScanSolver()

ScanSolver * karto::Mapper::getScanSolver ( )

Gets scan optimizer used by mapper when closing the loop

Returns
pSolver

Definition at line 3326 of file Mapper.cpp.

◆ GetSequentialScanMatcher()

ScanMatcher * karto::Mapper::GetSequentialScanMatcher ( ) const
virtual

Gets the sequential scan matcher

Returns
sequential scan matcher

Definition at line 3336 of file Mapper.cpp.

◆ HasMovedEnough()

kt_bool karto::Mapper::HasMovedEnough ( LocalizedRangeScan pScan,
LocalizedRangeScan pLastScan 
) const
protected

Test if the scan is "sufficiently far" from the last scan added.

Parameters
pScanscan to be checked
pLastScanlast scan added to mapper
Returns
true if the scan is "sufficiently far" from the last scan added or the scan is the first scan to be added

Is the scan sufficiently far from the last scan?

Parameters
pScan
pLastScan
Returns
true if the scans are sufficiently far

Definition at line 3188 of file Mapper.cpp.

◆ Initialize()

void karto::Mapper::Initialize ( kt_double  rangeThreshold)

Allocate memory needed for mapping

Parameters
rangeThreshold

Definition at line 2638 of file Mapper.cpp.

◆ InitializeParameters()

void karto::Mapper::InitializeParameters ( )
protected

Definition at line 2122 of file Mapper.cpp.

◆ LoadFromFile()

void karto::Mapper::LoadFromFile ( const std::string &  filename)

Load map from file

Parameters
filename

Definition at line 2679 of file Mapper.cpp.

◆ operator=()

const Mapper& karto::Mapper::operator= ( const Mapper )
private

Restrict the assignment operator

◆ Process() [1/2]

kt_bool karto::Mapper::Process ( LocalizedRangeScan pScan,
Matrix3 covariance = nullptr 
)
virtual

Process a localized range scan for incorporation into the map. The scan must be identified with a range finder device. Once added to a map, the corrected pose information in the localized scan will be updated to the correct pose as determined by the mapper.

Parameters
pScanA localized range scan that has pose information associated directly with the scan data. The pose is that of the range device originating the scan. Note that the mapper will set corrected pose information in the scan object.
Returns
true if the scan was added successfully, false otherwise

Definition at line 2719 of file Mapper.cpp.

◆ Process() [2/2]

kt_bool karto::Mapper::Process ( Object pObject)
virtual

Process an Object

Reimplemented from karto::Module.

Definition at line 2714 of file Mapper.cpp.

◆ ProcessAgainstNode()

kt_bool karto::Mapper::ProcessAgainstNode ( LocalizedRangeScan pScan,
const int &  nodeId,
Matrix3 covariance = nullptr 
)

Definition at line 3096 of file Mapper.cpp.

◆ ProcessAgainstNodesNearBy()

kt_bool karto::Mapper::ProcessAgainstNodesNearBy ( LocalizedRangeScan pScan,
kt_bool  addScanToLocalizationBuffer = false,
Matrix3 covariance = nullptr 
)

Definition at line 2799 of file Mapper.cpp.

◆ ProcessAtDock()

kt_bool karto::Mapper::ProcessAtDock ( LocalizedRangeScan pScan,
Matrix3 covariance = nullptr 
)

Definition at line 3176 of file Mapper.cpp.

◆ ProcessLocalization()

kt_bool karto::Mapper::ProcessLocalization ( LocalizedRangeScan pScan,
Matrix3 covariance = nullptr 
)

Definition at line 2887 of file Mapper.cpp.

◆ RemoveListener()

void karto::Mapper::RemoveListener ( MapperListener pListener)

Remove a listener to mapper

Parameters
pListenerRemoves a listener
pListener

Definition at line 3252 of file Mapper.cpp.

◆ RemoveNodeFromGraph()

kt_bool karto::Mapper::RemoveNodeFromGraph ( Vertex< LocalizedRangeScan > *  vertex_to_remove)

Definition at line 3030 of file Mapper.cpp.

◆ Reset()

void karto::Mapper::Reset ( )
virtual

Resets the mapper. Deallocate memory allocated in Initialize()

Implements karto::Module.

Definition at line 2689 of file Mapper.cpp.

◆ SaveToFile()

void karto::Mapper::SaveToFile ( const std::string &  filename)

Save map to file

Parameters
filename

Definition at line 2671 of file Mapper.cpp.

◆ serialize()

template<class Archive >
void karto::Mapper::serialize ( Archive &  ar,
const unsigned int  version 
)
inlineprotected

Definition at line 2344 of file Mapper.h.

◆ setParamAngleVariancePenalty()

void karto::Mapper::setParamAngleVariancePenalty ( double  d)

Definition at line 2601 of file Mapper.cpp.

◆ setParamCoarseAngleResolution()

void karto::Mapper::setParamCoarseAngleResolution ( double  d)

Definition at line 2616 of file Mapper.cpp.

◆ setParamCoarseSearchAngleOffset()

void karto::Mapper::setParamCoarseSearchAngleOffset ( double  d)

Definition at line 2611 of file Mapper.cpp.

◆ setParamCorrelationSearchSpaceDimension()

void karto::Mapper::setParamCorrelationSearchSpaceDimension ( double  d)

Definition at line 2562 of file Mapper.cpp.

◆ setParamCorrelationSearchSpaceResolution()

void karto::Mapper::setParamCorrelationSearchSpaceResolution ( double  d)

Definition at line 2567 of file Mapper.cpp.

◆ setParamCorrelationSearchSpaceSmearDeviation()

void karto::Mapper::setParamCorrelationSearchSpaceSmearDeviation ( double  d)

Definition at line 2572 of file Mapper.cpp.

◆ setParamDistanceVariancePenalty()

void karto::Mapper::setParamDistanceVariancePenalty ( double  d)

Definition at line 2596 of file Mapper.cpp.

◆ setParamDoLoopClosing()

void karto::Mapper::setParamDoLoopClosing ( bool  b)

Definition at line 2536 of file Mapper.cpp.

◆ setParamFineSearchAngleOffset()

void karto::Mapper::setParamFineSearchAngleOffset ( double  d)

Definition at line 2606 of file Mapper.cpp.

◆ setParamLinkMatchMinimumResponseFine()

void karto::Mapper::setParamLinkMatchMinimumResponseFine ( double  d)

Definition at line 2521 of file Mapper.cpp.

◆ setParamLinkScanMaximumDistance()

void karto::Mapper::setParamLinkScanMaximumDistance ( double  d)

Definition at line 2526 of file Mapper.cpp.

◆ setParamLoopMatchMaximumVarianceCoarse()

void karto::Mapper::setParamLoopMatchMaximumVarianceCoarse ( double  d)

Definition at line 2546 of file Mapper.cpp.

◆ setParamLoopMatchMinimumChainSize()

void karto::Mapper::setParamLoopMatchMinimumChainSize ( int  i)

Definition at line 2541 of file Mapper.cpp.

◆ setParamLoopMatchMinimumResponseCoarse()

void karto::Mapper::setParamLoopMatchMinimumResponseCoarse ( double  d)

Definition at line 2551 of file Mapper.cpp.

◆ setParamLoopMatchMinimumResponseFine()

void karto::Mapper::setParamLoopMatchMinimumResponseFine ( double  d)

Definition at line 2556 of file Mapper.cpp.

◆ setParamLoopSearchMaximumDistance()

void karto::Mapper::setParamLoopSearchMaximumDistance ( double  d)

Definition at line 2531 of file Mapper.cpp.

◆ setParamLoopSearchSpaceDimension()

void karto::Mapper::setParamLoopSearchSpaceDimension ( double  d)

Definition at line 2579 of file Mapper.cpp.

◆ setParamLoopSearchSpaceResolution()

void karto::Mapper::setParamLoopSearchSpaceResolution ( double  d)

Definition at line 2584 of file Mapper.cpp.

◆ setParamLoopSearchSpaceSmearDeviation()

void karto::Mapper::setParamLoopSearchSpaceSmearDeviation ( double  d)

Definition at line 2589 of file Mapper.cpp.

◆ setParamMinimumAnglePenalty()

void karto::Mapper::setParamMinimumAnglePenalty ( double  d)

Definition at line 2621 of file Mapper.cpp.

◆ setParamMinimumDistancePenalty()

void karto::Mapper::setParamMinimumDistancePenalty ( double  d)

Definition at line 2626 of file Mapper.cpp.

◆ setParamMinimumTimeInterval()

void karto::Mapper::setParamMinimumTimeInterval ( double  d)

Definition at line 2496 of file Mapper.cpp.

◆ setParamMinimumTravelDistance()

void karto::Mapper::setParamMinimumTravelDistance ( double  d)

Definition at line 2501 of file Mapper.cpp.

◆ setParamMinimumTravelHeading()

void karto::Mapper::setParamMinimumTravelHeading ( double  d)

Definition at line 2506 of file Mapper.cpp.

◆ setParamScanBufferMaximumScanDistance()

void karto::Mapper::setParamScanBufferMaximumScanDistance ( double  d)

Definition at line 2516 of file Mapper.cpp.

◆ setParamScanBufferSize()

void karto::Mapper::setParamScanBufferSize ( int  i)

Definition at line 2511 of file Mapper.cpp.

◆ setParamUseResponseExpansion()

void karto::Mapper::setParamUseResponseExpansion ( bool  b)

Definition at line 2631 of file Mapper.cpp.

◆ setParamUseScanBarycenter()

void karto::Mapper::setParamUseScanBarycenter ( bool  b)

Definition at line 2491 of file Mapper.cpp.

◆ setParamUseScanMatching()

void karto::Mapper::setParamUseScanMatching ( bool  b)

Definition at line 2486 of file Mapper.cpp.

◆ SetScanSolver()

void karto::Mapper::SetScanSolver ( ScanSolver pSolver)

Set scan optimizer used by mapper when closing the loop

Parameters
pSolver

Definition at line 3321 of file Mapper.cpp.

◆ SetUseScanMatching()

void karto::Mapper::SetUseScanMatching ( kt_bool  val)
inline

Definition at line 2140 of file Mapper.h.

◆ TryCloseLoop()

kt_bool karto::Mapper::TryCloseLoop ( LocalizedRangeScan pScan,
const Name rSensorName 
)
inline

Tries to close a loop using the given scan with the scans from the given sensor

Parameters
pScan
rSensorName

Definition at line 2066 of file Mapper.h.

Friends And Related Function Documentation

◆ boost::serialization::access

friend class boost::serialization::access
friend

Definition at line 2342 of file Mapper.h.

◆ MapperGraph

friend class MapperGraph
friend

Definition at line 1930 of file Mapper.h.

◆ ScanMatcher

friend class ScanMatcher
friend

Definition at line 1931 of file Mapper.h.

Member Data Documentation

◆ m_Deserialized

kt_bool karto::Mapper::m_Deserialized
protected

Definition at line 2144 of file Mapper.h.

◆ m_Initialized

kt_bool karto::Mapper::m_Initialized
protected

Definition at line 2143 of file Mapper.h.

◆ m_Listeners

std::vector<MapperListener*> karto::Mapper::m_Listeners
protected

Definition at line 2155 of file Mapper.h.

◆ m_LocalizationScanVertices

LocalizationScanVertices karto::Mapper::m_LocalizationScanVertices
protected

Definition at line 2152 of file Mapper.h.

◆ m_pAngleVariancePenalty

Parameter<kt_double>* karto::Mapper::m_pAngleVariancePenalty
protected

Definition at line 2325 of file Mapper.h.

◆ m_pCoarseAngleResolution

Parameter<kt_double>* karto::Mapper::m_pCoarseAngleResolution
protected

Definition at line 2332 of file Mapper.h.

◆ m_pCoarseSearchAngleOffset

Parameter<kt_double>* karto::Mapper::m_pCoarseSearchAngleOffset
protected

Definition at line 2329 of file Mapper.h.

◆ m_pCorrelationSearchSpaceDimension

Parameter<kt_double>* karto::Mapper::m_pCorrelationSearchSpaceDimension
protected

The size of the search grid used by the matcher. Default value is 0.3 meters which tells the matcher to use a 30cm x 30cm grid.

Definition at line 2282 of file Mapper.h.

◆ m_pCorrelationSearchSpaceResolution

Parameter<kt_double>* karto::Mapper::m_pCorrelationSearchSpaceResolution
protected

The resolution (size of a grid cell) of the correlation grid. Default value is 0.01 meters.

Definition at line 2288 of file Mapper.h.

◆ m_pCorrelationSearchSpaceSmearDeviation

Parameter<kt_double>* karto::Mapper::m_pCorrelationSearchSpaceSmearDeviation
protected

The point readings are smeared by this value in X and Y to create a smoother response. Default value is 0.03 meters.

Definition at line 2294 of file Mapper.h.

◆ m_pDistanceVariancePenalty

Parameter<kt_double>* karto::Mapper::m_pDistanceVariancePenalty
protected

Definition at line 2324 of file Mapper.h.

◆ m_pDoLoopClosing

Parameter<kt_bool>* karto::Mapper::m_pDoLoopClosing
protected

Enable/disable loop closure. Default is enabled.

Definition at line 2239 of file Mapper.h.

◆ m_pFineSearchAngleOffset

Parameter<kt_double>* karto::Mapper::m_pFineSearchAngleOffset
protected

Definition at line 2328 of file Mapper.h.

◆ m_pGraph

MapperGraph* karto::Mapper::m_pGraph
protected

Definition at line 2150 of file Mapper.h.

◆ m_pLinkMatchMinimumResponseFine

Parameter<kt_double>* karto::Mapper::m_pLinkMatchMinimumResponseFine
protected

Scans are linked only if the correlation response value is greater than this value. Default value is 0.4

Definition at line 2226 of file Mapper.h.

◆ m_pLinkScanMaximumDistance

Parameter<kt_double>* karto::Mapper::m_pLinkScanMaximumDistance
protected

Maximum distance between linked scans. Scans that are farther apart will not be linked regardless of the correlation response value. Default value is 6.0 meters.

Definition at line 2233 of file Mapper.h.

◆ m_pLoopMatchMaximumVarianceCoarse

Parameter<kt_double>* karto::Mapper::m_pLoopMatchMaximumVarianceCoarse
protected

The co-variance values for a possible loop closure have to be less than this value to consider a viable solution. This applies to the coarse search. Default value is 0.16.

Definition at line 2261 of file Mapper.h.

◆ m_pLoopMatchMinimumChainSize

Parameter<kt_int32u>* karto::Mapper::m_pLoopMatchMinimumChainSize
protected

When the loop closure detection finds a candidate it must be part of a large set of linked scans. If the chain of scans is less than this value we do not attempt to close the loop. Default value is 10.

Definition at line 2254 of file Mapper.h.

◆ m_pLoopMatchMinimumResponseCoarse

Parameter<kt_double>* karto::Mapper::m_pLoopMatchMinimumResponseCoarse
protected

If response is larger then this, then initiate loop closure search at the coarse resolution. Default value is 0.7.

Definition at line 2267 of file Mapper.h.

◆ m_pLoopMatchMinimumResponseFine

Parameter<kt_double>* karto::Mapper::m_pLoopMatchMinimumResponseFine
protected

If response is larger then this, then initiate loop closure search at the fine resolution. Default value is 0.7.

Definition at line 2273 of file Mapper.h.

◆ m_pLoopSearchMaximumDistance

Parameter<kt_double>* karto::Mapper::m_pLoopSearchMaximumDistance
protected

Scans less than this distance from the current position will be considered for a match in loop closure. Default value is 4.0 meters.

Definition at line 2246 of file Mapper.h.

◆ m_pLoopSearchSpaceDimension

Parameter<kt_double>* karto::Mapper::m_pLoopSearchSpaceDimension
protected

The size of the search grid used by the matcher. Default value is 0.3 meters which tells the matcher to use a 30cm x 30cm grid.

Definition at line 2304 of file Mapper.h.

◆ m_pLoopSearchSpaceResolution

Parameter<kt_double>* karto::Mapper::m_pLoopSearchSpaceResolution
protected

The resolution (size of a grid cell) of the correlation grid. Default value is 0.01 meters.

Definition at line 2310 of file Mapper.h.

◆ m_pLoopSearchSpaceSmearDeviation

Parameter<kt_double>* karto::Mapper::m_pLoopSearchSpaceSmearDeviation
protected

The point readings are smeared by this value in X and Y to create a smoother response. Default value is 0.03 meters.

Definition at line 2316 of file Mapper.h.

◆ m_pMapperSensorManager

MapperSensorManager* karto::Mapper::m_pMapperSensorManager
protected

Definition at line 2148 of file Mapper.h.

◆ m_pMinimumAnglePenalty

Parameter<kt_double>* karto::Mapper::m_pMinimumAnglePenalty
protected

Definition at line 2336 of file Mapper.h.

◆ m_pMinimumDistancePenalty

Parameter<kt_double>* karto::Mapper::m_pMinimumDistancePenalty
protected

Definition at line 2337 of file Mapper.h.

◆ m_pMinimumTimeInterval

Parameter<kt_double>* karto::Mapper::m_pMinimumTimeInterval
protected

Sets the minimum time between scans. If a new scan's time stamp is longer than MinimumTimeInterval from the previously processed scan, the mapper will use the data from the new scan. Otherwise, it will discard the new scan if it also does not meet the minimum travel distance and heading requirements. For performance reasons, it is generally it is a good idea to only process scans if a reasonable amount of time has passed. This parameter is particularly useful when there is a need to process scans while the robot is stationary. Default value is 3600 (seconds), effectively disabling this parameter.

Definition at line 2183 of file Mapper.h.

◆ m_pMinimumTravelDistance

Parameter<kt_double>* karto::Mapper::m_pMinimumTravelDistance
protected

Sets the minimum travel between scans. If a new scan's position is more than minimumTravelDistance from the previous scan, the mapper will use the data from the new scan. Otherwise, it will discard the new scan if it also does not meet the minimum change in heading requirement. For performance reasons, generally it is a good idea to only process scans if the robot has moved a reasonable amount. Default value is 0.2 (meters).

Definition at line 2193 of file Mapper.h.

◆ m_pMinimumTravelHeading

Parameter<kt_double>* karto::Mapper::m_pMinimumTravelHeading
protected

Sets the minimum heading change between scans. If a new scan's heading is more than minimumTravelHeading from the previous scan, the mapper will use the data from the new scan. Otherwise, it will discard the new scan if it also does not meet the minimum travel distance requirement. For performance reasons, generally it is a good idea to only process scans if the robot has moved a reasonable amount. Default value is 10 degrees.

Definition at line 2203 of file Mapper.h.

◆ m_pScanBufferMaximumScanDistance

Parameter<kt_double>* karto::Mapper::m_pScanBufferMaximumScanDistance
protected

Scan buffer maximum scan distance is the maximum distance between the first and last scans in the scan chain stored for matching. Default value is 20.0.

Definition at line 2220 of file Mapper.h.

◆ m_pScanBufferSize

Parameter<kt_int32u>* karto::Mapper::m_pScanBufferSize
protected

Scan buffer size is the length of the scan chain stored for scan matching. "scanBufferSize" should be set to approximately "scanBufferMaximumScanDistance" / "minimumTravelDistance". The idea is to get an area approximately 20 meters long for scan matching. For example, if we add scans every minimumTravelDistance == 0.3 meters, then "scanBufferSize" should be 20 / 0.3 = 67.) Default value is 67.

Definition at line 2213 of file Mapper.h.

◆ m_pScanOptimizer

ScanSolver* karto::Mapper::m_pScanOptimizer
protected

Definition at line 2151 of file Mapper.h.

◆ m_pSequentialScanMatcher

ScanMatcher* karto::Mapper::m_pSequentialScanMatcher
protected

Definition at line 2146 of file Mapper.h.

◆ m_pUseResponseExpansion

Parameter<kt_bool>* karto::Mapper::m_pUseResponseExpansion
protected

Definition at line 2340 of file Mapper.h.

◆ m_pUseScanBarycenter

Parameter<kt_bool>* karto::Mapper::m_pUseScanBarycenter
protected

Default value is true.

Definition at line 2170 of file Mapper.h.

◆ m_pUseScanMatching

Parameter<kt_bool>* karto::Mapper::m_pUseScanMatching
protected

When set to true, the mapper will use a scan matching algorithm. In most real-world situations this should be set to true so that the mapper algorithm can correct for noise and errors in odometry and scan data. In some simulator environments where the simulated scan and odometry data are very accurate, the scan matching algorithm can produce worse results. In those cases set this to false to improve results. Default value is true.

Definition at line 2165 of file Mapper.h.


The documentation for this class was generated from the following files:


slam_toolbox
Author(s): Steve Macenski
autogenerated on Thu Jan 11 2024 03:37:56