Skip to content

anpwhu/msckf_mono

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

msckf_mono

Monocular MSCKF with ROS Support

Requirements

Euroc Dataset

Build this project inside of a ROS workspace

Download one (or more) of the datasets from https://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets Place

%YAML:1.0

At the top of each YAML file. Currently OpenCV is being used to load these YAMLs and expects this header to exist.

The stand_still_end is going to be the time just before the quad takes off for the actual sequence--take care to find this before starting the MSCKF.

Now you can run the MSCKF on the individual sequence

roslaunch msckf_mono asl_mskcf.launch data_set_path:=<directory of mav0 inside of sequence> stand_still_end:=<time to start at with dot at the end>

RViz will come up by default and display the image with tracks on the left and the generated path and map on the right.

Machine Hall 03 Medium

The two paths shown, green is ground truth and red is from the MSCKF.

MSCKF

The actual MSCKF is fully templated based on the floating point type that you want. It should be easy to compile for applications that see real speedups from smaller floating point sizes.

We have run this on platforms ranging from the odroid to a modern laptop, so hopefully it should work on whatever device you want.

Used in

The Euroc dataset was evaluated in http://rpg.ifi.uzh.ch/docs/ICRA18_Delmerico.pdf The core MSCKF was used in http://openaccess.thecvf.com/content_cvpr_2017/papers/Zhu_Event-Based_Visual_Inertial_CVPR_2017_paper.pdf

TODO

  • ROS Node and Nodelet
  • Remove OpenCV from opening YAML files
  • PennCOSYVIO Dataset support

About

Monocular MSCKF ROS Node

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 98.4%
  • CMake 1.6%