mirror of
https://github.com/introlab/rtabmap.git
synced 2026-09-12 06:20:19 +08:00
RGBD/LinearUpdate and RGBD/AngularUpdate: updated description and now require both to be 0 to skip motion check.
This commit is contained in:
@@ -362,8 +362,8 @@ class RTABMAP_CORE_EXPORT Parameters
|
||||
|
||||
// RGB-D SLAM
|
||||
RTABMAP_PARAM(RGBD, Enabled, bool, true, "Activate metric SLAM. If set to false, classic RTAB-Map loop closure detection is done using only images and without any metric information.");
|
||||
RTABMAP_PARAM(RGBD, LinearUpdate, float, 0.1, "Minimum linear displacement (m) to update the map. Rehearsal is done prior to this, so weights are still updated.");
|
||||
RTABMAP_PARAM(RGBD, AngularUpdate, float, 0.1, "Minimum angular displacement (rad) to update the map. Rehearsal is done prior to this, so weights are still updated.");
|
||||
RTABMAP_PARAM(RGBD, LinearUpdate, float, 0.1, uFormat("Minimum linear displacement (m) to update the map. Rehearsal is done prior to this, so weights are still updated. To update the map when not moving, both %s and %s should be set to 0.", Parameters::kRGBDLinearUpdate().c_str(), Parameters::kRGBDAngularUpdate().c_str()));
|
||||
RTABMAP_PARAM(RGBD, AngularUpdate, float, 0.1, uFormat("Minimum angular displacement (rad) to update the map. Rehearsal is done prior to this, so weights are still updated. To update the map when not moving, both %s and %s should be set to 0.", Parameters::kRGBDLinearUpdate().c_str(), Parameters::kRGBDAngularUpdate().c_str()));
|
||||
RTABMAP_PARAM(RGBD, LinearSpeedUpdate, float, 0.0, "Maximum linear speed (m/s) to update the map (0 means not limit).");
|
||||
RTABMAP_PARAM(RGBD, AngularSpeedUpdate, float, 0.0, "Maximum angular speed (rad/s) to update the map (0 means not limit).");
|
||||
RTABMAP_PARAM(RGBD, AggressiveLoopThr, float, 0.05, uFormat("Loop closure threshold used (overriding %s) when a new mapping session is not yet linked to a map of the highest loop closure hypothesis. In localization mode, this threshold is used when there are no loop closure constraints with any map in the cache (%s). In all cases, the goal is to aggressively loop on a previous map in the database. Only used when %s is enabled. Set 1 to disable.", kRtabmapLoopThr().c_str(), kRGBDMaxOdomCacheSize().c_str(), kRGBDEnabled().c_str()));
|
||||
|
||||
@@ -1544,9 +1544,10 @@ bool Rtabmap::process(
|
||||
{
|
||||
float x,y,z, roll,pitch,yaw;
|
||||
t.getTranslationAndEulerAngles(x,y,z, roll,pitch,yaw);
|
||||
bool isMoving = fabs(x) > _rgbdLinearUpdate ||
|
||||
fabs(y) > _rgbdLinearUpdate ||
|
||||
fabs(z) > _rgbdLinearUpdate ||
|
||||
bool isMoving = (_rgbdLinearUpdate > 0.0f) && (
|
||||
fabs(x) > _rgbdLinearUpdate ||
|
||||
fabs(y) > _rgbdLinearUpdate ||
|
||||
fabs(z) > _rgbdLinearUpdate) ||
|
||||
(_rgbdAngularUpdate>0.0f && (
|
||||
fabs(roll) > _rgbdAngularUpdate ||
|
||||
fabs(pitch) > _rgbdAngularUpdate ||
|
||||
|
||||
@@ -216,7 +216,7 @@ std::map<int, Transform> OptimizerG2O::optimize(
|
||||
outputCovariance = cv::Mat::eye(6,6,CV_64FC1);
|
||||
std::map<int, Transform> optimizedPoses;
|
||||
#ifdef RTABMAP_G2O
|
||||
UDEBUG("Optimizing graph...");
|
||||
UDEBUG("Optimizing graph... (rootId=%d)", rootId);
|
||||
|
||||
#ifndef RTABMAP_VERTIGO
|
||||
if(this->isRobust())
|
||||
@@ -348,6 +348,9 @@ std::map<int, Transform> OptimizerG2O::optimize(
|
||||
{
|
||||
if(!priorsIgnored() && iter->second.type() == Link::kPosePrior)
|
||||
{
|
||||
if(rootId!=0) {
|
||||
UDEBUG("Removed rootId=%d because there are priors.");
|
||||
}
|
||||
rootId = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>-641</y>
|
||||
<y>0</y>
|
||||
<width>713</width>
|
||||
<height>4779</height>
|
||||
</rect>
|
||||
@@ -95,7 +95,7 @@
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<number>5</number>
|
||||
<number>12</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="page_22">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_29" stretch="0,0">
|
||||
@@ -13141,7 +13141,7 @@ If set to false, classic RTAB-Map loop closure detection is done using only imag
|
||||
<item row="0" column="1">
|
||||
<widget class="QLabel" name="label_153">
|
||||
<property name="text">
|
||||
<string>Linear update: Minimum linear displacement to update the map. Note that Weight Update is done prior to this, so weights are still updated.</string>
|
||||
<string>Linear update: Minimum linear displacement to update the map. Note that Weight Update is done prior to this, so weights are still updated. To update the map when not moving, both linear and angular update parameters should be 0.</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
@@ -13231,7 +13231,7 @@ If set to false, classic RTAB-Map loop closure detection is done using only imag
|
||||
<item row="1" column="1">
|
||||
<widget class="QLabel" name="label_152">
|
||||
<property name="text">
|
||||
<string>Angular update: Minimum angular displacement to update the map. Note that Weight Update is done prior to this, so weights are still updated.</string>
|
||||
<string>Angular update: Minimum angular displacement to update the map. Note that Weight Update is done prior to this, so weights are still updated. To update the map when not moving, both linear and angular update parameters should be 0.</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
@@ -13303,7 +13303,7 @@ If set to false, classic RTAB-Map loop closure detection is done using only imag
|
||||
<item row="2" column="1">
|
||||
<widget class="QLabel" name="label_432">
|
||||
<property name="text">
|
||||
<string>Maximum linear speed to update the map (0 means not limit).</string>
|
||||
<string>Maximum linear speed to update the map (0 means not limit). </string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
|
||||
@@ -70,6 +70,7 @@ void showUsage()
|
||||
" --Rtabmap/PublishRAMUsage true\\\n"
|
||||
" --Rtabmap/DetectionRate 2\\\n"
|
||||
" --RGBD/LinearUpdate 0\\\n"
|
||||
" --RGBD/AngularUpdate 0\\\n"
|
||||
" --Mem/STMSize 30\\\n"
|
||||
" ~/EuRoC/V1_03_difficult\n\n", rtabmap::Parameters::showUsage());
|
||||
exit(1);
|
||||
|
||||
@@ -73,6 +73,7 @@ void showUsage()
|
||||
" --Rtabmap/DetectionRate 2\\\n"
|
||||
" --Rtabmap/CreateIntermediateNodes true\\\n"
|
||||
" --RGBD/LinearUpdate 0\\\n"
|
||||
" --RGBD/AngularUpdate 0\\\n"
|
||||
" --GFTT/QualityLevel 0.01\\\n"
|
||||
" --GFTT/MinDistance 7\\\n"
|
||||
" --OdomF2M/MaxSize 3000\\\n"
|
||||
|
||||
@@ -66,6 +66,7 @@ void showUsage()
|
||||
" --Rtabmap/PublishRAMUsage true\\\n"
|
||||
" --Rtabmap/DetectionRate 2\\\n"
|
||||
" --RGBD/LinearUpdate 0\\\n"
|
||||
" --RGBD/AngularUpdate 0\\\n"
|
||||
" --Mem/STMSize 30\\\n"
|
||||
" ~/rgbd_dataset_freiburg3_long_office_household\n\n", rtabmap::Parameters::showUsage());
|
||||
exit(1);
|
||||
|
||||
Reference in New Issue
Block a user