Repository navigation
Welcome for the new contributors and a big thank you for existing ones!
Dependencies included in the Windows binaries:
- Core: OpenCV 4.13.0 with xfeatures2d and nonfree modules (GPU options enabled on CUDA 11.7 release), PCL 1.15.0 with VTK 9.3.20231030, Qt 6.10.0, OpenGV 2020-08-06.
- Drivers:
- OpenNI and OpenNI2 (Kinect for XBOX 360, Xtion Live Pro, Orbbec Astra) *Kinect for XBOX 360 reported not working on Windows 11 (but works on Windows 10),
- Freenect2 (UsbDk v1.00-22 should be installed,
cudapipeline available in cuda13.0 release), - Kinect for Windows SDK 2.0 (Kinect for XBOX ONE),
- Kinect For Azure,
- RealSense2 2.56.5 (T265, D415, D435, D435i, L515, D400 Series visual presets can be used),
- ZED SDK 5.4.0 (enabled on cuda13.0 release) install official SDK to have access to Neural depth strategies,
- DepthAI 2.32.0 (OAK-D, OAK-D Lite)
- Orbbec SDK v2 2.8.7 (Astra 2)
- Optimizers: TORO, g2o 2024-12-28, GTSAM 4.3a0-ros, Ceres 2.2.0
- ICP: libpointmatcher 1.4.0, CCCoreLib 2026-06-20
- Reconstruction: OctoMap
- GPU Visual Features (enabled on cuda13.0 release):
- SuperPoint support with libtorch v0.25.0
- Tip: to convert weights on your system:
cd RTABMap/share curl -L -O "https://raw.githubusercontent.com/magicleap/SuperPointPretrainedNetwork/master/demo_superpoint.py" curl -L -O "https://github.com/magicleap/SuperPointPretrainedNetwork/raw/refs/heads/master/superpoint_v1.pth" ..\bin\python.exe rtabmap_trace_superpoint.py - SuperPoint Rpautrat (weights)
- CudaSift support (parameter
SIFT/Gpu) through this fork
- SuperPoint support with libtorch v0.25.0
- vcpkg port also available: see build instructions here.
Dependencies included in the MacOS binaries:
Note that MacOS will block the app for security by default. To allow the app to start, after trying to open it, open Privacy and Security settings, scroll down and you will see "Open RTABMap anyway". That doesn't apply to the homebrew way to install.
- Core: OpenCV 4.14.0 / 5.0.0 with xfeatures2d and nonfree modules, PCL 1.15.1 with VTK 9.7.0, Qt 6.11.2 / 6.12.0, OpenGV 2020-08-06.
- Drivers:
- Freenect 0.7.5 (Kinect for XBOX 360)
- RealSense2 2.58.4 / 2.59.1 (T265, D415, D435, D435i, L515, D400 Series visual presets can be used) would require starting the app in sudo*,
- Orbbec SDK v2 2.8.7 (Astra 2) would require starting the app in sudo*,
- DepthAI 2.32.0 (OAK-D, OAK-D Lite)
- Optimizers: TORO, g2o, GTSAM 4.2.1, Ceres 2.2.0
- ICP: libpointmatcher 1.4.4
- Reconstruction: OctoMap 1.10.0
- Export: PDAL 2.12.2
- Homebrew binaries also available:
brew install rtabmap(add--HEADfor latest master version). Note that it has only basic dependencies to visualize, edit or post-process databases (e.g., coming from RTAB-Map for iOS app). - Tip: to start with sudo for drivers requiring it:
sudo /Applications/RTABMap.app/Contents/MacOS/RTABMap
What's Changed
- Faster graph zoom by using a snapshot-preview by @elidiot18 in #1728
- CI: remove conflicting ros2-testing-apt-source before setup-ros (roll… by @matlabbe in #1737
- Fixed some issues related to intermediate nodes and retrieval/immunization by @borongyuan in #1733
- Reprocess: added option -abort_disconnected_sessions by @matlabbe in #1738
- CI: macos pin opencv4 by @matlabbe in #1740
- Flann index serialization: deprecate rebalancing factor by @matlabbe in #1739
- Reduce graph: added option to remove orphan nodes from WM after reduction by @matlabbe in #1735
- OpenCV 5 support by @matlabbe in #1732
- Multi component view by @elidiot18 in #1729
- Adding doc and tests by @matlabbe in #1492
- Fix possible staled flann index by @matlabbe in #1742
- CI coverage: adding g2o, gtsam, ceres and libpointmatcher. by @matlabbe in #1743
- OptimizerG2O: track BA outliers per observation by @admin123-abc in #1741
- Add FlannIndex abstract interface and implement NanoFlannIndex subclass by @MohammadWolf95 in #1744
- Sparse Bayes by @matlabbe in #1748
- Fixing ground segmented as obstacle with grid noise filtering by @matlabbe in #1752
- Fix an issue with local BA and improve on-demand signature loading by @borongyuan in #1753
- Fix orphaned loop detection progress dialog by @tandede in #1755
- Updated Multisession3ItMemoryThr flaky test checks by @matlabbe in #1758
- Use BFS instead of A* for proximity graph-depth filtering by @torjusti in #1756
- Parallelize cloud generation in export/view clouds dialog and rtabmap-export by @torjusti in #1757
- GridMap: fixing eigen error with for downstream consumers by @matlabbe in #1761
- Fixing occupancy grids not 3d spam when subscribing octomap... by @matlabbe in #1763
- VWDictionary: use multi-core FLANN kNN search by @torjusti in #1760
- Memory: reuse compressed image/depth blobs when pixels are unchanged by @torjusti in #1766
- Odom: support features-only frames by @matlabbe in #1767
- CI: use ubuntu arm runners instead of QEMU by @matlabbe in #1771
- Fixing various issues detected by rtabmap_slam tests by @matlabbe in #1773
- Optimizer/PriorsIgnored description update by @matlabbe in #1774
- Use lower_bound() before iterating multimap entries of a key (fixes getConnectedGraph abort on macOS) by @ntotten in #1776
- fix(DBDriver): resolve lock-order inversion between dbSafeAccess and trashes mutexes by @webzuweb in #1775
- Dbdriver trash mutex build time protection by @matlabbe in #1778
- Odom ICP: added min ratio gate to init first scan by @matlabbe in #1768
- Cancel docker ci jobs on consecutive pushes by @matlabbe in #1779
- SensorData's isValid() method checks whether camera models are valid by @borongyuan in #1769
- Added UScopeMutex::lockTry() support by @matlabbe in #1777
- Fixing 4.3.1-ros gtsam compatibility by @matlabbe in #1783
- util2d::getDepth(): use the mean for the neighbor depth tolerance by @Arthur031221 in #1780
- Support Inverted Depth compression (with png or rvl) by @matlabbe in #1785
- Updating g2o default max iterations by @matlabbe in #1790
- Imu motion predictor by @matlabbe in #1791
- Stereo exposure compensation by @matlabbe in #1795
- Memory::computeTransform(): keep global descriptors when reloading node data by @Artod in #1788
- AprilTag upright option by @matlabbe in #1803
- Fix StereoFromMotion words3D indexing for RGB-only input by @Miller2018 in #1798
- Enabling ci merge-queue by @matlabbe in #1809
- Fixing icp strategy fallback (#1800) by @matlabbe in #1805
- Fix/stereofrommotion scaling camera local transform translation by @Miller2018 in #1802
- Ci/merge group android ios by @matlabbe in #1811
- Do not install fetched googletest into the install prefix (fixes #1812) by @kbilbaopTR in #1813
- Fix empty cloud seg fault when OdomF2M/ScanRange approach is used. by @matlabbe in #1806
- Fix/graph repair neighbor max error 1784 by @matlabbe in #1808
- Detect stale optimized graph when optimized poses are not saved corre… by @matlabbe in #1807
- Upgrade github-stats-action to version 2 by @doumdi in #1814
- Optimizer: correctly constrain yaw in global frame for the root node by @matlabbe in #1804
New Contributors
- @elidiot18 made their first contribution in #1728
- @admin123-abc made their first contribution in #1741
- @MohammadWolf95 made their first contribution in #1744
- @tandede made their first contribution in #1755
- @ntotten made their first contribution in #1776
- @webzuweb made their first contribution in #1775
- @Arthur031221 made their first contribution in #1780
- @Artod made their first contribution in #1788
- @Miller2018 made their first contribution in #1798
- @kbilbaopTR made their first contribution in #1813
Full Changelog: 0.23.8...0.24.2