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