Implementation of "An Analytical Solution to the IMU Initialization Problem for Visual-Inertial Systems"
Authors: David Zuñiga-Noël, Francisco-Angel Moreno and Javier Gonzalez-Jimenez
Draft: arXiv:2103.03389
-
CMake (3.10.2):
sudo apt install cmake -
Boost (1.65.1):
sudo apt install libboost-all-dev -
Eigen3 (3.3.4):
sudo apt install libeigen3-dev -
Gflags (2.2.1):
sudo apt install libgflags-dev -
Glog (0.3.5)
sudo apt install libgoogle-glog-dev -
Ceres-solver (2.0.0)
Install ceres-solver-2.0.0 following these instructions. Requires additionally
libatlas-base-devandlibsuitesparse-dev.
Make sure all dependencies are correctly installed. To build, just run the provided build.sh script:
git clone https://github.com/dzunigan/imu_initializaiton
bash build.sh
which should build the executables in the ./build directory.
-
The analytical solution is implemented in function
proposed_accelerometer()ininclude/methods.h -
The non-linear constfunctions for iterative optimzation with ceres can be found in
imu_ceres.h -
The iterative alternative is implemented in function
iterative()ininclude/methods.h -
The IMU preintegration code (adapted from ORB_SLAM3) is implemented in:
include/imu_preintegration.hsrc/imu_preintegration.cc