Removed DisableReactivation parameter (indirectly included by the RetrievalThr when = to 1)

Some default parameters' values modified for robot learning

git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@316 f169173b-cf89-36c8-b27e-44dbe73f0c83
This commit is contained in:
matlabbe
2011-09-16 17:37:54 +00:00
parent 3eb8bcbfa4
commit 4a3317dd06
7 changed files with 41 additions and 72 deletions

View File

@@ -123,16 +123,15 @@ class RTABMAP_EXP Parameters
// Rtabmap parameters // Rtabmap parameters
RTABMAP_PARAM(Rtabmap, VhStrategy, int, 0); // None 0, Similarity 1, Epipolar 2 RTABMAP_PARAM(Rtabmap, VhStrategy, int, 0); // None 0, Similarity 1, Epipolar 2
RTABMAP_PARAM(Rtabmap, PublishStats, bool, true); // Publishing statistics RTABMAP_PARAM(Rtabmap, PublishStats, bool, true); // Publishing statistics
RTABMAP_PARAM(Rtabmap, ReactivationThr, float, 0.0); // Reactivation threshold RTABMAP_PARAM(Rtabmap, RetrievalThr, float, 0.0); // Reactivation threshold
RTABMAP_PARAM(Rtabmap, TimeThr, float, 0.7); // Maximum time allowed for the detector (s) (0 means infinity) RTABMAP_PARAM(Rtabmap, TimeThr, float, 0.7); // Maximum time allowed for the detector (s) (0 means infinity)
RTABMAP_PARAM(Rtabmap, DisableReactivation, bool, false); // Memory reactivation when a loop closure occurs : 0=enable, 1=disable
RTABMAP_PARAM(Rtabmap, SMStateBufferSize, int, 1); // Data buffer size (0 min inf) RTABMAP_PARAM(Rtabmap, SMStateBufferSize, int, 1); // Data buffer size (0 min inf)
RTABMAP_PARAM(Rtabmap, MinMemorySizeForLoopDetection, unsigned int, 15); //Minimum size of the memory to create loop closure hypotheses RTABMAP_PARAM(Rtabmap, MinMemorySizeForLoopDetection, unsigned int, 25); //Minimum size of the memory to create loop closure hypotheses
RTABMAP_PARAM_STR(Rtabmap, WorkingDirectory, Parameters::getDefaultWorkingDirectory()); // Working directory RTABMAP_PARAM_STR(Rtabmap, WorkingDirectory, Parameters::getDefaultWorkingDirectory()); // Working directory
RTABMAP_PARAM(Rtabmap, LocalGraphCleaned, bool, false); // Clean the neighborhood of the retrieved id RTABMAP_PARAM(Rtabmap, LocalGraphCleaned, bool, false); // Clean the neighborhood of the retrieved id
RTABMAP_PARAM(Rtabmap, MaxRetrieved, unsigned int, 2); // Maximum locations retrieved at the same time from LTM RTABMAP_PARAM(Rtabmap, MaxRetrieved, unsigned int, 2); // Maximum locations retrieved at the same time from LTM
RTABMAP_PARAM(Rtabmap, ActionsByTime, bool, false); // Select next actions using directly the more recent neighbor of the current node, otherwise, highest hypothesis is used RTABMAP_PARAM(Rtabmap, ActionsByTime, bool, true); // Select next actions using directly the more recent neighbor of the current node, otherwise, highest hypothesis is used
RTABMAP_PARAM(Rtabmap, ActionsSentRejectHyp, bool, false); // Actions sent also on rejected hypotheses (on decreasing hypotheses) RTABMAP_PARAM(Rtabmap, ActionsSentRejectHyp, bool, true); // Actions sent also on rejected hypotheses (on decreasing hypotheses)
RTABMAP_PARAM(Rtabmap, ConfidenceThr, float, 0.0); // Actions are not sent when the loop closure hypothesis is under the confidence threshold RTABMAP_PARAM(Rtabmap, ConfidenceThr, float, 0.0); // Actions are not sent when the loop closure hypothesis is under the confidence threshold
// Hypotheses selection // Hypotheses selection
@@ -154,7 +153,7 @@ class RTABMAP_EXP Parameters
RTABMAP_PARAM(Kp, NNStrategy, int, 2); // Naive 0, kdTree 1, kdForest 2 RTABMAP_PARAM(Kp, NNStrategy, int, 2); // Naive 0, kdTree 1, kdForest 2
RTABMAP_PARAM(Kp, IncrementalDictionary, bool, true); RTABMAP_PARAM(Kp, IncrementalDictionary, bool, true);
RTABMAP_PARAM(Kp, WordsPerImage, int, 400); RTABMAP_PARAM(Kp, WordsPerImage, int, 400);
RTABMAP_PARAM(Kp, BadSignRatio, float, 0.05); //Bad signature ratio (less than Ratio x AverageWordsPerImage = bad) RTABMAP_PARAM(Kp, BadSignRatio, float, 0.2); //Bad signature ratio (less than Ratio x AverageWordsPerImage = bad)
RTABMAP_PARAM(Kp, MinDistUsed, bool, false); // The nearest neighbor must have a distance < minDist RTABMAP_PARAM(Kp, MinDistUsed, bool, false); // The nearest neighbor must have a distance < minDist
RTABMAP_PARAM(Kp, MinDist, float, 0.05); // Matching a descriptor with a word (euclidean distance ^ 2) RTABMAP_PARAM(Kp, MinDist, float, 0.05); // Matching a descriptor with a word (euclidean distance ^ 2)
RTABMAP_PARAM(Kp, NndrUsed, bool, true); // If NNDR ratio is used RTABMAP_PARAM(Kp, NndrUsed, bool, true); // If NNDR ratio is used
@@ -179,7 +178,7 @@ class RTABMAP_EXP Parameters
RTABMAP_PARAM(DbSqlite3, JournalMode, int, 0); // 0=DELETE, 1=TRUNCATE, 2=PERSIST, 3=MEMORY, 4=OFF (see sqlite3 doc : "PRAGMA journal_mode") RTABMAP_PARAM(DbSqlite3, JournalMode, int, 0); // 0=DELETE, 1=TRUNCATE, 2=PERSIST, 3=MEMORY, 4=OFF (see sqlite3 doc : "PRAGMA journal_mode")
RTABMAP_PARAM(SURF, Extended, bool, false); // true=128, false=64 RTABMAP_PARAM(SURF, Extended, bool, false); // true=128, false=64
RTABMAP_PARAM(SURF, HessianThreshold, float, 100.0); RTABMAP_PARAM(SURF, HessianThreshold, float, 150.0);
RTABMAP_PARAM(SURF, Octaves, int, 4); RTABMAP_PARAM(SURF, Octaves, int, 4);
RTABMAP_PARAM(SURF, OctaveLayers, int, 2); RTABMAP_PARAM(SURF, OctaveLayers, int, 2);
RTABMAP_PARAM(SURF, GpuVersion, bool, false); RTABMAP_PARAM(SURF, GpuVersion, bool, false);

