Commit Graph
494 Commits
Author SHA1 Message Date
Mathieu Labbe 7a6bf630ca Moved some util3d methods to Transform.h, Graph.h and Compression.h
Added computePath() method implementating A star on graph
GUI: SetWindowModified() and user should explicitly save the GUI config to keep them
Calibration: added mirror checkbox, added device id argument
2015-01-23 11:17:42 -05:00
Mathieu Labbe 6bd2a0926b Split RawDataKept parameter into Raw and Binary parameters to save RAM when keeping raw data in the core is not required 2015-01-12 18:23:25 -05:00
matlabbe 7f7d05e243 The graph is also sent in appearance-only mode. Added posterior hypotheses color on the graph view. Some minor fixes. 2015-01-07 17:30:20 -05:00
Mathieu Labbe 86a6fe202c rtabmap:
-Fixed map id not incremented on Odometry reset (identity transform was missed)
-Keeping maximum odometry variance between two loop closure updates
Odometry:
-removed parameters Odom/FeaturesRatio, Odom/LinearUpdate, Odom/AngularUpdate
-added parameter Odom/FillInfoData
-expended OdometryInfo class with features stuff
Gui:
-show inliers/outliers features in Odometry view
2014-12-18 16:54:46 -05:00
Mathieu Labbe 744e2fb3c7 Updated version to 0.8.0
Libraries are installed in lib directly with symbolic links, not in lib/rtabmap-0.8. Removed the need of RPATH in cmake.
Saving variance of each link in database (new field Link.variance). The variance is used to generate the constraint information matrices for TORO optimization.
ICP: computing variance instead of fitness.
ICP3: added correspondences ratio parameter
Added OdometryInfo class
Refactoring: renamed depth2d stuff to laserScan. rtabmap::Memory and rtabmap::Signature classes (no more distinct neighbor, loop closure or child loop closure links, only links with different types)
2014-12-14 16:42:10 -05:00
Mathieu Labbe 4126687625 Updated NNDR default for binary descriptors to 0.9. Delete log files by default if database doesn't exist on rtabmap init. 2014-12-04 16:34:39 -05:00
Mathieu Labbe 821c1602bf MainWindow: don't save empty database. Odometry: return null pose when not initialized. 2014-12-03 22:27:31 -05:00
Mathieu Labbe 72bac39943 fixed map ids not sent on loop closure detection-only mode 2014-12-01 15:56:49 -05:00
matlabbe 6bf271e04d updated local loop closure (space) map transform on localization
git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@2054 f169173b-cf89-36c8-b27e-44dbe73f0c83
2014-11-20 16:47:18 +00:00
matlabbe faf43cc82c Odometry: added force2D option
Changed parameter RGBD/ScanMatchingSize to RGBD/PoseScanMatching

git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@2050 f169173b-cf89-36c8-b27e-44dbe73f0c83
2014-11-19 23:38:15 +00:00
matlabbe 6608ee5ef6 rtabmap: don't publish statistics if process returns false. Also, don't return true when the displacement is too small (when the related parameters are set)
git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1981 f169173b-cf89-36c8-b27e-44dbe73f0c83
2014-11-11 22:14:45 +00:00
matlabbe 080f31c8be fixed incremental memory when reextracting features
git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1956 f169173b-cf89-36c8-b27e-44dbe73f0c83
2014-11-02 17:14:05 +00:00
matlabbe f12fc93639 Added option to show graphs in the 3D map view. (See "General Settings->3D rendering->Show Graphs" default true)
git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1943 f169173b-cf89-36c8-b27e-44dbe73f0c83
2014-10-30 19:38:58 +00:00
matlabbe 9358234e44 removed virtual signature -1 in rtabmap::getMap() (to avoid error "[ERROR] DBDriverSqlite3.cpp:1103::loadSignaturesQuery() Signature -1 not found in database!")
git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1942 f169173b-cf89-36c8-b27e-44dbe73f0c83
2014-10-30 15:15:20 +00:00
matlabbe 1597cfc293 GUI: Added "Edit->Post processing..." action to detect more loop closures and/or refine all links in the graph with ICP 3D.
git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1940 f169173b-cf89-36c8-b27e-44dbe73f0c83
2014-10-30 14:43:43 +00:00
matlabbe 0f7cc38688 Memory efficiency: changed std::vector<unsigned char> bytes arrays to cv::Mat to avoid multiple copies when Signature objects are copied.
git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1937 f169173b-cf89-36c8-b27e-44dbe73f0c83
2014-10-28 19:57:21 +00:00
matlabbe 9ffd103e69 Removed trailing separator from working directory. Replaced all slashes by QDir::separator().
git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1935 f169173b-cf89-36c8-b27e-44dbe73f0c83
2014-10-28 05:00:10 +00:00
matlabbe 4340748fec fixed compilation error on Windows (on util3d::removeNaNFromPointCloud() method)
increased stability of new actions added (New/Open/Close database).

