Commit Graph
149 Commits
Author SHA1 Message Date
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
matlabbe 97c56361f8 Export CLI tool memory optimization (#1391)
* Stashing changes so far

* Tested and working

* removed unused options

* Added density_radius and density_angle options

* improved description

* backward compatibility fixes, matching texture exported file names with base name

* Setting global full opt by default, updated preferences defaulting to g2o or gtsam if one or the other is unavailable
2024-12-15 13:08:15 -08:00
Borong Yuan bfeb487dba OAK Internal Sync & DepthAI HF-Net Support (#1193)
* Using Sync Node

* Using normalized IR intensity

* Set IMU output frequency to 200 Hz

* set sync threshold properly

* add depthai hfnet local head

* fix DB error

* add depthai hfnet global head

* fix data delay if image rate is set manually
2024-03-27 12:29:06 -07:00
matlabbe d135ef02e2 DBViewer: updated refine constraints menu action with more options, DBDriver: added updateCalibration for convenience 2023-12-20 14:39:49 -08:00
matlabbe f1cd819673 Fixed superglue deadlock on standalone (#896). Fixed some elemSize opencv asserts in debug build (876) 2023-09-17 01:19:59 -07:00
matlabbe fdb78d33b0 DBViewer: added optimzed and prior poses in node details. Reprocess: add start_s, stop_s and pub_loops options. 2022-10-12 13:05:01 -07: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 138d4aa1be If RGBD/LoopClosureReextractFeatures=true, don't save raw features (3d point, descriptor) to Feature table. 2021-07-28 14:32:32 -04:00
matlabbe 5167927d01 report: added --ignore_inter_nodes option. CloudViewer: set max absolute scan intensity to 100 (was 0=auto). reprocess/replay db: ignore intermediate nodes if Rtabmap/CreateIntermediateNodes is false. 2021-06-21 17:23:53 -04:00
matlabbe 3131474102 Added Db/TargetVersion parameter (#652) 2020-12-03 15:45:40 -05:00
matlabbe 54e2688a1d Fixed build with pcl > 1.11.1 (#641) 2020-11-14 16:52:01 -05:00
matlabbe bbccbd63e4 Increased version to 0.20.5
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)
2020-10-05 17:34:32 -04:00
matlabbe 933ac736f1 Increased version 0.20.4. Added parameter Kp/ByteToFloat (default true to use less memory with kdtree and binary descriptors). Memory/Sqlite3: Setting weight to -9 for invalid nodes (to make sure they are not reloaded from database, to fix a graph reduced issue). Added 12-SURF/FREAK detector approach. rtabmap-info: added number of nodes in each sessions. 2020-09-28 10:29:14 -04:00
matlabbe 6e55525a7b Memory::getNeighborsId() fixed no link returned when looking in database 2020-05-30 09:20:32 -04:00
matlabbe 69a2aacc8e Parameters: added SIFT/RootSIFT parameter. 2020-05-21 17:09:20 -04:00
matlabbe c19da22ca4 0.20: added GlobalDescriptor table in database 2020-05-03 21:46:25 -04:00
matlabbe 5d16ae8cfe DBViewer: fixed calibration not found on refining without re-extracting features, fixed visualized ids switched on refine in some cases, fixed clouds not shown in constraints view after refine without re-extracting features 2020-04-30 14:17:46 -04:00
matlabbe 00d8375a2e RGBD/SavedLocalizationIgnored: if true, it is now starting at the origin (0,0,0) instead of null (not linked to graph). 2020-04-23 11:57:01 -04:00
matlabbe c0313a6d09 GUI/Source: color only option now also available for stereo cameras (meaning only left frame published). Db: fixed non-valid 3d words saved when no ones were in the signature (on loading, we don't set words3 if they are all null). 2020-04-08 20:00:41 -04:00
matlabbe 7e8e80db2c Fixed map_id not starting at 0 when empty 2020-04-08 17:02:44 -04:00
matlabbe cdff33b1c2 Added Mem/LocalizationDataSaved parameter 2020-04-05 19:21:20 -04:00
matlabbe 5fef44ec2b DBViewer: Added option to crop empty space from local grid and scans after 2d occupancy grid is manually edited 2020-02-13 17:32:39 -05:00
matlabbe c437375f08 Localization: Fixed local map cleared when gravity links are added and no localization happened. Fixed "Word not found" error on initialization when Mem/InitWMWithAllNodes is true. 2019-09-19 15:23:18 -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 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 73004c643c DbViewer: In graph view, nodes in latest working memory state are highlighted in red 2018-12-13 13:24:57 -05:00
matlabbe 200ec8e5db 0.18.3: added landmarks (graph optimization, localization, navigation) 2018-12-07 18:29:41 -05:00
matlabbe bf2a9db5e4 Fixed memory usage for grid and statistics 2018-11-15 20:52:53 -05:00
matlabbe 8333677dc6 Improved/optimized Rtabmap timing performance for large datasets 2018-11-09 17:28:55 -05:00
matlabbe 299bec15ff DBReader: publish global pose if prior link is detected, negative image rate means now a ratio of the database stamps 2018-10-24 09:26:41 +12:00
matlabbe 8e99291e13 0.18: Camera calibration and LaserScan Info refactoring (#324)
* Saving full camera calibration in database, added angle min/max/inc to LaserScan.

* Updated laserscan info save/load in db

* Database: added Tag table, added env_sensors field to Node

* fixed serialization/deserialization of stereo camera model

* fixed multi-calibration db saving

* fixed rebase errors

* Tango: Added saving environmental sensors option

* Memory: Save env sensors

* Tango: fixed env sensor ids

* DBViewer: show env sensors values

* DBViewer: added calibration details on tooltip

* increased package version to 0.18.0

* Fixed LaserScan copies when angleIncrement is valid

* fixed build error without OctoMap dependency
2018-10-23 14:35:14 -04:00
matlabbe 43e144e7b6 CMake: using external sqlite3 is available, otherwise use internal copy. 2018-09-05 14:22:34 -04:00
matlabbe c105804572 Moved DBDriverSqlite3.h to installed headers (changed some members from private to protected for easier inheritance) 2018-08-27 16:54:23 -04:00
matlabbe 4d5b42ab79 rtabmap: parameters passed by arguments override those in the database loaded from command line. Dictionary: set words saved to avoid saving them in database (causing db error when remapping from an old db created by fixed dictionary). G2O: ba supporting words with negative ids. 2018-07-27 16:01:17 -04:00
matlabbe bb0b12be27 Updated not incremental dictionary approach for save/reload (can set a database path as dictionary for convenience) 2018-05-08 18:50:39 -04:00
matlabbe b2db31ff18 Fixed backward compatibility error when saving statistics to db 2018-04-27 18:48:10 -04:00
matlabbe b3b0caa038 DbDriver: fixed save/load optimized mesh errors (0.17) 2018-04-05 10:15:06 -04:00
matlabbe 592b7c66c5 0.17.0: saving optimized poses and last localization pose to database (https://github.com/introlab/rtabmap_ros/issues/220). Parameters: fixed Icp default parameters when not built with libpointmatcher, added RGBD/SavedLocalizationIgnored (default false). DbViewer: added Export/Import 2D map (https://github.com/introlab/rtabmap_ros/issues/213). 2018-04-04 19:14:13 -04:00
matlabbe 8d93c275ab Tango: fixed optimized mesh where nans were removed before saving (causing trouble with corresponding polygons) 2018-03-21 16:00:12 -04:00
matlabbe 69d28db660 DbViewer: optimized fetching wm states from db, added checkbox along graph iteration slider to generate intermediate graphes. 2018-02-23 10:12:36 -05:00
matlabbe 297cf3f51e 0.16.2: Added wm_state field to database's Statistics table. New parameter "Rtabmap/SaveWMState" (default false). DbViewer: added option in GraphView to show only poses of the root id that were in WM at that time 2018-02-21 18:19:20 -05:00
matlabbe 6e131dcd7e fixed build on linux 2018-02-16 19:54:49 -05:00
matlabbe d24097f73d 0.16.1: Added LaserScan class with new "format" field to distinguish easier between all kind of laser scans (XYZ, XYZRGB, XYZI, XYZNormal...) 2018-02-16 19:20:54 -05:00
matlabbe 1595405871 DbSqlite3: fixed Feature.depth_[x,y,z] not saving correctly NaN values (then NaNs were wrongly converted to 0 on reload). Gui: Added stereo exposure compensation option in Source panel. 2018-02-11 16:07:26 -05:00
matlabbe fced2c521c 0.16.0: Database updated with Data.empty_cells, Admin.opt_map, Admin.opt_map_x_min and Admin.opt_map_y_min fields. Changed Parameter Grid/ProjRayTracing to Grid/RayTracing (OctoMap ray tracing done for 3D local grids). Improved OctoMap performance. 2018-02-08 21:40:17 -05:00
matlabbe 3405e8b8e1 Merge branch 'master' of https://github.com/introlab/rtabmap into devel 2018-02-01 22:19:34 -05:00
matlabbe d7871fec2b Db: Fixed octave field missing when opening databases prior to 0.12 2017-12-21 14:58:16 -05:00
matlabbe 775b80eff5 0.15.2: Fixed Transform's not orthogonal rotation matrix causing problems with GTSAM (normalize rotation each time transforms are multiplied, and for backward compatibility automatically normalize rotation of all transforms loaded from old databases prior to 0.15.2). Added Vis/CorGuessMatchToProjection, Icp/PMMatcherKnn and Icp/PMMatcherEpsilon parameters. CameraRGB: fixed max scans number when filtering. Link: transfering maximum covariance when merging. OptimizerGTSAM: updated how covariance are copied based on GTSAM official example. util3d::loadBINCloud(): fixed dim parameter not used. DatabaseViewer: Added option in graph view to ignore intermediate nodes when optimizing the graph. 2017-12-09 21:44:53 -05:00
matlabbe 4452e637ad 0.15.1: CameraImages: added ground truth time diff, fixed memory leak when loading binary scans. CameraRGBDImages and CameraStereoImages: fixed start id. Feature2D: added grid rows and cols parameters (Kp/GridRows, Kp/GridCols, Vis/GridRows, Vis/GridCols). OdomInfo: publish bundle frames. OdometryORBSLAM2: added OdomORBSLAM2/Fps and OdomORBSLAM2/MaxFeatures parameters. Registration: added Reg/RepeatOnce parameter and removed variance normalization. For util2d::getDepth() and util3d::projectDepthTo3D(), maxZError parameter is now depthErrorRatio to be dependent of the sensor range. Database: save image width and height from stereo calibration. OptimizerG2O: fixed SBA optimization when using g2o built from ORBSLAM2 library. OptimizerGTSAM: to increase optimization stability, all rotations in information matrix are divided by 100000. Added rtabmap-report tool. 2017-11-30 16:52:03 -05:00
matlabbe 71d9816f4b 0.15: statistics are now compressed in database. Eigen issue: using linear() instead of rotation() to get rotation from affine3f. Increased loading speed of statistics in DatabaseViewer. Added graph:calcRMSE(). 2017-11-09 12:03:01 -05:00