matlabbe
1edb6a8647
log msg typo
2025-11-23 12:03:17 -08:00
matlabbe
e9c6180d56
Prioritize neighbor links in Optimizer::getConnectedGraph() ( #1610 )
...
* Prioritize neighbor links in Optimizer::getConnectedGraph() to avoid odometry jumps.
* Fixed landmark order
* report: added search for first valid id
* Fixed non-neighbor comparison logic
* RGBD/LocalizationPriorError can now be 0 (disabled) to avoid using priors to fix the graph (https://github.com/introlab/rtabmap_ros/issues/1371 )
* amend previous commit
2025-11-08 10:58:34 -08:00
matlabbe
210aadb92b
RGBD/LinearUpdate and RGBD/AngularUpdate: updated description and now require both to be 0 to skip motion check.
2025-10-28 20:56:54 -07:00
matlabbe
5cc16e371c
0.23.2: make g2o sba type check more portable (vcpkg build issue) ( #1597 )
...
* make g2o sba type check more portable
* try fixing latest g2o build
2025-10-13 22:54:35 -07:00
matlabbe
f329ebd42b
Windows: Fixed build with vcpkg's g2o version
2025-03-13 19:58:13 -07:00
matlabbe
6aa188d2af
g2o: fixed iterative optimization (when epsilon>0) not converging as fast as like batch optimization (and not converging at all in some cases).
2025-01-27 14:20:41 -08:00
matlabbe
c33e995e83
Landmark constraints can now be rejected (in case we see same landmark at two different spots or constraint is poorly estimated). Optimizer/Robust can now be used with landmark constraints with orientation.
2024-04-06 13:41:03 -07:00
matlabbe
13cd5e7a5e
Export Poses: Added support of landmarks. Fixed g2o export with 6DoF landmark constaints. Adjusted g2o export landmark id. ( #1199 )
2024-01-20 12:04:26 -08:00
matlabbe
c4e94bcdc3
fix comment removed
2023-03-22 22:20:09 -07:00
matlabbe
85cc6fe3c7
fixed build with latest g2o c++17 ( #999 )
2023-03-22 20:42:33 -07:00
matlabbe
6fe5e6375f
Fixed g2o version not correctly used, D400: set default to IR+Depth
2023-03-13 22:10:24 -07:00
matlabbe
85bc1ee27f
GTSAM: return empty optimized poses in case of exception or error. g2o: don't assert on marginal not computed, log error and reutn empty optimized poses.
2022-11-22 12:26:02 -08:00
matlabbe and mathieu86
5943a8b065
Added stereo multi-camera support ( #884 )
...
* Integrated OpenGV
* Fixed build without opengv
* Cmake: moved OpenGV dependency status under solvers group
* Added multi-stereocamera models support
* Fixed OpenGV 0 sample error when one of the camera doesn't have features. Fixed g2o BA id offset with multi-camera.
* Fixed multicam 3d points generated from stereo correspondences
* db: Fixed multi stereo models not loaded correctly
* gui: fixed stereo rectification option, RegVis: fixed projection error with old databases (image size not set in calibration)
* OdomF2M: Fixed map.at error when bundle adjustment is not used
* depthai: added imu firmware update option for convenience
* Fixed various refactor errors
* Moved "large number stereo correspondences rejected" warning outside computeCorrespondences function for multicam
* Added error log if ba correspondences are computed with empty signatures
* fixed compilation errors with latest opencv
Co-authored-by: mathieu86 <[email protected] >
2022-07-20 15:20:14 -04:00
matlabbe
b646c5e1db
Marker priors ( #859 )
...
* Added MarkerPriors parameter
* Fixed Marker/Priors format to use '|' instead ';'. Fixed landmark priors not used.
* Marker: added priors variance parameters
* g2o: refactored backward compatibility includes
* fixed build with old g2o
2022-04-28 09:18:30 -04:00
matlabbe
03a106ea36
Fixed build without g2o
2022-01-15 13:00:12 -05:00
matlabbe
fcec98105d
Added RGBD/ProximityMergedScanCovFactor parameter. Localization: fixed output height when Reg/Force3DoF=true but input poses are 6DoF. Transform: added is3DoF() and is4DoF() functions. GTSAM: when Reg/Force3DoF=true, copy input roll,pitch,z values for output poses. RegIcp: fixed working memory dir '~' conversion. RGBD/ProximityGlobalScanMap: fixed map::at error when some nodes don't have scans.
2022-01-12 16:14:42 -05:00
matlabbe
5194f40794
Fixed g2o build error with melodic/noetic versions
2022-01-03 15:37:06 -05:00
matlabbe
b2f13c2772
android: fixed g2o seg fault (CACHE_SE3_OFFSET not registered)
2022-01-02 23:30:55 -05:00
matlabbe
3071da42f3
Optimizer: don't fix roll/pitch on root node if gravity constraints are fed
2021-12-25 16:57:03 -05:00
matlabbe
cf5e90238b
Statistics: added LoopOdom_correction stats for landmark detections.
2021-12-10 21:58:11 -05:00
matlabbe
db43479e44
Added ORB_SLAM3 support. IMU Filter: added base frame conversion option. ( #698 )
...
Referred issues:
#655
https://github.com/introlab/rtabmap_ros/issues/492
Note: IMU not supported yet with ORB_SLAM3.
Commits:
* Added orbslam3 support. UI-Source->IMU filtering: Added base frame conversion option of IMU data to uniformize yaw initialization. Madgwick: fixed yaw initialization accordingly to Z acc.
* fixed regression build error with ORB_SLAM2
* Renamed OdometryORBSLAM2 to OdometryORBSLAM (can be 2 or 3 now)
2021-03-09 16:00:41 -05:00
matlabbe
eae5f2b428
fixed #674
2021-01-11 11:38:31 -05:00
matlabbe
4e6e404951
Fixed "[Setjac] infinite jac" error when Vis/ForwardEstOnly is false. OptimizerG2O: Added a check to ignore invalid 3d points.
2020-09-15 15:18:49 -04:00
matlabbe
415a2778f1
Added Features2d::limitKeypoints() with grid options. Odometry: if imu is provided and no guess is provided, the change of orientation of imu is used for rotation guess (overwrite rotation from Odom/GuessFromMotion). OdometryInfo: added gravity errors when imu is used. Preferences: added a second GravitySigma parameter (overwritting Optimizer/GravitySigma for odometry is not negative) for F2M odometry panel.
2020-05-31 11:22:12 -04:00
matlabbe
536f001479
Added OptimizerCeres class (Optimizer/Strategy=3)
2019-08-17 03:55:04 -04:00
matlabbe
e887d462ce
Memory: Added parameter Mem/UseOdomGravity, adding kGravity links when creating a node if IMU is present or Mem/UseOdomGravity is set. Fixed OpenCV4 related build errors on stereo fisheye rectification code. Signature: changed links from map to multimap to support having multiple self references (prior, gravity constraints...). DBReader: publish IMU orientation if a gravity link is detected.
2019-05-31 15:36:35 -04:00
matlabbe
e6f471d88e
Added imu to odom bundle adjustment. Added IMUFilter classes. Changed Aruco parameter prefix to Marker. Zed: publishing IMU data.
2019-05-07 18:57:53 -04:00
matlabbe
a5350c4891
Optimizer: fixed bad g2o optimizations on 2d slam when there are 3D landmarks ( #384 ). DBViewer: landmarks can be now visualized.
2019-04-26 14:03:25 -04:00
matlabbe
7acaac7a6d
g2o: fixed vertigo index when using landmarks. graphViewer: fixed outlier wrong set to some landmark links
2019-04-12 21:31:20 -04:00
matlabbe
77ae8e108a
0.19.2: Refactored SensorData interface. DBReader: Fixed GPS not published. #345 : both g2o and gtsam working with GPS. g2o: added gravity edges.
2019-04-09 20:05:24 -04:00
matlabbe
fc9c762516
Added Optimizer/GravitySigma parameter (with GTSAM support).
2019-03-31 15:51:50 -04:00
matlabbe
2a8e5be361
g2o: only check for variance >= 9999 as zero should never happen. For landmark, use SE3 or PointXYZ factor depending if angular covariance is set or not (>=9999). Same for gtsam (pose vs bearingRange factor respectively).
2019-01-06 17:00:39 -05:00
Nuno Marques
bf5d2b7f04
EdgeSE3XYZPrior: add ParamOffset ( #349 )
2019-01-04 12:45:30 -05:00
matlabbe
18c35954f0
g2o: fixed indigo build errors
2019-01-03 16:16:16 -05:00
matlabbe
0f8c70bcdf
g2o/gps support: added edge_se3_xyzprior.h to rtabmap repo. Fixed build for kinetic g2o version.
2019-01-03 15:49:25 -05:00
TSC21
698293e2d8
OptimizedG2O: assotiate VertexSE3 instead of VertexPointXYZ to EdgeXYZPrior
2018-12-28 14:10:00 +00:00
TSC21
22d631d7aa
OptimizerG2O: fix landmarks vertex output types
2018-12-28 14:08:05 +00:00
TSC21
be75c7591c
OptimizerG2O: fix slam2d prior types naming
2018-12-28 13:38:12 +00:00
TSC21
c21f466573
OptimizerG2O: fix EDGE_XYZ / XY_PRIOR exports
2018-12-27 17:08:54 +00:00
TSC21
308b1484e0
OptimizerG2O: check inverse of the information matrix values
2018-12-27 15:58:25 +00:00
TSC21
cebecc3fc3
OptimizerG2O: add EDGE_XY_PRIOR and EDGE_XYZ_PRIOR to saveGraph
2018-12-27 13:22:15 +00:00
TSC21
81c4382349
OptimizerG2O: improve priors SE3/SE2 vs XYZ/XY logic
2018-12-27 12:48:24 +00:00
TSC21
b7f2eb8df9
OptimizerG2O: add XYZ/SE3 and XY/SE2 priors depending on the angular covariances
2018-12-26 16:30:40 +00:00
matlabbe
200ec8e5db
0.18.3: added landmarks (graph optimization, localization, navigation)
2018-12-07 18:29:41 -05:00
matlabbe
c14e20330f
Fixed SIFT octave issue causing registration to always fail. Added Bundler export points option.
2018-10-24 20:01:57 -04:00
matlabbe
8701ae6de0
Update OptimizerG2O.cpp
...
#323
2018-10-24 06:18:10 +12:00
matlabbe
d2c406f019
fixed build without g2o ( #323 )
2018-10-24 06:16:40 +12:00
matlabbe
f1546c1fca
Replaced all optimizeIncremental() by optimizeMultiSession() to fix GTSAM errors when merging multiple maps together. DBReader: always publish saved stamp. DBViewer: added actions to set covariance of all neighbor or loop closure links.
2018-10-15 17:07:18 -04:00
matlabbe
b2c012d8bc
Updated g2o and toro saveGraph() to use Optimizer's parameters ( #320 , #319 )
2018-10-15 13:41:44 -04:00
Nuno Marques
42c60c7154
OptmizerG2O: add prior edge export ( #319 )
...
* OptmizerG2O: add prior edge export
* add required conditions and structure to export prior edges
* for now, make the graph exportation of priors not dependent of parameters
* include <locale.h> so to use setlocale() in a windows build
2018-10-15 11:58:57 -04:00