Commit Graph
63 Commits
Author SHA1 Message Date
matlabbe 682d54725a Fixed build with gtsam 4.3.0 (#1033) 2023-05-14 13:14:53 -07: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 a406c37750 gtsam: Fixed metis linker errors on windows. Ceres: updated default solver options (working for BA and pose-graph optimizations, fixed #966) 2023-03-19 13:30:52 -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 e4edee33eb Fixed build with cvsba and ceres 2023-01-28 18:49:58 -08:00
matlabbe 4a6a765cd1 Fixed #944 2022-12-14 19:42:56 -08: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
matlabbeandmathieu86 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 c99203bbed CMake: added explicit opencv modules to avoid VTK6-VTK7 issues on Focal (vtk6 dependency coming with opencv_viz 4.2 module and vtk7 coming from PCL) 2022-02-01 13:40:02 -05: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 580e35afb1 Fixed missing 3D keypoints when RGBD/LoopClosureReextractFeatures=true and Reg/Strategy=1 (https://github.com/introlab/rtabmap_ros/issues/668). DBViewer: fixed wrong poses optimization with GTSAM when showing scans of loop closures by proximity by space (multiscan) while there are GPS priors. 2021-12-05 17:38:53 -05:00
matlabbe 6342658ec5 iOS: fixed origin when we do New Scan while we were already mapping, improved FPV feedback in point cloud mode, showing camera overlay in visualization mode (pinch out to disable). Localization mode: Updated how marker detection transform are modified by gravity constraints. 2021-06-12 12:42:56 -04:00
matlabbe 21dbeed4b7 Odom sensor option (#726)
* Added Odom Sensor option

* Odom Sensor: Added pose time offset parameter

* Gui: fixed odom cloud not shown when rgb/depth doesn't have same size. Odom sensor: fixed rawImages set on non-stereo camera (because stereoRectify wrongly set to all cameras)

* Calibration: fixed rgb and depth suffixes not correctly set. OpenNI2: horizontal and vertical shifts can be also set for default calib.

* Fixed a warning

* OdomSensor: added option to use odom sensor output as ground truth (for comparison between odom sensor and rtabmap odom). Added scale factor option.

* FindG2O.cmake: updated path suffixes to find EXTERNAL csparse

* Pose3GravityFactor: fixed dllimport error on windows

* UI: Statistics panel not updated if not visible and keep stats in cache is unchecked. Added description to some timing debug logs in processStatistics().

* Removed vtkOutputWindow on Windows

* Odom Sensor: added zed sdk support

* bump version 0.20.11
2021-05-23 17:21:12 -04: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 d733029565 Increased version to 0.20.7. OdometryF2M: added support for intensity field, removed ignored key frames when there is low scan complexity. RegistrationIcp: added Icp/PMMatcherIntensity, Icp/PointToPlaneGroundNormalsUp and Icp/PointToPlaneLowComplexityStrategy parameters. Rtabmap: when graph optimized from end, increased optimization error before warning that resulting map correction is not identity (this could happen with GTSAM as the root is not perfectly fixed). CloudViewer: added coordinate frame scaling option, added rainbow colormap option for scan intensity. DBViewer: fixed local proximity merged scans not shown modified after refining those links, show intensity, fixed constraints view not updated after rejecting a link. MainWindow: added intesity support with odometry scans. 2020-11-28 17:28:34 -05:00
matlabbe bce7ae6acd Fixed GTSAM reference frame yaw drift over time when gravity links are used 2020-11-22 16:40:30 -05:00
matlabbe f88845e138 fixed #643 2020-11-22 14:29:05 -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 729f96f467 TORO: added warnings when prior or landmark links are detected 2020-08-21 11:26:22 -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 06caa328a4 Lidar low complexity update. util3d::computeNormalsComplexity(): added optional transform (used in RegistrationIcp to get normal vectors in right coordinate frame). RegistrationIcp: Fixed PointToPoint ICP not used with PM when recomputing transform from low complexity. Added more info in warning messages when low complexity happens. OdometryF2M: avoid adding key frame when scan has low complexity. Same for the first frame to init the local scan map. 2020-03-28 16:25:27 -04:00
matlabbe 5371f94c8f VS2019: fixed build 2020-03-11 23:34:55 -04:00
matlabbe 536f001479 Added OptimizerCeres class (Optimizer/Strategy=3) 2019-08-17 03:55:04 -04:00
matlabbe 3558640407 OptimizerGTSAM: fixed landmarks not transformed back in 3D after 2D optimization (slam2d) 2019-07-17 12:15: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 45fa968076 fixed EdgeSE3XYZPrior not defined build error when using latest g2o version (#360 #363) 2019-03-03 15:27:32 -05:00
matlabbe c85ff90477 fixed build with older gtsam versions 2019-01-29 19:06:28 -05:00
matlabbe 0c24786912 Fixed build with latest gtsam version (missing DerivedValue.h, https://github.com/introlab/rtabmap_ros/issues/290) 2019-01-29 18:06:38 -05:00
matlabbe 95f48b694e OptimizerGTSAM: fixed inverted landmark link transform on slam2d with rotation used 2019-01-15 17:58:23 -05: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