Commit Graph
1068 Commits
Author SHA1 Message Date
5aec9bacec CuVSLAM VO Strategy (#1583)
* integrating cuvslam, stereo cam initialization

* fixing transformations

* use isaac ros TocuVSLAMPose

* organizing

* handling covariance conversion

* cleaning up config

* moving cmake instructions to FindCuVSLAM.cmake file

* fixing ui integration

* updating software license for cuvslam

* improving memory management

* cleaning up header more

* reverting mistake in GUI

* using opaque pointers for header definitions, compiles

* back to typed definitions using forward-referencing

* fixing dangling pointer

* cleaning up

* fixing variable scope issues

* Using cuda to allocate gpu memory

* fixing transfrom from cuvslam back to ros coordinate frame

* reducing excessive logs

* removing redundant if true in cuvslam cmake

* moving find cuda into cuvslam cmake

* cleaning cmake to use modern target

* adding copyright line

* Finding tf2 and eigen3 in cmake

* simplifying clean up logic

* better logs

* moving cuvslam implementation methods into cpp

* fixing build with implmentation function declarations moved to the cpp

* cleaning transformation logic and adding grayscale support

* typo

* removing unecessary class member variable for processed images

* remove trailing underscore from initialize cuvslam function signature

* locally scoping config params since they are copied by cuvslam

* removing unecessary member variables and using locally scoped values since cuvslam seems to copy them

* more cleaning and refactoring

* fixing cmake inconsistancies and surpress warning

* fixing up baseline transform

* trying to remove tf2 for transformations

* fixing incorect baseline transform swap

* comment, begin reset logic investigation

* better handling of previous pose and transform during error cases

* hunting for reset bug, not found

* observation export implementatin, currently getting strange errors

* multi cam support

* Memory fixes

* comments

* make cuda stream a member variable so it isn't initialized and destroyed on every frame

* preparing to add ground constraints

* adding ground constraints, working

* adding wheel odom fusion into cuvslam tracker

* parsing parameter to apply planar constraints

* removing planar constraint in config, doesn't do anything

* using proper cuda stream type for member variable

* cleaning up for merge

* only parse params when cuvslam is compiled

* updating error message if using rgb-d instead of stereo

* removing wheel odom testing logs

* reverting bgr to rgb conversion

* fixing initial pose logic

* return null transform on invalid covariance

* debugging covariance

* guard against low velocity situations where cuvslam covariance spikes, but we aren't lost

* cleaning things up

---------

Co-authored-by: Felix Toft <[email protected]>
Co-authored-by: matlabbe <[email protected]>
2025-10-03 11:49:21 -07:00
matlabbe 11577fb553 When external guess is provided, don't report lost for the first ever frame (only on reset). Updated Odom/ResetCountdown description. (#1588) 2025-10-01 10:27:24 -07:00
matlabbe 0f37bafd66 Added source odometry guess option in standalone app 2025-09-28 16:31:42 -07:00
matlabbe a552bdfb2f GUI: Support Optimizer/Robust with RGBD/OptimizeMaxError at the same time. DBReader: fixed repeated odom covariance when Mem/ReduceGraph is used. Memory: avoid error msg when receiving frames without features while we expect odometry features. See also #1573 2025-09-24 23:24:32 -07:00
matlabbe c774ef641a rgbd_dataset: added support for rgbd_bonn ground truth format 2025-09-20 18:08:38 -07:00
matlabbe cb0cc9ed18 VINS Fusion overhaul (#1580)
* Updated correct focal length used by VINS, updated VINS visualization.

* Renamed OdometryVINS to OdometryVINSFusion
2025-09-14 19:29:28 -07:00
matlabbeandMathieu Labbe 4603f09389 Loading time optimization (#1569)
* On init, rebuild the dictionnary only once

* Fixed first dictionary update to avoid rebuilding multiple times. Commented some very verbose debug logs (should create a new level: UVERBOSE or UTRACE)

* bump version 0.23: added parameters "Mem/LoadVisualLocalFeaturesOnInit", "Mem/FlannIndexSaved", "Kp/SerializeWithChecksum".

* Renamed Mem/FlannIndexSaved to Kp/FlannIndexSaved. Update UI Preferences with new parameters.

* commented some very verbose debug logs

* Warn flann index serialization not implemented on windows

* Warn flann index deserialization not implemented on windows

* Removing some verbose logs

* missing header (win32)

* Added GlobalMap::fullUpdateNeeded() function

* Adding log

* Save flann index even if links changed

* log time to serialize flann index

* Make dictionary modified only after we update

---------

Co-authored-by: Mathieu Labbe <[email protected]>
2025-09-03 16:55:54 -07:00
matlabbe 94e31dcad1 Windows: fixed missing exported symbols (PythonInterface) 2025-07-13 04:15:03 -07:00
matlabbe f64c56a2cb Added doc for CameraModel and StereoCameraModel 2025-07-07 21:25:11 -07:00
matlabbe d30e76bc7a Added Transform and VisualWord tests 2025-07-06 13:23:13 -07:00
matlabbe b8d253129c minimal util3d_surface.h 2025-07-06 12:02:09 -07:00
matlabbe d558c3a93b finished util3d_motion_estimation.h tests 2025-07-06 11:01:37 -07:00
matlabbe 3c5c00456b Added util3d_motion_estimation.h tests (2D->3D done) 2025-07-05 20:42:32 -07:00
matlabbe 7a7c33dd14 finished testing util3d_mapping.hpp 2025-07-05 13:05:35 -07:00
matlabbe 45f342cb41 Merge branch 'master' of github.com:introlab/rtabmap into gtest 2025-07-05 09:37:08 -07:00
matlabbe 963ba42a1a OdometryThread: Updated logic on how to sync imu and sensor data (to make sure odom has always all IMUs it needs prior to process images) 2025-06-29 17:00:12 -07:00
matlabbe 442a868929 added doc/gtest for util3d_mapping.h (missing hpp functions) 2025-06-22 18:45:43 -07:00
matlabbe 114f673ec2 added doc/tests for util3d_correspondences.h 2025-06-22 15:04:03 -07:00
matlabbe 3ca3c37ee7 Added util3d_features.h doc/tests 2025-06-22 12:43:13 -07:00
matlabbe cb6cdcae90 Added util3d_registration tests 2025-06-21 20:12:02 -07:00
matlabbe 9335b9d816 added test for util2d::depthBleedingFiltering 2025-06-21 13:55:14 -07:00
matlabbe 7b1f37b8ee Merge branch 'master' of github.com:introlab/rtabmap into gtest 2025-06-21 13:45:01 -07:00
matlabbe 6d4e8a4173 New feature: Depth confidence (#1520)
* New feature: Depth confidence

* iOS app updated to save depth confidence, added util2d::depthBleedingFiltering function

* Updated tools to show/extract depth confidence

* Android: moved smoothing in post-processing, fixed confidence registration, added depth bleeding error option.

* Fixed warning

* removed debug log

* Added new feature types, fixed rendering when exporting texture >4096 (#1469), added depth bleeding filter option to iOS

* fixed some warnings, android: added bleeding error option

* CI: try updating ros2 key

* added sudo

* antoher test

* bump ios app version
2025-06-01 14:14:29 -07:00
matlabbe 478e909742 Fix 6DoF graph angular check (#1511)
* Fix 6DoF graph angular check

* Updated getAngle to use better version
2025-05-24 13:25:26 -07:00
matlabbe c776b9f056 finished util3d_filtering doc and tests 2025-05-20 20:22:39 -07:00
matlabbe 40f965d1d7 Added more doc/tests 2025-05-18 20:14:33 -07:00
matlabbe 879da2a0a7 Merge branch 'master' of github.com:introlab/rtabmap into gtest 2025-05-18 16:14:48 -07:00
matlabbe 802b8f9870 Add/Refine/SBA: create Registration only once to avoid internal initialization for every link refined, added or rematched (e.g., SuperPoint or SuperGlue). 2025-05-17 16:34:31 -07:00
matlabbe a3d4028faa Camera projection: Added max depth error option to colorize more points 2025-05-10 18:20:29 -07:00
matlabbe 8d3b78e760 util3d_filtering.h: more tests and doc 2025-05-04 16:17:36 -07:00
matlabbe 79dec73030 util3d_filtering.h: started doc and test 2025-05-03 17:33:01 -07:00
matlabbe 61d9171844 util3d_transforms.h: Added doc and tests 2025-05-03 13:10:34 -07:00
matlabbe 30b9f20bbd Merge branch 'master' of github.com:introlab/rtabmap into gtest 2025-05-03 11:47:56 -07:00
matlabbe 087a2cecd8 New parameter: RGBD/LocalizationSecondTryWithoutProximityLinks (#1499)
* Added parameter RGBD/LocalizationSecondTryWithoutProximityLinks

* Statistics: added new stat to know when proximity links are removed after a successful second loc try

* changed kLoopProximity_links_cleared for a count instead of bool

* Updating odomCachePoses with optimization for better visualization
2025-05-02 10:35:31 -07:00
matlabbe bb36ce7b8b Added util3d.h doc and tests 2025-04-26 19:58:37 -07:00
matlabbe 982ba35e3d added doc and tests for util2d.h 2025-04-25 15:15:59 -07:00
matlabbe 2c3f1458e7 Windows: fixing OdometryInfo missing symbols 2025-04-16 15:57:20 -07:00
matlabbe ccb6ce67d5 reprocess: added -cam_tf and -cam_tf_lens_offset options 2025-04-16 13:39:54 -07:00
matlabbe b5dce57be8 Computing BA correspondences: added option to use input link's transform as guess for feature matching 2025-04-14 10:28:12 -07:00
matlabbe 1d6c70c1db Removed parameter Vis/ForwardEstOnly. Added odometry statistics (matches,inliers,inliersRatio) per camera. Added OdometryInfo::statistics() function for convenience. 2025-04-14 09:52:41 -07:00
matlabbe 08f031e11c Fixed build with boost >=1.87 2025-04-12 13:39:10 -07:00
matlabbe 68e3125358 Fixed graph deformation check without landmark's orientation optimized. Added parameter Marker/VarianceOrientationIgnored to be able to tune correctly GTSAM's bearing/range factor variance. 2025-03-22 20:43:27 -07:00
matlabbe 28dbf1c98a iOS feb 2025 various updates (#1451)
* Using shadows on all texts and icons to see them better when background is white. Buffering database previews to show faster the Library. Updated how RAM usage is computed and now show max memory. Added warnings when RAM usage is low.

* Added measuring tool

* fixed map not shown when closing visualization

* Added measure text size setting, changed look and feel of point to point

* Fixed measuring point not showing

* Added fix for #1401

* Addressing #1407

* Export: Added colored OBJ options

* fixed index_t not existing on focal

* Fixed Settings not applied after restoring to all default settings witohut restarting the app (Marker detection not working issue #1455 )

* Marker detection: Fixing wrong depth used when rgb and depth image sizes cannot be divided exactly one from the the other #1455

* Added Marker Max Range option (default 1m)

* Added OBJ texture policy option (keep color on textureless polygons)

* Added texture/color blending option directly in the app. Added LAZ export option.

* Hiding measuring button if not mesh, dont zip if exporting to laz, updating Export XXX button based on the current context, fixed always blending texture/color on not visualization mode

* updated default marker max range to 2m

* bump ios app version

* fixing pcl 1.8.1 build

* fixed android build
2025-03-15 10:58:03 -07:00
matlabbe 6eebca83b2 Improved depth estimation of mono features (#1460)
* Improved depth estimation of mono features

* typo

* Added OdomF2M/InitDepthFactor parameter
2025-03-08 20:30:26 -08:00
matlabbe a1b602dbe0 Adding support for compressed input data and right color image. (#1463) 2025-03-08 16:40:04 -08:00
Borong Yuan d88353dc1b Further improvements to DepthAI integration (#1458)
* Reorganize DepthAI params

* Advanced Tuning of DepthAI’s SGBM Pipeline

* Update IMU Local Transform for OAK-D LR, OAK-D SR, and PoE Devices

* Reorganiz the usage of DepthAI. Get params before creating the pipeline, and automatically determine the resolution of different models.

* Identify the IMU type to specifically handle BMI270 and BNO085/086
2025-03-08 11:30:11 -08:00
matlabbe 258095e0f3 DBReader: added fine-grained camera selection (#1457) 2025-02-26 16:06:13 -08:00
matlabbe c0e83ce9e9 Adding options to bound OdometryF2M keyframes (#1448)
* Added OdomF2M/BundleAdjustmentMinMotion and OdomF2M/BundleAdjustmentMaxKeyFramesPerFeature parameters

* Added new odom stats localBundleMaxKeyFramesForInlier

* Adjusted how localBundleMaxKeyFramesForInlier is computed when OdomF2M/BundleAdjustmentMaxFrames is used.

* optimization: Dont compute average pixel distance if parameter is not used
2025-02-21 16:33:29 -08:00
matlabbe ddaf2f5271 DBViewer: refactored how poses are aligned with GPS to be able to make KMZ files (OBJ/DAE origin matching with first KML pose) 2025-02-02 15:09:59 -08:00
Borong Yuanandmatlabbe 89849ae245 add support for RVL depth image compression (#1409)
* add rvl_codec

* add support for RVL deep image compression

* DBViewer: edit depth re-using same compression format than the one in database.

* Fixing windows ci

* 💄

* missing dll export (windows)

* typo

---------

Co-authored-by: matlabbe <[email protected]>
2024-12-15 18:35:05 -08:00