* set the PrintLevel of OpenVINS to be equivalent to that of ULogger
* use global FAST settings
* add online calibration params
* add dynamic initialization params
* add necessary feature initializer options
* fix segfault of OdomImageDecimation
* add mask settings
* use depth as mask in OpenVINS
* set twist covariance
* restore default values of VisMinDepth and VisMaxDepth
* fix openvins build
* Add OpenVINS params to UI
* update OdometryOpenVINS implementation
* the pixel noise of most cameras should be less than 3 after factory calibration
* propagation and update are only performed after camera measurement feeding
* fix openvins feature reprojection
* 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 <mathieu@robust.ai>
* Refactored RegistrationIcp so that libpointmatcher yaml can work with icp odometry (we can then avoid refiltering data with local map of F2M). All data filtering (including libpointmatcher DataFilters) are done at the beginning of the function.
* ICP: Restored ref and data scans order for libpointmatcher (seems more stable this way).
* Fixed compilation error without libpointmatcher
* CCCoreLib integration (Icp/Strategy=2). Icp/PMForce4DoF is now Icp/Force4DoF. Icp/PM is now Icp/Strategy. Icp/PMOutlierRatio is now Icp/OutlierRatio.
* Fixed build without CCCoreLib
* Cleanup RegistrationIcp from third party functions.
* Preferences: disable libpointmatcher and cccorlib options if not available
Referred issues:
#655https://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)
Refactored how features are stored in Signature (significative memory optimization, causing major refactoring in Memory, RegistrationVis, OdometryF2M)
FLANN: optimized memory usage when Kp/IncrementalFlann is false
Added memory usage functions
Added statistics Loop/Visual_inliers_ratio/ and Memory/RAM_estimated/MB
EpipolarGeometry: templated findPairs functions
graph::filterLinks: added inverted option
LocalBundleOnLoopClosure: Force to use only neighbor links
MainWindow: fixed max depth filtering for map's features
Rtabmap::getSignatureCopy() fixed links not returned
Added UPlot::getAllCurveDataAsText() function.
DbViewer: fixed features not rendered in right view when failing ro refine a constraint
report: added --export and --export_prefix options (to export figures data)