Optimization-Based GNSS/INS Integrated Navigation System
We open-source OB_GINS, an optimization-based GNSS/INS integrated navigation system. The main features of OB_GINS are as follows:
A sliding-window optimizer for GNSS/INS integration;
Abstract IMU-preintegration implementation, including:
- The normal IMU preintegration without the Earth's rotation consideration;
- The normal IMU/ODO preintegration;
- The refined IMU preintegration with the Earth's rotation consideration;
- The refined IMU/ODO preintegration;
Implementation of the marginalization;
Tools for attitude parameterization and coordinate frames;
Tools for file IO;
Authors: Hailiang Tang, Xiaoji Niu, and Tisheng Zhang from the Integrated and Intelligent Navigation (i2Nav) Group, Wuhan University.
- Hailiang Tang, Xiaoji Niu, Tisheng Zhang, Jing Fan, and Jingnan Liu, “Exploring the Accuracy Potential of IMU Preintegration in Factor Graph Optimization,” Sep. 2021, Accessed: Sep. 08, 2021. [Online]. Available: https://arxiv.org/abs/2109.03010v1.
- Le Chang, Xiaoji Niu, and Tianyi Liu, “GNSS/IMU/ODO/LiDAR-SLAM Integrated Navigation System Using IMU/ODO Pre-Integration,” Sensors, vol. 20, no. 17, p. 4702, Aug. 2020, doi: 10.3390/s20174702.
- Junxiang Jiang, Xiaoji Niu, and Jingnan Liu, “Improved IMU Preintegration with Gravity Change and Earth Rotation for Optimization-Based GNSS/VINS,” Remote Sensing, vol. 12, no. 18, p. 3048, Sep. 2020, doi: 10.3390/rs12183048.
1.1 System and compiler
We recommend you use Ubuntu 20.04 with the newest compiler (g++>=8.0 or clang>=7.0).
Follow Ceres installation instructions.
Follow abseil-cpp installation instructions.
sudo apt install libeigen3-dev
sudo apt install libyaml-cpp-dev
2 Build OB_GINS and run demo
Once the prerequisites have been installed, you can clone this repository and build OB_GINS as follows:
# Clone the repository git clone https://github.com/i2Nav-WHU/OB_GINS.git ~/ # Build OB_GINS cd ~/OB_GINS mkdir build && cd build cmake ../ -DCAMKE_BUILD_TYPE=Release make -j8 # Run demo dataset cd ~/OB_GINS ./bin/ob_gins ./dataset/ob_gins.yaml # Wait until the program finish
3.1 Demo dataset
We offer a demo dataset with configuration file, which are located at dataset directory.
One can find our open-source datasets at awesome-gins-datasets.
3.3 Your own dataset
The data formats used in OB_GINS are the same as the formats defined at awesome-gins-datasets. You can follow the formats to prepare your own datasets, or you can modify the source code as you need.
We thanks VINS-Fusion for providing a excellent platform for SLAM learners.
The source code is released under GPLv3 license.
We are still working on improving the code reliability. For any technical issues, please contact Hailiang Tang ([email protected]) or open an issue at this repository.
For commercial usage, please contact Prof. Xiaoji Niu ([email protected]).