Update documentation (latest) dca24fc11f

This commit is contained in:
github-actions[bot]
2026-10-11 21:15:01 +00:00
parent 6f87654e7c
commit 23a81fb0d0
914 changed files with 11507 additions and 10317 deletions
+12 -10
View File
@@ -33,7 +33,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">RTAB-Map<span id="projectnumber">&#160;0.24.0</span>
<div id="projectname">RTAB-Map<span id="projectnumber">&#160;0.24.1</span>
</div>
<div id="projectbrief">Real-Time Appearance-Based Mapping</div>
</td>
@@ -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 617 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>
@@ -726,7 +726,7 @@ Optimizer</h1>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="anchor" id="param_OptimizerPixelVariance"></a><a class="el" href="classrtabmap_1_1Parameters.html#af8ad0ad86c152e736820805aad2203c7">Optimizer/PixelVariance</a> </td><td class="markdownTableBodyNone">double </td><td class="markdownTableBodyNone"><code>1.0</code> </td><td class="markdownTableBodyNone">Pixel variance used on the u/v axes of every bundle adjustment reprojection edge. Applies to all BA-capable backends (g2o, GTSAM, Ceres). Should approximate the squared 1-sigma keypoint localization error in pixels. Set higher (e.g. 4-9) if features are noisy (low texture, motion blur, low light, or large detector scale). Set lower (e.g. 0.01-0.1) if features are sub-pixel refined (Lucas-Kanade tracking, parabolic peak interpolation). Intuition: the lower the pixel variance, the more the optimizer trusts the keypoint positions. </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="anchor" id="param_OptimizerDisparityVariance"></a><a class="el" href="classrtabmap_1_1Parameters.html#a1a6053a3f56ee705dd2d880e9394542d">Optimizer/DisparityVariance</a> </td><td class="markdownTableBodyNone">double </td><td class="markdownTableBodyNone"><code>1.0</code> </td><td class="markdownTableBodyNone">Disparity variance used on the disparity axis (u - u_right) of stereo / RGB-D bundle adjustment edges. Applies to all BA-capable backends (g2o, GTSAM, Ceres). Defaults to the same value as PixelVariance for backward compatibility. Set higher (e.g. 2-4) if your depth source is noisier than your feature detector's u/v precision (typical for stereo block matchers / SGM at long range). Set lower (e.g. 0.01-0.1) if your depth source is more accurate than the u/v detector (typical for ToF / LiDAR-fused depth where range is measured directly rather than triangulated). Intuition: the lower the disparity variance, the more the optimizer trusts the depth measurements. Geometric note: wider baseline and/or higher image resolution improve a block matcher's effective disparity precision (larger disparity magnitudes and finer sub-pixel refinement), so wide-baseline high-resolution stereo pairs can usually afford a lower disparity variance (e.g. 0.1-0.5); narrow-baseline low-resolution pairs should keep it higher (e.g. 1-4). </td></tr>
<td class="markdownTableBodyNone"><a class="anchor" id="param_OptimizerDisparityVariance"></a><a class="el" href="classrtabmap_1_1Parameters.html#a1a6053a3f56ee705dd2d880e9394542d">Optimizer/DisparityVariance</a> </td><td class="markdownTableBodyNone">double </td><td class="markdownTableBodyNone"><code>1.0</code> </td><td class="markdownTableBodyNone">Disparity variance used on the disparity axis (u - u_right) of stereo / RGB-D bundle adjustment edges (g2o, GTSAM, Ceres). Defaults to the same value as PixelVariance for backward compatibility. The lower it is, the more the optimizer trusts the depth. Set higher (e.g. 2-4) if the depth is noisier than the features' u/v precision (stereo block matchers / SGM at long range, narrow-baseline low-resolution stereo). Set lower (e.g. 0.01-0.1) if it is more accurate (ToF / LiDAR-fused depth, measured rather than triangulated), or around 0.1-0.5 for wide-baseline high-resolution stereo. </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="anchor" id="param_OptimizerRobustKernelDelta"></a><a class="el" href="classrtabmap_1_1Parameters.html#a5900adc0a8a2d5bf42963e4e5bee7855">Optimizer/RobustKernelDelta</a> </td><td class="markdownTableBodyNone">double </td><td class="markdownTableBodyNone"><code>8</code> </td><td class="markdownTableBodyNone">Robust kernel delta used for bundle adjustment (0 means don't use robust kernel). Applies to all BA-capable backends (g2o, GTSAM, Ceres). Observations with chi2 over this threshold will be ignored in the second optimization pass. </td></tr>
</table>
@@ -793,19 +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_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. </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. 0: estimated from the IMU while it is still (gyro and accelerometer quiet over 0.5 s), with standard gravity until then: the robot should then be perfectly still for a moment (e.g., at start), and a steady acceleration without rotation would be taken for gravity. </td></tr>
<tr class="markdownTableRowEven">
<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). The velocity is averaged over the last transforms up to this delay, for a smoother velocity prediction. The last velocity 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 the displacement over this delay corrected by the acceleration measured since, so it is not delayed, and the motion guess and lidar deskewing (<a class="el" href="parameters.html#param_OdomDeskewing">Odom/Deskewing</a>) integrate the acceleration from it (~0.5 s recommended). With 0, the IMU only gives the orientation. Without IMU, the average is delayed by half this delay: useful for platforms with inertia, high frame rates, or lidar deskewing, where the velocity noise would feed back into the next poses. </td></tr>
<tr class="markdownTableRowOdd">
<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>