Releases: introlab/rtabmap
Releases · introlab/rtabmap
v0.21.4
First, a big thanks for our new contributors (see below) and everyone reporting/discussing issues!
Dependencies included in the Windows binaries:
- Core: OpenCV 4.7.0 with xfeatures2d and nonfree modules (GPU options enabled on CUDA 11.7 release), PCL 1.14.0 with VTK 9.2.20220823, Qt 6.6.1.
- 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,
cuda
pipeline available in cuda11.7 release), - Kinect for Windows SDK 2.0 (Kinect for XBOX ONE),
- Kinect For Azure,
- RealSense2 2.54.2 (T265, D415, D435, D435i, L515, D400 Series visual presets can be used),
- Tara (side by side opencv video capture),
- ZED SDK 4.0.8 (enabled on cuda11.7 release),
- DepthAI 2.24.0 (OAK-D, OAK-D Lite)
- Optimizers: TORO, g2o 2020-02-07, GTSAM 4.0.0, Ceres 2.1
- ICP: libpointmatcher 1.3.1, CCCoreLib 1.0
- Reconstruction: OctoMap
- DNN: SuperPoint support with libtorch (enabled on cuda11.7 release)
Dependencies included in the MacOS binaries:
- Core: OpenCV 4.9.0 with xfeatures2d and nonfree modules, PCL 1.14.0 with VTK 9.2.6, Qt 6.6.1.
- Drivers:
- RealSense2 2.54.2 (T265, D415, D435, D435i, L515, D400 Series visual presets can be used) *may crash on some systems or require launching with sudo (e.g., not currently working on M1 Sonoma),
- Tara (side by side opencv video capture),
- DepthAI 2.24.0 (OAK-D, OAK-D Lite)
- Optimizers: TORO, g2o, GTSAM 4.1.0
- ICP: libpointmatcher 1.3.1
- Reconstruction: OctoMap 1.98
- Homebrew binaries now available:
brew install rtabmap
. Note that it has only basic dependencies to visualize, edit or post-process databases (e..g, coming from RTAB-Map for iOS app).
What's Changed
- Fix RGBD with ORB SLAM by @PonyPC in #991
- explicitly set deps to install instead of relying on buildfarm by @matlabbe in #1012
- Added RGBD/LocalizationSmoothing parameter and fixed related issues by @matlabbe in #1032
- Fixed build with gtsam 4.3.0 by @matlabbe in #1033
- Update DepthAI Integration by @borongyuan in #1034
- fixes for texture mesh export for pcl > 1.13.0 by @arrlee in #1039
- Support cameras with different fx and fy, enable alphaScaling for OAK cameras by @borongyuan in #1042
- add depthai gftt detector by @borongyuan in #1047
- Add Depthai SuperPoint by @borongyuan in #1058 (see https://github.com/borongyuan/depthai-superpoint for superpoint blob files to load on oak)
- OAK-D PoE Update by @borongyuan in #1094
- Motion estimation: use MultiNoncentralAbsolutePoseSacProblem to estim… by @guoqingzh in #1091
- MSCKF_VIO Update by @borongyuan in #1097
- fix ros gtsam 4.2a9 build by @borongyuan in #1108
- CMake: Add compatibility for yaml-cpp 0.8.0. by @FtZPetruska in #1115
- Update OAK stereo config and IMU rate by @borongyuan in #1116
- fix for Undefined symbols for architecture x86_64: "Nabo::NearestNeighbourSearch<double... when link to libpointmatcher by @cdb0y511 in #1117
- use AUTOUIC, AUTOMOC and AUTORCC instead of QTX_WRAP_UI, QTX_WRAP_CPP, QTX_ADD_RESOURCES by @cdb0y511 in #1135
- Add Histogram Equalization by @borongyuan in #1137
- OpenVINS Update by @borongyuan in #1107
- Update odometry info of OpenVINS by @borongyuan in #1142
- OAK bug fixes and improvements by @borongyuan in #1143
- Supplement and Adjust OpenVINS Parameters by @borongyuan in #1145
- Add missing filterKeypointsByDepth step by @borongyuan in #1150
- transform features after source images decimation by @borongyuan in #1154
- Tuning localization priors (added RGBD/LocalizationPriorError parameter) by @matlabbe in #1156
- fix protocol detection for undiscoverable devices by @borongyuan in #1159
- Updating orbslam3 v1 support by @matlabbe in #1152
- start outputting data after static initialization by @borongyuan in #1171
- improve NMS implementation by @borongyuan in #1173
- Adding util3d::cloudsFromSensorData to be able to show in DBViewer individual clouds for each camera by @matlabbe in #1182
- Add RGBD mode for OAK camera by @borongyuan in #1179
- GridMap integration by @matlabbe in #1180
- Reimplement NMS using morphological operations by @borongyuan in #1192
- support color histogram equalization by @borongyuan in #1203
- SuperPoint Torch Simple NMS by @borongyuan in #1213
Full Changelog: 0.21.0...0.21.4
New Contributors
- @PonyPC made their first contribution in #991
- @borongyuan made their first contribution in #1034
- @arrlee made their first contribution in #1039
- @guoqingzh made their first contribution in #1091
- @FtZPetruska made their first contribution in #1115
- @cdb0y511 made their first contribution in #1117
Other
- Looking for ICP configuration file for L515 and Kinect Azure, see release 0.20.8.
- Windows High CPU Usage: this can be related to OpenMP, try setting environment variable
OMP_WAIT_POLICY
topassive
. - SuperPoint weights can be downloaded in assets below for convenience (tested with CUDA release).
- See Installation page for additional installation instructions depending on your platform and the camera you are using (e.g., drivers).
v0.21.0
Standalone changes
- RealSense2:
- D400 cameras: IR + Depth mode (with IR emitter disabled) is now used by default instead of RGB+Depth. The IR camera has a larger field-of-view, has a global shutter and is perfectly synchronized with depth image, so visual odometry is more accurate.
- The included realsense2 library in windows binaries has been patched so that we can use T265 alone like a stereo camera.
- GUI: Added multi-session localization view, related to this new 2022 paper Multi-Session Visual SLAM for Illumination Invariant Re-Localization in Indoor Environments
- Updated with Qt6 support
- Updated with VTK 9 support
- Added OAK-D Lite support
Library changes
- RTAB-Map library now uses CMake targets to make it easier to include in another cmake project.
find_package(RTABMap REQUIRED) target_link_libraries(MyApp rtabmap::core)
- Updated compilation instructions on Windows, now using officially vcpkg for main dependencies.
- Added option to set priors on markers (automatically transform map in world coordinates)
- [ROS] Multi-camera visual odometry and localization support (build with OpenGV dependency).
- [ROS] On Noetic and ROS2, the
rtabmap_ros
package has been split into sub packages (you can now get all message definitions without installing everything, onlyros-$ROS_DISTRO-rtabmap-msgs
). See migration guide here. For example:<!-- Before: --> <node pkg="rtabmap_ros" type="rtabmap" name="rtabmap"/> <node pkg="rtabmap_ros" type="rgbd_odometry" name="rgbd_odometry"/> <!-- Now: --> <node pkg="rtabmap_slam" type="rtabmap" name="rtabmap"/> <node pkg="rtabmap_odom" type="rgbd_odometry" name="rgbd_odometry"/>
- [Android] Added recovery feature, android 30 support, fixed various bugs
- [iOS] Improved significantly rendering performance on latest iPhones
- [Docker] Added 22.04 / Jammy image
- Improved stability and many bug fixes as seen below.
Full Changelog: 0.20.16...0.21.0
Pull requests
- Add Boost serialization package for libpointmatcher case by @MarvinStuede in #810
- List dependencies only once by @Timple in #812
- fix missing curl install in focal dockerfile by @benknight135 in #816
- Allow negative disparity in dialog for stereo matchers by @benknight135 in #817
- Marker priors by @matlabbe in #859
- fixing missing DISABLE_VTK on recent PCL versions by @matlabbe in #871
- Added stereo multi-camera support by @matlabbe in #884
- Use imported target for res_tool during cross compilation. by @windelbouwman in #865
- implement multi camera marker detection #898 by @matlabbe in #899
- Pnp multicam refactoring by @matlabbe in #902
- OpenCV 4.7 moved aruco, and has breaking changes by @cnSchwarzer in #955
- fix bigobj under MSVC, fix yaml-cpp link. by @cnSchwarzer in #957
- Refactoring RTABMapConfig.cmake with targets by @matlabbe in #904
- Qt6 compatibility by @matlabbe in #968
New Contributors
- @MarvinStuede made their first contribution in #810
- @Timple made their first contribution in #812
- @benknight135 made their first contribution in #816
- @windelbouwman made their first contribution in #865
- @cnSchwarzer made their first contribution in #955
Dependencies included in the Windows binaries:
- Core: OpenCV 4.7.0 with xfeatures2d and nonfree modules (GPU options enabled on CUDA 11.7 release), PCL 1.13.0 with VTK 9.2.0, Qt 6.4.3.
- Drivers:
- OpenNI and OpenNI2 (Kinect for XBOX 360, Xtion Live Pro, Orbbec Astra),
- Freenect2 (UsbDk v1.00-22 should be installed,
cuda
pipeline available in cuda11.7 release), - Kinect for Windows SDK 2.0 (Kinect for XBOX ONE),
- Kinect For Azure,
RealSense (ZR300, R200)(check older releases),- RealSense2 2.53.1 (T265, D415, D435, D435i, L515, D400 Series visual presets can be used),
- Tara,
Mynt Eye S SDK(check older releases),- ZED SDK 3.8 (enabled on cuda11.7 release),
- DepthAI (OAK-D, OAK-D Lite)
- Optimizers: TORO, g2o, GTSAM, Ceres
- ICP: libpointmatcher, CCCoreLib
- Reconstruction: OctoMap
- DNN: SuperPoint support with libtorch (enabled on cuda11.7 release)
Other
- Looking for ICP configuration file for L515 and Kinect Azure, see release 0.20.8.
- Windows High CPU Usage: this can be related to OpenMP, try setting environment variable
OMP_WAIT_POLICY
topassive
. - SuperPoint weights can be downloaded in assets below for convenience (tested with CUDA release).
- See Installation page for additional installation instructions depending on your platform and the camera you are using (e.g., drivers).
Full Changelog: 0.20.16...0.21.0
v0.20.16
Standalone changes
- DUO mode extended to any combination of cameras (not only T265+L515 or D435). For example, using T265 odometry with a Kinect Azure camera for RGB/depth, or ZED camera for odometry with a Realsense L515 camera for RGB/depth. Added extrinsics calibration tool between the cameras for convenience. See "Preferences->Odometry Sensor" section for more info.
- Added SuperPoint support (included in cuda11-1 release below).
- Added DepthAI support (OAK-D camera).
- Improved localization accuracy with and without AprilTags.
Pull requests
- fixed trusty build by @matlabbe in #682
- Added CameraStereoZedOC (Zed Open Capture driver). Calibration: added… by @matlabbe in #692
- Coloring scan (camera projection on point cloud) by @matlabbe in #693
- Integrated DepthAI (gen2) by @matlabbe in #696
- Added ORB_SLAM3 support. IMU Filter: added base frame conversion option. by @matlabbe in #698
- Refactored RegistrationIcp / Integrated CCCoreLib by @matlabbe in #704
- add flood fill filter by @chameau5050 in #714
- Vtk9 support by @matlabbe in #722
- Odom sensor option by @matlabbe in #726
- improve flood fill and move it to update function by @chameau5050 in #727
- Added libpdal to rtabmap docker build for focal by @CMaillette in #735
- Add ceiling filter to rtabmap-export by @iportolesrb in #775
- Moved bin dir inside build directory by @matlabbe in #784
New Contributors
- @chameau5050 made their first contribution in #714
- @CMaillette made their first contribution in #735
- @iportolesrb made their first contribution in #775
Dependencies included in the Windows binaries:
- Core: OpenCV 4.5.0 with xfeatures2d and nonfree modules (GPU options enabled on cuda11.1 release), PCL 1.11.1 with VTK 8.2.0 (enabling EDL shader option), Qt5.15.2, libpointmatcher
- Drivers:
- OpenNI and OpenNI2 (Kinect for XBOX 360, Xtion Live Pro, Orbbec Astra),
- Freenect2 (UsbDk should be installed),
- Kinect for Windows SDK 2.0 (Kinect for XBOX ONE),
- Kinect For Azure,
- RealSense (ZR300, R200),
- RealSense2 2.40.0 (T265, D415, D435, D435i, L515, D400 Series visual presets can be used),
- Tara,
- Mynt Eye S SDK,
- ZED SDK 3.3.3 (enabled on cuda11.1 release),
- DepthAI (OAK-D)
- Optimizers: TORO, g2o, GTSAM
- Reconstruction: OctoMap, CPUTSDF
Other
- Looking for ICP configuration file for L515 and Kinect Azure, see release 0.20.8.
- Windows High CPU Usage
- This can be related to OpenMP, try setting environment variable
OMP_WAIT_POLICY
topassive
.
- This can be related to OpenMP, try setting environment variable
- See Installation page for additional installation instructions depending on your platform and the camera you are using (e.g., drivers).
Full Changelog: 0.20.8...0.20.16
v0.20.8
Release notes:
- Major updates:
- Updated default parameters to avoid getting lost easily with HD sensors:
GFTT/MinDistance
is now7
,Vis/CorGuessWinSize
is now40
,Optimizer/GravitySigma
is now0.3
(enabling gravity constraints so that the map is aligned with gravity by default).
- When selecting sensors from the Detection->Select source... menu, if the sensor has IMU capability, we automatically enable Madgwick filter (except for zed cameras as they give the quaternion directly). For L515, we adjust the default RGB size to a compatible one (1280x720x30).
- L515: added support for latest firmware 1.5.3, we also rescale down the depth image after registration to save computation time and memory.
- ZED-Mini/ ZED2: we wait for a valid quaternion before sending frame data, so that odometry can always start aligned with gravity.
- Kinect For Azure: set rendering ROI to
"0.05 0.05 0.05 0.05"
to avoid black lines in the 3D map (because of RGB rectification).
- Added config below for Kinect For Azure and L515 lighting invariant mode (ICP odometry), more info here.
- Updated default parameters to avoid getting lost easily with HD sensors:
- Dependencies included in the Windows binaries:
- Core: OpenCV 4.5.0 with xfeatures2d and nonfree modules (GPU options enabled on cuda11.1 release), PCL 1.11.1 with VTK 8.2.0 (enabling EDL shader option), Qt5.15.2, libpointmatcher
- Drivers:
- OpenNI and OpenNI2 (Kinect for XBOX 360, Xtion Live Pro),
- Freenect2 (UsbDk should be installed),
- Kinect for Windows SDK 2.0 (Kinect for XBOX ONE),
- Kinect For Azure,
- RealSense (ZR300, R200),
- RealSense2 2.40.0 (T265, D415, D435, D435i, L515, D400 Series visual presets can be used),
- Tara,
- Mynt Eye S SDK,
- ZED SDK 3.3.3 (enabled on cuda11.1 release)
- Optimizers: TORO, g2o, GTSAM
- Reconstruction: OctoMap, CPUTSDF
- Mac OS X Big Sur hanging issue:
- Launch from terminal like this:
QT_MAC_WANTS_LAYER=1 /Applications/RTABMap.app/Contents/MacOS/RTABMap
- Launch from terminal like this:
- Windows High CPU Usage
- This can be related to OpenMP, try setting environment variable
OMP_WAIT_POLICY
topassive
.
- This can be related to OpenMP, try setting environment variable
- Compatible with RTAB-Map Tango 0.20
- See Installation page for additional installation instructions depending on your platform and the camera you are using (e.g., drivers).
v0.20.7
Release notes:
- Dependencies included in the Windows binaries:
- Core: OpenCV 4.5.0 with xfeatures2d and nonfree modules (GPU options enabled on cuda11.1 release), PCL 1.11.1 with VTK 8.2.0 (enabling EDL shader option), Qt5.15.2, libpointmatcher
- Drivers:
- OpenNI and OpenNI2 (Kinect for XBOX 360, Xtion Live Pro),
- Freenect2 (UsbDk should be installed),
- Kinect for Windows SDK 2.0 (Kinect for XBOX ONE),
- Kinect For Azure,
- RealSense (ZR300, R200),
- RealSense2 2.40.0 (T265, D415, D435, D435i, L515, D400 Series visual presets can be used),
- Tara,
- Mynt Eye S SDK,
- ZED SDK 3.3.3 (enabled on cuda11.1 release)
- Important for HD images >480p
- Some new cameras can output HD images (and even higher resolutions), the default GFTT/BRIEF feature doesn't work well with high resolution images. It is recommended to increase
GFTT/MinDistance
(GFTT->Minimum Euclidean distance) to 7-10 for example or use scale invariant features (ORB-OCTREE approach can be a good choice to keep speed with binary descriptors). Increase alsoVis/CorGuessWinSize
(Visual Registration->Matching window size) to 40-60 to get smoother odometry.
- Some new cameras can output HD images (and even higher resolutions), the default GFTT/BRIEF feature doesn't work well with high resolution images. It is recommended to increase
- Optimizers: TORO, g2o, GTSAM
- Reconstruction: OctoMap, CPUTSDF
- Mac OS X Big Sur hanging issue:
- Launch from terminal like this:
QT_MAC_WANTS_LAYER=1 /Applications/RTABMap.app/Contents/MacOS/RTABMap
- Launch from terminal like this:
- ROS kinetic, melodic and noetic binaries have been updated (should appear in next ROS releases).
- Major updates:
- Improved Kinect for Azure support with IMU and IR-only mode. See this post for an example with K4A and libpointmatcher in completely dark environments.
- Added minimal L515 support (only one resolution RGB+Depth is yet available).
- Improved significantly memory usage (less RAM).
- DatabaseViewer: manual constraints can be added.
- Updated default parameters for ORB-OCTREE feature.
- Fixed root node Yaw drifting with GTSAM and gravity links.
- Updated point cloud visualization tools to support "Intensity" field. Also added new colormap (rainbow colors) for intensity visualization.
- Added database target version parameter. Useful to create an older database format that will be compatible with older RTAB-Map versions.
- Including 99 commits since previous release.
- Compatible with RTAB-Map Tango 0.20
- See Installation page for additional installation instructions depending on your platform and the camera you are using (e.g., drivers).
v0.20.3
v0.20.2
Release notes:
- Dependencies included in the Windows binaries:
- Core: OpenCV 3.4.10 with xfeatures2d and nonfree modules (GPU options enabled on CUDA10 release), PCL 1.8.1 with VTK 6.3, Qt5.10.1
- Drivers:
- OpenNI and OpenNI2 (Kinect for XBOX 360, Xtion Live Pro),
- Freenect2 (UsbDk should be installed),
- Kinect for Windows SDK 2.0,
- RealSense (ZR300, R200),
- RealSense2 2.35.2 (T265, D435, D435i),
- Tara,
- Mynt Eye S SDK,
- Kinect For Azure,
- ZED SDK 3.2 (enabled on CUDA10 release)
- Important: some new cameras can output HD images (and even higher resolutions), the default GFTT/BRIEF feature doesn't work well with high resolution images. It is recommended to increase
GFTT/MinDistance
to 10 for example or use scale invariant features. The new ORB-OCTREE approach can be a good choice to keep speed with binary descriptors.
- Optimizers: TORO, g2o, GTSAM
- Reconstruction: OctoMap, CPUTSDF
- Major updates:
- Added support for Mynt Eye S camera (thanks Mynt Eye for the camera!)
- Added support for Kinect for Azure (thanks @tkircher for the pull request and the camera!)
- Upgraded ZED driver to support ZED2 camera
- Added IMU support for compatible camera drivers (in Source panel, an IMU filtering approach should be selected)
- Optimization can be done with gravity constraints (enabled with
Optimizer/GravitySigma=0.3
)
- Optimization can be done with gravity constraints (enabled with
- Added ORB-OCTREE feature approach (extraction of ORB features like ORB_SLAM2). This can be useful to be more invariant to image resolution.
- Compatible with RTAB-Map Tango 0.20
- See Installation page for additional installation instructions depending on your platform and the camera you are using (e.g., drivers).
v0.18.0
Release notes:
- Dependencies included in the Windows binaries:
- Core: OpenCV 3.4.3 with xfeatures2d module (GPU options enabled on CUDA10 release), PCL 1.8.1 with VTK 6.3, Qt5.10.1, OctoMap
- Drivers: OpenNI2, OpenNI, Freenect2 (UsbDk should be installed), FlyCapture2/Triclops, RealSense, RealSense2, Tara, ZED 2.7 (enabled on CUDA10 release)
- Optimizers: g2o, GTSAM, TORO, cvsba
- Reconstruction: CPUTSDF, OpenChisel
- Major updates:
- Improved GTSAM convergence on multi-session mapping
- Using GPS (when available) in likelihood estimation to increase loop closure detection robustness on multi-session mapping (see this tutorial)
- Fixed GUI native look on Windows
- Fixed FlyCapture2 build with their latest SDK
- Now supporting Tara stereo camera out-of-the-box, thanks to e-consystem
- Database: saving whole camera calibration, saving environmental sensors, saving angle parameters for laser scan info.
- Fixed g2o export format to use Optimizer parameters, thanks to TSC21
- Added stereo SGBM approach to compute dense disparity
- Fixed SIFT usage
- Fixed CPUTSDF regression in binary release, packaged back with September 2015 version.
- Fixed imu-rgb-depth ZR300 frames when using RealSense VIO (linux).
- Added RealSense D415 icon in menu
RGBD/OptimimzeMaxError
is now also used to check maximum angular errors in the graph
- Compatible with RTAB-Map Tango 0.18
- See Installation page for additional installation instructions depending on your platform (e.g., drivers).
v0.17.5
- RealSense v2 integration.
- Bug fixes.
- See Installation page for additional installation instructions depending on your platform (e.g., drivers).
- Windows binaries include OpenNI2, Freenect2, FlyCapture2, OpenCV's video capture and RealSense v1/v2 drivers. Use K4W2 for Kinect v2 SDK. Re-uploaded to fix missing turbojpeg.dll.
v0.16.3
- Improved visual odometry.
- Updated default parameters.
- See Installation page for additional installation instructions depending on your platform (e.g., drivers).