Jafar
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes
jafar::slammm::ListMapsPoseManager Class Reference

Store the pose of each maps in a list. More...


Detailed Description

Store the pose of each maps in a list.

Definition at line 13 of file ListMapsPoseManager.hpp.

#include <ListMapsPoseManager.hpp>

Inheritance diagram for jafar::slammm::ListMapsPoseManager:
Inheritance graph
[legend]

List of all members.

Classes

struct  MapPoseInfo
struct  MapPoseInfoEdge

Public Member Functions

 ListMapsPoseManager (std::size_t maxStateSize)
virtual void addFirstMapPose (unsigned int _mapId, unsigned int _robotId, const jblas::vec &_robotState, const jblas::mat &_robotStateCov)
 Add the pose of the first map in the world.
virtual void addMapPose (unsigned int _mapId, unsigned int _robotId, unsigned int _previousMapId, const jblas::vec &_robotState, const jblas::mat &_robotStateCov)
 Add the pose of a map in reference to an other map.
virtual jafar::geom::T3DEuler getWorldToMapTransformation (unsigned int _mapId) const
virtual jafar::geom::T3DEuler getMapToMapTransformation (unsigned int _firstMapId, unsigned int _secondMapId) const
virtual void enforceLoopConstraint (unsigned int _firstMapId, unsigned int _secondMapId, const jblas::vec &_transformation, const jblas::sym_mat &_transformationCov)
 Enforce loop constraints when a transformation between two maps is known.
virtual bool canEnforceLoopConstraint (unsigned int _firstMapId, unsigned int _secondMapId) const
virtual void writeLogHeader (kernel::DataLogger &log) const
 Implements this method calling repeatidly log methods.
virtual void writeLogData (kernel::DataLogger &log) const
 Implements this method calling repeatidly log methods.
void displayConnections () const
void exportToDot (char *_filename)
 Export the graph structure to dot.

Private Types

typedef std::list< std::pair
< MapPoseInfo
*, MapPoseInfoEdge * > > 
CycleType

Private Member Functions

void getToMapTransformation (jafar::geom::T3DEuler &transfo, unsigned int _mapId, unsigned int _secondMapId) const
 Get the transformation to a map.
MapPoseInfoEdgecreateEdge (int robotStateSize)
CycleType smallestCycleBetween (MapPoseInfo *_firstMap, MapPoseInfo *_secondMap) const
bool mapAreConnected (MapPoseInfo *_map1, MapPoseInfo *_map2) const

Private Attributes

std::list< MapPoseInfoEdge * > m_mapPoseEdgeInfos
 list of edges for memory management purposes
std::map< unsigned int,
MapPoseInfo * > 
m_mapPoseInfos
jblas::vec m_state
jblas::sym_mat m_cov
int m_nextFreeState
MapPoseInfoglobalFrameInfo

Member Function Documentation

virtual void jafar::slammm::ListMapsPoseManager::enforceLoopConstraint ( unsigned int  _firstMapId,
unsigned int  _secondMapId,
const jblas::vec _transformation,
const jblas::sym_mat _transformationCov 
) [virtual]

Enforce loop constraints when a transformation between two maps is known.

Parameters:
_transformationthe transformation from the first map to the second map
_transformationCov

Implements jafar::slammm::MapsPoseManager.

virtual jafar::geom::T3DEuler jafar::slammm::ListMapsPoseManager::getMapToMapTransformation ( unsigned int  _firstMapId,
unsigned int  _secondMapId 
) const [virtual]
Returns:
the transformation between two maps. It the transformation of robot2/map2 expressed in robot1/map1 frame.

Implements jafar::slammm::MapsPoseManager.

void jafar::slammm::ListMapsPoseManager::getToMapTransformation ( jafar::geom::T3DEuler transfo,
unsigned int  _mapId,
unsigned int  _secondMapId 
) const [private]

Get the transformation to a map.

Parameters:
_secondMapIdid of the second map (if possible)
Returns:
true if the transformation is global
Returns:
the transformation from the given map to the world.

Implements jafar::slammm::MapsPoseManager.

bool jafar::slammm::ListMapsPoseManager::mapAreConnected ( MapPoseInfo _map1,
MapPoseInfo _map2 
) const [private]
Returns:
true if the two maps in argument are connected
CycleType jafar::slammm::ListMapsPoseManager::smallestCycleBetween ( MapPoseInfo _firstMap,
MapPoseInfo _secondMap 
) const [private]
Returns:
the smallest loop between two maps (or an empty list if there isn't such a loop)

Implements this method calling repeatidly log methods.

You should use writeData() or writeDataVector().

Implements jafar::kernel::DataLoggable.

Implements this method calling repeatidly log methods.

You should use writeComment(), writeLegend() or writeLegendTokens().

Implements jafar::kernel::DataLoggable.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on Wed Oct 15 2014 00:37:50 for Jafar by doxygen 1.7.6.1
LAAS-CNRS