matlabbe
cdbdc36c94
RegICP: Updated warning when complexity is too low. LoopClosureViewer: fixed scan transform.
2019-06-02 12:38:09 -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
c43bd6cd3f
Fixed backward compatibility error with libpointmatcher < 1.3.0
2018-11-09 16:06:44 -05:00
matlabbe
5159171bf3
Fixed build with latest libpointmatcher version
2018-11-09 10:12:30 -05: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
8b055752aa
RegistrationIcp: Fixed invalid variance set when structural complexity is low and input doesn't have normals. DBViewer: added check on angular error after optimizing the graph when adding a new constraint. Memory: added warning if odom angular variance detected is very high.
2018-09-28 22:02:07 -04:00
matlabbe
714d95cc34
Removing redundant non null check before deleting a ptr in destructors #301
2018-08-09 15:53:47 -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
ecf598e412
util3d::laserScanFromPointCloud(...): ignore NaN points and normals. RegistrationIcp: ignoring NaNs on conversion to PD format to fix some registration fails caused by NaNs.
2018-03-13 02:27:59 -04:00
matlabbe
2fad881202
fixed a compilation warning
2018-02-23 17:55:31 -05:00
matlabbe
39b363d0b5
Memory: compute scan max range if not set on signature creation.
2018-02-23 15:52:59 -05:00
matlabbe
077b3ab59e
RegistrationIcp: Added laserScanToDP()
2018-02-17 07:48:10 -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
398ca1f8e4
0.15.3: util3d::computeVarianceAndCorrespondences(): added max angle parameters for normal type. util3d::downsample(): added Normal types support. OccupancyGrid: fixed 2d scan with 5 channels not handled correctly on update.
2017-12-13 18:12:40 -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
fd18c0b2e9
Added Mem/LaserScanVoxelSize and OdomF2M/ScanSubtractAngle parameters. util3d::computeNormalsComplexity() now returns PCA's eigen vectors and values optionally. RegistrationIcp: detecting complexity of environment when PointToPLane is used, if too low, PointToPoint is done and movements are limited to main direction of the normals.
2017-09-19 14:15:17 -04:00
matlabbe
77bdff1e4b
removed a debug log
2017-09-11 14:03:57 -04:00
matlabbe
aca005c287
Added parameter "IcpPointToPlaneMaxComplexity". Added util3d::computeNormalsComplexity(). OdomInfo has now RegistrationInfo field to avoid duplicating members.
2017-09-11 13:17:53 -04:00
matlabbe
39283a5526
RegistrationIcp: libpointmatcher setting PointToPLane force2D parameter
2017-09-01 18:12:19 -04:00
matlabbe
4f55b56d6b
Odometry: 2D scans + normals support
2017-08-31 18:01:46 -04:00
matlabbe
b70ffb6331
fixed multi scans matching with normals, removed some debug logs
2017-08-28 16:40:08 -04:00
matlabbe
423b47a5ff
New 2d scan type: CV_32FC5 (x,y,normal_x,normal_y,normal_z)
2017-08-28 16:40:08 -04:00
matlabbe
52a4e8964f
0.13.3: scan2d with normals support/registration
2017-08-28 16:40:07 -04:00
matlabbe
317aa3b6ed
Parameters: added Icp/PMOutlierRatio for convenience
2017-08-23 12:22:58 -04:00
matlabbe
268c92a1af
RegistrationIcp: added some debug logs to track down seg fault error caused by multiple Eigen version used to build third party libraries (should be same version than one used by libpointmatcher)
2017-08-22 17:40:05 -04:00
matlabbe
73c05d2d9d
fixed build without libpointmatcher
2017-08-22 16:31:31 -04:00
matlabbe
f7872d346b
libpointmatcher integration
2017-08-22 16:20:49 -04:00
matlabbe
b5b96a3edb
Fixed ProximityByTime wrong guess transform. Fixed Icp correspondence ratio computation when using voxel filter. OdometryResetEvent: added pose to constructor.
2017-08-15 15:26:03 -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
6abed48af6
0.11.13. OdometryF2M: fixed/improved bundle adjustment option. OptimizerG2O: now doing stereo BA instead of mono BA (interface of Optimizer::optimzeBA() has slightly changed to include depth in word references). Registration and Odometry set angular and linear variances separately. RegistrationVis set x100 smaller variance for rotation. Added keypoints3D member to SensorData. Added Transform::getAngle() for convenience. Odometry normalizes variances. RtabmapThread does variance summation when frames are discarded. Updated how variance is computed by util3d::estimateMotion3Dto2D(), ignoring very large variance from the computation (stereo issue with very far matched features). MainWindow: added option to align with ground truth or not (default true as before), added for odometry statistics (including bundle stuff), update ground truth statistics every time a graph is loaded/optimized. CameraRGB can now load odometry files (to fake an input odometry). PreferencesDialog: Added option to Odometry so it can use a different registration approach than the default one (the one used for loop closure). Parameters: added new g2o/Solver option 3 (Eigen), added g2o/RobustKernelDelta, g2o/Baseline and Odom/VisKeyFrameThr. Database: from 0.11.13, ignoring patch version when comparing is database version is newer than app version used.
2017-01-03 21:05:00 -05:00
matlabbe
edee909324
RegistrationICP: fixed local scan transform issue
2016-08-31 12:43:54 -04:00
matlabbe
013eba1d58
0.11.10: Database update with occupancy grid and laser scan info. Added class LaserScanInfo and OccupancyGrid (incremental 2d grid map). Gui: 2d grid and octomap are udpated using occupancy grids saved in nodes.
2016-08-31 12:43:53 -04:00
matlabbe
ae7436a41b
Fixed bug where very long paths (over maxGraphDepth) were used for scan matching. Added "RGBD/ProximityMaxPaths" parameter (default 3) to limit the number of path comparisons for proximity detection.
2016-08-12 18:43:12 -04:00
matlabbe
ca6cd19fb1
Updated Copyright year and About dialog summary
2016-07-17 21:57:10 -04:00
matlabbe
20862f07bc
RegistrationInfo: added IcpTranslation and IcpRotation members
2016-07-05 11:23:59 -04:00
matlabbe
517bfa5272
OdometryF2M: updated how local scan map is updated
2016-06-25 13:18:09 -04:00
matlabbe
cb7c76889d
API achange (0.11.8): computeNormals returns only pcl::Normal cloud, not pcl::PointNormal or pcl::PointXYZRGBNormal types. MainWindow: Normals are not kept in cache to save RAM. ProgressDialog: check if auto-close is still checked when close() slot is called.
2016-06-12 13:51:49 -04:00
matlabbe
9f6af75f79
Local scan matching: set larger scan points for max scan points when it is not set. Fixed missing scan Ids in links' user data to correctly visualize proximity links by space in DatabaseViewer. CloudViewer: using line instead of arrow between the referential and the frustum. removed parameter "RGBD/ProximityPathScansMerged" as visual proximity by space already does that.
2016-05-20 11:44:50 -04:00
matlabbe
3cb3524aa2
RegistrationICP: adjusting maxLaserScans if voxel filtering is done
2016-03-11 20:13:24 -05:00
matlabbe
0ae17ff17d
Added Parameters::parseArguments() and Parameters::showUsage() functions for convenience. Updated OdometryViewer and Console tools to use parseArguments().
2016-03-11 16:54:54 -05:00
matlabbe
7a1cf84b08
OdomF2M: added support to laser scan
2016-03-06 15:11:09 -05:00
matlabbe
9b16d93481
Fixed broken 2D icp from 0.11.0
2016-02-19 15:10:28 -05:00
matlabbe
5136b38111
MacOSX: (g2o) Fixed cholmod library not found. New ICP parameter: "Icp/Epsilon". Fixed null ICP_inliers_ratio with odometry statistics.
2016-01-12 11:37:50 -05:00
matlabbe
182fe5f1d2
DbViewer: fixed reversed "Generate laser scan from depth" option
2016-01-10 12:57:49 -05:00
matlabbe
75f85f6b2a
Added new options to filter source laser scans.
...
SensorData can support laser scans CV_32FC6 format (point cloud with normals). Refactored RegistrationICP and updated CloudViewer to show PointNormal data.
Fixed bug with stereo clouds deterioration if decimation is set (CameraModel::scale()).
2016-01-08 19:15:49 -05:00
matlabbe
6d399b6fb9
Refactoring Odometry
2016-01-07 13:59:21 -05:00
matlabbe
28d9bbb85d
Refactoring Registration: added RegistrationInfo class, pipeline registration. Camera source: create laser scan from depth image. Removed OdometryICP as the same behavior can be achieved with OdometryF2F and "Reg/Strategy" = 1 (ICP) or 2 (Vis+ICP).
2016-01-06 17:26:55 -05:00
matlabbe
2e9634cf65
Refactoring: removed some code duplication about transformation estimation and features (2D-3D) extraction.
...
Added Feature2D::generateKeypoints3D() for convenience.
Added parameter "Vis/PnPOpenCV2".
Added parameter "Vis/ForwardEstOnly".
Removed OdometryOpticalFlow class, replaced by OdometryF2F (frame-to-frame). To get the same previous OpticalFLow approach, parameter "Vis/CorType" should be set to 1.
Some parameters under group "OdomFlow/..." are now under "Vis/CorFlow...".
In Registration class, add computeTransformationMod() method to modify input signatures.
Added constructor Signature(SensorData) for convenience.
Modified words multimap used with cv::Point3f instead of pcl::PointXYZ to limit the use of PCL headers where they are not really required.
Added Stereo::create() for convenience.
Transform: fixed quaternion constructor where data_ was not initialized. Added parentheses operator for convenience.
DatabaseViewer: loading .rtabmap/rtabmap.ini instead of .rtabmap/dbViewer.ini when used from rtabmap application. Added vertical layout option for convenience.
MainWindow: fixed wrong Odometry speed values
ParametersToolBox: using QStackedWidget instead of a QToolBox for space, added "Restore Defaults" button.
2015-12-21 17:27:05 -05:00
matlabbe
d9c9db934a
Commented some debug clouds in RegistrationIcp
2015-11-30 11:26:21 -05:00
matlabbe
148504dabd
Fixed Memory::computeScanMatchingTransform() (now named computeIcpTransformMulti())
2015-11-26 16:03:03 -05:00