rtabmap: added parameter to keep the old id or to update to new id when merging on rehearsal

git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@758 f169173b-cf89-36c8-b27e-44dbe73f0c83
This commit is contained in:
matlabbe
2013-01-27 04:50:49 +00:00
parent 635dd9c177
commit a4ccd6acd6
10 changed files with 156 additions and 111 deletions

View File

@@ -163,7 +163,8 @@ private:
bool _incrementalMemory;
int _maxStMemSize;
float _recentWmRatio;
bool _dataMergedOnRehearsal;
bool _oldDataKeptOnRehearsal;
bool _idUpdatedToNewOneRehearsal;
int _idCount;
Signature * _lastSignature;

View File

@@ -144,7 +144,8 @@ class RTABMAP_EXP Parameters
RTABMAP_PARAM(Mem, STMSize, unsigned int, 30); // Short-term memory size
RTABMAP_PARAM(Mem, IncrementalMemory, bool, true);
RTABMAP_PARAM(Mem, RecentWmRatio, float, 0.2); // Ratio of locations after the last loop closure in WM that cannot be transferred
RTABMAP_PARAM(Mem, DataMergedOnRehearsal, bool, true); // Merge data on rehearsal
RTABMAP_PARAM(Mem, RehearsalOldDataKept, bool, true); // On merge, keep old data
RTABMAP_PARAM(Mem, RehearsalIdUpdatedToNewOne, bool, true); // On merge, update to new id
// KeypointMemory (Keypoint-based)
RTABMAP_PARAM(Kp, PublishKeypoints, bool, true); // Publishing keypoints

View File

@@ -94,8 +94,9 @@ public:
std::map<int, int> getWeights();
int getTotalMemSize();
double getLastProcessTime() const {return _lastProcessTime;};
std::multimap<int, cv::KeyPoint> getWords(int nodeId);
std::multimap<int, cv::KeyPoint> getWords(int locationId);
std::map<int, int> getNeighbors(int nodeId, int margin, bool lookInLTM = false);
bool isInSTM(int locationId);
void setTimeThreshold(float maxTimeAllowed); // in ms