Commit Graph

139 Commits

Author SHA1 Message Date
matlabbe
124543c57d Fixed compilation errors with OpenCV 4.0.0 (#309) 2018-09-18 22:43:18 -04:00
matlabbe
b044bae304 DbViewer: added menu actions to view/update/export optimized mesh saved in database. CloudViewer: cubes can be added for convenience, fixed double-click not always working. util3d: added conversion function from LaserScan to PointCloud2, added conversion functions between polygons format saved in database and PCL polygons format with vertices. 2018-04-25 12:34:47 -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
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
07244a8a73 Fixed occupancy grid created from PointNormal with RGB 2018-02-18 15:10:25 -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
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
977d21eed5 Update 0.15.4.
Parameters:
-Added "GridGlobal/MaxNodes=0", "Rtabmap/PublishRAMUsage=false", "Mem/DepthAsMask=true", "Kp/FlannRebalancingFactor=2.0", "Vis/DepthAsMask=true".
-Modified "Kp/DetectorStrategy=6", "Kp/MaxFeatures=500",  "Mem/UseOdomFeatures=true", "GFTT/QualityLevel=0.001", "GFTT/MinDistance=3", "RGBD/OptimizeMaxError=1", "RGBD/ProximityPathFilteringRadius=1", "Odom/GuessMotion=true", "Odom/VisKeyFrameThr=150", "OdomF2M/BundleAdjustment=1", "Vis/Iterations=300" if built with g2o, "OdomF2M/BundleAdjustmentMaxFrames=10", "OdomFovis/MinFeaturesForEstimate=20", "OdomORBSLAM2/MapSize=3000", "Reg/RepeatOnce=true", "Vis/PnPRefineIterations=0" if built with g2o, "Vis/CorGuessMatchToProjection=true", "Vis/BundleAdjustment=1" if built with g2o, "Icp/MaxCorrespondenceDistance=0.1", "Icp/PointToPlaneK=5", "Icp/PointToPlaneRadius=1", "Icp/PM=true" if built with libpointmatcher, "Stereo/MaxLevel=5", "Stereo/MinDisparity=0.5".

BayesFilter: optimized prediction matrix update. Use of new argument "ignoreLocalSpaceLoopIds" of Memory::getNeighborsId() to ignore loop closure link by space in prediction update.
CameraThread: Added stereo exposure compensation option.
CameraRGB: Added forceGroundNormalsUp option and added support of ground truth from EuRoC dataset.
Statistics: Added "Memory/RAM_usage/MB".
Transform: Added clone() method to do deep copy.
Graph::importPoses(): EuRoC format support (9).
Rtabmap: Local visual loop closures are now identified as GlobalClosure link type.
OccupancyGrid/OctoMap: updated how cache is used (old node retrieved can be re-added to map without re-assembling the whole map).
OdometryF2F: when using ICP, increasing correspondence distance for first two frames. If Vis/CorType=1 and registration fails, second guess without motion is done with Vis/CorType=0.
OdometryF2M/RegVis: updated how features are removed from the map, using new projectedIDs filled in RegistrationInfo by RegistrationVis.
OdometryORBSLAM2: Maximum size of the feature map can be set with "OdomORBSLAM2/MapSize" parameter.
CloudViewer: fixed opengl camera drifting in follow mode.
DatabaseViewer: Added optimization scale option. ConstraintsView: hide loop closure links if type is ignored in gui parameters.
MainWindow: Support of "GridGlobal/MaxNodes" parameters when updating the maps.
UPlot: don't show ellipses when not in graphics view mode, updated how "random" colors are attributed to curves
Added rtabmap-euroc_dataset tool. Updated rtabmap-kitti_dataset and rtabmap-rgbd_dataset tools.
Added rtabmap-reprocess tool.
2018-02-01 22:17:46 -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
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
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
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
82fd5b36a8 util3d::cloud[RGB]FromSensorData(): supporting roi ratios for stereo images 2017-08-02 15:14:03 -04:00
matlabbe
ee8d48a915 Database: added "opt_****" fields in Admin table. Tango: optimized mesh saved in database for quick open, open menu shows preview images. util3d::mergeTextures() return all textures in same cv::Mat. 2017-06-20 17:29:06 -04:00
matlabbe
811afa1171 Moved ExportCloudsDialog::mergeTextures() method in util3d_surface module 2017-06-13 19:20:09 -04:00
matlabbe
fa2199c3ea Merged master to devel 2017-06-10 10:34:52 -04:00
matlabbe
e321e1bb2c fixed output textures count 2017-06-09 17:51:13 -04:00
matlabbe
4ac422314d fixed some compilation warnings 2017-06-09 13:44:09 -04:00
matlabbe
de797b644e Export: added rgb/gray gain compensation option, added maximum outout textures option (can be useful for #189). 2017-06-03 18:24:56 -04:00
matlabbe
c8357be4d0 cloudRGBFromSensorData(): just return empty cloud if inputs are not valid (don't assert) 2017-06-01 13:09:34 -04:00
matlabbe
14baca125d cloudFromDisparity(): adjusting decimation if not valid with current image size. Standalone: ask user to set other parameters to default if some were set on command line. 2017-04-28 11:43:27 -04:00
matlabbe
6e1dbbcf4f Reverted change of cloudFromStereoImages() decimation, should be done after StereoBM to avoid backward compatibility problems 2017-04-24 15:26:12 -04:00
matlabbe
1b71a96a3d Added rtabmap-kitti_dataset tool 2017-04-24 12:17:18 -04:00
matlabbe
a274f3cf01 Export Added RoiRatios parameter to texturing (#171) 2017-04-20 11:51:23 -04:00
matlabbe
1d8952867d MainWindow: added timing stats on global map creation. Updated util3d::occupancy2DFromLaserScan() and util3d::create2DMap() interfaces (hit/noHit scans in opencv matrix format). Parameter default: Grid/ProjRayTracing=true, Grid/NormalK=true 2017-04-06 12:27:12 -04:00
matlabbe
3cf21a7e7f fixed laserScanFromDepthImage order (counterclockwise) 2017-02-24 15:26:42 -05:00
matlabbe
8de6cb1ca0 Added util3d::projectCloudToCamera() with PCLPointcloud2 interface, update util2d::fillDeptHoles() to support CV_32FC1 2017-02-23 00:15:43 -05:00
matlabbe
66ee792e8c Export: fixed white squares in exported texture (shifting next tex coords to wrong sub texture). Transfer color radius option use nearest point when =0. Fixed a crash on export dense with texture when last materials are not used (they have no polygons associated). 2017-01-26 09:42:52 -05:00
matlabbe
496319a2b0 Export: Added merging textures option (default true) 2017-01-19 11:20:48 -05:00
matlabbe
8f797e81ae Export: added option to remove not textured/colored polygons. Cloud generation: Black pixels can be projected. Added RoiRatios options to 3D Rendering and Export. Added fill depth holes option to Export. 2017-01-16 01:32:53 -05:00
matlabbe
3363772ce5 CloudViewer: added backface culling option on right-click menu. MainWindow: removed error msg on wrong decimation (util3d already handle this case) 2016-11-27 20:10:05 -05:00
matlabbe
ceb5c38ca3 util3d: find maximum decimation if the one set is not compatible (instead of returning an empty cloud) 2016-11-18 16:19:41 -05:00
matlabbe
e3c290269b cloudFromDepthRGB: Don't assert if decimation is wrong, just throw error and return empty cloud 2016-10-31 11:10:16 -04:00
matlabbe
768c864766 Image Decimation can now be negative, meaning that decimation is done from RGB size instead of depth. If Depth size is smaller than RGB, it may be upsampled depending on the decimation value. Export Dialog: Fixed MLS not done even when checked. 2016-10-30 16:03:23 -04:00
matlabbe
37192422be Fixed util3d::laserScanToPointCloudRGB for 2 channels scan (added also default color param) 2016-10-05 18:11:58 -04:00
matlabbe
a4dd47374e Backward compatibility: Fixed wrong image height set in SensorData::uncompressData() 2016-09-25 18:13:49 -04:00
matlabbe
3434b95d68 Integration of CLAMS depth calibration #114 2016-09-19 14:01:06 -04:00
matlabbe
acb700bd27 Added OpenNI2 and Freenect calibration #115 2016-09-13 18:26:18 -04:00
matlabbe
e5977d6157 Ignoring black pixels when creating clouds (recfification artifacts). Slightly improved depth retification speed. 2016-09-13 12:10:14 -04:00
matlabbe
4a072b3dfc Tango: Added "Adjust colors" post-processing option. Updated ICP parameters. Added "Mem/LaserScanNormalK" parameter for convenience. 2016-09-07 17:19:21 -04:00
matlabbe
e5074afdeb Tango: Added ICP refining option, mesh vs texture vs point cloud options, show/hide grid option, drift correction option 2016-09-02 22:37:12 -04:00
matlabbe
717e82c09e fixed typos 2016-09-01 19:22:04 -04:00
matlabbe
dd2f89628e cloudFromDepthRGB() iterating over depth image size instead of RGB image size. DbViewer: fixed scale of image view when depth is smaller than rgb. 2016-09-01 16:42:34 -04:00
Mathieu Labbe
546c66ea3c cloudFromDepth(): changed roi ratios warning to error 2016-08-31 14:15:48 -04:00
matlabbe
7a4de966d4 cloudFromDepth(): fixed roi ratios not used if one value was null. DbViewer: Added occupancy grid clouds to 3d views, add action to regenerate occupancy grids only for the current selected ids. 2016-08-31 12:43:54 -04: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