Improved localization mode accuracy (decreasing jumps on consecutive loop closures or landmark detections). Updated usage of parameter RGBD/MaxOdomCacheSize (default 0->10)

This commit is contained in:
matlabbe
2021-12-10 17:48:36 -05:00
parent 4ab0090ecd
commit 8cf12c6135
6 changed files with 436 additions and 294 deletions

View File

@@ -2065,9 +2065,22 @@ void MainWindow::processStats(const rtabmap::Statistics & stat)
}
else if(landmarkId!=0)
{
_ui->imageView_loopClosure->setBackgroundColor(QColor("orange"));
_ui->label_matchId->setText(QString("Landmark match = %1 with %2").arg(landmarkId).arg(landmarkNodeRef));
matchId = landmarkNodeRef;
if(rejectedHyp)
{
show = _preferencesDialog->imageRejectedShown();
if(show)
{
_ui->imageView_loopClosure->setBackgroundColor(Qt::red);
_ui->label_stats_loopClosuresRejected->setText(QString::number(_ui->label_stats_loopClosuresRejected->text().toInt() + 1));
_ui->label_matchId->setText(QString("Landmark rejected = %1 with %2").arg(landmarkId).arg(landmarkNodeRef));
}
}
else
{
_ui->imageView_loopClosure->setBackgroundColor(QColor("orange"));
_ui->label_matchId->setText(QString("Landmark match = %1 with %2").arg(landmarkId).arg(landmarkNodeRef));
matchId = landmarkNodeRef;
}
}
else if(rejectedHyp && highestHypothesisValue >= _preferencesDialog->getLoopThr())
{

View File

@@ -63,7 +63,7 @@
<property name="geometry">
<rect>
<x>0</x>
<y>-218</y>
<y>-650</y>
<width>756</width>
<height>3623</height>
</rect>
@@ -95,7 +95,7 @@
<enum>QFrame::Raised</enum>
</property>
<property name="currentIndex">
<number>19</number>
<number>12</number>
</property>
<widget class="QWidget" name="page_22">
<layout class="QVBoxLayout" name="verticalLayout_29" stretch="0,0">
@@ -11239,7 +11239,7 @@ If set to false, classic RTAB-Map loop closure detection is done using only imag
<item row="17" column="1">
<widget class="QLabel" name="label_space2_5">
<property name="text">
<string>Maximum odometry cache size. Used only in localization mode and when maximum graph error parameter is not null. This is used to verify localization transforms to make sure we don't teleport to a location very similar to one we previously localized on. When the cache is full, the whole cache is cleared and the next localization is automatically accepted without verification. Set 0 to disable caching.</string>
<string>Maximum odometry cache size. Used only in localization mode. This is used to get smoother localizations and to verify localization transforms (when maximum graph error is not null) to make sure we don't teleport to a location very similar to one we previously localized on. Set 0 to disable caching.</string>
</property>
<property name="wordWrap">
<bool>true</bool>