Repo symbol

okvis2 repository

Repo symbol

okvis2 repository

Repo symbol

okvis2 repository

Repo symbol

okvis2 repository

Repo symbol

okvis2 repository

okvis

Repository Summary

Description Open Keyframe-based Visual-Inertial SLAM (Version 2)
Checkout URI https://github.com/smartroboticslab/okvis2.git
VCS Type git
VCS Version main
Last Updated 2025-03-21
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
okvis 0.0.0

README

README

Welcome to OKVIS2: Open Keyframe-based Visual-Inertial SLAM.

This is the Author’s implementation of [1]. It is further based on work presented in [2-4].

[1] Stefan Leutenegger. OKVIS2: Realtime Scalable Visual-Inertial SLAM with Loop Closure. arXiv, 2022.

[2] Stefan Leutenegger, Simon Lynen, Michael Bosse, Roland Siegwart and Paul Timothy Furgale. Keyframe-based visual-inertial odometry using nonlinear optimization. The International Journal of Robotics Research, 2015.

[3] Stefan Leutenegger. Unmanned Solar Airplanes: Design and Algorithms for Efficient and Robust Autonomous Operation. Doctoral dissertation, 2014.

[4] Stefan Leutenegger, Paul Timothy Furgale, Vincent Rabaud, Margarita Chli, Kurt Konolige, Roland Siegwart. Keyframe-Based Visual-Inertial SLAM using Nonlinear Optimization. In Proceedings of Robotics: Science and Systems, 2013.

Note that the codebase that you are provided here is free of charge and without any warranty. This is bleeding edge research software.

Also note that the quaternion standard has been adapted to match Eigen/ROS, thus some related mathematical description in [2-3] will not match the implementation here.

If you publish work that relates to this software, please cite at least [1].

License

The 3-clause BSD license (see file LICENSE) applies.

How do I get set up?

Ubuntu

This is a pure cmake project.

You will need to install the following dependencies,

  • CMake,

      sudo apt install cmake
    
  • google-glog + gflags,

      sudo apt install libgoogle-glog-dev
    
  • BLAS & LAPACK,

      sudo apt install libatlas-base-dev
    
  • Eigen3,

      sudo apt install libeigen3-dev
    
  • SuiteSparse and CXSparse,

      sudo apt install libsuitesparse-dev
    
  • Boost,

      sudo apt install libboost-dev libboost-filesystem-dev
    
  • OpenCV 2.4-4: follow the instructions on http://opencv.org/ or install via

      sudo apt install libopencv-dev
    
  • LibTorch: if you want to run the segmentation CNN to remove Sky points etc, install with instructions from the link below. Get the C++ version with C++11 ABI with or without CUDA (depending on availability on your machine):

    https://pytorch.org/get-started/locally/

    Also, depending on where you downloaded it to, you may want to tell cmake in your ~.bashrc:

      export Torch_DIR=/path/to/libtorch
    

    Furthermore, you can turn on the NVIDIA GPU to be used for inference, if you have one, with USE_GPU=ON.

    In case you absolutely do not want to use LibTorch, you may disable with USE_NN=OFF.

  • Optional: you can use this package with a Realsense D435i or D455. Follow the instructions on: https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md

  • Optional: if you need to use openBLAS library, please use the openMP version of it:

      sudo apt-get install libopenblas-openmp-dev
    
  • Optional: you can use this package as part of a ROS2 workspace. In this case set BUILD_ROS2=ON. Assuming you are running Ubuntu 24.04, follow the steps here: https://docs.ros.org/en/jazzy/Installation/Ubuntu-Install-Debians.html

OSX

The following has not extensively been tested, but runs on OSX Monterey-Sonoma (Intel and M1).

This is a pure cmake project.

File truncated at 100 lines see the full file

Repo symbol

okvis2 repository

Repo symbol

okvis2 repository

Repo symbol

okvis2 repository

Repo symbol

okvis2 repository