Package Summary
Tags | No category tags. |
Version | 0.0.0 |
License | BSD 3-Clause |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
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 (-) |
Package Description
Additional Links
Maintainers
- Stefan Leutenegger
Authors
- Stefan Leutenegger
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 withUSE_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
Package Dependencies
System Dependencies
Name |
---|
eigen |
Dependant Packages
Launch files
- launch/okvis_node_realsense.launch.xml
-
- rpg [default: false]
- rgb [default: false]
- config_filename [default: ]
- path [default: ]
- rviz [default: true]
- mesh [default: realsense.dae]
- launch/okvis_node_realsense_publisher.launch.xml
-
- config_filename [default: ]
- launch/okvis_node_subscriber.launch.xml
-
- rpg [default: false]
- rgb [default: false]
- config_filename [default: ]
- path [default: ]
- rviz [default: true]
- mesh [default: realsense.dae]
- launch/okvis_node_synchronous.launch.xml
-
- rpg [default: false]
- rgb [default: false]
- config_filename [default: ]
- path [default: ]
- rviz [default: true]
- mesh [default: realsense.dae]
Messages
Services
Plugins
Recent questions tagged okvis at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.0.0 |
License | BSD 3-Clause |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
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 (-) |
Package Description
Additional Links
Maintainers
- Stefan Leutenegger
Authors
- Stefan Leutenegger
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 withUSE_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
Package Dependencies
System Dependencies
Name |
---|
eigen |
Dependant Packages
Launch files
- launch/okvis_node_realsense.launch.xml
-
- rpg [default: false]
- rgb [default: false]
- config_filename [default: ]
- path [default: ]
- rviz [default: true]
- mesh [default: realsense.dae]
- launch/okvis_node_realsense_publisher.launch.xml
-
- config_filename [default: ]
- launch/okvis_node_subscriber.launch.xml
-
- rpg [default: false]
- rgb [default: false]
- config_filename [default: ]
- path [default: ]
- rviz [default: true]
- mesh [default: realsense.dae]
- launch/okvis_node_synchronous.launch.xml
-
- rpg [default: false]
- rgb [default: false]
- config_filename [default: ]
- path [default: ]
- rviz [default: true]
- mesh [default: realsense.dae]
Messages
Services
Plugins
Recent questions tagged okvis at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.0.0 |
License | BSD 3-Clause |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
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 (-) |
Package Description
Additional Links
Maintainers
- Stefan Leutenegger
Authors
- Stefan Leutenegger
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 withUSE_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
Package Dependencies
System Dependencies
Name |
---|
eigen |
Dependant Packages
Launch files
- launch/okvis_node_realsense.launch.xml
-
- rpg [default: false]
- rgb [default: false]
- config_filename [default: ]
- path [default: ]
- rviz [default: true]
- mesh [default: realsense.dae]
- launch/okvis_node_realsense_publisher.launch.xml
-
- config_filename [default: ]
- launch/okvis_node_subscriber.launch.xml
-
- rpg [default: false]
- rgb [default: false]
- config_filename [default: ]
- path [default: ]
- rviz [default: true]
- mesh [default: realsense.dae]
- launch/okvis_node_synchronous.launch.xml
-
- rpg [default: false]
- rgb [default: false]
- config_filename [default: ]
- path [default: ]
- rviz [default: true]
- mesh [default: realsense.dae]
Messages
Services
Plugins
Recent questions tagged okvis at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.0.0 |
License | BSD 3-Clause |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
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 (-) |
Package Description
Additional Links
Maintainers
- Stefan Leutenegger
Authors
- Stefan Leutenegger
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 withUSE_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
Package Dependencies
System Dependencies
Name |
---|
eigen |
Dependant Packages
Launch files
- launch/okvis_node_realsense.launch.xml
-
- rpg [default: false]
- rgb [default: false]
- config_filename [default: ]
- path [default: ]
- rviz [default: true]
- mesh [default: realsense.dae]
- launch/okvis_node_realsense_publisher.launch.xml
-
- config_filename [default: ]
- launch/okvis_node_subscriber.launch.xml
-
- rpg [default: false]
- rgb [default: false]
- config_filename [default: ]
- path [default: ]
- rviz [default: true]
- mesh [default: realsense.dae]
- launch/okvis_node_synchronous.launch.xml
-
- rpg [default: false]
- rgb [default: false]
- config_filename [default: ]
- path [default: ]
- rviz [default: true]
- mesh [default: realsense.dae]
Messages
Services
Plugins
Recent questions tagged okvis at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.0.0 |
License | BSD 3-Clause |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
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 (-) |
Package Description
Additional Links
Maintainers
- Stefan Leutenegger
Authors
- Stefan Leutenegger
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 withUSE_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
Package Dependencies
System Dependencies
Name |
---|
eigen |
Dependant Packages
Launch files
- launch/okvis_node_realsense.launch.xml
-
- rpg [default: false]
- rgb [default: false]
- config_filename [default: ]
- path [default: ]
- rviz [default: true]
- mesh [default: realsense.dae]
- launch/okvis_node_realsense_publisher.launch.xml
-
- config_filename [default: ]
- launch/okvis_node_subscriber.launch.xml
-
- rpg [default: false]
- rgb [default: false]
- config_filename [default: ]
- path [default: ]
- rviz [default: true]
- mesh [default: realsense.dae]
- launch/okvis_node_synchronous.launch.xml
-
- rpg [default: false]
- rgb [default: false]
- config_filename [default: ]
- path [default: ]
- rviz [default: true]
- mesh [default: realsense.dae]
Messages
Services
Plugins
Recent questions tagged okvis at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.0.0 |
License | BSD 3-Clause |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
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 (-) |
Package Description
Additional Links
Maintainers
- Stefan Leutenegger
Authors
- Stefan Leutenegger
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 withUSE_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
Package Dependencies
System Dependencies
Name |
---|
eigen |
Dependant Packages
Launch files
- launch/okvis_node_realsense.launch.xml
-
- rpg [default: false]
- rgb [default: false]
- config_filename [default: ]
- path [default: ]
- rviz [default: true]
- mesh [default: realsense.dae]
- launch/okvis_node_realsense_publisher.launch.xml
-
- config_filename [default: ]
- launch/okvis_node_subscriber.launch.xml
-
- rpg [default: false]
- rgb [default: false]
- config_filename [default: ]
- path [default: ]
- rviz [default: true]
- mesh [default: realsense.dae]
- launch/okvis_node_synchronous.launch.xml
-
- rpg [default: false]
- rgb [default: false]
- config_filename [default: ]
- path [default: ]
- rviz [default: true]
- mesh [default: realsense.dae]
Messages
Services
Plugins
Recent questions tagged okvis at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.0.0 |
License | BSD 3-Clause |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
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 (-) |
Package Description
Additional Links
Maintainers
- Stefan Leutenegger
Authors
- Stefan Leutenegger
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 withUSE_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
Package Dependencies
System Dependencies
Name |
---|
eigen |
Dependant Packages
Launch files
- launch/okvis_node_realsense.launch.xml
-
- rpg [default: false]
- rgb [default: false]
- config_filename [default: ]
- path [default: ]
- rviz [default: true]
- mesh [default: realsense.dae]
- launch/okvis_node_realsense_publisher.launch.xml
-
- config_filename [default: ]
- launch/okvis_node_subscriber.launch.xml
-
- rpg [default: false]
- rgb [default: false]
- config_filename [default: ]
- path [default: ]
- rviz [default: true]
- mesh [default: realsense.dae]
- launch/okvis_node_synchronous.launch.xml
-
- rpg [default: false]
- rgb [default: false]
- config_filename [default: ]
- path [default: ]
- rviz [default: true]
- mesh [default: realsense.dae]
Messages
Services
Plugins
Recent questions tagged okvis at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.0.0 |
License | BSD 3-Clause |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
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 (-) |
Package Description
Additional Links
Maintainers
- Stefan Leutenegger
Authors
- Stefan Leutenegger
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 withUSE_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
Package Dependencies
System Dependencies
Name |
---|
eigen |
Dependant Packages
Launch files
- launch/okvis_node_realsense.launch.xml
-
- rpg [default: false]
- rgb [default: false]
- config_filename [default: ]
- path [default: ]
- rviz [default: true]
- mesh [default: realsense.dae]
- launch/okvis_node_realsense_publisher.launch.xml
-
- config_filename [default: ]
- launch/okvis_node_subscriber.launch.xml
-
- rpg [default: false]
- rgb [default: false]
- config_filename [default: ]
- path [default: ]
- rviz [default: true]
- mesh [default: realsense.dae]
- launch/okvis_node_synchronous.launch.xml
-
- rpg [default: false]
- rgb [default: false]
- config_filename [default: ]
- path [default: ]
- rviz [default: true]
- mesh [default: realsense.dae]
Messages
Services
Plugins
Recent questions tagged okvis at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.0.0 |
License | BSD 3-Clause |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
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 (-) |
Package Description
Additional Links
Maintainers
- Stefan Leutenegger
Authors
- Stefan Leutenegger
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 withUSE_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
Package Dependencies
System Dependencies
Name |
---|
eigen |
Dependant Packages
Launch files
- launch/okvis_node_realsense.launch.xml
-
- rpg [default: false]
- rgb [default: false]
- config_filename [default: ]
- path [default: ]
- rviz [default: true]
- mesh [default: realsense.dae]
- launch/okvis_node_realsense_publisher.launch.xml
-
- config_filename [default: ]
- launch/okvis_node_subscriber.launch.xml
-
- rpg [default: false]
- rgb [default: false]
- config_filename [default: ]
- path [default: ]
- rviz [default: true]
- mesh [default: realsense.dae]
- launch/okvis_node_synchronous.launch.xml
-
- rpg [default: false]
- rgb [default: false]
- config_filename [default: ]
- path [default: ]
- rviz [default: true]
- mesh [default: realsense.dae]