git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1933 f169173b-cf89-36c8-b27e-44dbe73f0c83
2014-10-28 04:16:36 +00:00
matlabbe b56e03b463 -Updated File menu with new actions "New database...", "Open database", "Close database" and "Edit database". Each new session will be automatically saved when closing the database. The "play" action cannot be activated until a new database is created or a previous session database is opened.
-  Memory usage reviewed for the GUI: we don't uncompress data for downloaded nodes from "Download all clouds" action.
- Odometry: added optional argument "initialPose" to reset() method

git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1930 f169173b-cf89-36c8-b27e-44dbe73f0c83
2014-10-28 01:20:57 +00:00
matlabbe 457c068e0f Refactored how visualization data are transfered between core and gui: using only Signature object instead of separated image,deph,fx,fy...
git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1928 f169173b-cf89-36c8-b27e-44dbe73f0c83
2014-10-26 21:47:29 +00:00
matlabbe e03831e7db rtabmap: desactivate graph optimization when RGBD/ToroIterations=0
git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1896 f169173b-cf89-36c8-b27e-44dbe73f0c83
2014-10-17 23:59:15 +00:00
matlabbe 85526ec106 added Rtabmap/StatisticLoggedHeaders to avoid headers in log files
git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1869 f169173b-cf89-36c8-b27e-44dbe73f0c83
2014-10-16 18:35:00 +00:00
matlabbe 22ce2525fc Added parameter Kp/NewWordsComparedTogether for dictionary, always true but when comparing loop closures with Reextracting features, it is set to false to save time.
fixed crash when calling getMap without rtabmap yet initialized.
Parameter "LccReextract/LoopClosureFeatures" is now named "LccReextract/Activated"


git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1855 f169173b-cf89-36c8-b27e-44dbe73f0c83
2014-10-14 21:48:50 +00:00
matlabbe 8b67633b34 Refactored Odometry class:
-new odometry parameters
-new Optical flow strategy
-Stereo data support 
Refactored SensorData class to support stereo images
Updated default parameters (mostly odometry ones)
util3d: new methods to handle/reconstruct 3D clouds from disparity image / stereo images
PreferencesDialog: added Odometry/BOW and Odometry/OpticalFLow panels.
DatabaseViewer: fixed a crash when database is empty. Added cloud reconstruction of stereo images if saved in database
Camera: added 1 second delay to avoid dark images at the starting


git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1849 f169173b-cf89-36c8-b27e-44dbe73f0c83
2014-10-13 19:10:22 +00:00
matlabbe a3f7415821 Refactored OdometryBOW class
git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1846 f169173b-cf89-36c8-b27e-44dbe73f0c83
2014-10-08 00:32:43 +00:00
matlabbe 2badfb5faf Upgraded trunk version to 0.7.1
Added version in ini config file
Fixed rtabmap-console for loop closure detection-only

