* Add FlannIndex abstract interface and implement NanoFlannIndex subclass
* Refactored: made NanoFlann a new NN type instead of inheriting FlannIndex. Added tests. Vendoring nanoflann.h directly in the repo. RegistrationVis now use NANOFLANN_INDEX_KDTREE_SINGLE (instead of FLANN_INDEX_KDTREE_SINGLE) flann index for 2d points matching.
* cleanup comments, added FlannIndex doxygen
* Fixing windows tests
* updating flaky test
* Simplified interface, added flann kdtree single approach selectable by parameters.
* RegVis: symmetry of nanoflann for two branches of guess feature matching
* cv::BFMatcher baseline
* Small cmake optimization FLANN_KDTREE_MEM_OPT only defined for FlannIndex
* Refactored where FLANN_KDTREE_MEM_OPT is defined
* fixed file name already exist
* cleanup
* fixup build
---------
Co-authored-by: matlabbe <matlabbe@gmail.com>
* added doc and tests for util2d.h
* updated cmake-ros ci
* Added util3d.h doc and tests
* util3d_transforms.h: Added doc and tests
* util3d_filtering.h: started doc and test
* util3d_filtering.h: more tests and doc
* Added more doc/tests
* finished util3d_filtering doc and tests
* added test for util2d::depthBleedingFiltering
* Added util3d_registration tests
* Added util3d_features.h doc/tests
* added doc/tests for util3d_correspondences.h
* added doc/gtest for util3d_mapping.h (missing hpp functions)
* finished testing util3d_mapping.hpp
* Added util3d_motion_estimation.h tests (2D->3D done)
* finished util3d_motion_estimation.h tests
* minimal util3d_surface.h
* Added Transform and VisualWord tests
* Added doc for CameraModel and StereoCameraModel
* Added more logs in ros ci
* Passing tests on fical
* improved all devcontainer
* added devcontainer kilted, fixed source setup.bash, removed ldconfig in ros-cmake workflow
* cleanup
* source ros
* Added utilite tests
* Added testing to appveyor, github actions cancellable on re-commit on same branch
* appveyor testing without all targets
* appveyor: specifying ALL_BUILD target
* Fixed Util2dTest.NMSImageBoundsRespected test
* Fixing PCL Indices error on old pcl
* Added VWDictionary tests and doc. Fixed LSH not working (fix from https://github.com/flann-lib/flann/pull/472
* fixing some appveyor CI errors, added test to check dictionary serialization against all type
* Added StereoDense, StereoBM and StereoSGBM doc and tests
* Added Stereo tests
* Added CameraModel and StereoCameraModel tests
* Added doc and test for Statistics
* Added doc/tests for Signature
* Added doc/test for SensorEvent, added doc for SensorCaptureInfo
* Added doc to SensorData
* Added SensorData tests
* Added SensorCapture and SensorCaptureThread doc and tests
* fixed sensordata test
* updated SSC test and doc
* Added doc and tests for BayesFilter class
* Enabled testing on mac, updated windows testing like on linux
* added test_link
* fixed unresolved on windows
* fixed ThreadHandle error on macos ci
* Added GPS and GeodeticCoords tests
* Added tests for compression
* Added Odometry tests (base class only)
* Added DBDriver tests
* Added coverage report
* uniformized test names
* fixing concurancy and coverage ci
* dont built tools, examples and app for coverage build
* fixed report tool rebuilt without qt compilation error
* updated coverage option
* updated coverage config
* added doc CI job
* fixing windows and mac ci errors
* Added DBDriverSqlite3 tests
* Added IMU tests
* Added Graph tests
* fixing flaky macos test
* Added IMUThread and IMUFilter tests
* Added Landmarks tests
* Added LASWriter tests
* fixing seed flaky test
* fixing flaky macos timing tests
* Added LocalGrid tests
* Added LocalGridMaker tests
* fixing ci errors
* Added GlobalMap tests
* Added doc for EnvSensor
* Added Features2D tests
* Added Registration tests
* Added RegistrationVis tests
* Added doc for Rtabmap and Memory classes
* Added Memory and Rtabmap tests
* making some tests less flaky
* lcov 1.14 support
* updated compatible tool arguments
* Added integration tests (RGB-D, Stereo, Lidar2d, Lidar3d)
* More octomap checks
* Refactored how/when python interpretor is created to simplify library usage
* Added python tests
* fixed some flaky tests
* suppressed some third party related warnings
* fixed ceres tests
* more flaky fixes
* Fixing tests without libpointmatcher
* Added RANSAC rejection filter to PCL ICP
* fixing multi platform flakiness
* Added test to detect regression
* Fixing windows pcl link error
* fixed some macos flakiness
* bigger 2D2D registration error on opencv 4.6.0
* flakiness
* fixing flaky tests on windows and mac
* flaky thread test on slow mac VM
* windows slow test
* fixing more ci erros
* fxing temp dir on windows
* Added Optimizer tests and discovered some bugs (fixed)
* fixing flaky tests in mac and windows
* Added Optimizer doc
* Added GTSAM BA, updated Ceres to use g2o ba parameters. Renamed g2o's ba related parameters to Optimizer group and used by both gtsam and ceres.
* fixing build without gtsam
* fixing home dir
* fixing python ci isssues
* Added multicam ba tests
* Added Ceres multicam BA support
* Aligned BundleAdjustment parameters with Optimizer/Strategy to avoid confusion in the code
* Added BA integration test
* Added robust graph optimization integration test
* Added loop3it test
* Added stereo20Hz test
* Added smartfactor gtsam
* Fixed bugged check and warn if python didn't return any descriptors
* Fixing gtsam version build issues
* fixing tilt on windows ci
* loosing ceres integration test for ci
* mac ci flakiness
* updating missing param in gui
* updating test bound for mac
* added appearance-based tests, set min gftt quality to quality level
* testing more stuff
* improving features2d tests
* ci flakiness
* fixing flaky ci
* ci fixes
* flaky fixes
* Added RegistrationIcp tests
* Added icp integration test with real-worl corridor like env
* intermediate nodes
* fixing enum
* Updated test to catch #1714
* Fixed 2d corridor failing on pcl
* flaky pnp test
* flaky brisk test
* Set rtabmap_integration test as long
* updating loop closure test
* flaky ci tests
* TEsting roundtrip g2o/toro save/load
* loosing test bound
* fixed cuda capable checks
* flaky tests
* Debugging test hanging
* more debugging stuff
* updating limit
* windows: disabled cuda on ci to avoid incompatible driver issue. Fixing a bad test mem allocation
* trying fixing cuda hanging issue
* fixing ci flakyness
* flaky tests
* Updated BOW flaky tests by checking min precision/recall instead of recall@100precision. Fixed signature test
* CameraModel::load() test initRectificationMap param
* test dbdriver load dictionary idsOnly
* Memory: test keepLinkedInDb param
* added dummyDictionary tests
* test intermediate nodes count
* Added MarkerDetector tests
* reverted breaking change of UMutex and USemaphore
* Features2d: fixed compiltion warnings with clang about override
* clang warnings
* fixing test build with pcl 1.8
* g2o and gtsam build errors on android
* opencv5 test fixes
* disabled testing for ios and android builds
* normalized endline characters for easier diff
* added LF CRLF rule
* bump 0.23.10. fixing doc version
* Publish rtabmap website doc from ci
* fixing MSCVC build error
* macos icp flaky test
* fixing ceres macos test bound
* ficing more flaky tests
* fixing opencv5 related test errors. Also fixed an actual bug in ENU_WGS84ToGeocentric_WGS84()
* added comment about mrpt change
* removed rosdoc2 (will add it for rtabmap_ros later)
* fixing website style
* updated download links
* locally deployable website with api
* sweep doxygen issues
* improved/revised doxygen main pages
* removed examples empty page
* Updated doxygen style
* more concise doxygen groups
* added api link on main readme
* fixing utilite test error
* fixing CommonFilteringGroundNormalsUp test
* updated precisionRecall test bounds for Freak and brief descriptors
* fixing scale check in ba tests
* disabled tests on windows cuda build (missing dlls amd runner cannot test cuda anyway)
* ceres: missing suitesparse dep in windows ci
* adjusting recall thr for fast/freak
* ficing more flaky tests
* fixing flaky tests
* disabled coverage in ros ci
* Enable integration tests for ros ci jobs
* loosing up some threshold for failing tests
* trigger cache
* fixing test data in ros ci. Updated flaky test for mac
* slaking some test limit
* Fixed rtabmap-detectMoreLoopClosures inverted output value
* loosing up sift recall on mac
* optimizer re-ordered distribution for reproducible results (mac g2o)
* macos dump test crash log
* combining all tests to save time on shared library reload. Also fixed Logs with missing arguments.
* Added ENABLE_FORMAT_ERRORS cmake option
* do test only one time
* fixed all format warnings
* format security android build errors
* less verbose tests
* updated ImuUThread test
* fixed a log
* Fixed libpointmatcher 2d normals eigen issue
* Fixing libpointmatcher conversion issues
* fixing libpointmatcher test on windows ci
* cleanup comments, relax some test thr
* disabled sequoia-intel ci build (too flaky, would need extensive testing directly on that machine)
* Windows CI: more sensor drivers + Windows/macOS bundle scripts
* added opengv to mac build
* windows bundle fixes
* zed extra neural ddl in separate package
* OpenGV macos eigen version error
* opengv macos build issues
* Adding support for AprilTag v3 library
* New parameter: Marker/Strategy (default opencv-aruco as before). Optimized multicameras marker detection (do only once with stitched image)
* Exposed all AprilTag parameters. Sharing Marker/Dictionary between opencv and apriltag implementation. Added new Marker/Lengths parameter.
* Support AprilTAg library not built with aruco
* cleanup
* Added marker range support
* Make apriltag detection in same orientation than opencv
* fixed shenanigans when rendering markers with multi cameras
* Don't update odom cache (localization mode) when not moving (detecting loop/landmark or not)
* fixed some quirks (camera viewer + tag working)
* Setting quad decimate to 1 by default
* typo
* Implemented OptimizerG2O::loadGraph()
* added apriltag's aruco support info in the cmake config summary
* fixed warning
* fixed isam2 assert when using landmarks
* Fixed homography on multicam
* Adding marker detection time for convenience
* Added missing MIP 36h12 tag family in UI
* correct the Jacobian calculation of GravityFactor
* reimplement GravityFactor's analytical Jacobian
* adopt some minor changes from the GTSAM mainline
* use GTSAM's native AttitudeFactor instead of GravityFactor
* add missing header file and namespace prefix
* Removed GravityFactor. Fixed build with latest GTSAM version from source. Require c++17 when building with GTSAM>=4.3.0.
* Fixed cmake error when gtsam is not installed
---------
Co-authored-by: matlabbe <matlabbe@gmail.com>
* Added liosam odometry integration
* Add kXYZIRT scan format with per-point ring channel for LIO-SAM integration
Introduce PointXYZIRT point type and kXYZIRT LaserScan format (x,y,z,
intensity,ring,time) so that ring indices survive the scan pipeline.
Update OdometryLIOSAM to require kXYZIRT and properly split ring/time
into the parallel buffers LIO-SAM expects. Extend deskewing to preserve
ring data and disable base-class deskew in OdometryLIOSAM since LIO-SAM
handles it internally.
* Address PR review: config file, deferred init, and GUI panel for LIO-SAM
- Add OdomLIOSAM/ConfigPath parameter to load LIO-SAM settings from a
YAML file. When set, individual params are ignored. Extrinsics from
sensor local transforms always override config file values.
- Defer LioSamCore initialization until both IMU and lidar local
transforms are available, computing T_lidar_imu from sensor data.
IMU samples are buffered and replayed after init.
- Fix deferred init for scan-only messages that arrive after IMU
local transform is already cached.
- Add LIO-SAM entry to odometry strategy combo box (index 14) with
full PreferencesDialog panel including config path browse button
and all parameter widgets.
* OdometryLIOSAM: propagate deskewed scan to SensorData
Capture the deskewed cloud produced by LIO-SAM's image projection
stage and replace the raw scan on SensorData with it, so loop closure
registration and other downstream stages operate on the motion-
compensated points instead of the raw pre-deskew input.
* Minor updates for rtabmap_ros
---------
Co-authored-by: matlabbe <matlabbe@gmail.com>
* Adding OpenGV as submodule (optional)
* Remove submodule to migrate to FetchContent
* using FetchContent
* remove empty .gitmodules
* Fixing OpenGV not able to find eigen on windows
* patching opengv to adjust -march=native based on PCL
* fixing patching on windows
* eigen fix
* PR cancel on-going CI builds if new commit is added to PR
* try another approach
* updating patch with some logs
* more debug mesage
* fixing EIGEN_INCLUDE_DIR
* enable rolling_builds on appveyor
* removed rolling_builds appveyor
* fixing eigen cache
* test
* more debug logs
* another try
* cleanup
* updated appveyor to work with fetchcontent
* removed mkdir build (appveyor)
* appveyor: trying ninja to increase CI speed
* removed mkdr
* appveyor: spitting opengv and rtabmap builds to be under 60 min per job
* appveyor: caching dependencies
* using global configuration
* using baked image
* fixing wget in ps
* fixing not support for
* pip error
* reverted pip install
* fixed realsense cache
* fixing multi step build
* removing baked image
* typo
* Windows: Converted appveyor to github actions
* updated boost version
* fixing boost
* udpated boost config
* boost...
* platform_version
* install boost directly
* silent boost install
* very silent boost
* fixing ls
* added boost install dir
* showing boost install dir
* moved windows dependencies in external action file
* explicitly save boost cache to same time on iterations
* pip install gdown
* update
* caching more deps
* caching all depts
* removed explicit boost cache save
* mscv 14.0
* forcing building visual studio 14 2015
* installing v12 in 2022 instead
* setup cmd prompt
* init right toolset
* fixing system version for opengv compilation error
* fixing package and artifact
* CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION
* removing cmd
* find manually psapi.lib
* resolve
* refactor psapi env
* forcing 10.0.19041.0
* using windows=2022 runner instead
* added vcpkg
* commenting windows-latest for now
* trying vcpkg instead
* search path
* updated path
* moved json
* removed deleted file for git
* adding a real version
* using version-string
* cleanup vcpkg
* building artifacts with vcpkg
* removed old windows build approach, added custom dependencies (gtsam, libpointmatcher) to vcpkg build
* udpated vcpkg version for issue https://github.com/microsoft/vcpkg/pull/49103
* try with minimal dep first
* disable opengv for now
* try vcpkg single compilation
* space
* updated link
* fixed qupote
* fixing cache name
* adding debug folder
* adjust path
* adjust path
* providing vcpkg binaries instead
* ident
* added triplet
* added BOOST_ROOT
* boost root
* boost root
* fixed path
* adding eigen headers
* try path
* cmake prefix path
* boost timer def
* libnabo fixes
* pointmatcher prefix
* disabling pointmathcer tests
* updated cmake parameters
* changed how file is downloaded
* trying curl instead
* puttoing backe InvokeWeb because it is a dropbox issue
* skipping optional deps for now
* ficing env variable
* triplet
* installing triplets
* not overriding default vcpkg env variables
* missing path
* manifet install off
* that was working locally
* missing protobuf path
* fixing tiff not found
* fixing vtk not found
* more vtk fixes
* another thy
* changing download url
* updated url
* try
* shoudl work now
* protobuf exe
* readding tiff
* explicit vcpkg installed folder
* missing commands
* try without tiff
* ficing vtk comple path
* -DPSAPI_LIBRARIES=Psapi.lib
* quoting
* fixing psapi required
* Set up MSVC Developer Command Prompt
* disabling pckaging for now
* openni.ini
* renabling packing
* Added stripped deps
* fix name
* updated binaries
* format
* updated opengv eigen path
* added tbb dep
* updatd archive name with vs version
* updated archive in action
* fixing patch error
* corrupted
* updated gtsam version / vcpkg
* removed appveyor. Set internal opengv build disabled by defaut (because build can be very long on some machines), will enable it inside the ros release branches instead.
* updated opengv patch
* gtsam mkl dep
* updated vcpkg binaries
* updated patches
* removed mkl dep
* missing eigen in gtsam dep
* disabling gtsam till we find a compatible version locally
* all working locally!
* removed ninja
* working python calls
* fixed hard symlink for python3.dll
* fixed qt missing png, fixed opengv not finding eigen with config, fixed python3.dll missing
* fixed flaoting dockwidget on start, removed cmd line window when launching bundled app
* use sub-packages cudnn
* Added cuda dev workflow
* fixed archive name
* Updated deps with pytorch cuda
* updating ci PATH
* fixing ci build without torch
* rename cuda artifacts
* cache cuda, add job to test internal opengv build
* Updated output artifacts zip name
* windows package: only zip on pull request
* Change USE_INTERNAL_OPENGV to BUILD_OPENGV
* use use-github-cache
* updated artifacts path
* initial python implementation of superpoint rpautrat
* working python implementation of superpoint
* small tweaks to try and work around the GIL issue
* fix missing os import
* begging cpp impl of superpoint python model
* finishing cpp superpoint impl using the same SPDetector interface
* finalizing superpoint cpp impl, working with cpu but needs to be cleaned
* fixing feature matching by reworking nms and filtering logic
* speeding up nms with batched operations and cleaning up
* updating conversion script
* adding args for image dimensions and cuda usage to model tracer
* wiring up UI to parse superpoint params
* adding label to superpoint rpautrat ui
* reverting some unintended ui changes
* typo
* oneline revert
* removing nms and threshold filtering from cpp, this is handled internally by the superpoint model
* using python interface to run the superpoint _to_torchscript.py script at runtime
* generate and load model file on the first incoming frame
* reverting unintented change
* ui changes appear mysteriously again, reverting
* remove topk from model to prevent issue when number of detected keypoints is lower then the k value (scripting fails in this case)
* cleaning up for review
* change dest for model file and remove debug logs
* bump patch and add version comment
* rm unucessary comment
* use resources to load file to ensure it works when rtabmap isn't built from source
* execute with pybind runpy instead of system call
* only build superpoint rpautrat if we have torch and python support
* changing param to accept a path to the weights .pth file directly
* parse the default working directory to save the model file in
* rm extraneous change
* rm setters and re-initialize the detector whenever params change. We cannot support changing params after the model is constructed
* update UI text
* only enable superpoint rpautrat when built with python and torch
* more build information regarding superpoint rpautrat
* generate temporary python script in the working dir
* rm unecessary changes to rtabmap_superpoint.py
* fix comment and only add repo root to sys.path
* introduce a new parameter for the superpoint python model definition
* execute script from string instead of writing to a file
* wrap parse params in a single compiler directive
* remove descriptor spatial matching logic and rely on upstream RTAB-Map processes to take the top-K desc and kpts
* only add python script to resources if built with superpoint rpautrat support. supress warning with type casting
* isolate pybind11 setup so it can't affect any other modules or potential regnerations of the model file
* update about dialog to show superpoint rpautrat
* remove debug logs
---------
Co-authored-by: Felix Toft <felix@robust.ai>
* Orbbec SDK 2 integration (new CameraOrbbecSDK class)
* Added rectification option, fixed the build without orbbec sdk
* Fixed timestamp issue on Windows
* Removed WITH_ORBBEC_SDK=ON by default in case v1 is installed. Enabled inter imu when selecting orbbec sdk.
* requiring orbbec version=2 to avoid confusion
* Finalizing options
* 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>
* On init, rebuild the dictionnary only once
* Fixed first dictionary update to avoid rebuilding multiple times. Commented some very verbose debug logs (should create a new level: UVERBOSE or UTRACE)
* bump version 0.23: added parameters "Mem/LoadVisualLocalFeaturesOnInit", "Mem/FlannIndexSaved", "Kp/SerializeWithChecksum".
* Renamed Mem/FlannIndexSaved to Kp/FlannIndexSaved. Update UI Preferences with new parameters.
* commented some very verbose debug logs
* Warn flann index serialization not implemented on windows
* Warn flann index deserialization not implemented on windows
* Removing some verbose logs
* missing header (win32)
* Added GlobalMap::fullUpdateNeeded() function
* Adding log
* Save flann index even if links changed
* log time to serialize flann index
* Make dictionary modified only after we update
---------
Co-authored-by: Mathieu Labbe <mathieu@robust.ai>
* add rvl_codec
* add support for RVL deep image compression
* DBViewer: edit depth re-using same compression format than the one in database.
* Fixing windows ci
* 💄
* missing dll export (windows)
* typo
---------
Co-authored-by: matlabbe <matlabbe@gmail.com>
* Added Data Recording Mode. Added option to filter ARKit localization jumps.
* Implemented max acc relocalization filtering (working on iOS)
* Fixed android build, added re-localization max acceleration parameter
* ARCore Java: Fixed pose of depth not available at stamp requested
* Android log fix
* Added libLAS support
* ios: added LAS support
* updated dep install script to skip libraries already installed
* CameraMobile: Fixed origin not updated if updateOnRender() is used
* Default max opt error increased to 2x to reduce number of loop closures rejected. OptimizerGTSAM: updated gravity noise model to use same sigma for both parameters.
* Updated license
* bump 0.21.7
* updated license date
* Adding GFTT and SIFT Cuda support
* Working CudaSift
* Disable cudasift option when not available
* Added check to avoid re-allocating gpu memory everytime parseParameters is called. Added workaround of to detect/ignore invalid descriptors
* Added SIFT/PreciseUpscale and SIFT/Upscale parameters. Adjusted max octave to behave more like opencv
* Refactored how maximum features are thresholded, to be more similar to OpenCV version
* Updated loop closure benchmark scripts
* Cuda optical flow tmp commit
* Added Stereo/Gpu Vis/CorFlowGpu parameters (optical flow gpu integration for F2F odom and stereo correspondences)
* Fixed build without opencv cuda
* Fixed build with Opencv 4.10
* ZED: updated parameters to match zed sdk 4
* MRPT requires C++17
* updated max octave limit CudaSift
* Working rtabmap_lidar-mapping example (live and pcap)
* finalizing merge, added some deprecated
* fixed build
* Working deskewing for Lidar + Camera/IMU (no camera pose correction yet) and Lidar + Odom Sensor in main UI.
* backward compatibility
* fixed some not used variable warnings, fixed qt build for lidar mapping example
* Refactored CameraMobile, added AREngine background support, fixed LidarVPL16 build error with PCL 1.8
* ARCoreJava: buffer last depth image in case its stamp i higher than pose stamp. CameraMobile: added pose buffer. SensorCaptureThread: to get pose, odomSensor should be explicitly set, but can be same as lidar or camera inputs.
* Working external lidar on iOS
* util3d::commonFiltering()/adjustNormalsToViewPoint() added organized cloud support. MainWindow: updated odomSensor setup
* fixed winsock include order
* reverted camera tool
* disable imu filtering when odom sensor is used
* Updated package version
* fixed windows build
* fixing more windows build erros
* GridMap integration
* Removed GridGlobal/FullUpdate parameter. Bump version 0.21.3. Mvoed specialized global map classes under global_map sub dir. Renamed Map -> GlobalMap.
* UI: Added elevation map visualization
* Added LocalGridCache class to share cache between global maps
* Fixed OctoMap nans. DbViewer: Added frontiers visualization.
* convenient functions for ros
* Small fix
* fixed build without GridMap
* CI disabled fail-fast
* CI updated checkout action to v4
* Integrated OpenGV
* Fixed build without opengv
* Cmake: moved OpenGV dependency status under solvers group
* Added multi-stereocamera models support
* Fixed OpenGV 0 sample error when one of the camera doesn't have features. Fixed g2o BA id offset with multi-camera.
* Fixed multicam 3d points generated from stereo correspondences
* db: Fixed multi stereo models not loaded correctly
* gui: fixed stereo rectification option, RegVis: fixed projection error with old databases (image size not set in calibration)
* OdomF2M: Fixed map.at error when bundle adjustment is not used
* depthai: added imu firmware update option for convenience
* Fixed various refactor errors
* Moved "large number stereo correspondences rejected" warning outside computeCorrespondences function for multicam
* Added error log if ba correspondences are computed with empty signatures
* fixed compilation errors with latest opencv
Co-authored-by: mathieu86 <mathieu@robust.ai>