* Avoid removing nodes from STM when using CreateIntermediateNodes
* Clean up the data of the intermediate node when IntermediateNodeDataKept is false
* Save intermediate node input features
* Don't delete intermediate nodes
* comment typo
* Updated parameter description, bump patch for DBReader API chang
* When ID is not udpated to new one, don't disable words because that signature is still used in the bayes filter
* updated comment
* rtabmap-reprocess: support Rtabmap/DetectionRate when intermediate nodes are created and -skip option is not used
* Fixed smallMovement when rehearsal is not trigdered at the same time
* GUI: visualize rehearsal darkblue when intermediate nodes are used
* Fixed RtabmapThread not transfering input features on intermediate nodes
* Do not override smallMovement and fastMovement when converting to intermediate nodes to keep GUI visualization color working
---------
Co-authored-by: Borong Yuan <[email protected]>
* Auto graph repairing: detect and remove bad loop closures accepted in the past that block new good loop closures to be accepted
* Added parameter RGBD/OptimizeMaxErrorRepairRadius: added approach to repair the graph (remove bad loop closures added in the past). Refactored max optimization error function, split repairGraph to its own function.
* Handling optimization from graph end in repair
* MaxGraphErrors: changed link's pointers to copy directly to avoid seg fault down the road if not used properly
* Dont publish optimization statistics if it was not computed.
* Support intermediate nodes with memory management enabled
* Adding fix from #1686
* Fixed odomCache overlay shown in mapping mode
* Fixed local retrieval with intermediate nodes
* bumping version for updating API. Fixed getting graph error.
* Disable planning if intermediate nodes are there. Updated usage of Kp/BadSignRatio to support intermediate nodes.
* Added liosam odometry integration
* Add kXYZIRT scan format with per-point ring channel for LIO-SAM integration
Introduce PointXYZIRT point type and kXYZIRT LaserScan format (x,y,z,
intensity,ring,time) so that ring indices survive the scan pipeline.
Update OdometryLIOSAM to require kXYZIRT and properly split ring/time
into the parallel buffers LIO-SAM expects. Extend deskewing to preserve
ring data and disable base-class deskew in OdometryLIOSAM since LIO-SAM
handles it internally.
* Address PR review: config file, deferred init, and GUI panel for LIO-SAM
- Add OdomLIOSAM/ConfigPath parameter to load LIO-SAM settings from a
YAML file. When set, individual params are ignored. Extrinsics from
sensor local transforms always override config file values.
- Defer LioSamCore initialization until both IMU and lidar local
transforms are available, computing T_lidar_imu from sensor data.
IMU samples are buffered and replayed after init.
- Fix deferred init for scan-only messages that arrive after IMU
local transform is already cached.
- Add LIO-SAM entry to odometry strategy combo box (index 14) with
full PreferencesDialog panel including config path browse button
and all parameter widgets.
* OdometryLIOSAM: propagate deskewed scan to SensorData
Capture the deskewed cloud produced by LIO-SAM's image projection
stage and replace the raw scan on SensorData with it, so loop closure
registration and other downstream stages operate on the motion-
compensated points instead of the raw pre-deskew input.
* Minor updates for rtabmap_ros
---------
Co-authored-by: matlabbe <[email protected]>
* New rtabmap-reduceGraph CLI tool
* fixed some edge cases
* Regenerating optimized map if there was one before reducing the graph
* addMoreLoopClosures: refactored how ctrl-c is handled to stop faster when no loop closures are added
* Added kilted status
* Make offline tool always propagate neighbor merged links
* removed a parameter
* fixed disconnected graph
* fixed --help
* Added error log on Kp/NNStrategy not compatible with huge vocabulary. ReduceGraph/DetectMoreLoopClosures: Make sure original parameters are saved back on closing. g2o: fixing optimizer to Levenberg for SBA to avoid [SetJac] infinite jac fatal error.
* exposing neighbor merged ratio parameter to the tool
* show param in log
* refactored detectMoreLoopClosures to ignore too close nodes in terms of neighbor links based on Mem/STMSize parameter. Reduce graph: added direction parameter.
* Simplified: removed ratio parameter, removed recursive reduction. Just don't reduce if a NM link is longer than maxDistance.
* Removed NNStrategy override, as it was still done on closing when we changed back to original params
* DBViewer: show missing links when showing OptimizedPoses in GraphView, fixed clicking on landmark links
* DetectMoreLoopClosures: Added support for min graph distance option in MainWindow and DbViewer
* slight renaming of ROS jobs
* reprocess: added option --params_last
* CudaSIFT: filter doubles
* removed fixed threshold
* SSC can be used with multicameras. Refactored CudaSIFT to support SSC. Add new parameter SIFT/MaxGaussianThreshold. DbViewer: show negative features with gray color (so that we can know which features are in the vocabulary)
* Added SIFT/MaxGaussianThreshold parameter
* Updated parameter description
* Detect more loop closures from/to specific map ID only option
* default value -1
* Added elapsed time
* Avoid loading ALL signatures in RAM, only load them when necessary
* Avoid creating flann index when initializing with Kp/NNStrategy>=3
* Setting opt params by default
* Read-only localization mode
* Localization: don't update map's node timestamps if statistic after run are not saved
* Updated Mem/LocalizationReadOnly description
* Updated description of Kp/FlannIndexSaved