git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1823 f169173b-cf89-36c8-b27e-44dbe73f0c83
2014-10-02 15:12:56 +00:00
matlabbe 317d382a24 New parameter: Rtabmap/StartNewMapOnLoopClosure, when activated and creating a new map, the nodes of the new map will be ignored until a loop closure is found.
git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1812 f169173b-cf89-36c8-b27e-44dbe73f0c83
2014-10-01 19:52:46 +00:00
matlabbe ebeb116c0d added new statistics (features extracted current image, local map size) shown in GUI for Odometry
git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1719 f169173b-cf89-36c8-b27e-44dbe73f0c83
2014-09-25 15:04:35 +00:00
matlabbe c5eedd9a9d rtabmap::getGraph() returning mapIds too
git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1681 f169173b-cf89-36c8-b27e-44dbe73f0c83
2014-09-22 18:02:07 +00:00
matlabbe a98f819821 Binary descriptors (ORB, BRIEF, FREAK) can now be used for the visual dictionnary: maybe not as discriminative as SIFT/SURF on large environments, the advantage is that RTAB-Map will work without Patent/noncommercial licenses of SIFT and SURF.
A new option is added to re-extract features when a loop closure hypothesis is found. 
Another new option is to force 2D (3DoF) transform on visual odometry and loop closures.

git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1679 f169173b-cf89-36c8-b27e-44dbe73f0c83
2014-09-21 16:51:51 +00:00
matlabbe e687302ce0 Don't publish new node data when in localization mode
git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1676 f169173b-cf89-36c8-b27e-44dbe73f0c83
2014-09-09 18:47:04 +00:00
matlabbe e460cb592f Refactoring: Renamed rtabmap::Image to rtabmap::SensorData
removed keypoints and descriptors stuff from CameraEvent and Image/SensorData
removed keypoints3 from Image/SensorData

git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1653 f169173b-cf89-36c8-b27e-44dbe73f0c83
2014-08-18 23:14:04 +00:00
matlabbe 7cf89b6d76 Added mapIds to rtabmap::get3DMap()
git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1644 f169173b-cf89-36c8-b27e-44dbe73f0c83
2014-08-13 18:57:17 +00:00
matlabbe 29097c023e Changed license to BSD
git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1633 f169173b-cf89-36c8-b27e-44dbe73f0c83
2014-08-11 17:00:55 +00:00
matlabbe f090c81aaf Added CalibrationDialog in Preferences->source for convenience. The database is also changed to handle new FX, FY, CX and CY intrinsic parameters instead of only depthConstant parameter. Added version of the database in a new table Admin. Updated to version 0.7.0.
git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1613 f169173b-cf89-36c8-b27e-44dbe73f0c83
2014-07-26 04:36:00 +00:00
matlabbe 1d7d2a1847 rtabmap: set mapTransform on local loop closures too
git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1547 f169173b-cf89-36c8-b27e-44dbe73f0c83
2014-07-13 16:57:31 +00:00
matlabbe 8da1d61a71 fixed issue 10
git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1544 f169173b-cf89-36c8-b27e-44dbe73f0c83
2014-07-11 19:03:11 +00:00
matlabbe 0fa8b401c4 just changed a variable name
git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1458 f169173b-cf89-36c8-b27e-44dbe73f0c83
2014-07-06 19:11:49 +00:00
matlabbe f34907f92f Added optimizeFromGraphEnd (default true) parameter. It can be used to keep the map referential from the oldest node in the current graph
git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1441 f169173b-cf89-36c8-b27e-44dbe73f0c83
2014-06-25 23:00:35 +00:00
matlabbe e9ae29f909 fixed some warnings in Windows
fixed Transform::getNorm()

git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1436 f169173b-cf89-36c8-b27e-44dbe73f0c83
2014-06-23 15:19:17 +00:00
matlabbe 65b79cd7a2 Refactored OdometryBOW class to handle binary descriptors too (removed OdometryBin).
Odometry: added "local map history" option to increase precision
Added new Nearest neighbor options (LSH, brute Force, GPU brute Force)
Added FREAK/ORB features
Increased version to 0.6.5

