Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Development v2.3 - Memory Management, Active Feature Publishing, Small Fixes #117

Merged
merged 45 commits into from
Dec 20, 2020

Conversation

goldbattle
Copy link
Member

Key Changes

  • Switch to using shared_ptr in the majority of places (fixed a lot of memory leaks), see Use smart pointers instead of raw pointers #96
  • Small fix to propagator for edge case where IMU measurements are lacked (should hopefully address How to use dataset of kaist, I meet error when I load data by fileplayer #87, [ZUPT] Problems with zero velocity update #89, [KAIST] Problem of running KAIST dataset enabling ZUPT. #90)
  • Support for periods in folder names when using ov_eval error_comparison
  • Fix ov_eval RPE trajectory selection for low frequency groundtruth files
  • Added option to do 1d triangulation, update triangulation documentation
  • Update propagation doc to most closely follow Trawny's report
  • Added docs on profiling the memory and complexity of the codebase
  • Publish "active tracks" which are all features which are currently seen from the cam0
    • Can be used for loop closure and other XR applications.
    • All possible features are re-triangulated at each timestep to generate this active pointcloud / sparse depthmap.
  • Option to limit number of MSCKF feature updates
    • Addresses large "spikes" in computation when a bunch of features are lost
    • Allows for tracking of more points then what are used in estimation
  • More arbitrary camera subscriber logic
    • Enables multi-camera subscriptions with mixes of stereo pairs
    • All cameras are in same clock frame (might change in the future to per-camera time offset)
  • Camera images are now processed ASAP to reduce latency (thanks @nmerrill67 )
  • Continuous integration building to enable support for ubuntu 16.04, 18.04, and 20.04 and opencv 3-4 (thanks @nmerrill67 )
  • On startup 4 dof gauge freedoms now fixed to zero uncertainty on startup
  • Option to run in true single-threaded mode with no parallelization in the frontend stereo tracking.
  • Visualization of the active SLAM points as green squares on the image now to help show where SLAM features are being tracked.

Validation

I ran a few runs on the ETH eurocmav dataset to compare performance vs previous releases. While there is no guarantee, I believe we don't have any major regressions in accuracy. Default levels of computational cost have gone up due to tracking of more points to have denser pointclouds. This can be tuned as necessary for any specific platform.
Screenshot from 2020-12-01 10-42-09

Vicon2gt Utility

We have also released a package to facilitate the generation of groundtruth trajectories.

This utility was created to generate groundtruth trajectories using a motion capture system (e.g. Vicon or OptiTrack) for use in evaluating visual-inertial estimation systems. Specifically we want to calculate the inertial IMU state (full 15 dof) at camera frequency rate and generate a groundtruth trajectory similar to those provided by the EurocMav datasets.

Please check it out here: https://github.com/rpng/vicon2gt

charmoniumQ and others added 30 commits August 27, 2020 18:56
…iangulation along with option to disable refinement, update triangulation docs to reflect this change
…th image (e.g. you can track many features and get a denser pointcloud, and specify that the filter only uses a few)
…more arbitary camera setups (still only a single toff though), queue to now process camera as soon as we have enough imu (reduced latency), retriangulation now uses seperate database with *all* possible measurements it can use
…determined automatically), so we can just use this config with open_vins. Only change will be to remove develop_v2.3 from .github/workflows/build_catkin.yml on push branches:[ master, develop_v2.3 ]
@goldbattle goldbattle changed the title Development v2.3 Development v2.3 - Memory Management, Active Feature Publishing, Small Fixes Dec 1, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants