Welcome to the
Key highlights of
⚡ Ultra-fast and stable filtering – runs efficiently wih 32-bit single-precision on embedded hardware (e.g., Jetson Nano in 5W mode with single thread (<1 GHz CPU)).
🧮 Cholesky (LLT)-based SRF update – fully exploits system structure to achieve significant speedups over canonical SRFs.
🚀 Dynamic initialization – recovers minimal states without triangulating 3D features, enabling reliable startup even in extreme conditions (as small as a 100 ms time window).
- ROS
- Eigen
- OpenCV
# Step 1: Create the workspace
mkdir -p sqrt_vins_ws/src && cd sqrt_vins_ws/src
git clone https://github.com/rpng/sqrtVINS.git
# Step 2: Build
catkin build
# Step 3: Download eurocmav rosbag(https://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets) in $HOME/datasets/euroc_mav or change the path in /ov_srvins/launch/serial.launch accordingly
# Step 4: Run the launch file
source devel/setup.bash
roslaunch ov_srvins serial.launchAs the code base is extended from OpenVINS, the dockcer support can refer to OpenVINS's doc.
Please refer to src/srf_init/ov_srvins/scripts/run_abtest.sh
This code was written by the Robot Perception and Navigation Group (RPNG) at the University of Delaware. If you have any issues with the code please open an issue on our github page with relevant implementation details and references. For researchers that have leveraged or compared to this work, please cite the following:
@InProceedings{Peng2024ICRA,
title = {Ultrafast Square-Root Filter-based VINS},
author = {Peng, Yuxiang and Chen, Chuchu and Huang, Guoquan},
booktitle = {International Conference on Robotics and Automation (ICRA)},
year = {2024},
address = {Yokohama, Japan},
month = {may},
}@Article{Peng2025TRO,
title = {sqrt-VINS: Robust and Ultrafast Square-Root Filter-based 3D Motion Tracking},
author = {Peng, Yuxiang and Chen, Chuchu and Wu, Kejian and Huang, Guoquan},
journal = {IEEE Transactions on Robotics (TRO)},
year = {2025},
month = {sep},
note = {(to appear)},
}The codebase is licensed under the GNU Lesser General Public License v3 (LGPL-3.0).
You must preserve the copyright and license notices in your derivative work.
If you modify the library itself, you must make those modifications available under the same license.
You may link this library into your own programs (including proprietary software), provided that users are able to replace or relink with a modified version of the library.
(See this; this is not legal advice.)