git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1431 f169173b-cf89-36c8-b27e-44dbe73f0c83
2014-06-22 03:33:56 +00:00
matlabbe e6f24dfcc5 Fixed some size_t/int warnings.
Fixed compilation error on Windows for ExtractObject tool (include pcl_ros/transform.h missing).

git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1295 f169173b-cf89-36c8-b27e-44dbe73f0c83
2014-05-05 15:18:41 +00:00
matlabbe 510e9cab89 Removed optimizeCurrentMap() on rtabmap initialization when not in RGBD mode
git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1136 f169173b-cf89-36c8-b27e-44dbe73f0c83
2014-02-20 20:46:12 +00:00
matlabbe b44e01a3bb New parameters: max accepted ICP translation error, new map on large odometry error
git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1126 f169173b-cf89-36c8-b27e-44dbe73f0c83
2014-02-19 19:00:38 +00:00
matlabbe 5dbf6678ce refactoring: terms "current" and "full" changed for "local" and "global" respectively
git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1122 f169173b-cf89-36c8-b27e-44dbe73f0c83
2014-02-17 22:58:46 +00:00
matlabbe ea570abb8c New classes: Link and GraphViewer (TORO graph visualization and laser scans occupancy grid)
New parameter: RGBD/ToroIterations=100
Rtabmap: added getGraph() method to get TORO poses/link constraints
Fixed ICP correspondences ratio over 1
CloudViewer: added frustum culling and camera view up z lock in render(), moving camera using arrow keys, Menu options: Camera far plane clipping, background color
DatabaseViewer: added 3D Map view and Graph view
MainWindow: Moved main widget (loop closure image status) to a dock widget, added Graph view.


git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1075 f169173b-cf89-36c8-b27e-44dbe73f0c83
2014-02-11 23:04:22 +00:00
matlabbe 22e3082adc Increased version to 0.6.2
Memory management tested on RGBD SLAM
Fixed some crashes
New parameter RGBD/LocalLoopDetectionMaxDiffID
New parameter LccIcp2/VoxelSize
Updated parameter LccIcp/Type (added "No ICP" type)
Updated parameter kLccBowMinInliers (inliers minimum reduced to 1)
TORO optimization: The graph root is explicitly defined as the last node added (fixed a TORO crash when a root could not be found)
TORO optimization: only one constraint between neighbors and loop closures
TORO optimization: added initial tree guess
Map correction/Map transform: now only used in localization mode (map correction is always identity on mapping mode)
New statistics: local loop space diff, last loop closure parent and child ids
Database: Fixed empty signatures with no poses loaded
ICP: fixed transform multiplication order
Dump memory: added 3D words
DatabaseViewer: added Export option (added ExportDialog object)
DataRecorder: Option recording in RAM or Hard drive
GUI: added a dock widget (MapVisibilityWidget) to change visibility of nodes in the 3D map
GUI: fixed progress bar step count when generating the map
Menu option: generate TORO graph (full/current map, optimized/not optimized)
Menu option: download map (full/current map, optimized/not optimized)
Preferences: added Reset all settings button
Preferences: A QGroupBox can be a boolean parameter

git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1066 f169173b-cf89-36c8-b27e-44dbe73f0c83
2014-01-22 19:49:28 +00:00
matlabbe 11eed189c9 Retrieved data are now included in the rtabmap info message
Map transform is only defined with the last loop closure for localization mode: on loop closure between two maps, there is only a TORO link added between the locations (no need to keep the transform between the maps) 

git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1058 f169173b-cf89-36c8-b27e-44dbe73f0c83
2014-01-08 16:11:00 +00:00
matlabbe 4a150e3215 fixed delete database action when memory is not yet initialized, enabled gpu SURF option when available
git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1055 f169173b-cf89-36c8-b27e-44dbe73f0c83
2013-12-14 02:43:26 +00:00
matlabbe 1c3f78f2d6 fixed Win32 build (VS2010)
git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1050 f169173b-cf89-36c8-b27e-44dbe73f0c83
2013-12-12 22:36:56 +00:00