mirror of
https://github.com/introlab/rtabmap.git
synced 2026-09-03 01:50:24 +08:00
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:
@@ -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);
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
Reference in New Issue
Block a user