Memory.h
Go to the documentation of this file.
1 /*
2 Copyright (c) 2010-2016, Mathieu Labbe - IntRoLab - Universite de Sherbrooke
3 All rights reserved.
4 
5 Redistribution and use in source and binary forms, with or without
6 modification, are permitted provided that the following conditions are met:
7  * Redistributions of source code must retain the above copyright
8  notice, this list of conditions and the following disclaimer.
9  * Redistributions in binary form must reproduce the above copyright
10  notice, this list of conditions and the following disclaimer in the
11  documentation and/or other materials provided with the distribution.
12  * Neither the name of the Universite de Sherbrooke nor the
13  names of its contributors may be used to endorse or promote products
14  derived from this software without specific prior written permission.
15 
16 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
17 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
20 DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23 ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */
27 
28 #ifndef MEMORY_H_
29 #define MEMORY_H_
30 
31 #include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines
32 
36 #include "rtabmap/core/Link.h"
38 #include <typeinfo>
39 #include <list>
40 #include <map>
41 #include <set>
42 #include "rtabmap/utilite/UStl.h"
43 #include <opencv2/core/core.hpp>
44 #include <opencv2/features2d/features2d.hpp>
45 #include <pcl/pcl_config.h>
46 
47 namespace rtabmap {
48 
49 class Signature;
50 class DBDriver;
51 class VWDictionary;
52 class VisualWord;
53 class Feature2D;
54 class Statistics;
55 class Registration;
56 class RegistrationInfo;
57 class RegistrationIcp;
58 class RegistrationVis;
59 class Stereo;
60 class LocalGridMaker;
61 class MarkerDetector;
62 class GlobalDescriptorExtractor;
63 
64 class RTABMAP_CORE_EXPORT Memory
65 {
66 public:
67  static const int kIdStart;
68  static const int kIdVirtual;
69  static const int kIdInvalid;
70 
71 public:
72  Memory(const ParametersMap & parameters = ParametersMap());
73  virtual ~Memory();
74 
75  virtual void parseParameters(const ParametersMap & parameters);
76  virtual const ParametersMap & getParameters() const {return parameters_;}
77  bool update(const SensorData & data,
78  Statistics * stats = 0);
79  bool update(const SensorData & data,
80  const Transform & pose,
81  const cv::Mat & covariance,
82  const std::vector<float> & velocity = std::vector<float>(), // vx,vy,vz,vroll,vpitch,vyaw
83  Statistics * stats = 0);
84  bool init(const std::string & dbUrl,
85  bool dbOverwritten = false,
86  const ParametersMap & parameters = ParametersMap(),
87  bool postInitClosingEvents = false);
88  void close(bool databaseSaved = true, bool postInitClosingEvents = false, const std::string & ouputDatabasePath = "");
89  std::map<int, float> computeLikelihood(const Signature * signature,
90  const std::list<int> & ids);
91  int incrementMapId(std::map<int, int> * reducedIds = 0);
92  void updateAge(int signatureId);
93 
94  std::list<int> forget(const std::set<int> & ignoredIds = std::set<int>());
95  std::set<int> reactivateSignatures(const std::list<int> & ids, unsigned int maxLoaded, double & timeDbAccess);
96 
97  int cleanup();
98  void saveStatistics(const Statistics & statistics, bool saveWMState);
99  void savePreviewImage(const cv::Mat & image) const;
100  cv::Mat loadPreviewImage() const;
101  void saveOptimizedPoses(const std::map<int, Transform> & optimizedPoses, const Transform & lastlocalizationPose) const;
102  std::map<int, Transform> loadOptimizedPoses(Transform * lastlocalizationPose) const;
103  void save2DMap(const cv::Mat & map, float xMin, float yMin, float cellSize) const;
104  cv::Mat load2DMap(float & xMin, float & yMin, float & cellSize) const;
105  void saveOptimizedMesh(
106  const cv::Mat & cloud,
107  const std::vector<std::vector<std::vector<RTABMAP_PCL_INDEX> > > & polygons = std::vector<std::vector<std::vector<RTABMAP_PCL_INDEX> > >(), // Textures -> polygons -> vertices
108 #if PCL_VERSION_COMPARE(>=, 1, 8, 0)
109  const std::vector<std::vector<Eigen::Vector2f, Eigen::aligned_allocator<Eigen::Vector2f> > > & texCoords = std::vector<std::vector<Eigen::Vector2f, Eigen::aligned_allocator<Eigen::Vector2f> > >(), // Textures -> uv coords for each vertex of the polygons
110 #else
111  const std::vector<std::vector<Eigen::Vector2f> > & texCoords = std::vector<std::vector<Eigen::Vector2f> >(), // Textures -> uv coords for each vertex of the polygons
112 #endif
113  const cv::Mat & textures = cv::Mat()) const; // concatenated textures (assuming square textures with all same size)
114  cv::Mat loadOptimizedMesh(
115  std::vector<std::vector<std::vector<RTABMAP_PCL_INDEX> > > * polygons = 0,
116 #if PCL_VERSION_COMPARE(>=, 1, 8, 0)
117  std::vector<std::vector<Eigen::Vector2f, Eigen::aligned_allocator<Eigen::Vector2f> > > * texCoords = 0,
118 #else
119  std::vector<std::vector<Eigen::Vector2f> > * texCoords = 0,
120 #endif
121  cv::Mat * textures = 0) const;
122  void emptyTrash();
123  void joinTrashThread();
124  bool addLink(const Link & link, bool addInDatabase = false);
125  void updateLink(const Link & link, bool updateInDatabase = false);
126  void removeAllVirtualLinks();
127  void removeVirtualLinks(int signatureId);
128  std::map<int, int> getNeighborsId(
129  int signatureId,
130  int maxGraphDepth,
131  int maxCheckedInDatabase = -1,
132  bool incrementMarginOnLoop = false,
133  bool ignoreLoopIds = false,
134  bool ignoreIntermediateNodes = false,
135  bool ignoreLocalSpaceLoopIds = false,
136  const std::set<int> & nodesSet = std::set<int>(),
137  double * dbAccessTime = 0) const;
138  std::map<int, float> getNeighborsIdRadius(
139  int signatureId,
140  float radius,
141  const std::map<int, Transform> & optimizedPoses,
142  int maxGraphDepth) const;
143  void deleteLocation(int locationId, std::list<int> * deletedWords = 0);
144  void saveLocationData(int locationId);
145  void removeLink(int idA, int idB);
146  void removeRawData(int id, bool image = true, bool scan = true, bool userData = true);
147 
148  //getters
149  const std::map<int, double> & getWorkingMem() const {return _workingMem;}
150  const std::set<int> & getStMem() const {return _stMem;}
151  int getMaxStMemSize() const {return _maxStMemSize;}
152  std::multimap<int, Link> getNeighborLinks(int signatureId,
153  bool lookInDatabase = false) const;
154  std::multimap<int, Link> getLoopClosureLinks(int signatureId,
155  bool lookInDatabase = false) const;
156  std::multimap<int, Link> getLinks(int signatureId, // can be also used to get links from landmarks
157  bool lookInDatabase = false,
158  bool withLandmarks = false) const;
159  std::multimap<int, Link> getAllLinks(bool lookInDatabase, bool ignoreNullLinks = true, bool withLandmarks = false) const;
160  bool isBinDataKept() const {return _binDataKept;}
161  float getSimilarityThreshold() const {return _similarityThreshold;}
162  std::map<int, int> getWeights() const;
163  int getLastSignatureId() const;
164  const Signature * getLastWorkingSignature() const;
165  std::map<int, Link> getNodesObservingLandmark(int landmarkId, bool lookInDatabase) const;
166  int getSignatureIdByLabel(const std::string & label, bool lookInDatabase = true) const;
167  bool labelSignature(int id, const std::string & label);
168  const std::map<int, std::string> & getAllLabels() const {return _labels;}
169  const std::map<int, std::set<int> > & getLandmarksIndex() const {return _landmarksIndex;}
170  bool allNodesInWM() const {return _allNodesInWM;}
171 
179  bool setUserData(int id, const cv::Mat & data);
180  int getDatabaseMemoryUsed() const; // in bytes
181  std::string getDatabaseVersion() const;
182  std::string getDatabaseUrl() const;
183  double getDbSavingTime() const;
184  int getMapId(int id, bool lookInDatabase = false) const;
185  Transform getOdomPose(int signatureId, bool lookInDatabase = false) const;
186  Transform getGroundTruthPose(int signatureId, bool lookInDatabase = false) const;
187  const std::map<int, Transform> & getGroundTruths() const {return _groundTruths;} // only those in working+STM memory
188  void getGPS(int id, GPS & gps, Transform & offsetENU, bool lookInDatabase, int maxGraphDepth = 0) const;
189  bool getNodeInfo(int signatureId,
190  Transform & odomPose,
191  int & mapId,
192  int & weight,
193  std::string & label,
194  double & stamp,
195  Transform & groundTruth,
196  std::vector<float> & velocity,
197  GPS & gps,
198  EnvSensors & sensors,
199  bool lookInDatabase = false) const;
200  cv::Mat getImageCompressed(int signatureId) const;
201  SensorData getNodeData(int locationId, bool images, bool scan, bool userData, bool occupancyGrid) const;
202  void getNodeWordsAndGlobalDescriptors(int nodeId,
203  std::multimap<int, int> & words,
204  std::vector<cv::KeyPoint> & wordsKpts,
205  std::vector<cv::Point3f> & words3,
206  cv::Mat & wordsDescriptors,
207  std::vector<GlobalDescriptor> & globalDescriptors) const;
208  void getNodeCalibration(int nodeId,
209  std::vector<CameraModel> & models,
210  std::vector<StereoCameraModel> & stereoModels) const;
211  std::set<int> getAllSignatureIds(bool ignoreChildren = true) const;
212  bool memoryChanged() const {return _memoryChanged;}
213  bool isIncremental() const {return _incrementalMemory;}
214  bool isLocalizationDataSaved() const {return _localizationDataSaved;}
215  const Signature * getSignature(int id) const;
216  bool isInSTM(int signatureId) const {return _stMem.find(signatureId) != _stMem.end();}
217  bool isInWM(int signatureId) const {return _workingMem.find(signatureId) != _workingMem.end();}
218  bool isInLTM(int signatureId) const {return !this->isInSTM(signatureId) && !this->isInWM(signatureId);}
219  bool isIDsGenerated() const {return _generateIds;}
220  int getLastGlobalLoopClosureId() const {return _lastGlobalLoopClosureId;}
221  const Feature2D * getFeature2D() const {return _feature2D;}
222  bool isGraphReduced() const {return _reduceGraph;}
223  const std::vector<double> & getOdomMaxInf() const {return _odomMaxInf;}
224  bool isOdomGravityUsed() const {return _useOdometryGravity;}
225 
226  void dumpMemoryTree(const char * fileNameTree) const;
227  virtual void dumpMemory(std::string directory) const;
228  virtual void dumpSignatures(const char * fileNameSign, bool words3D) const;
229  void dumpDictionary(const char * fileNameRef, const char * fileNameDesc) const;
230  unsigned long getMemoryUsed() const; //Bytes
231 
232  void generateGraph(const std::string & fileName, const std::set<int> & ids = std::set<int>());
233  int cleanupLocalGrids(
234  const std::map<int, Transform> & poses,
235  const cv::Mat & map,
236  float xMin,
237  float yMin,
238  float cellSize,
239  int cropRadius = 1,
240  bool filterScans = false);
241 
242  //keypoint stuff
243  const VWDictionary * getVWDictionary() const;
244 
245  // RGB-D stuff
246  void getMetricConstraints(
247  const std::set<int> & ids,
248  std::map<int, Transform> & poses,
249  std::multimap<int, Link> & links,
250  bool lookInDatabase = false,
251  bool landmarksAdded = false);
252 
253  Transform computeTransform(Signature & fromS, Signature & toS, Transform guess, RegistrationInfo * info = 0, bool useKnownCorrespondencesIfPossible = false) const;
254  Transform computeTransform(int fromId, int toId, Transform guess, RegistrationInfo * info = 0, bool useKnownCorrespondencesIfPossible = false);
255  Transform computeIcpTransform(const Signature & fromS, const Signature & toS, Transform guess, RegistrationInfo * info = 0) const;
256  Transform computeIcpTransformMulti(
257  int newId,
258  int oldId,
259  const std::map<int, Transform> & poses,
260  RegistrationInfo * info = 0);
261 
262 private:
263  void preUpdate();
264  void addSignatureToStm(Signature * signature, const cv::Mat & covariance);
265  void clear();
266  void loadDataFromDb(bool postInitClosingEvents);
267  void moveToTrash(Signature * s, bool keepLinkedToGraph = true, std::list<int> * deletedWords = 0);
268 
269  void moveSignatureToWMFromSTM(int id, int * reducedTo = 0);
270  void addSignatureToWmFromLTM(Signature * signature);
271  Signature * _getSignature(int id) const;
272  std::list<Signature *> getRemovableSignatures(int count,
273  const std::set<int> & ignoredIds = std::set<int>());
274  int getNextId();
275  void initCountId();
276  void rehearsal(Signature * signature, Statistics * stats = 0);
277  bool rehearsalMerge(int oldId, int newId);
278 
279  const std::map<int, Signature*> & getSignatures() const {return _signatures;}
280 
281  void copyData(const Signature * from, Signature * to);
282  Signature * createSignature(
283  const SensorData & data,
284  const Transform & pose,
285  Statistics * stats = 0);
286 
287  //keypoint stuff
288  void disableWordsRef(int signatureId);
289  void enableWordsRef(const std::list<int> & signatureIds);
290  void cleanUnusedWords();
291  int getNi(int signatureId) const;
292 
293 protected:
295 
296 private:
297  // parameters
318  unsigned int _imagePreDecimation;
319  unsigned int _imagePostDecimation;
337  bool _visSSC;
344 
345  int _idCount;
349  bool _memoryChanged; // False by default, become true only when Memory::update() is called.
350  bool _linksChanged; // False by default, become true when links are modified.
354  std::vector<CameraModel> _rectCameraModels;
355  std::vector<StereoCameraModel> _rectStereoCameraModels;
356  std::vector<double> _odomMaxInf;
357 
358  std::map<int, Signature *> _signatures; // TODO : check if a signature is already added? although it is not supposed to occur...
359  std::set<int> _stMem; // id
360  std::map<int, double> _workingMem; // id,age
361  std::map<int, Transform> _groundTruths;
362  std::map<int, std::string> _labels;
363  std::map<int, std::set<int> > _landmarksIndex; // < -landmarkId, nodeIds >
364  std::map<int, float> _landmarksSize; // +landmarkId
365 
366  //Keypoint stuff
372 
376 
378 
380 
382 };
383 
384 } // namespace rtabmap
385 
386 #endif /* MEMORY_H_ */
rtabmap::Memory::getLandmarksIndex
const std::map< int, std::set< int > > & getLandmarksIndex() const
Definition: Memory.h:169
rtabmap::SensorData
Definition: SensorData.h:51
rtabmap::Memory::getMaxStMemSize
int getMaxStMemSize() const
Definition: Memory.h:151
rtabmap::Memory::isInSTM
bool isInSTM(int signatureId) const
Definition: Memory.h:216
rtabmap::Memory::_stMem
std::set< int > _stMem
Definition: Memory.h:359
rtabmap::Memory::_visMaxFeatures
int _visMaxFeatures
Definition: Memory.h:336
rtabmap::GlobalDescriptorExtractor
Definition: GlobalDescriptorExtractor.h:40
update
def update(text)
rtabmap::Memory::isIncremental
bool isIncremental() const
Definition: Memory.h:213
rtabmap::Statistics
Definition: Statistics.h:53
rtabmap::Memory::_lastGlobalLoopClosureId
int _lastGlobalLoopClosureId
Definition: Memory.h:348
rtabmap::Memory::memoryChanged
bool memoryChanged() const
Definition: Memory.h:212
rtabmap::Memory::_idCount
int _idCount
Definition: Memory.h:345
rtabmap::Memory::_compressionParallelized
bool _compressionParallelized
Definition: Memory.h:320
rtabmap::Memory::_vwd
VWDictionary * _vwd
Definition: Memory.h:367
rtabmap::RegistrationIcp
Definition: RegistrationIcp.h:39
rtabmap::Registration
Definition: Registration.h:39
rtabmap::Memory::_similarityThreshold
float _similarityThreshold
Definition: Memory.h:299
rtabmap::Memory::_registrationPipeline
Registration * _registrationPipeline
Definition: Memory.h:373
rtabmap::RegistrationInfo
Definition: RegistrationInfo.h:34
rtabmap::Memory::isBinDataKept
bool isBinDataKept() const
Definition: Memory.h:160
rtabmap::Memory::_tfIdfLikelihoodUsed
bool _tfIdfLikelihoodUsed
Definition: Memory.h:370
rtabmap::Memory::_invertedReg
bool _invertedReg
Definition: Memory.h:328
rtabmap::Memory::_signaturesAdded
int _signaturesAdded
Definition: Memory.h:351
rtabmap::Memory::_linksChanged
bool _linksChanged
Definition: Memory.h:350
rtabmap::Memory::getStMem
const std::set< int > & getStMem() const
Definition: Memory.h:150
rtabmap::Memory::getSimilarityThreshold
float getSimilarityThreshold() const
Definition: Memory.h:161
SensorData.h
rtabmap::Memory::getParameters
virtual const ParametersMap & getParameters() const
Definition: Memory.h:76
rtabmap::Memory::_gpsOrigin
GPS _gpsOrigin
Definition: Memory.h:353
rtabmap::GPS
Definition: GPS.h:35
rtabmap::Memory::_markerAngVariance
float _markerAngVariance
Definition: Memory.h:343
rtabmap::Memory::_landmarksSize
std::map< int, float > _landmarksSize
Definition: Memory.h:364
rtabmap::Memory::_localMapMaker
LocalGridMaker * _localMapMaker
Definition: Memory.h:377
rtabmap::Memory::isInLTM
bool isInLTM(int signatureId) const
Definition: Memory.h:218
rtabmap::Memory::_transferSortingByWeightId
bool _transferSortingByWeightId
Definition: Memory.h:311
rtabmap::Memory::_visSSC
bool _visSSC
Definition: Memory.h:337
rtabmap::Memory::_imagePreDecimation
unsigned int _imagePreDecimation
Definition: Memory.h:318
rtabmap::Memory::_imagesAlreadyRectified
bool _imagesAlreadyRectified
Definition: Memory.h:338
rtabmap::ParametersMap
std::map< std::string, std::string > ParametersMap
Definition: Parameters.h:43
rtabmap::Memory::_reduceGraph
bool _reduceGraph
Definition: Memory.h:308
rtabmap::Memory::_laserScanDownsampleStepSize
float _laserScanDownsampleStepSize
Definition: Memory.h:321
rtabmap::Memory::getSignatures
const std::map< int, Signature * > & getSignatures() const
Definition: Memory.h:279
Parameters.h
rtabmap::Memory::_detectMarkers
bool _detectMarkers
Definition: Memory.h:341
rtabmap::Memory::_labels
std::map< int, std::string > _labels
Definition: Memory.h:362
rtabmap::Memory::_globalDescriptorExtractor
GlobalDescriptorExtractor * _globalDescriptorExtractor
Definition: Memory.h:381
rtabmap::Memory::_maxStMemSize
int _maxStMemSize
Definition: Memory.h:309
rtabmap::Memory::getFeature2D
const Feature2D * getFeature2D() const
Definition: Memory.h:221
Eigen::aligned_allocator
rtabmap::Memory::_parallelized
bool _parallelized
Definition: Memory.h:371
rtabmap::Memory::_rawDescriptorsKept
bool _rawDescriptorsKept
Definition: Memory.h:301
Features2d.h
rtabmap::Memory::_createOccupancyGrid
bool _createOccupancyGrid
Definition: Memory.h:335
rtabmap::Memory::_depthAsMask
bool _depthAsMask
Definition: Memory.h:316
rtabmap::LocalGridMaker
Definition: LocalGridMaker.h:42
rtabmap::Memory::_dbDriver
DBDriver * _dbDriver
Definition: Memory.h:294
rtabmap::Memory::_allNodesInWM
bool _allNodesInWM
Definition: Memory.h:352
rtabmap::Memory::_reextractLoopClosureFeatures
bool _reextractLoopClosureFeatures
Definition: Memory.h:326
rtabmap::Memory::_laserScanGroundNormalsUp
float _laserScanGroundNormalsUp
Definition: Memory.h:325
rtabmap::Memory::kIdInvalid
static const int kIdInvalid
Definition: Memory.h:69
rtabmap::RegistrationVis
Definition: RegistrationVis.h:45
rtabmap::Memory::_groundTruths
std::map< int, Transform > _groundTruths
Definition: Memory.h:361
rtabmap::Memory::_imagePostDecimation
unsigned int _imagePostDecimation
Definition: Memory.h:319
rtabmap::Memory::_memoryChanged
bool _memoryChanged
Definition: Memory.h:349
rtabmap::Memory::_stereoFromMotion
bool _stereoFromMotion
Definition: Memory.h:317
rtabmap::Memory::getAllLabels
const std::map< int, std::string > & getAllLabels() const
Definition: Memory.h:168
rtabmap::Memory::_rectCameraModels
std::vector< CameraModel > _rectCameraModels
Definition: Memory.h:354
rtabmap::Memory::isOdomGravityUsed
bool isOdomGravityUsed() const
Definition: Memory.h:224
rtabmap::Memory::_badSignRatio
float _badSignRatio
Definition: Memory.h:369
rtabmap::Memory::getGroundTruths
const std::map< int, Transform > & getGroundTruths() const
Definition: Memory.h:187
rtabmap::Memory::_laserScanNormalK
int _laserScanNormalK
Definition: Memory.h:323
rtabmap::Memory::_localBundleOnLoopClosure
bool _localBundleOnLoopClosure
Definition: Memory.h:327
rtabmap::Memory::_notLinkedNodesKeptInDb
bool _notLinkedNodesKeptInDb
Definition: Memory.h:303
rtabmap::Memory::_registrationIcpMulti
RegistrationIcp * _registrationIcpMulti
Definition: Memory.h:374
rtabmap::Memory::_badSignaturesIgnored
bool _badSignaturesIgnored
Definition: Memory.h:314
rtabmap::Feature2D
Definition: Features2d.h:106
rtabmap::Memory::getLastGlobalLoopClosureId
int getLastGlobalLoopClosureId() const
Definition: Memory.h:220
rtabmap::Memory::getOdomMaxInf
const std::vector< double > & getOdomMaxInf() const
Definition: Memory.h:223
rtabmap::Memory::_useOdometryFeatures
bool _useOdometryFeatures
Definition: Memory.h:332
rtabmap::MarkerDetector
Definition: MarkerDetector.h:59
rtabmap::Memory::kIdVirtual
static const int kIdVirtual
Definition: Memory.h:68
rtabmap::Memory::_generateIds
bool _generateIds
Definition: Memory.h:313
rtabmap::Memory::_recentWmRatio
float _recentWmRatio
Definition: Memory.h:310
rtabmap::Memory::_saveDepth16Format
bool _saveDepth16Format
Definition: Memory.h:302
rtabmap::Memory::kIdStart
static const int kIdStart
Definition: Memory.h:67
rtabmap::Memory::isGraphReduced
bool isGraphReduced() const
Definition: Memory.h:222
rtabmap::Memory::isIDsGenerated
bool isIDsGenerated() const
Definition: Memory.h:219
rtabmap::Memory::isInWM
bool isInWM(int signatureId) const
Definition: Memory.h:217
rtabmap::DBDriver
Definition: DBDriver.h:62
rtabmap::Memory::_rgbCompressionFormat
std::string _rgbCompressionFormat
Definition: Memory.h:305
rtabmap_netvlad.init
def init(descriptorDim)
Definition: rtabmap_netvlad.py:30
rtabmap::Memory::_laserScanNormalRadius
float _laserScanNormalRadius
Definition: Memory.h:324
rtabmap::Memory::getWorkingMem
const std::map< int, double > & getWorkingMem() const
Definition: Memory.h:149
rtabmap::Memory::isLocalizationDataSaved
bool isLocalizationDataSaved() const
Definition: Memory.h:214
rtabmap::Transform
Definition: Transform.h:41
rtabmap::Memory::_saveIntermediateNodeData
bool _saveIntermediateNodeData
Definition: Memory.h:304
rtabmap::VWDictionary
Definition: VWDictionary.h:46
rtabmap::EnvSensors
std::map< EnvSensor::Type, EnvSensor > EnvSensors
Definition: EnvSensor.h:81
rtabmap::Memory::_rectifyOnlyFeatures
bool _rectifyOnlyFeatures
Definition: Memory.h:339
rtabmap::Memory::_landmarksIndex
std::map< int, std::set< int > > _landmarksIndex
Definition: Memory.h:363
UEventsHandler.h
rtabmap::Memory::_feature2D
Feature2D * _feature2D
Definition: Memory.h:368
rtabmap::Memory::_covOffDiagonalIgnored
bool _covOffDiagonalIgnored
Definition: Memory.h:340
cleanup
def cleanup()
rtabmap::Memory::_incrementalMemory
bool _incrementalMemory
Definition: Memory.h:306
UStl.h
Wrappers of STL for convenient functions.
rtabmap::Memory::_rotateImagesUpsideUp
bool _rotateImagesUpsideUp
Definition: Memory.h:334
rtabmap::Memory::_laserScanVoxelSize
float _laserScanVoxelSize
Definition: Memory.h:322
rtabmap::Memory
Definition: Memory.h:64
rtabmap::Memory::_rehearsalMaxDistance
float _rehearsalMaxDistance
Definition: Memory.h:329
rtabmap::Memory::_idMapCount
int _idMapCount
Definition: Memory.h:346
rtabmap::Memory::_idUpdatedToNewOneRehearsal
bool _idUpdatedToNewOneRehearsal
Definition: Memory.h:312
rtabmap::Memory::_rehearsalWeightIgnoredWhileMoving
bool _rehearsalWeightIgnoredWhileMoving
Definition: Memory.h:331
rtabmap
Definition: CameraARCore.cpp:35
rtabmap::Memory::_markerDetector
MarkerDetector * _markerDetector
Definition: Memory.h:379
rtabmap::Memory::_rectStereoCameraModels
std::vector< StereoCameraModel > _rectStereoCameraModels
Definition: Memory.h:355
rtabmap::Memory::_mapLabelsAdded
bool _mapLabelsAdded
Definition: Memory.h:315
rtabmap::Memory::parameters_
ParametersMap parameters_
Definition: Memory.h:298
rtabmap::Memory::_binDataKept
bool _binDataKept
Definition: Memory.h:300
rtabmap::Memory::_signatures
std::map< int, Signature * > _signatures
Definition: Memory.h:358
rtabmap::Memory::_localizationDataSaved
bool _localizationDataSaved
Definition: Memory.h:307
rtabmap::Memory::_odomMaxInf
std::vector< double > _odomMaxInf
Definition: Memory.h:356
rtabmap::Memory::_useOdometryGravity
bool _useOdometryGravity
Definition: Memory.h:333
rtabmap::Memory::_markerLinVariance
float _markerLinVariance
Definition: Memory.h:342
rtabmap::Memory::allNodesInWM
bool allNodesInWM() const
Definition: Memory.h:170
rtabmap::Signature
Definition: Signature.h:48
rtabmap::Memory::_registrationVis
RegistrationVis * _registrationVis
Definition: Memory.h:375
rtabmap::Memory::_rehearsalMaxAngle
float _rehearsalMaxAngle
Definition: Memory.h:330
rtabmap::Memory::_workingMem
std::map< int, double > _workingMem
Definition: Memory.h:360
rtabmap::Memory::_lastSignature
Signature * _lastSignature
Definition: Memory.h:347


rtabmap
Author(s): Mathieu Labbe
autogenerated on Thu Jul 25 2024 02:50:13