* 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]>
* Added macos-15-intel and macos-15 build
* Cache brew pkgs
* added tahoe build, adding debug logs
* g2o csparse optional
* removed ls
* build package on
* disabling bundle for now
* updated cache name
* Added MacOS CI status in README.md
* 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.
* correct the Jacobian calculation of GravityFactor
* reimplement GravityFactor's analytical Jacobian
* adopt some minor changes from the GTSAM mainline
* use GTSAM's native AttitudeFactor instead of GravityFactor
* add missing header file and namespace prefix
* Removed GravityFactor. Fixed build with latest GTSAM version from source. Require c++17 when building with GTSAM>=4.3.0.
* Fixed cmake error when gtsam is not installed
---------
Co-authored-by: matlabbe <[email protected]>
* 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.
* Enable WITH_PYTHON on CI
* add python-dev
* use python3-dev instead of libpython3-dev
* use action to instlal python
* pybind now missing
* Fixed python build on linux
* warning
* try to install compatible pybind
* explicitly set where to find pybind
* 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]>