Commit Graph
70 Commits
Author SHA1 Message Date
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 83c1adfd1e Updated illumination invariant paper documentation 2022-06-26 20:46:08 -07:00
matlabbe f584f42ea4 rtabmap/dbreader: save odometry covariance in pose prior link when in localization mode and saving localization data. 2022-02-06 20:17:46 -05:00
matlabbe 05d45872f3 DBReader: publish landmarks by default (also added option to ignore them) 2021-06-29 16:03:21 -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 b759b1b4d1 DBReader: set calibrated true when only scans in db. RegIcp: added intensity matching option when complexity is low. OdomF2M: accept first key frame on low complexity if a guess is provided. DbViewer: added gravity visualization in 3D view. 2021-02-01 11:31:45 -05:00
matlabbe a4da1e14b4 SIFT: fixed SIFT not extracted with OpenCV >=4.4 and >=3.4.11 when nonfree is false 2020-10-17 20:34:24 -04: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 94360e19e0 DBReader: changed maxFrames option to stopId and startIndex to startId. Reprocess: added options to start and stop at specific ids in the database. 2020-04-22 16:20:29 -04:00
matlabbe 350d3cd85f CameraRealSense2: fixed wrong IR image index. DBReader: fixed imu not published. OdometryF2M: use IMU roll/pitch values when IMU is used (reducing variance on those angles before BA). 2019-09-13 21:45:13 -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 195f6147ad DBViewer: added feature/line color menu option. CameraImages/DBReader: added maxFrames parameter 2019-04-26 19:20: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 0192cac18a updated recovery tool to support databases without image data kept 2019-01-28 16:11:05 -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 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 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 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 d776092b35 RtabmapThread: when receiving new map event from odometry, wait until the buffer has reached the corresponding timestamp before triggering a new map. DBReader: regenerate stamps when sync capture rate with stamps in database is false. MainWindow: ask for PNG or JPEG format when activating auto capture. 2017-12-11 17:09:04 -05:00
matlabbe 1220eab47a Added RGBD/LinearSpeedUpdate and RGBD/AngularSpeedUpdate parameters 2017-09-28 13:34:55 -04:00
matlabbe 9691a4f361 Added GPS class for convenience, database viewer can view GPS values and export to KML format 2017-09-26 14:13:06 -04:00
matlabbe bfc393a090 0.14: added gps field to Node table in database (#226). Tango: saving gps if enabled, added Rename/Remove/Share on long click in Open dialog (fixed #233) 2017-09-21 20:59:45 -04:00
matlabbe 104c1e6945 0.13.0 Database: Added velocity field to Node table, renamed Map_Node_Word table to Feature, added information_matrix field to Link table (replacing rot_variance and trans_variance). Added graph::calcKittiSequenceErrors().Added "Mem/IntermediateNodeDataKept" parameter (default false). Updated all interfaces using rotVariance and transVariance values with covariance matrix instead. g2o SBA: always use covariance in links. kitti-dataset tool: added --disp option and kitti statistics are shown at the end. StatsToolBox: units can have "/". 2017-05-11 15:02:18 -04:00
matlabbe 1b71a96a3d Added rtabmap-kitti_dataset tool 2017-04-24 12:17:18 -04:00
matlabbe af1cdadabd Tango: updated export workflow, added sketchfab activity, added graph optimization parameters, fixed raw images kept in memory (disabled reexctract words on loop closure while updating memory to be able to create more features for transform estimation than needed in vocabulary), portrait/landscape orientation, updated to Eisa TangoSDK. DBReader: fixed high variance when node has no links (if not the first in the current map id). MainWindow: remove frustums not in the current graph. 2017-02-15 19:07:10 -05:00
matlabbe 819db9538f Ask to set detection rate to 0 when selecting a source database. DBReader: set 9999 covariance for the first odom pose of a database. 2017-01-29 18:24:10 -05:00
matlabbe d2287ab9f4 Backward compatibility (DBViewer, DBReader) with old database format not saving CameraModel's image size, cx and cy 2016-12-02 13:43:44 -05:00
matlabbe 0848b03127 DBReader: set calibrated to true if database is empty (avoiding not calibrated warning) 2016-09-03 14:45:10 -04:00
matlabbe ca6cd19fb1 Updated Copyright year and About dialog summary 2016-07-17 21:57:10 -04:00
matlabbe 0ec39e3c77 DBReader now inherits from Camera (so that CameraThread's post processing stuff can be used with a database stream) 2016-06-21 11:22:24 -04:00
matlabbe cdddb1209e DBReader: added camera selection 2016-06-20 10:50:01 -04:00
matlabbe e7565db5d0 0.11.1: Added "ground_truth_pose" field to database in Node table. MainWindow: alignment of the map to ground truth (if ground truth is present). 2016-01-07 19:39:21 -05:00
matlabbe 02ebb3c7e8 Some fixes:
-Memory: Fixed wrongly rejected scan matching transform because of too large correction
-DBViewer: Fixed not shown proximity scans
-DBDriver: Fixed not loaded links' user_data on getAllLinks() method
-MainWindow: Added planning statistics
-DBReader: set a maximum of 10 sec sleep if the map ID has changed
2015-10-26 12:59:20 -04:00
matlabbe 463a5d973c Update version 0.10.11:
-Added parameter "Mem/ReduceGraph" with new link type (NeighborMerged)
-DatabaseViewer: add Info panel, fixed empty extracted database when "RGB images" is not checked
-ConsoleWidget: added buffer size and refresh rate options
-DBDriver: new database info getters
-Graph: added reduceGraph() method, added Dijsktra computePath() with links only
-Updated default parameters: RGBD/LocalLoopDetectionSpace=true, RGBD/LinearUpdate=0.1 and RGBD/AngularUpdate=0.1
-Goals are saved with label instead of ID if the target node has a label
-DataRecorder: fixed saving incrementally the database (instead of only at the end)
-MainWindow: When waypoints are used, resend the current goal (1 sec delay) if it has failed setting it
2015-10-24 17:03:44 -04:00
matlabbe 988e83cf1c Increased version to 0.10.10. Database: added user_data field for links. DatabaseViewer: showing all scans of a local loop closure. Added parameters RGBD/PlanLinearVelocity and RGBD/PlanAngularVelocity. Updated how variance is set on links. MainWindow: added Send Waypoints action and goal can be either an ID or a label. 2015-10-13 12:50:25 -04:00
matlabbe afaf6509f7 DBReader: copy stamps in odom messages 2015-10-07 19:38:33 -04:00
matlabbe 7c85f11fbb fixed goal events sent by DBReader 2015-09-09 21:09:51 -04:00
matlabbe 4f96fd3530 Version 0.10.1: user_data is now a cv::Mat to avoid a deep copy when SensorData is copied 2015-06-28 19:22:18 -04:00
matlabbe 6df403ed42 Refactored Camera classes and Preferences->Source menu 2015-06-26 18:21:32 -04:00
Mathieu Labbe 9e13642a47 fixed runtime errors for single depth camera and stereo 2015-05-30 20:05:35 -04:00
Mathieu Labbe c5046df226 merged master to multicamera branch 2015-05-29 14:54:49 -04:00
Mathieu Labbe c6d0d47b1c Added multi-camera feature 2015-05-29 14:46:48 -04:00
matlabbe ece3915b10 fixed colored loop closure detection rect when no images are in GUI cache. Modified some logged info. 2015-05-27 19:02:27 -04:00
Mathieu Labbe d7030e0e38 Increased database version to 0.8.11 (new Depth.data2d_max_pts column). Updated how local loop closure detection in space is done. Update GraphViewer with local radius ellipse and current goal node color. MainWindow saving/loading figures automatically accordingly to the previous session saved. 2015-05-03 18:16:55 -04:00
Mathieu Labbe abb7eb15ac Updated version to 0.8.11. Added param RGBD/LocalLoopDetectionPathOdomPosesUsed. DatabaseViewer: export option at a specified framerate. DBReader: option to read database at a rate specified by the stamps saved. Database: Added new column "data2d_max_pts" in Depth table 2015-05-01 07:30:09 -04:00
Mathieu Labbe 711c8e1124 Fixed maximum features ignored (always set to 400) 2015-04-29 00:02:10 -04:00
Mathieu Labbe db90da7303 Updated how local scan matching is done (doing it on segmented local paths) 2015-04-27 02:43:06 -04:00
Mathieu Labbe 5700c14bcb DatabaseViewer: added exporting of a specific session with or without user_data. MainWindow: added action to send goal to rtabmap. Rtabmap: Saving goals in user_data of the current signature, modified parameter Mem/RehearsedNodesKept to Mem/NotLinkedNodesKept. DBReader: added sending goals when detected while playing back a database. 2015-04-17 18:30:12 -04:00