Commit Graph
100 Commits
Author SHA1 Message Date
matlabbe 11e9837b82 Added RGBD/ProximityGlobalScanMap for proximity detection using the whole scan map in localization mode. Added Icp RMS statistics (CCCorelib). Updated how localization is corrected with gravity when available (simply use roll and pitch of current gravity constraint). 2021-06-23 17:13:07 -04:00
matlabbe dddf6378ae MainWindow: fixed currentVisiblePosesMap 2021-06-22 08:16:39 -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 f475f2d21c 0.20.12: iOS/android sync 2021-06-21 10:07:30 -04:00
matlabbe 9fccb8703a Merge branch 'master' of https://github.com/introlab/rtabmap into ios 2021-06-21 09:41:11 -04:00
matlabbe 62b5f13dd8 MainWindow: added currentVisiblePosesMap() 2021-06-20 23:05:24 -04:00
matlabbe b8c22e1c99 Fixed pcl::voxelGrid filtering crash on Windows (latest PCL, eigen allocation issue) 2021-06-18 16:02:17 -04:00
matlabbe d75cc04ad2 CloudViewer: fixed opengl not refreshed on update (VTK9). Fixed File Explorer hanging (Qt 5.12). Fixed backup database not deleted after a recovery. 2021-06-18 12:43:08 -04:00
matlabbe a9d4fc9291 Refactored Tango and ARCore texture management. Tango: added support with First-person AR mode. ARCoreJava: Added localization filtering speed option (avoid ARCore jumps), also manage when ARCore is lost (new session is created, relocalization needed to continue mapping). 2021-06-15 20:45:45 -04:00
matlabbe 696216b35b Fixed occlusion image origin offset (iOS and android). Android: disabled maximum odom image rate for faster feedback in First-Person. Min/Max range parameters also filter scans. Fixed background renderer not showing image (ARCore Java driver). 2021-06-13 22:07:47 -04:00
matlabbe 6342658ec5 iOS: fixed origin when we do New Scan while we were already mapping, improved FPV feedback in point cloud mode, showing camera overlay in visualization mode (pinch out to disable). Localization mode: Updated how marker detection transform are modified by gravity constraints. 2021-06-12 12:42:56 -04:00
matlabbe 3f633081cb iOS: improved feedback in first-person mapping mode (red background), fixed not matching camera overlay with 3D model, updated how memory usage is computed. 2021-06-11 21:41:59 -04:00
matlabbe a6f3a81999 fixed ios build 2021-06-11 10:20:07 -04:00
matlabbe 3e3d4142fc RGBD/OptimizeMaxError default to 1 for mobile apps. iOS: increased Kp/MaxFeatures to 400 (was 200). 2021-06-11 09:29:37 -04:00
matlabbe 0a37d01d1d ios/android: Updated default MaxOptimizeError to 1.5x 2021-06-10 11:27:53 -04:00
matlabbe ba38d9f321 Added depth/rgb registration option 2021-06-10 11:07:25 -04:00
matlabbe d7b5fa5d17 fixed android build 2021-06-09 17:45:01 -04:00
matlabbe 766301b175 fixed desktop build 2021-06-09 11:25:01 -04:00
matlabbe 289d4afd76 ios first release 2021-06-08 00:06:49 -04:00
matlabbe 630cb6a59f Odometry: when "Rtabmap/ImagesAlreadyRectified" is false and odometry strategy doesn't support raw images, added rectification for RGB-D data (only rgb rectified though) for convenience. 2021-06-01 14:33:17 -04:00
matlabbe 12c46286f6 CameraRealSense2: added support for device id like D435, t265, L515, d435i, d415 for convenience (if we have multiple D435, we still need to use on of the serials shown in log info when starting the driver) 2021-06-01 11:40:46 -04:00
matlabbe c9dbe6205d Docker: added nvidia drvier embedding examples for convenience 2021-05-30 14:21:17 -04:00
matlabbe b7c2f6801b unknownSpaceFilled: refactored approach to fix the case of 360 scan with first ray y>=0 (turtlebot3 sim). 2021-05-27 18:19:34 -04:00
matlabbe 8b1b874bf3 Statistics: added LoopOptimization_max_ang_error stats 2021-05-27 13:00:29 -04:00
matlabbe 127a41a53e MainWindow::createCamera() fixed parameters not passed by reference 2021-05-26 21:13:14 -04:00
matlabbe c1492533c3 OctoMap: fixed empty cells not all added to global occupancy grid 2021-05-26 16:27:49 -04:00
matlabbe ada3e75005 Camera class: localTransform parameter should not have optical rotation anymore (it is added afterwards in the constructor). OdomSensor: the extrinsics should not contain optical rotation anymore. These 2 changes make it more convenient to set transfomation parameters in the UI. MainWindow::createCamera() now has odomSensor argument for convenience (for inherited classes to set both camera and odom sensor in the same function). 2021-05-26 13:40:46 -04:00
matlabbe 21dbeed4b7 Odom sensor option (#726)
* Added Odom Sensor option

* Odom Sensor: Added pose time offset parameter

* Gui: fixed odom cloud not shown when rgb/depth doesn't have same size. Odom sensor: fixed rawImages set on non-stereo camera (because stereoRectify wrongly set to all cameras)

* Calibration: fixed rgb and depth suffixes not correctly set. OpenNI2: horizontal and vertical shifts can be also set for default calib.

* Fixed a warning

* OdomSensor: added option to use odom sensor output as ground truth (for comparison between odom sensor and rtabmap odom). Added scale factor option.

* FindG2O.cmake: updated path suffixes to find EXTERNAL csparse

* Pose3GravityFactor: fixed dllimport error on windows

* UI: Statistics panel not updated if not visible and keep stats in cache is unchecked. Added description to some timing debug logs in processStatistics().

* Removed vtkOutputWindow on Windows

* Odom Sensor: added zed sdk support

* bump version 0.20.11
2021-05-23 17:21:12 -04:00
matlabbe fe896260c5 commonFiltering(): warn when normals could not be computed (returned all NaNs) 2021-05-16 11:58:17 -04:00
matlabbe 56bc15d7cd MainWindow: fixed bg color not shown on loop closures when only scans are used. 2021-05-16 11:15:05 -04:00
matlabbe e9d7fcd7ae Vtk9 support (#722)
* Fixed build with VTK9

* Fixed VTK9 build with OctoMap dependency (vtkRenderingVolumeOpenGL2 missing)
2021-05-15 19:43:47 -04:00
matlabbe 8c336e1e39 Voxel filter: added support for very large clouds. Gui/Export: added footprint filtering option. Moved all filtering options under Cloud Filtering group. 2021-05-14 21:02:09 -04:00
matlabbe 4390cb6428 calibration tool: added RealSense2 T265 support 2021-05-12 18:31:41 -04:00
matlabbe 20c2e8b5be Docker: updated libpointmatcher version in bionic/focal images (https://github.com/introlab/rtabmap/issues/720) 2021-05-12 14:01:26 -04:00
matlabbe ad8b2301d8 Docker/focal: fixed alicevision patch corrupted (no newline) 2021-05-12 11:27:26 -04:00
matlabbe d75f9524f3 Export: added --texture_depth_error option 2021-05-12 10:56:16 -04:00
matlabbe aedc70218b Docker: added AliceVision dependency to focal image 2021-05-12 10:38:37 -04:00
matlabbe a11492943a Export CLI: added print info for coloring mesh step 2021-05-10 15:19:48 -04:00
matlabbe 854a52c6a5 Export CLI: added noise_radius and noise_k options to filter noise 2021-05-10 14:45:35 -04:00
matlabbe 6449302318 appveyor: added opencv 4.5.0 binaries with opencv_contrib 2021-05-02 21:41:48 -04:00
matlabbe 3623ede989 Update .appveyor.yml 2021-05-02 20:37:45 -04:00
matlabbe 0e051a16a0 Update .appveyor.yml 2021-05-02 20:00:16 -04:00
matlabbe c88e3d0a8b Update .appveyor.yml 2021-05-02 19:55:57 -04:00
matlabbe ff956a725e Fixed "localization won't be corrected with gravity" warning in localization mode and imu data are not used (while Optimizer/GravitySigma>0) 2021-05-02 19:42:59 -04:00
matlabbe 40ab98a814 docker-focal: cleanup downloaded k4a binaries 2021-05-02 13:30:57 -04:00
matlabbe f02efb5836 docker-focal: added libfreenect2, k4a, realsense2, zed open capture support (#673) 2021-05-02 13:17:53 -04:00
matlabbe 0764999f22 Fixed focal docker image with gtsam (#673) 2021-05-02 11:59:36 -04:00
matlabbe 7515556444 Update LICENSE 2021-04-23 20:42:39 -04:00
matlabbe 3b7c6cd1f4 DBViewer: added camera projection on scan option (GUI params). Fixed some deprecated warnings. 2021-04-19 18:14:20 -04:00
matlabbe 93bfad626e Update .travis.yml
Removed deprecated trusty build from travis (https://travis-ci.org/github/introlab/rtabmap/jobs/766950721)
2021-04-14 13:12:31 -04:00
matlabbe 2fcef88016 Export: added --poses_format option (default 10=RGBD-SLAM format). Added new pose format 11=RGBD-SLAM + ID. 2021-04-13 15:49:04 -04:00
matlabbe f4207979ad Export: fixed calibration not exported if camera name is not set. For multi-camera, added index suffix to yaml. 2021-04-09 16:20:08 -04:00
matlabbe b92f55be43 Export tool: added multi-camera support when exporting camera poses 2021-04-08 10:23:38 -04:00
matlabbe a8f0abf892 MainWindow::processOdometry() rectify images if Rtabmap/ImagesAlreadyRectified is false. 2021-04-02 19:06:03 -04:00
matlabbe 54267b1b33 Preferences: fixed backward compatibility error "Conversion failed from true for parameter Icp/Strategy" when loading old database with Icp/PM 2021-03-31 12:02:56 -04:00
matlabbe 4c1e72d82e Added OpenVINS minimal support (tested with EuRoC dataset) 2021-03-28 23:51:02 -04:00
matlabbe a58ec494d1 icpCC: when force3DoF is true, set z to 0 in data conversion 2021-03-28 09:28:55 -04:00
matlabbe 69735b6271 Added removeNaNFromPointCloud for PCLPointCloud2 type 2021-03-28 00:15:47 -04:00
matlabbe d002711f21 reprocess tool: Updated usage description to upgrade db version 2021-03-27 16:21:52 -04:00
matlabbe 06e85e140c Refactored RegistrationIcp: libpointmatcher yaml config usage / integrated CCCoreLib (#704)
* Refactored RegistrationIcp so that libpointmatcher yaml can work with icp odometry (we can then avoid refiltering data with local map of F2M). All data filtering (including libpointmatcher DataFilters) are done at the beginning of the function.

* ICP: Restored ref and data scans order for libpointmatcher (seems more stable this way).

* Fixed compilation error without libpointmatcher

* CCCoreLib integration (Icp/Strategy=2). Icp/PMForce4DoF is now Icp/Force4DoF. Icp/PM is now Icp/Strategy. Icp/PMOutlierRatio is now Icp/OutlierRatio.

* Fixed build without CCCoreLib

* Cleanup RegistrationIcp from third party functions.

* Preferences: disable libpointmatcher and cccorlib options if not available
2021-03-27 15:11:20 -04:00
matlabbe c4d127cae4 Export: added more options for pose format and image file name. 2021-03-21 19:05:24 -04:00
matlabbe 21737f9937 Added description fo RGBD/Enabled parameter 2021-03-17 23:58:12 -04:00
matlabbe ccc519ec58 Export: added --output name option. 2021-03-13 20:58:10 -05:00
matlabbe 1e4b172a7d Export: added poisson polygon size option 2021-03-13 19:01:09 -05:00
matlabbe 752509fb15 Rtabmap::detectMoreLoopClosures: added clusterRadiusMin parameter and update optimized poses after each accepted loop closure (also in MainWindow) like in DbViewer. Added graph::computeMinMax(poses). OdometryInfo: added guess transform. Export: added min/max axis ranges to filter nodes before expoting clouds. 2021-03-13 18:42:13 -05:00
matlabbe f6e17be2b4 Added ViewPlane XY, XZ and YZ options to GraphViewer
Parameter RGBD/SavedLocalizationIgnored now called RGBD/StartAtOrigin (updated description, used only in localization mode)
IcpReg: if Force4DoF, set lower covariance values for roll and pitch
DbViewer: updated detectMoreLoopClosures with new minRadius option and update optimized poses between each new accepted loop closures.
MainWindow: suppressed warning if depth image is not found in current node data (when rgb is).
3D Map view: changed default map point size to 1 (was 2)
2021-03-12 17:47:36 -05:00
matlabbe da2e2f810c Updated images 2021-03-09 17:48:40 -05:00
matlabbe 5b44c557b3 Update README.md 2021-03-09 17:44:39 -05:00
matlabbe 600d68932d updated images 2021-03-09 17:43:27 -05:00
matlabbe 800d087b07 Added archive directory to put paper related scripts 2021-03-09 17:08:42 -05:00
matlabbe db43479e44 Added ORB_SLAM3 support. IMU Filter: added base frame conversion option. (#698)
Referred issues:
#655
https://github.com/introlab/rtabmap_ros/issues/492

Note: IMU not supported yet with ORB_SLAM3.

Commits:
* Added orbslam3 support. UI-Source->IMU filtering: Added base frame conversion option of IMU data to uniformize yaw initialization. Madgwick: fixed yaw initialization accordingly to Z acc.

* fixed regression build error with ORB_SLAM2

* Renamed OdometryORBSLAM2 to OdometryORBSLAM (can be 2 or 3 now)
2021-03-09 16:00:41 -05:00
matlabbe 736c8aceae Export tool: show an error if file doesn't exist 2021-03-09 14:06:33 -05:00
matlabbe 351c659beb Integrated DepthAI (gen2) (#696)
* Added OAK-D camera support (DepthAI)

* Fixed build without DepthAI dependency

* Added minimum version 2 for depthai

* fixed trusty build
2021-03-07 12:27:21 -05:00
matlabbe ab8f0e2b34 Fixed #695 (footprint not cleared correctly when GridGlobal/OccupancyThr>0) 2021-03-05 18:35:49 -05:00
matlabbe 4f46d8e904 Updated some RGBD/Proximity**** parameter descriptions. Added parameter RGBD/LoopClosureIdentityGuess. Fixed local map cleared in localization when RGBD/SavedLocalizationIgnored is true (should then assume it is starting from origin). 2021-03-04 11:26:35 -05:00
matlabbe 98c69c4578 Fixed Force4DoF param not used exception on older libpointmatcher versions 2021-03-02 17:27:25 -05:00
matlabbe 4e4207a6dd CMake: updated to support latest g2oConfig.cmake (using targets) 2021-03-02 18:17:09 +00:00
matlabbe ea4cc7cb6c Refactored how IMU is used in odometry (if guess is not set, use imu orientation for guess). Changed canProcessIMU() to canProcessAsynIMU() to make it more clear for odometry approaches able to process IMU between image frames (VIO approaches). ZedOC: fixed device closed if imu is not detected. 2021-03-01 19:27:24 -05:00
matlabbe f7bc47572b Parameters: Icp/VoxelSize default updated from 0 to 0.05 2021-03-01 11:22:40 -05:00
matlabbe d119487dd7 Coloring scan (camera projection on point cloud) (#693)
* ExportClouds: Added camera projection options

* ExportClouds: fixed ceiling/floor filtering options not saved in config

* ExportClouds: fixed colorless scan points still exported when option is unchecked.

* Export tool: added --bin, --poses, --images, --las and --cam_projection options; export with intensity with --scan option. PDALWriter: added binary option (only used for PLY an PCD formats). Rtabmap: Do graph optimization if neighbor link refined and Mem/UseOdomGravity is used.
2021-03-01 09:56:37 -05:00
matlabbe 967c57d165 Added CameraStereoZedOC (Zed Open Capture driver).
* Added CameraStereoZedOC (Zed Open Capture driver). Calibration: added stereo baseline option, show warning if fx is very different after stereo calibration.

* Fixed build without Zed Open Capture. Fixed "any" prefix added to all tools when WITH_ZEDOC=ON. UI: fixed Zed Open Capture action not disabled when not built with it.
2021-02-28 10:31:18 -05:00
matlabbe 862eb0a90a CameraStereoVideo: added resolution options for usb camera 2021-02-25 22:22:44 -05:00
matlabbe cad184e82b Added Icp/PMForce4DoF parameter (works only with libpointmatcher > April 2020). Fixed some deprecated warnings. 2021-02-24 09:43:22 -05:00
matlabbe d61e463595 Updated About dialog with opencv license 2021-02-21 13:59:36 -05:00
matlabbe 5cdb346a35 Updated opencv license to Apache2 when version >= 4.5 2021-02-21 13:03:19 -05:00
matlabbe 8696a38343 Added parameter GridGlobal/AltitudeDelta 2021-02-21 13:00:16 -05:00
matlabbe e59aad03ed Fixed android build with latest laserScanFromPointCloud changes 2021-02-19 14:25:34 +00:00
matlabbe 9bf12742b1 fixed #688 2021-02-18 21:04:00 -05:00
matlabbe bb7e9edb9b Fixed create2DMap assert on 32FC2 when subscribing 2D scans with intensity. LaserScan: fixed assert when angle_min > angle_max (with angle_increment < 0) 2021-02-16 10:47:31 -05:00
matlabbe f871e4359d Fixed optimized map cleared when optimized graph is smaller than WM (poses should still refer to nodes in WM). Removed warning about max scan points smaller than actual scan (this can happen when assembling scans for proximity detection). Lowering default Icp/PMOutlierRatio to 0.85. 2021-02-12 18:40:40 -05:00
matlabbe 03cfaf2063 DBViewer: Added option to export odometry poses 2021-02-12 11:22:02 -05:00
matlabbe 089441a496 Fixed loadScan return 2D cloud for organized PCD 2021-02-10 21:35:09 -05:00
matlabbe 481a140f84 util3d: Refactored laserScanFromPointCloud() functions to return LaserScan with correct format instead of cv::Mat. 2021-02-07 17:27:55 -05:00
matlabbe c42a4e3d7e Fixed assert when loading database having optimized poses different from the working memory (force re-update graph in this case). 2021-02-06 15:10:18 -05:00
matlabbe c1a22609f3 Extract images: added timestamp.jpg/.png filname options (to match RGBD-SLAM pose format). Fixed wrong calibration file when first node is an intermdediate node. Export poses: ignore intermediate nodes when output frame is camera or scan. 2021-02-02 09:36:12 -05: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 6b119c1f90 Camera test view: show intensity/rgb/normals if input scans have them 2021-01-25 17:16:46 -05:00
matlabbe 7e298e1999 CameraImages: timestamp file is optional for pose format containing stamp 2021-01-25 13:21:39 -05:00
matlabbe c9472962d7 bumpt 0.20.9 version 2021-01-24 13:48:05 -05:00
matlabbe 4d75361fe0 CameraImages: support scan only dataset. 2021-01-24 13:21:30 -05:00