View File

@@ -92,7 +92,6 @@ public:
int getTotalMemSize() const; int getTotalMemSize() const;
const std::string & getGraphFileName() const {return _graphFileName;} const std::string & getGraphFileName() const {return _graphFileName;}
void setReactivationDisabled(bool reactivationDisabled);
void setMaxTimeAllowed(float maxTimeAllowed); // in sec void setMaxTimeAllowed(float maxTimeAllowed); // in sec
void setDataBufferSize(int size); void setDataBufferSize(int size);
void setWorkingDirectory(std::string path); void setWorkingDirectory(std::string path);
@@ -124,13 +123,12 @@ private:
private: private:
// Modifiable parameters // Modifiable parameters
bool _publishStats; bool _publishStats;
bool _reactivationDisabled;
float _maxTimeAllowed; // in sec float _maxTimeAllowed; // in sec
int _smStateBufferMaxSize; int _smStateBufferMaxSize;
unsigned int _minMemorySizeForLoopDetection; unsigned int _minMemorySizeForLoopDetection;
float _loopThr; float _loopThr;
float _loopRatio; float _loopRatio;
float _remThr; float _retrievalThr;
bool _localGraphCleaned; bool _localGraphCleaned;
unsigned int _maxRetrieved; unsigned int _maxRetrieved;
bool _actionsByTime; bool _actionsByTime;

