This commit is contained in:
github-actions[bot]
2026-10-11 01:40:05 +00:00
parent a0a8e5b19d
commit 82c0771fdf
50 changed files with 6369 additions and 6418 deletions
+9 -11
View File
@@ -101,7 +101,7 @@ $(document).ready(function(){initNavTree('parameters.html',''); initResizable();
<div class="headertitle"><div class="title">Parameter reference</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>Every setting in RTAB-Map is a <code>Group/Name</code> string key with a string value, collected in a <a class="el" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" title="Parameter keys mapped to their values, as used by every configurable class (see Parameters).">rtabmap::ParametersMap</a>. The 619 parameters below are declared in <code><a class="el" href="Parameters_8h_source.html">Parameters.h</a></code>; the same keys are used by <a class="el" href="classrtabmap_1_1Rtabmap.html" title="Top-level RTAB-Map SLAM pipeline (mapping, localization and loop closure).">rtabmap::Rtabmap</a> and <a class="el" href="classrtabmap_1_1Odometry.html" title="Abstract base class for visual, lidar and visual-inertial odometry backends.">rtabmap::Odometry</a>, by the applications, by the <code>--Param Group/Name value</code> command-line arguments of the tools and by the ROS wrappers, so a setting found here applies everywhere.</p>
<div class="textblock"><p>Every setting in RTAB-Map is a <code>Group/Name</code> string key with a string value, collected in a <a class="el" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" title="Parameter keys mapped to their values, as used by every configurable class (see Parameters).">rtabmap::ParametersMap</a>. The 618 parameters below are declared in <code><a class="el" href="Parameters_8h_source.html">Parameters.h</a></code>; the same keys are used by <a class="el" href="classrtabmap_1_1Rtabmap.html" title="Top-level RTAB-Map SLAM pipeline (mapping, localization and loop closure).">rtabmap::Rtabmap</a> and <a class="el" href="classrtabmap_1_1Odometry.html" title="Abstract base class for visual, lidar and visual-inertial odometry backends.">rtabmap::Odometry</a>, by the applications, by the <code>--Param Group/Name value</code> command-line arguments of the tools and by the ROS wrappers, so a setting found here applies everywhere.</p>
<div class="fragment"><div class="line"><a class="code hl_typedef" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">rtabmap::ParametersMap</a> parameters;</div>
<div class="line">parameters.insert(<a class="code hl_typedef" href="namespacertabmap.html#a4d38c2e87cb7a46dc4299f7bd4d95a01">rtabmap::ParametersPair</a>(<a class="code hl_function" href="classrtabmap_1_1Parameters.html#a46dc1a24b02bb00014262f7f4d818a49">rtabmap::Parameters::kMemSTMSize</a>(), <span class="stringliteral">&quot;20&quot;</span>));</div>
<div class="line"><a class="code hl_namespace" href="namespacertabmap.html">rtabmap</a>.init(parameters, <span class="stringliteral">&quot;map.db&quot;</span>);</div>
@@ -793,23 +793,21 @@ Odom</h1>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="anchor" id="param_OdomGuessMotion"></a><a class="el" href="classrtabmap_1_1Parameters.html#aa8aacc8ff9b434b5a48ab7eabe5c63a6">Odom/GuessMotion</a> </td><td class="markdownTableBodyNone">bool </td><td class="markdownTableBodyNone"><code>true</code> </td><td class="markdownTableBodyNone">Guess next transformation from the last motion computed. </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="anchor" id="param_OdomGuessImuAcceleration"></a><a class="el" href="classrtabmap_1_1Parameters.html#af96b6d10139bcdb6e7b7ce5e056f2b37">Odom/GuessImuAcceleration</a> </td><td class="markdownTableBodyNone">bool </td><td class="markdownTableBodyNone"><code>false</code> </td><td class="markdownTableBodyNone">With an IMU giving orientation and linear acceleration, predict the translation of the motion guess (with <a class="el" href="parameters.html#param_OdomGuessMotion">Odom/GuessMotion</a>) by integrating the IMU acceleration from the velocity at the previous frame, instead of with a constant velocity. That velocity is the average over <a class="el" href="parameters.html#param_OdomGuessSmoothingDelay">Odom/GuessSmoothingDelay</a> (from the displacement over that delay), carried to the previous frame with the acceleration measured since: it is not delayed like the average alone. Set <a class="el" href="parameters.html#param_OdomGuessSmoothingDelay">Odom/GuessSmoothingDelay</a> to about 0.5 s: over a single frame, the noise of the poses is of the order of the velocity itself. Ignored by odometry approaches processing the IMU themselves. </td></tr>
<td class="markdownTableBodyNone"><a class="anchor" id="param_OdomImuGravity"></a><a class="el" href="classrtabmap_1_1Parameters.html#aa5a167189629eabf46a21ab52b3b24c1">Odom/ImuGravity</a> </td><td class="markdownTableBodyNone">float </td><td class="markdownTableBodyNone"><code>9.80665</code> </td><td class="markdownTableBodyNone">Gravity magnitude (m/s^2) removed from the IMU linear acceleration (used with <a class="el" href="parameters.html#param_OdomGuessSmoothingDelay">Odom/GuessSmoothingDelay</a> &gt; 0). Standard gravity by default. Set it to what the accelerometer reads at rest to compensate for its scale error, or for another gravity than Earth's. </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="anchor" id="param_OdomImuGravity"></a><a class="el" href="classrtabmap_1_1Parameters.html#aa5a167189629eabf46a21ab52b3b24c1">Odom/ImuGravity</a> </td><td class="markdownTableBodyNone">float </td><td class="markdownTableBodyNone"><code>9.80665</code> </td><td class="markdownTableBodyNone">Gravity magnitude (m/s^2) removed from the IMU linear acceleration with <a class="el" href="parameters.html#param_OdomGuessImuAcceleration">Odom/GuessImuAcceleration</a>. Standard gravity by default. Set it to what the accelerometer reads at rest to compensate for its scale error, or for another gravity than Earth's. </td></tr>
<td class="markdownTableBodyNone"><a class="anchor" id="param_OdomGuessSmoothingDelay"></a><a class="el" href="classrtabmap_1_1Parameters.html#aabd0b7d996517264f6ce43db1aa6ed05">Odom/GuessSmoothingDelay</a> </td><td class="markdownTableBodyNone">float </td><td class="markdownTableBodyNone"><code>0</code> </td><td class="markdownTableBodyNone">Guess smoothing delay (s). Estimated velocity is averaged based on last transforms up to this maximum delay. This can help to get smoother velocity prediction. Last velocity computed is used directly if <a class="el" href="parameters.html#param_OdomFilteringStrategy">Odom/FilteringStrategy</a> is set or the delay is below the odometry rate. With an IMU giving orientation and linear acceleration, a delay &gt; 0 also enables the IMU acceleration: the velocity is then the displacement over this delay corrected by the acceleration measured since, so that it is the velocity at the last frame rather than a delayed average, and the motion guess and lidar deskewing (<a class="el" href="parameters.html#param_OdomDeskewing">Odom/Deskewing</a>) integrate the acceleration from it. Recommended (~0.5 s) with an IMU. With 0, the IMU only gives the orientation. Without IMU, the average is delayed by half this delay: it can make sense for platforms with inertia (e.g., cars at high speed, where one bad frame would otherwise change the predicted velocity a lot), for high frame rates, or when the velocity is used for lidar deskewing, where its noise would feed back into the next poses. </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="anchor" id="param_OdomGuessSmoothingDelay"></a><a class="el" href="classrtabmap_1_1Parameters.html#aabd0b7d996517264f6ce43db1aa6ed05">Odom/GuessSmoothingDelay</a> </td><td class="markdownTableBodyNone">float </td><td class="markdownTableBodyNone"><code>0</code> </td><td class="markdownTableBodyNone">Guess smoothing delay (s). Estimated velocity is averaged based on last transforms up to this maximum delay. This can help to get smoother velocity prediction. Last velocity computed is used directly if <a class="el" href="parameters.html#param_OdomFilteringStrategy">Odom/FilteringStrategy</a> is set or the delay is below the odometry rate. Recommended (~0.5 s) with <a class="el" href="parameters.html#param_OdomGuessImuAcceleration">Odom/GuessImuAcceleration</a>: the translational velocity is then the displacement over this delay corrected by the IMU acceleration, so that it is the velocity at the last frame rather than a delayed average. Without IMU, the average is delayed by half this delay: it can make sense for platforms with inertia (e.g., cars at high speed, where one bad frame would otherwise change the predicted velocity a lot), for high frame rates, or when the velocity is used for lidar deskewing (<a class="el" href="parameters.html#param_OdomDeskewing">Odom/Deskewing</a>), where its noise would feed back into the next poses. </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="anchor" id="param_OdomKeyFrameThr"></a><a class="el" href="classrtabmap_1_1Parameters.html#a09dc498e4a45882548ee3fd0096437b2">Odom/KeyFrameThr</a> </td><td class="markdownTableBodyNone">float </td><td class="markdownTableBodyNone"><code>0.3</code> </td><td class="markdownTableBodyNone">[Visual] Create a new keyframe when the number of inliers drops under this ratio of features in last frame. Setting the value to 0 means that a keyframe is created for each processed frame. </td></tr>
<tr class="markdownTableRowOdd">
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="anchor" id="param_OdomVisKeyFrameThr"></a><a class="el" href="classrtabmap_1_1Parameters.html#aa9fcc2aef568b4c3c822bbe9c48b318e">Odom/VisKeyFrameThr</a> </td><td class="markdownTableBodyNone">int </td><td class="markdownTableBodyNone"><code>150</code> </td><td class="markdownTableBodyNone">[Visual] Create a new keyframe when the number of inliers drops under this threshold. Setting the value to 0 means that a keyframe is created for each processed frame. </td></tr>
<tr class="markdownTableRowEven">
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="anchor" id="param_OdomScanKeyFrameThr"></a><a class="el" href="classrtabmap_1_1Parameters.html#af172b6f629a62b37ea7ab151eee8058b">Odom/ScanKeyFrameThr</a> </td><td class="markdownTableBodyNone">float </td><td class="markdownTableBodyNone"><code>0.9</code> </td><td class="markdownTableBodyNone">[Geometry] Create a new keyframe when the number of ICP inliers drops under this ratio of points in last frame's scan. Setting the value to 0 means that a keyframe is created for each processed frame. </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="anchor" id="param_OdomImageDecimation"></a><a class="el" href="classrtabmap_1_1Parameters.html#a63ec6b90d6059736eee8892e041c14ac">Odom/ImageDecimation</a> </td><td class="markdownTableBodyNone">unsigned int </td><td class="markdownTableBodyNone"><code>1</code> </td><td class="markdownTableBodyNone">Decimation of the RGB image before registration. If depth size is larger than decimated RGB size, depth is decimated to be always at most equal to RGB size. If <a class="el" href="parameters.html#param_VisDepthAsMask">Vis/DepthAsMask</a> is true and if depth is smaller than decimated RGB, depth may be interpolated to match RGB size for feature detection. </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="anchor" id="param_OdomAlignWithGround"></a><a class="el" href="classrtabmap_1_1Parameters.html#af7560d62a725e93669225843403625e5">Odom/AlignWithGround</a> </td><td class="markdownTableBodyNone">bool </td><td class="markdownTableBodyNone"><code>false</code> </td><td class="markdownTableBodyNone">Align odometry with the ground on initialization. </td></tr>
<td class="markdownTableBodyNone"><a class="anchor" id="param_OdomImageDecimation"></a><a class="el" href="classrtabmap_1_1Parameters.html#a63ec6b90d6059736eee8892e041c14ac">Odom/ImageDecimation</a> </td><td class="markdownTableBodyNone">unsigned int </td><td class="markdownTableBodyNone"><code>1</code> </td><td class="markdownTableBodyNone">Decimation of the RGB image before registration. If depth size is larger than decimated RGB size, depth is decimated to be always at most equal to RGB size. If <a class="el" href="parameters.html#param_VisDepthAsMask">Vis/DepthAsMask</a> is true and if depth is smaller than decimated RGB, depth may be interpolated to match RGB size for feature detection. </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="anchor" id="param_OdomDeskewing"></a><a class="el" href="classrtabmap_1_1Parameters.html#a5a45711027dd93b66a34e72c20aa2208">Odom/Deskewing</a> </td><td class="markdownTableBodyNone">bool </td><td class="markdownTableBodyNone"><code>true</code> </td><td class="markdownTableBodyNone">Lidar deskewing. If input lidar has time channel, it will be deskewed with a constant motion model (with IMU orientation and/or guess if provided). </td></tr>
<td class="markdownTableBodyNone"><a class="anchor" id="param_OdomAlignWithGround"></a><a class="el" href="classrtabmap_1_1Parameters.html#af7560d62a725e93669225843403625e5">Odom/AlignWithGround</a> </td><td class="markdownTableBodyNone">bool </td><td class="markdownTableBodyNone"><code>false</code> </td><td class="markdownTableBodyNone">Align odometry with the ground on initialization. </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="anchor" id="param_OdomDeskewing"></a><a class="el" href="classrtabmap_1_1Parameters.html#a5a45711027dd93b66a34e72c20aa2208">Odom/Deskewing</a> </td><td class="markdownTableBodyNone">bool </td><td class="markdownTableBodyNone"><code>true</code> </td><td class="markdownTableBodyNone">Lidar deskewing. If input lidar has time channel, it will be deskewed. With an IMU, the pose of every point is predicted from the previous frame: orientation from the IMU, translation from the velocity (with the IMU acceleration if <a class="el" href="parameters.html#param_OdomGuessSmoothingDelay">Odom/GuessSmoothingDelay</a> &gt; 0). Without IMU, with a constant motion model (or the guess if provided). </td></tr>
</table>
<p><a class="anchor" id="parameters_OdomF2M"></a></p>
<h1><a class="anchor" id="autotoc_md33"></a>