preferencesDialog
0
0
1058
725
0
0
Preferences
:/images/RTAB-Map.ico:/images/RTAB-Map.ico
-
0
-
-
160
0
QAbstractItemView::NoEditTriggers
false
-
0
-
true
0
0
760
1502
0
0
-
0
-
QFrame::Raised
19
-
General settings (GUI)
-
-
true
-
Insert new data received in the GUI cache. Used to show the loop closure image and the 3D Map.
true
-
-
Beep! on special events (finished processing the data set, an error has occured, ...).
true
-
Loop closure detection view
-
true
-
Show the image of the highest hypothesis.
true
-
false
-
Show image when an hypothesis is rejected.
true
-
Vertical layout.
false
-
true
-
Show loop closure hypotheses on the graph view. Nodes are colorized from blue to red depending on the highest hypothesis (which is red). Posterior hypotheses should be published.
true
-
true
-
3D Map view
-
9999
50
-
Odometry warning theshold:
Show a yellow background when the number of odometry inliers goes under this threshold. If 0, it is ignored. You can see the current odometry inliers count under Statistics view -> General -> Odom inliers.
true
-
Save/load settings
-
Load settings (*.ini) ...
-
Save settings (*.ini) ...
-
Reset all settings
-
Qt::Horizontal
40
20
-
Qt::Vertical
0
0
-
3D Rendering
-
Cloud filtering
true
true
-
For visualization, superposed clouds are not shown. By comparing poses in the same area, only one cloud in a fixed radius and angle is kept.
true
-
-
m
0.010000000000000
0.100000000000000
-
Radius.
-
degrees
0
180.000000000000000
30.000000000000000
-
Angle.
-
Occupancy grid map
false
false
-
When the Graph view is visible or if the "Show in 3D map view" below is checked, the grid map is generated using the laser scans.
true
-
-
0.750000000000000
1.000000000000000
0.750000000000000
-
false
-
Show in 3D map view.
-
m
0.010000000000000
1.000000000000000
0.050000000000000
-
Resolution (cell size).
-
Opacity.
-
false
-
Occupancy from 3D cloud projection on the ground. Laser scans are ignored when activated.
true
-
Erode.
true
-
false
-
QFrame::StyledPanel
QFrame::Raised
-
true
-
1
64
-
3D cloud decimation (1-2-4-8-...).
true
-
Map
Qt::AlignCenter
true
-
Odometry
Qt::AlignCenter
true
-
true
-
true
-
Show 3D clouds.
true
-
m
3
1.000000000000000
0.010000000000000
0.000000000000000
-
m
3
1.000000000000000
0.010000000000000
0.000000000000000
-
3D cloud voxel size.
true
-
1
32
4
-
1
32
2
-
m
1
100.000000000000000
0.100000000000000
4.000000000000000
-
m
1
100.000000000000000
0.100000000000000
0.000000000000000
-
3D cloud maximum depth (0 means no limit).
true
-
2
1.000000000000000
0.100000000000000
1.000000000000000
-
2
1.000000000000000
0.100000000000000
1.000000000000000
-
3D cloud opacity.
true
-
1
64
-
1
64
-
3D cloud point size (1..64).
true
-
true
-
Show 2D scans.
true
-
2
1.000000000000000
0.100000000000000
1.000000000000000
-
-
2
1.000000000000000
0.100000000000000
1.000000000000000
-
2D scan opacity.
true
-
1
64
-
2D scan point size (1..64).
true
-
Sphere radius that is to be used for determining the k-nearest neighbors used for triangulating (GP3). Guidelines: 4 times the voxel size, 0.025 for voxel=0.
true
-
Mesh smoothing using Moving Least Squares algorithm (MLS).
true
-
m
3
1.000000000000000
0.010000000000000
0.040000000000000
-
m
3
1.000000000000000
0.010000000000000
0.040000000000000
-
Online meshing using Greedy Projection Triangulation (GP3).
true
-
MLS search radius: Set the sphere radius that is to be used for determining the k-nearest neighbors used for fitting. Guidelines: 4 times the voxel size, 0.025 for voxel=0.
true
-
false
-
Set the number of k nearest neighbors to use for the normal estimation to create the mesh. Not used when mesh smoothing below is used.
true
-
20
-
Show graphs.
true
-
true
-
Qt::Vertical
20
40
-
Logging
-
2
QComboBox::AdjustToContents
-
DEBUG
-
INFO
-
WARNING
-
ERROR
-
Logger level.
true
-
3
QComboBox::AdjustToContents
-
DEBUG
-
INFO
-
WARNING
-
ERROR
-
Logger event sent level (fatal messages are always sent).
true
-
3
QComboBox::AdjustToContents
-
DEBUG
-
INFO
-
WARNING
-
ERROR
-
FATAL
-
Logger level on which the process will automatically pause, showing the log console. A level set under the logger event level will do nothing.
true
-
true
-
Logger print time.
true
-
1
QComboBox::AdjustToContents
-
No log
-
Console
-
File
-
Logger type:
when using the file type, logs are saved in LogRtabmap.txt (located in the working directory).
true
-
Qt::Vertical
20
40
-
Source
-
-
Hz
1
100.000000000000000
0.100000000000000
30.000000000000000
-
Input rate (0 means as fast as possible).
-
Mirroring mode (flip image horizontally). It has no effect on database source.
-
-
Image source
true
false
-
-
0
-
Usb camera
-
Images
-
Video file
-
Source type. 0-Usb camera (Webcam), 1-Images (directory of images), 2-Video (AVI)
true
-
Image width (set to 0 to use the default size of the source).
true
-
Image height (set to 0 to use the default size of the source).
true
-
0
999999999
160
0
-
0
999999999
120
0
-
0
-
Usb device
-
Usb device.
-
-1
999999999
0
-
Qt::Vertical
0
0
-
Images dataset
-
...
-
false
-
0
999999999
-
Start position (default 1, 0=start from the last).
-
-
Refresh the directory files list after each image loaded.
-
Qt::Vertical
0
0
-
Video (AVI)
-
...
-
false
-
Qt::Vertical
0
0
-
Database source
true
false
-
Open database viewer
:/images/mag_glass.png:/images/mag_glass.png
-
-
...
-
-
Start position (index)
-
0
999999999
-
Ignore odometry saved in the database, so if RGB-D SLAM is activated, odometry will be recomputed.
true
-
Ignore goal delay.
true
-
-
Use database stamps as input rate.
true
-
-
RGB-D camera
true
true
-
Grabber for RGB-D devices (i.e., Primesense PSDK, Microsoft Kinect, Asus XTion Pro/Live).
true
-
-
QComboBox::AdjustToContents
-
OpenNI-PCL
-
Freenect
-
OpenNI-CV
-
OpenNI-CV-ASUS
-
OpenNI2
-
Freenect2
-
StereoDC1394
-
StereoFlyCapture2
-
0
0
Calibrate
-
On initialization, calibration files are loaded from the "camera_info" folder in the working directory.
true
-
0
0
Test
-
Driver
true
-
OpenNI 2
-
true
-
Auto white balance.
true
-
true
-
Auto exposure.
true
-
65535
-
Exposure.
true
-
1000
100
-
Gain.
true
-
false
-
Mirroring.
true
-
QFormLayout::AllNonFixedFieldsGrow
-
-
ID of the device, which might be a serial number, bus@address or the index of the device. If empty, the first device found is taken.
true
-
0 0 0 -PI_2 0 -PI_2
-
Local transform from /base_link to /camera_link. Format (6 values): x y z roll pitch yaw.
true
-
Only RGB images are published.
true
-
false
-
Qt::Vertical
0
0
-
RTAB-Map settings
-
Hz
1
1.000000000000000
-
true
-
SLAM mode.
If set to false, global localization is performed, so without adding new data to the map.
true
-
true
-
Activate metric RGB-D SLAM.
If set to false, classic RTAB-Map loop closure detection is done using only images and without any metric information.
true
-
true
-
Publish statistics.
true
-
Detection rate (0 means inf). RTAB-Map will filter input images to satisfy this rate.
true
-
999
1
-
Images buffer size (0 means inf).
true
-
ms
0
10000.000000000000000
50.000000000000000
700.000000000000000
-
T_time : Max time (ms) allowed (0 means inf).
true
-
1.000000000000000
0.010000000000000
0.950000000000000
-
T_loop : Loop closure threshold.
true
-
1.000000000000000
0.200000000000000
-
T_similarity : Similarity threshold (for Rehearsal/Weight Update).
true
-
1
9999
15
-
STM size : Short-term memory size.
true
-
Qt::Vertical
0
0
-
RTAB-Map settings
-
-
true
-
SLAM mode.
If set to false, global localization is performed, so without adding new data to the map.
true
-
Hz
1
1.000000000000000
-
Detection rate (0 means inf). RTAB-Map will filter input data to satisfy this rate. If you want to process all data, consider set "Detection rate" to 0 and "Data buffer size" to 0.
true
-
999
1
-
Data buffer size (0 means inf).
true
-
true
-
Start a new map only if there is a global loop closure detected first with a previous map. If there is no map in memory, a new map is still created.
true
-
Thresholds
-
ms
0
10000.000000000000000
50.000000000000000
700.000000000000000
-
T_time : Max time (ms) allowed (0 means inf).
true
-
99999
0
-
Maximum signatures allowed in Working Memory (0 means inf).
true
-
1.000000000000000
0.010000000000000
0.950000000000000
-
T_loop : Loop closure threshold. Setting to 0 means that the new place hypothesis is used as threshold.
true
-
1.000000000000000
0.010000000000000
0.700000000000000
-
T_ratio : The loop closure hypothesis must be over T_ratio x lastHypothesisValue.
true
-
Publish statistics (stuff to be shown in the GUI)
true
-
true
-
Publish signature data.
-
true
-
Publish loop closure hypotheses (pdf).
-
true
-
Publish loop closure likelihood.
-
Log statistics (LogI.txt and LogF.txt) in the working directory.
true
-
true
-
Statistics logs buffered in RAM and written to hard drive on exit (otherwise logs are written at each iteration on hard drive).
true
-
true
-
Add headers (column names) to log files.
true
-
-
Working directory (where to put logs/dump stuff).
true
-
...
-
true
-
Qt::Vertical
0
0
-
Bayes filter
-
Prediction probabilities for each loop closure event:
-
We can edit how will like the prediction used in the Bayes filter when there is a loop closure hypothesis. Format is [VP LC N1 N2 N3...]. LC is the loop closure event and N# are its neighbors. VP (virtual place) is the probability to be in a new place when a loop closure was found on the last iteration.
true
-
-
Prediction
-
Sum
-
-
false
-
-
Preview
-
-
-
-
1.000000000000000
0.010000000000000
0.900000000000000
-
The VP here is the probability to be in a new place since no loop closure was found on the last iteration.
true
-
Regenerate all the prediction matrix on each iteration (otherwise only removed/added ids are updated).
true
-
Use the tf-idf method to compute the likelihood. Otherwise, images are compared with each other.
true
-
true
-
Qt::Vertical
0
0
-
Memory
-
-
1
16
-
50
0
1.000000000000000
0.010000000000000
0.200000000000000
-
1
9999
15
-
Initialize the Woking Memory with all nodes from Long-Term memory, instead of only nodes of the last session. This may be useful in localization mode, where less processing time is required than in SLAM mode, so more nodes can be kept in Working Memory.
true
-
STM size : Short-term memory size.
false
-
T_recent : Ratio of locations after the last loop closure in WM that cannot be transferred.
true
-
999
1
2
-
Maximum locations retrieved at the same time from LTM to WM.
true
-
true
-
True=Generate location Ids, False=use input image ids.
true
-
false
-
Bad signatures are ignored.
true
-
false
-
Keep raw sensor data. Only useful to save loop closure computation time when features re-extraction is enabled. Disable to save RAM memory.
true
-
false
-
Image decimation. This feature can be used to save images in lower resolution (size/decimation).
true
-
On transfer, signatures are sorted by weight->ID (i.e. the oldest of the lowest weighted signatures are transferred first). If false, the signatures are sorted by weight->Age (i.e. the oldest inserted in WM of the lowest weighted signatures are transferred first). Note that retrieval updates the age, not the ID.
true
-
true
-
If > 0.0, voxelize laser scans when creating a location. This feature can be used to save laser scans already voxelized.
true
-
50
0
m
3
1.000000000000000
0.010000000000000
0.000000000000000
-
Rehearsal / Weight Update
-
-
T_similarity : Similarity threshold. Values must be >=0.0 ans <=1.0.
true
-
1.000000000000000
0.200000000000000
-
On merging, update to new id.
true
-
Ignore Weight Update when the robot is moving.
true
-
-
Qt::Vertical
0
0
-
Database
-
true
-
Keep sensor compressed data.
true
-
-
10
999999
100
2000
-
Sqlite3 cache size,
see Sqlite3 doc 'PRAGMA cache_size'.
true
-
-
DELETE
-
TRUNCATE
-
PERSIST
-
MEMORY
-
OFF
-
Sqlite3 journal mode,
see Sqlite3 doc 'PRAGMA journal_mode'.
true
-
Using database in the memory instead of a file on the hard disk (this greatly improve database access performance but it requires more RAM memory).
true
-
Sqlite3 synchronous,
see Sqlite3 doc 'PRAGMA synchronous'.
true
-
Sqlite3 temp store,
see Sqlite3 doc 'PRAGMA temp_store'.
true
-
2
-
OFF
-
NORMAL
-
FULL
-
-
DEFAULT
-
FILE
-
MEMORY
-
Keep not linked nodes in db (rehearsed nodes and deleted nodes are saved).
true
-
true
-
Qt::Vertical
0
0
-
Visual word
-
-
-
SURF
-
SIFT
-
ORB
-
FAST+FREAK
-
FAST+BRIEF
-
GFTT+FREAK
-
GFTT+BRIEF
-
BRISK
-
Visual word type.
true
-
m
2
0.000000000000000
99.000000000000000
1.000000000000000
0.000000000000000
-
0 means that the response (hessian) threshold
used for the detector will not be adapted.
Otherwise, the threshold is modified to
generate the number of words requested.
Maximum words depth (0 means inf). Only used when a depth image is provided. Applied before "Maximum words per image".
true
-
-1
2000
150
-
0 means that the response (hessian) threshold
used for the detector will not be adapted.
Otherwise, the threshold is modified to
generate the number of words requested.
Maximum words per image (0=no maximum). Setting to -1 will disable features extraction, so disabling loop closure detection indirectly.
true
-
2
0.000000000000000
1.000000000000000
0.050000000000000
0.250000000000000
-
0 means that the response (hessian) threshold
used for the detector will not be adapted.
Otherwise, the threshold is modified to
generate the number of words requested.
Bad signature ratio (less than Ratio x AverageWordsPerImage = bad).
true
-
true
-
ROI ratios [left, right, top, bottom] between 0 and 1.
true
-
%
0
-
Left ROI ratio (0 = no change).
true
-
%
0
-
Right ROI ratio (0 = no change).
true
-
%
0
-
Top ROI ratio (0 = no change).
true
-
%
0
-
Bottom ROI ratio (0 = no change).
true
-
Dictionary
-
...
-
NNDR ratio
(A matching pair is accepted, if its distance is closer than X times the distance of the second nearest neighbor)
Lower the ratio -> higher the precision.
true
-
1
0.100000000000000
1.000000000000000
0.100000000000000
0.700000000000000
-
-
Path to a pre-computed dictionary (when "Use an incremental dictionary" is not set).
true
-
true
-
Nearest neighbor strategy.
-
QComboBox::AdjustToContents
-
FLANN Linear
-
FLANN KdTree
-
FLANN LSH
-
Brute Force
-
Brute Force GPU
-
Use an incremental dictionary.
When set to false, no new words are added to dictionary, so no more updates are required after each detection, which greatly increases time performance at the cost of lower adaptation to new environments.
true
-
If the dictionary update and signature creation were parallelized.
true
-
true
-
true
-
When adding new words to dictionary, they are compared also with each other (to detect same words in the same signature).
true
-
Sub pixel keypoints
-
Refining corners to sub pixel. Only useful in RGB-D SLAM mode. Sub pixel corners may not be needed for features like SURF/SIFT, which are already sub pixel.
true
-
-
0
999999
1
5
-
Window size.
true
-
0
999999
1
20
-
Iterations. 0 disables sub pixel refining.
true
-
3
0.001000000000000
0.100000000000000
0.010000000000000
0.030000000000000
-
Epsilon.
true
-
Qt::Vertical
0
0
-
SURF
-
true
-
Octave layers.
-
Descriptor extended (true=128, false=64).
true
-
true
GPU keypoints ratio.
true
-
true
GPU version.
true
-
1
100000
4
-
true
-
U-SURF used.
-
0.010000000000000
-
0
50000.000000000000000
500.000000000000000
-
-
1
100000
2
-
Octaves.
-
Hessian threshold.
-
Qt::Vertical
20
40
-
SIFT
-
-
Sigma.
-
6
0.000000000000000
50000.000000000000000
0.001000000000000
0.006667000000000
-
Contrast threshold.
-
Edge threshold.
-
0.100000000000000
10.000000000000000
-
0.100000000000000
10.000000000000000
-
-
nOctaveLayers.
-
nFeatures.
-
Qt::Vertical
20
40
-
FAST
false
-
QFormLayout::AllNonFixedFieldsGrow
-
1
9999
50
-
Threshold on difference between intensity of the central pixel and pixels of a circle around this pixel.
true
-
true
-
If true, non-maximum suppression is applied to detected corners (keypoints).
true
-
true
-
GPU-FAST: Use GPU version of FAST. This option is enabled only if OpenCV is built with CUDA and GPUs are detected.
true
-
1.000000000000000
0.010000000000000
0.050000000000000
-
Used with FAST GPU.
true
-
Qt::Vertical
20
0
-
BRIEF
-
1
1000
32
-
Bytes is a length of descriptor in bytes. It can be equal 16, 32 or 64 bytes.
true
-
Qt::Vertical
20
660
-
ORB
-
1
1.200000000000000
-
Pyramid decimation ratio, greater than 1. scaleFactor==2 means the classical pyramid, where each next level has 4x less pixels than the previous, but such a big scale factor will degrade feature matching scores dramatically. On the other hand, too close to 1 scale factor will mean that to cover certain scale range you will need more pyramid levels and so the speed will suffer.
true
-
8
-
The number of pyramid levels. The smallest level will have linear size equal to input_image_linear_size/pow(scaleFactor, nlevels).
true
-
31
-
This is size of the border where the features are not detected. It should roughly match the patchSize parameter.
true
-
0
-
It should be 0 in the current implementation.
true
-
2
-
WTA_K: The number of points that produce each element of the oriented BRIEF descriptor. The default value 2 means the BRIEF where we take a random point pair and compare their brightnesses, so we get 0/1 response. Other possible values are 3 and 4. For example, 3 means that we take 3 random points (of course, those point coordinates are random, but they are generated from the pre-defined seed, so each element of BRIEF descriptor is computed deterministically from the pixel rectangle), find point of maximum brightness and output index of the winner (0, 1 or 2). Such output will occupy 2 bits, and therefore it will need a special variant of Hamming distance, denoted as NORM_HAMMING2 (2 bits per bin). When WTA_K=4, we take 4 random points to compute each bin (that will also occupy 2 bits with possible values 0, 1, 2 or 3).
true
-
-
The default HARRIS_SCORE=0 means that Harris algorithm is used to rank features (the score is written to KeyPoint::score and is used to retain best nfeatures features); FAST_SCORE=1 is alternative value of the parameter that produces slightly less stable keypoints, but it is a little faster to compute.
true
-
31
-
size of the patch used by the oriented BRIEF descriptor. Of course, on smaller pyramid layers the perceived image area covered by a feature will be larger.
true
-
-
GPU-ORB: Use GPU version of ORB. This option is enabled only if OpenCV is built with CUDA and GPUs are detected.
true
-
Qt::Vertical
20
40
-
FREAK
-
true
-
Enable orientation normalization.
true
-
true
-
Enable scale normalization.
true
-
22.000000000000000
-
Scaling of the description pattern.
true
-
4
-
Number of octaves covered by the detected keypoints.
true
-
Qt::Vertical
20
40
-
GFTT
-
1.000000000000000
0.010000000000000
0.010000000000000
-
1
1.000000000000000
-
true
-
Use Harris detector.
true
-
1.000000000000000
0.010000000000000
0.040000000000000
-
K.
true
-
3
-
Quality level.
true
-
Mininum distance.
true
-
Block size.
true
-
Qt::Vertical
20
644
-
BRISK
-
FAST/AGAST detection threshold score.
true
-
10.000000000000000
0.100000000000000
1.000000000000000
-
Detection octaves. Use 0 to do single scale.
true
-
10
3
-
Apply this scale to the pattern used for sampling the neighbourhood of a keypoint.
true
-
9999
30
-
Qt::Vertical
20
742
-
0
0
Hypotheses verification
-
-
QComboBox::AdjustToContents
-
No verification
-
Epipolar constraints
-
Hypotheses verification.
-
Epipolar constraints
-
8
100000
11
-
Minimum match count to accept a loop closure.
true
-
1
10.000000000000000
0.100000000000000
3.000000000000000
-
Fundamental Matrix : Distance (pixels) for inliers.
true
-
2
0.990000000000000
0.010000000000000
0.990000000000000
-
Fundamental Matrix : Ransac performance.
true
-
Qt::Vertical
0
0
-
RGB-D SLAM
false
-
-
-
Activate metric RGB-D SLAM. This module enables 6d metric SLAM directly in RTAB-Map.
If set to false, classic RTAB-Map loop closure detection is done using only images and without any metric information.
true
-
Rigid transformations between nodes are saved on the neighbor links of the RTAB-Map's graph. On loop closures, a new constraint is added to the graph and TORO optimizes the graph. RGB-D images must be sent to work (see Source->RGB-D Camera).
true
-
Map update
-
m
2
0.100000000000000
-
Linear update: Minimum linear displacement to update the map. Note that Weight Update is done prior to this, so weights are still updated.
true
-
rad
2
3.140000000000000
0.100000000000000
-
Angular update: Minimum angular displacement to update the map. Note that Weight Update is done prior to this, so weights are still updated.
true
-
m
1
99.000000000000000
0.100000000000000
1.000000000000000
-
Odometry change detected that triggers a new map (0 means whatever the odometry change, the detector will still link the new pose in the current map). Also by default, when an odometry with Identity transformation is detected, a new map is automatically created.
true
-
-
Pose scan matching: odometry pose correction using laser scan matching. ICP 2D only is used here.
true
-
Maximum local locations retrieved (0=disabled) near the current pose in the local map or on the current planned path (those on the planned path have priority).
true
-
-
m
1.000000000000000
-
Local radius for nodes selection in the local map. This parameter is used in some approaches below.
true
-
Ratio of working memory for which local nodes are immunized from transfer.
true
-
2
1.000000000000000
0.100000000000000
0.100000000000000
-
Graph optimization
-
-
TORO
-
g2o
-
Iterations.
-
0
10000
100
-
-
Ignore constraints' variance. If checked, identity information matrix is used for each constraint. Otherwise, an information matrix is generated from the variance saved in the links (transitional and rotational variances).
true
-
-
Optimize graph from the newest node.
true
-
Qt::Horizontal
-
-
2d SLAM: use fast 3DoF (x, y, theta) optimization instead of 6DoF (x, y, z, roll, pitch, yaw) optimization.
true
-
Graph optimization algorithm.
-
-If false, the graph is optimized from the oldest node of the current graph. It can be useful to preserve the map referential from the oldest node. An odometry correction between frames /map to /odom is computed. Warning: when some nodes are transferred, the first referential of the local map may change, resulting in momentary changes in robot/map position (which are annoying in teleoperation).
true
-
-If true, there is no odometry correction computed. All previous poses in the map are corrected instead, not the last one (which corresponds to latest odometry value). So, the transform between frames /map to /odom will be always Identity even on loop closures.
true
-
Local loop closure detection in time
true
-
Activate local detection over all locations in STM. The Bayes filter is not used here: If there are enough correspondences between the current image and others in STM, transformations are computed. This generates more constraints in the map's graph, so more time is required to optimize the graph.
true
-
Local loop closure detection in space
true
-
Activate local detection over locations (in Working Memory) near in space. The locations are compared to those inside the local radius of the current estimated position of the robot (at a maximum distance of the path filtering radius below). If the laser scans are used, local locations are merged together and the current laser scan is compared to them. It is useful when the robot is visiting backward (camera not in the same direction) already visited locations.
true
-
-
m
2
0.100000000000000
1.000000000000000
-
999
0
-
Maximum graph depth between the current/last loop closure location and the local loop closure hypotheses. Set 0 to ignore.
true
-
-
If local space links are kept in WM.
true
-
Path filtering radius to avoid merging laser scans which are close. 0 to ignore.
true
-
When comparing to a local path, merge the laser scans using the odometry poses instead of the ones in the optimized local graph.
true
-
-
Graph planning
-
If the goal is too far (>local radius) from the graph, the plan is aborted. The next goal in the graph can't be farther than the local radius around the current position. Anticipated nodes on the path are retrieved in the local radius up to "Maximum local locations retrieved". A virtual link is added between the current location and the nearest one on the path up to local radius.
true
-
-
m
1.000000000000000
-
Goal reached radius.
true
-
-
Add virtual links. Before planning in the graph, near nodes are linked together. The maximum distance is defined by "Goal reached radius" above. If "Maximum ID difference" below is set, only close nodes in time can be linked together.
true
-
When a goal is received and processed with success, it is saved in user data of the location with this format: "GOAL:#".
true
-
-
Qt::Vertical
20
0
-
Loop closure constraint
-
When a global loop closure is detected by the Bayes filter, a transform is computed between the current location and the old one. If a transform cannot be computed, the loop closure is rejected. A transformation is computed using the 3D visual word correspondences.
true
-
-
1
1000
10
-
Minimum visual word correspondences to compute geometry transform.
-
m
3
0.001000000000000
0.010000000000000
0.020000000000000
-
Maximum distance for visual word correspondences.
-
1
10000
1
100
-
Maximum iterations to compute the transform from visual words.
-
m
0.000000000000000
5.000000000000000
-
Max feature depth. Note that parameter "Visual Word"->"Max words depth" is applied before this.
true
-
-
Force 2D transform (3DoF: x,y and yaw).
true
-
QComboBox::AdjustToContents
-
No ICP
-
ICP 3D (e.g. Kinect depth)
-
ICP 2D (e.g. Laser scan)
-
When enabled, the visual transform is used as a guess for ICP estimation (3D or 2D). See "ICP" panel for parameters.
true
-
Use epipolar geometry to compute the loop closure transform. "Maximum distance for visual word correspondences" is not used in this mode.
true
-
-
Epipolar geometry maximum variance to accept the loop closure.
true
-
m
3
0.000000000000000
0.001000000000000
0.020000000000000
-
Re-extract features on global loop closure
true
true
-
By activating the re-extraction of the features, the features from the two images will be re-extracted using the settings below, and matched directly instead of using the big vocabulary. This adds an overhead processing time but it will mostly produce more corresponding words between the images, so better transformation computed. We recommend to use binary features for fast extraction and matching.
true
-
If not activated, when a loop closure constraint must be computed, the words already extracted for the loop closure detector are used. These words are limited (see Visual Word->Words Per Image) and matched to the loop closure detection vocabulary. When the vocabulary is large, there maybe less corresponding words on a loop closure.
true
-
Epipolar geometry is ignored (if set above) by this option.
true
-
-
3
QComboBox::AdjustToContents
-
FLANN Linear
-
FLANN KdTree
-
FLANN LSH
-
Brute Force
-
Brute Force GPU
-
1
0.100000000000000
1.000000000000000
0.100000000000000
0.700000000000000
-
999999
-
Max features extracted from the images (0 means inf).
true
-
Nearest neighbor strategy. FLANN KdTree must be used only with SURF/SIFT. FLANN LSH must be used only with binary feature detector.
true
-
NNDR ratio
(A matching pair is accepted, if its distance is closer than X times the distance of the second nearest neighbor)
Lower the ratio -> higher the precision. 0 means disabled, matching the nearest.
true
-
0
QComboBox::AdjustToContents
-
SURF
-
SIFT
-
ORB
-
FAST+FREAK
-
FAST+BRIEF
-
GFTT+FREAK
-
GFTT+BRIEF
-
BRISK
-
Feature detector
-
Qt::Vertical
20
40
-
ICP
-
Iterative closest point (ICP) parameters.
-
-
m
2
1.000000000000000
0.010000000000000
0.200000000000000
-
Maximum ICP translation correction accepted (>0). A large translation difference between the visual transformation and ICP transformation results in wrong transformations in most cases.
true
-
Maximum ICP rotation correction accepted (>0). A large rotation difference between the visual transformation and ICP transformation results in wrong transformations in most cases.
true
-
rad
2
3.140000000000000
0.010000000000000
0.780000000000000
-
ICP 3D (e.g. Kinect depth)
-
1
1000
10
-
Max iterations.
true
-
0
999999
100
5000
-
1
32
-
3
0.010000000000000
0.010000000000000
0.100000000000000
-
Depth image decimation.
true
-
m
0.000000000000000
5.000000000000000
-
Max cloud depth.
true
-
m
3
0.000000000000000
0.010000000000000
0.005000000000000
-
Voxel size to be used for ICP computation. Set to 0 to disable voxel filtering.
true
-
Random samples to be used for ICP computation. Not used if Voxel size is null.
true
-
Max distance for point correspondences.
true
-
0.000000000000000
1.000000000000000
0.010000000000000
0.700000000000000
-
Ratio of matching correspondences to accept the transform.
true
-
-
Point to plane ICP.
true
-
1
1000
20
-
Number of neighbors to compute normals for point to plane.
true
-
ICP 2D (e.g. Laser scan)
-
3
0.010000000000000
0.010000000000000
0.100000000000000
-
Max distance for point correspondences.
true
-
1
1000
10
-
Max iterations.
true
-
0.000000000000000
1.000000000000000
0.010000000000000
0.700000000000000
-
Minimum ratio of correspondences on laser scan maximum size to accept the transform.
true
-
m
3
0.000000000000000
0.100000000000000
0.001000000000000
0.000000000000000
-
Voxel size. Set to 0 to disable voxel filtering.
true
-
Qt::Vertical
20
40
-
Stereo
-
These parameters are used to find the 3D positions of visual words using disparity between the left and right images. Optical flow is used to find corresponding corners in the right image of words extracted from the left image.
true
-
calcOpticalFlowPyrLK()
-
1
999999
1
21
-
Window size.
true
-
1
999999
1
30
-
Iterations.
true
-
3
0.001000000000000
0.100000000000000
0.010000000000000
0.010000000000000
-
Epsilon.
true
-
Max level.
true
-
0
999999
1
3
-
-
3
0.001000000000000
1.000000000000000
0.010000000000000
0.100000000000000
-
The maximum slope for each stereo pairs. This will filter bad matches from calcOpticalFlowPyrLK().
true
-
Qt::Vertical
20
464
-
Odometry
-
Odometry is computed as fast as possible up to "Source->Input rate" parameter. Odometry is not computed if already provided by the source.
true
-
-
3-Mono is for single camera motion estimation (MonoSLAM). On initialization, the camera must be translated on the side until a first transform can be computed.
true
-
Automatically reset odometry after X consecutive images on which odometry cannot be computed (value=0 disables auto-reset). When reset, the odometry starts from the last pose computed.
true
-
QComboBox::AdjustToContents
-
BOW (bag-of-words)
-
Optical Flow
-
Mono
-
999999
-
-
QComboBox::AdjustToContents
-
SURF
-
SIFT
-
ORB
-
FAST+FREAK
-
FAST+BRIEF
-
GFTT+FREAK
-
GFTT+BRIEF
-
BRISK
-
Feature detector. In BOW/Mono modes, the related descriptor is also used. In Optical flow mode, only the keypoint detector is used.
true
-
Odometry strategy:
false
-
-
Force 2D transform (3DoF: x,y and yaw).
true
-
Fill info with data (inliers/outliers features to be shown in Odometry view).
true
-
Test selected odometry
-
2-Optical flow estimate the location of 2D features from last frame to new frame, then computes RANSAC transformation with corresponding 3D features.
true
-
1-BOW matches features extracted from both frames using nearest neighbor with descriptors, then computes RANSAC transformation estimation with corresponding 3D features.
true
-
Transformation estimation (RANSAC)
-
8
1000
10
-
Minimum feature correspondences to compute geometry transform.
true
-
m
3
0.001000000000000
0.010000000000000
0.005000000000000
-
RANSAC: Maximum distance for 3D feature correspondences. Lower the value, higher the precision but higher the chance of RED screens (odometry lost).
true
-
1
10000
1
100
-
RANSAC: Maximum iterations to compute the transform from 3D features.
true
-
0
10000
1
10
-
Refine iterations of the resulting transformation computed by RANSAC. 0 means no refining.
true
-
PnP reprojection error.
true
-
pix
1
0.100000000000000
1.000000000000000
8.000000000000000
-
-
PnP RANSAC: Pose estimation from 2D to 3D correspondences instead of 3D to 3D correspondences. PnP uses "Minimum feature correspondences" and "Maximum iterations" above.
true
-
PnP flags.
true
-
-
Iterative
-
EPNP
-
P3P
-
Features filtering
-
999999
-
ROI ratios [left, right, top, bottom] between 0 and 1.
true
-
0.0 0.0 0.0 0.0
false
-
Max features extracted from the images (0 means inf).
true
-
Maximum feature depth.
true
-
m
2
0.000000000000000
1.000000000000000
5.000000000000000
-
Sub pixel corners
-
Refining corners to sub pixel. Sub pixel corners may not be needed for features like SURF/SIFT, which are already sub pixel.
true
-
-
0
999999
1
5
-
Window size.
true
-
0
999999
1
20
-
Iterations. 0 disables sub pixel refining.
true
-
3
0.001000000000000
0.100000000000000
0.010000000000000
0.030000000000000
-
Epsilon.
true
-
Qt::Vertical
20
40
-
BOW
-
0
999999
1
0
-
Local history size: If > 0 (example 5000), the odometry will maintain a local map of X maximum words. This will decrease odometry drifting when the camera is not moving.
true
-
QComboBox::AdjustToContents
-
FLANN Linear
-
FLANN KdTree
-
FLANN LSH
-
Brute Force
-
Brute Force GPU
-
Nearest neighbor strategy. FLANN KdTree must be used only with SURF/SIFT. FLANN LSH must be used only with binary feature detector.
true
-
1
0.100000000000000
1.000000000000000
0.100000000000000
0.700000000000000
-
NNDR ratio
(A matching pair is accepted, if its distance is closer than X times the distance of the second nearest neighbor)
Lower the ratio -> higher the precision. 0 means disabled, matching the nearest.
true
-
Qt::Vertical
20
670
-
Optical Flow
-
The process is as follow:
- Features from the last frame are estimated in the new frame using an optical flow approach (see cv::calcOpticalFlowPyrLK()).
- 3D features from the new frame are extracted from the estimated positions.
- Using RANSAC, a transformation is estimated between corresponding 3D features.
- New features are extracted from the new frame to be used for the next time.
- Optionally, the 2D position of the features can be refined for sub pixel precision (see cv::cornerSubPix()).
true
-
calcOpticalFlowPyrLK()
-
1
999999
1
21
-
Window size.
true
-
1
999999
1
30
-
Iterations.
true
-
Epsilon.
true
-
0
999999
1
3
-
Max level.
true
-
3
0.001000000000000
1.000000000000000
0.010000000000000
0.010000000000000
-
Qt::Vertical
20
518
-
Mono
-
Parameters from BOW and OpticalFlow are also used here. PnP parameters on Odometry panel are used too.
true
-
-
pixels
0
1000.000000000000000
10.000000000000000
100.000000000000000
-
Minimum optical flow required for the initialization step.
true
-
m
0.000000000000000
0.010000000000000
0.020000000000000
-
Minimum translation to add new points to local map. On initialization, translation x 5 is used as the required minimum transformation.
true
-
Minimum translation required for the initialization step.
true
-
m
0.000000000000000
0.010000000000000
0.100000000000000
-
Maximum variance to add new points to local map.
true
-
3
0.000000000000000
0.001000000000000
0.010000000000000
-
Qt::Vertical
20
40
-
12
12
-
Qt::Horizontal
QDialogButtonBox::Apply|QDialogButtonBox::RestoreDefaults
-
-
Basic
true
-
Advanced
-
Qt::Horizontal
QDialogButtonBox::Cancel|QDialogButtonBox::Ok
UPlot
QWidget
1