View File

@@ -54,13 +54,12 @@ const char * Rtabmap::kDefaultIniFileName = "rtabmap.ini";
Rtabmap::Rtabmap() : Rtabmap::Rtabmap() :
_publishStats(Parameters::defaultRtabmapPublishStats()), _publishStats(Parameters::defaultRtabmapPublishStats()),
_reactivationDisabled(Parameters::defaultRtabmapDisableReactivation()),
_maxTimeAllowed(Parameters::defaultRtabmapTimeThr()), // 1 sec _maxTimeAllowed(Parameters::defaultRtabmapTimeThr()), // 1 sec
_smStateBufferMaxSize(Parameters::defaultRtabmapSMStateBufferSize()), _smStateBufferMaxSize(Parameters::defaultRtabmapSMStateBufferSize()),
_minMemorySizeForLoopDetection(Parameters::defaultRtabmapMinMemorySizeForLoopDetection()), _minMemorySizeForLoopDetection(Parameters::defaultRtabmapMinMemorySizeForLoopDetection()),
_loopThr(Parameters::defaultRtabmapLoopThr()), _loopThr(Parameters::defaultRtabmapLoopThr()),
_loopRatio(Parameters::defaultRtabmapLoopRatio()), _loopRatio(Parameters::defaultRtabmapLoopRatio()),
_remThr(Parameters::defaultRtabmapReactivationThr()), _retrievalThr(Parameters::defaultRtabmapRetrievalThr()),
_localGraphCleaned(Parameters::defaultRtabmapLocalGraphCleaned()), _localGraphCleaned(Parameters::defaultRtabmapLocalGraphCleaned()),
_maxRetrieved(Parameters::defaultRtabmapMaxRetrieved()), _maxRetrieved(Parameters::defaultRtabmapMaxRetrieved()),
_actionsByTime(Parameters::defaultRtabmapActionsByTime()), _actionsByTime(Parameters::defaultRtabmapActionsByTime()),
@@ -236,10 +235,6 @@ void Rtabmap::parseParameters(const ParametersMap & parameters)
{ {
_publishStats = uStr2Bool(iter->second.c_str()); _publishStats = uStr2Bool(iter->second.c_str());
} }
if((iter=parameters.find(Parameters::kRtabmapDisableReactivation())) != parameters.end())
{
_reactivationDisabled = uStr2Bool(iter->second.c_str());
}
if((iter=parameters.find(Parameters::kRtabmapTimeThr())) != parameters.end()) if((iter=parameters.find(Parameters::kRtabmapTimeThr())) != parameters.end())
{ {
_maxTimeAllowed = std::atof(iter->second.c_str()); _maxTimeAllowed = std::atof(iter->second.c_str());
@@ -252,9 +247,9 @@ void Rtabmap::parseParameters(const ParametersMap & parameters)
{ {
_loopRatio = std::atof(iter->second.c_str()); _loopRatio = std::atof(iter->second.c_str());
} }
if((iter=parameters.find(Parameters::kRtabmapReactivationThr())) != parameters.end()) if((iter=parameters.find(Parameters::kRtabmapRetrievalThr())) != parameters.end())
{ {
_remThr = std::atof(iter->second.c_str()); _retrievalThr = std::atof(iter->second.c_str());
} }
if((iter=parameters.find(Parameters::kRtabmapSMStateBufferSize())) != parameters.end()) if((iter=parameters.find(Parameters::kRtabmapSMStateBufferSize())) != parameters.end())
{ {
@@ -698,7 +693,7 @@ void Rtabmap::process()
// If a loop closure occurred the last frame, activate neighbors // If a loop closure occurred the last frame, activate neighbors
// for the likelihood // for the likelihood
//============================================================ //============================================================
if(!_reactivationDisabled && _reactivateId > 0 ) if(_reactivateId > 0 )
{ {
//Load neighbors //Load neighbors
ULOGGER_INFO("Reactivating signatures... around id=%d", _reactivateId); ULOGGER_INFO("Reactivating signatures... around id=%d", _reactivateId);
@@ -880,7 +875,7 @@ void Rtabmap::process()
{ {
//using highest hypothesis //using highest hypothesis
this->selectHypotheses(posterior, hyp, false); this->selectHypotheses(posterior, hyp, false);
if(likelihood.at(hyp.front().first) > _remThr) if(likelihood.at(hyp.front().first) > _retrievalThr)
{ {
_reactivateId = hyp.front().first; _reactivateId = hyp.front().first;
} }
@@ -1319,11 +1314,6 @@ SMState * Rtabmap::getSMState()
} }
// SETTERS // SETTERS
void Rtabmap::setReactivationDisabled(bool reactivationDisabled)
{
_reactivationDisabled = reactivationDisabled;
}
void Rtabmap::setMaxTimeAllowed(float maxTimeAllowed) void Rtabmap::setMaxTimeAllowed(float maxTimeAllowed)
{ {
//must be positive, 0 mean inf time allowed (no time limit) //must be positive, 0 mean inf time allowed (no time limit)

View File

@@ -124,7 +124,7 @@ public:
//specific //specific
double getLoopThr() const; double getLoopThr() const;
double getReacThr() const; double getRetrievalThr() const;
double getVpThr() const; double getVpThr() const;
double getExpThr() const; double getExpThr() const;
@@ -134,7 +134,7 @@ signals:
public slots: public slots:
void setHardThr(int value); void setHardThr(int value);
void setReactivationThr(int value); void setRetrievalThr(int value);
void setImgRate(double value); void setImgRate(double value);
void setAutoRestart(bool value); void setAutoRestart(bool value);
void setTimeLimit(double value); void setTimeLimit(double value);

View File

@@ -142,7 +142,7 @@ MainWindow::MainWindow(PreferencesDialog * prefDialog, QWidget * parent) :
ThresholdCurve * tc; ThresholdCurve * tc;
tc = _ui->posteriorPlot->addThreshold("Loop closure thr", float(_preferencesDialog->getLoopThr())); tc = _ui->posteriorPlot->addThreshold("Loop closure thr", float(_preferencesDialog->getLoopThr()));
connect(this, SIGNAL(loopClosureThrChanged(float)), tc, SLOT(setThreshold(float))); connect(this, SIGNAL(loopClosureThrChanged(float)), tc, SLOT(setThreshold(float)));
tc = _ui->posteriorPlot->addThreshold("Retrieval thr", float(_preferencesDialog->getReacThr())); tc = _ui->posteriorPlot->addThreshold("Retrieval thr", float(_preferencesDialog->getRetrievalThr()));
connect(this, SIGNAL(loopClosureThrChanged(float)), tc, SLOT(setThreshold(float))); connect(this, SIGNAL(loopClosureThrChanged(float)), tc, SLOT(setThreshold(float)));
_likelihoodCurve = new PdfPlotCurve("Likelihood", &_imagesMap, this); _likelihoodCurve = new PdfPlotCurve("Likelihood", &_imagesMap, this);
@@ -552,7 +552,7 @@ void MainWindow::processStats(const rtabmap::Statistics & stat)
float value; float value;
value = float(_preferencesDialog->getLoopThr()); value = float(_preferencesDialog->getLoopThr());
emit(loopClosureThrChanged(value)); emit(loopClosureThrChanged(value));
value = float(_preferencesDialog->getReacThr()); value = float(_preferencesDialog->getRetrievalThr());
emit(retrievalThrChanged(value)); emit(retrievalThrChanged(value));
} }
if(!stat.likelihood().empty() && _ui->dockWidget_likelihood->isVisible()) if(!stat.likelihood().empty() && _ui->dockWidget_likelihood->isVisible())
@@ -700,7 +700,7 @@ void MainWindow::applyPrefSettings(const rtabmap::ParametersMap & parameters)
float value; float value;
value = float(_preferencesDialog->getLoopThr()); value = float(_preferencesDialog->getLoopThr());
emit(loopClosureThrChanged(value)); emit(loopClosureThrChanged(value));
value = float(_preferencesDialog->getReacThr()); value = float(_preferencesDialog->getRetrievalThr());
emit(retrievalThrChanged(value)); emit(retrievalThrChanged(value));
} }

View File

@@ -104,10 +104,9 @@ PreferencesDialog::PreferencesDialog(QWidget * parent) :
// Map objects name with the corresponding parameter key, needed for the addParameter() slots // Map objects name with the corresponding parameter key, needed for the addParameter() slots
//Rtabmap //Rtabmap
_ui->general_doubleSpinBox_reactivationThr->setObjectName(Parameters::kRtabmapReactivationThr().c_str()); _ui->general_doubleSpinBox_retrievalThr->setObjectName(Parameters::kRtabmapRetrievalThr().c_str());
_ui->general_checkBox_publishStats->setObjectName(Parameters::kRtabmapPublishStats().c_str()); _ui->general_checkBox_publishStats->setObjectName(Parameters::kRtabmapPublishStats().c_str());
_ui->general_doubleSpinBox_timeThr->setObjectName(Parameters::kRtabmapTimeThr().c_str()); _ui->general_doubleSpinBox_timeThr->setObjectName(Parameters::kRtabmapTimeThr().c_str());
_ui->general_checkBox_disableReactivation->setObjectName(Parameters::kRtabmapDisableReactivation().c_str());
_ui->general_spinBox_imagesBufferSize->setObjectName(Parameters::kRtabmapSMStateBufferSize().c_str()); _ui->general_spinBox_imagesBufferSize->setObjectName(Parameters::kRtabmapSMStateBufferSize().c_str());
_ui->general_spinBox_minMemorySizeForLoopDetection->setObjectName(Parameters::kRtabmapMinMemorySizeForLoopDetection().c_str()); _ui->general_spinBox_minMemorySizeForLoopDetection->setObjectName(Parameters::kRtabmapMinMemorySizeForLoopDetection().c_str());
_ui->general_spinBox_maxRetrieved->setObjectName(Parameters::kRtabmapMaxRetrieved().c_str()); _ui->general_spinBox_maxRetrieved->setObjectName(Parameters::kRtabmapMaxRetrieved().c_str());
@@ -1554,9 +1553,9 @@ double PreferencesDialog::getLoopThr() const
{ {
return _ui->general_doubleSpinBox_hardThr->value(); return _ui->general_doubleSpinBox_hardThr->value();
} }
double PreferencesDialog::getReacThr() const double PreferencesDialog::getRetrievalThr() const
{ {
return _ui->general_doubleSpinBox_reactivationThr->value(); return _ui->general_doubleSpinBox_retrievalThr->value();
} }
double PreferencesDialog::getVpThr() const double PreferencesDialog::getVpThr() const
{ {
@@ -1591,13 +1590,13 @@ void PreferencesDialog::setHardThr(int value)
} }
} }
void PreferencesDialog::setReactivationThr(int value) void PreferencesDialog::setRetrievalThr(int value)
{ {
double dValue = double(value)/100; double dValue = double(value)/100;
ULOGGER_DEBUG("reactivation thr=%f", dValue); ULOGGER_DEBUG("reactivation thr=%f", dValue);
if(_ui->general_doubleSpinBox_reactivationThr->value() != dValue) if(_ui->general_doubleSpinBox_retrievalThr->value() != dValue)
{ {
_ui->general_doubleSpinBox_reactivationThr->setValue(dValue); _ui->general_doubleSpinBox_retrievalThr->setValue(dValue);
if(validateForm()) if(validateForm())
{ {
this->writeSettings(); this->writeSettings();

View File

@@ -65,7 +65,7 @@
<enum>QFrame::Raised</enum> <enum>QFrame::Raised</enum>
</property> </property>
<property name="currentIndex"> <property name="currentIndex">
<number>2</number> <number>4</number>
</property> </property>
<widget class="QWidget" name="page_22"> <widget class="QWidget" name="page_22">
<layout class="QVBoxLayout" name="verticalLayout_29"> <layout class="QVBoxLayout" name="verticalLayout_29">
@@ -1136,8 +1136,8 @@ We can edit how will like the prediction used in the Bayes filter when there is
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>98</width> <width>508</width>
<height>64</height> <height>138</height>
</rect> </rect>
</property> </property>
<layout class="QHBoxLayout" name="horizontalLayout_2"> <layout class="QHBoxLayout" name="horizontalLayout_2">
@@ -1362,9 +1362,9 @@ The VP here is the probability to be in a new place since no loop closure was fo
<property name="title"> <property name="title">
<string>1Memory strategy</string> <string>1Memory strategy</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout_10" columnstretch="0,10"> <layout class="QGridLayout" name="gridLayout_10" columnstretch="0,0">
<item row="0" column="0"> <item row="0" column="0">
<widget class="QDoubleSpinBox" name="general_doubleSpinBox_reactivationThr"> <widget class="QDoubleSpinBox" name="general_doubleSpinBox_retrievalThr">
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>50</width> <width>50</width>
@@ -1393,30 +1393,13 @@ The VP here is the probability to be in a new place since no loop closure was fo
</widget> </widget>
</item> </item>
<item row="1" column="0"> <item row="1" column="0">
<widget class="QCheckBox" name="general_checkBox_disableReactivation">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_36">
<property name="text">
<string>Disable memory retrieval</string>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QCheckBox" name="general_checkBox_reactivatedWordsComparedToNewWords"> <widget class="QCheckBox" name="general_checkBox_reactivatedWordsComparedToNewWords">
<property name="text"> <property name="text">
<string/> <string/>
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="1"> <item row="1" column="1">
<widget class="QLabel" name="label_79"> <widget class="QLabel" name="label_79">
<property name="text"> <property name="text">
<string>Retrieved words are compared to the last words added in the dictionary (which are not yet indexed, may be add a time overhead for a minor likelihood improvement)</string> <string>Retrieved words are compared to the last words added in the dictionary (which are not yet indexed, may be add a time overhead for a minor likelihood improvement)</string>
@@ -1426,7 +1409,7 @@ The VP here is the probability to be in a new place since no loop closure was fo
</property> </property>
</widget> </widget>
</item> </item>
<item row="4" column="0"> <item row="3" column="0">
<widget class="QSpinBox" name="general_spinBox_maxStMemSize"> <widget class="QSpinBox" name="general_spinBox_maxStMemSize">
<property name="minimum"> <property name="minimum">
<number>1</number> <number>1</number>
@@ -1439,7 +1422,7 @@ The VP here is the probability to be in a new place since no loop closure was fo
</property> </property>
</widget> </widget>
</item> </item>
<item row="4" column="1"> <item row="3" column="1">
<widget class="QLabel" name="label_29"> <widget class="QLabel" name="label_29">
<property name="text"> <property name="text">
<string>Short-time memory size</string> <string>Short-time memory size</string>
@@ -1449,7 +1432,7 @@ The VP here is the probability to be in a new place since no loop closure was fo
</property> </property>
</widget> </widget>
</item> </item>
<item row="5" column="0"> <item row="4" column="0">
<widget class="QCheckBox" name="general_checkBox_incrementalMemory"> <widget class="QCheckBox" name="general_checkBox_incrementalMemory">
<property name="text"> <property name="text">
<string/> <string/>
@@ -1459,7 +1442,7 @@ The VP here is the probability to be in a new place since no loop closure was fo
</property> </property>
</widget> </widget>
</item> </item>
<item row="5" column="1"> <item row="4" column="1">
<widget class="QLabel" name="label_57"> <widget class="QLabel" name="label_57">
<property name="text"> <property name="text">
<string>Incremental Memory</string> <string>Incremental Memory</string>
@@ -1469,7 +1452,7 @@ The VP here is the probability to be in a new place since no loop closure was fo
</property> </property>
</widget> </widget>
</item> </item>
<item row="6" column="0"> <item row="5" column="0">
<widget class="QCheckBox" name="general_checkBox_commonSignatureUsed"> <widget class="QCheckBox" name="general_checkBox_commonSignatureUsed">
<property name="text"> <property name="text">
<string/> <string/>
@@ -1479,7 +1462,7 @@ The VP here is the probability to be in a new place since no loop closure was fo
</property> </property>
</widget> </widget>
</item> </item>
<item row="6" column="1"> <item row="5" column="1">
<widget class="QLabel" name="label_83"> <widget class="QLabel" name="label_83">
<property name="text"> <property name="text">
<string>Common signature used (virtual place)</string> <string>Common signature used (virtual place)</string>
@@ -1489,7 +1472,7 @@ The VP here is the probability to be in a new place since no loop closure was fo
</property> </property>
</widget> </widget>
</item> </item>
<item row="7" column="1"> <item row="6" column="1">
<widget class="QLabel" name="label_37"> <widget class="QLabel" name="label_37">
<property name="text"> <property name="text">
<string>(iterations) Delay required to transfer a signature to the database</string> <string>(iterations) Delay required to transfer a signature to the database</string>
@@ -1499,7 +1482,7 @@ The VP here is the probability to be in a new place since no loop closure was fo
</property> </property>
</widget> </widget>
</item> </item>
<item row="7" column="0"> <item row="6" column="0">
<widget class="QSpinBox" name="mem_spinBox_delayRequired"> <widget class="QSpinBox" name="mem_spinBox_delayRequired">
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
@@ -1509,7 +1492,7 @@ The VP here is the probability to be in a new place since no loop closure was fo
</property> </property>
</widget> </widget>
</item> </item>
<item row="3" column="1"> <item row="2" column="1">
<widget class="QLabel" name="label_177"> <widget class="QLabel" name="label_177">
<property name="text"> <property name="text">
<string>Clean the neighborhood of the retrieved id</string> <string>Clean the neighborhood of the retrieved id</string>
@@ -1519,7 +1502,7 @@ The VP here is the probability to be in a new place since no loop closure was fo
</property> </property>
</widget> </widget>
</item> </item>
<item row="3" column="0"> <item row="2" column="0">
<widget class="QCheckBox" name="general_checkBox_localGraphCleaned"> <widget class="QCheckBox" name="general_checkBox_localGraphCleaned">
<property name="text"> <property name="text">
<string/> <string/>
@@ -1529,7 +1512,7 @@ The VP here is the probability to be in a new place since no loop closure was fo
</property> </property>
</widget> </widget>
</item> </item>
<item row="8" column="0"> <item row="7" column="0">
<widget class="QDoubleSpinBox" name="general_doubleSpinBox_recentWmRatio"> <widget class="QDoubleSpinBox" name="general_doubleSpinBox_recentWmRatio">
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
@@ -1548,7 +1531,7 @@ The VP here is the probability to be in a new place since no loop closure was fo
</property> </property>
</widget> </widget>
</item> </item>
<item row="8" column="1"> <item row="7" column="1">
<widget class="QLabel" name="label_33"> <widget class="QLabel" name="label_33">
<property name="text"> <property name="text">
<string>Ratio of locations after the last loop closure in WM that cannot be transferred</string> <string>Ratio of locations after the last loop closure in WM that cannot be transferred</string>