* update cuvslam api call to adhere to new v4.0 changes
* update comment
* parse cuvslam major version from the header and throw an error if theversion doesn't match the expected
* moving average filter + extensive debug logging
* lots more logs
* improvement by turning off use_motion_model in cuvslam config. lots of debug logs.
* slight improvements to velocity guard logic. lots of debug logs
* removing debug logs. working.
* let find_package_handle_standard_args handle the version comparison logic. Custom logic to handle newer then requested major version
* proper warning message if the major version doesn't match
* add back debug logs. Handle no guess transform case.
* adding warnings when no guess transform is provided
* clean up comments
* lowering average window to 5
* moderate odometry mode, 5 value averaging window
* adding comment
* add reset logs to investigate reset issue
* try returning guess or identity on init to avoid reset cascade
* disable motion model again
* big log when tracking
* remove some debug logs
* flag to use original covariance from cuVSLAM
* use raw covariance
* data collection for revised lost detection
* compare guess to estimated transform for lost detection
* re-enable motion model, it appears to reduce false-positives for the new lost detection
* run pose estimation afer init on first frame
* don't initialize if we don't have enough features
* dont warm up GPU everytime we reset
* low estimate velocity guard. Passes all challenges. Debug comments still everywhere.
* Remove debug logs. Add thresholds to header in a config section.
* Cleanup logs
* exposing multi-cam mode as a rtabmap param
* remove max frame delta
* change to use assertion instead of conditional
* replaced some UERROR by UWARN
---------
Co-authored-by: Felix Toft <felix@robust.ai>
Co-authored-by: matlabbe <matlabbe@gmail.com>
* Working IMU_RGBD and IMU_STEREO. Changing Inter IMU base frame is now possible.
* Output error msg when vocabulary path is wrong.
* Showing full local feature map
* integrating cuvslam, stereo cam initialization
* fixing transformations
* use isaac ros TocuVSLAMPose
* organizing
* handling covariance conversion
* cleaning up config
* moving cmake instructions to FindCuVSLAM.cmake file
* fixing ui integration
* updating software license for cuvslam
* improving memory management
* cleaning up header more
* reverting mistake in GUI
* using opaque pointers for header definitions, compiles
* back to typed definitions using forward-referencing
* fixing dangling pointer
* cleaning up
* fixing variable scope issues
* Using cuda to allocate gpu memory
* fixing transfrom from cuvslam back to ros coordinate frame
* reducing excessive logs
* removing redundant if true in cuvslam cmake
* moving find cuda into cuvslam cmake
* cleaning cmake to use modern target
* adding copyright line
* Finding tf2 and eigen3 in cmake
* simplifying clean up logic
* better logs
* moving cuvslam implementation methods into cpp
* fixing build with implmentation function declarations moved to the cpp
* cleaning transformation logic and adding grayscale support
* typo
* removing unecessary class member variable for processed images
* remove trailing underscore from initialize cuvslam function signature
* locally scoping config params since they are copied by cuvslam
* removing unecessary member variables and using locally scoped values since cuvslam seems to copy them
* more cleaning and refactoring
* fixing cmake inconsistancies and surpress warning
* fixing up baseline transform
* trying to remove tf2 for transformations
* fixing incorect baseline transform swap
* comment, begin reset logic investigation
* better handling of previous pose and transform during error cases
* hunting for reset bug, not found
* observation export implementatin, currently getting strange errors
* multi cam support
* Memory fixes
* comments
* make cuda stream a member variable so it isn't initialized and destroyed on every frame
* preparing to add ground constraints
* adding ground constraints, working
* adding wheel odom fusion into cuvslam tracker
* parsing parameter to apply planar constraints
* removing planar constraint in config, doesn't do anything
* using proper cuda stream type for member variable
* cleaning up for merge
* only parse params when cuvslam is compiled
* updating error message if using rgb-d instead of stereo
* removing wheel odom testing logs
* reverting bgr to rgb conversion
* fixing initial pose logic
* return null transform on invalid covariance
* debugging covariance
* guard against low velocity situations where cuvslam covariance spikes, but we aren't lost
* cleaning things up
---------
Co-authored-by: Felix Toft <felix@robust.ai>
Co-authored-by: matlabbe <matlabbe@gmail.com>
* 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
Referred issues:
#655https://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)
* 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.
* Created general CameraMobile interface. Tango is now optional. Camera is disabled on visualizaion (battery saving).
* Working android app on non-tango android phones (tested on x86_64 android emulator).
* fixed typo
* android: updated tango not available msg
* android: fixed build with latest android sdk/ndk
* Added ARCore limited support for pose and rgb streams.
* Added AREngine support. Don't assert if depth size is not a modulo of rgb size.
* Added ARCore shared camera support
* android: fixed read/write runtime permissions for >=api23. arcore ndk: added feature point cloud. Fixed file sharing persmissions (>=api24 issue)
* ARCore NDK: mapping with feature point cloud
* android: Added post build strip command to reduce native library size
* android: fixed some compilation issues
* android: put back gtsam as default optimizer, manifest min api is dynamic based on cmake parameters
* AREngine: min api 24
* android: Fixed build without AREngine
* android: fixed not available libraries for API<24
* android: fixed build with old cmake versions
* android: set arcore min api to 23
* android: fixed arengine error on start when not built with native arengine support
* android: fixed tango camera permission for api>=23
* Added bionic android docker files
* Fixed wrong 3D words projection when depth size is not an exact multiple of rgb size. DbViewer: fixed images size not correctly shown in label of the calibration. ImageView: fixed depth scale when depth size is not a multiple of rgb size
* CameraMobile: added exact display rotation for local transform
* DbViewer: fixed gravity link shown in constraint view, show full local transform matrix in camera calibration label
* Android: fixed localization mode in visualization, fixed some tansitions between some UI states
* Android: Hide stop button when HUD is hidden. Updated About years.