Skip to content

bytedance/Ts_Online_Optimization

Repository files navigation

Universal Online Temporal Calibration for Optimization-based Visual-Inertial Navigation Systems

6-Degree of Freedom (6DoF) motion estimation with a combination of visual and inertial sensors is a growing area with numerous real-world applications. However, precise calibration of the time offset between these two sensor types is a prerequisite for accurate and robust tracking. To address this, we propose a universal online temporal calibration strategy for optimization-based visual-inertial navigation systems. Technically, we incorporate the time offset t d as a state parameter in the optimization residual model to align the IMU state to the corresponding image timestamp using td, angular velocity and translational velocity. This allows the temporal misalignment t d to be optimized alongside other tracking states during the process. As our method only modifies the structure of the residual model, it can be applied to various optimization-based frameworks with different tracking frontends. We evaluate our calibration method with both EuRoC and simulation data and extensive experiments demonstrate that our approach provides more accurate time offset estimation and faster convergence, particularly in the presence of noisy sensor data.

The main contributions of this study are concluded as follows:

  • A universal online temporal calibration strategy for optimization-based VINS algorithms is proposed.
  • The proposed approach is integrated into the existing VINS framework to validate its feasibility.
  • Comprehensive experiments are conducted to assess its impact on accuracy.

1. License

The code is licensed under GPLv3.

The Experimental code is developed on VINS-Mono(VINS-Mono), and thus its license is retained at the beginning of the related files.

Related Publication:
The related PrePrint will be released soon.

2. Prerequisites

1.1 Ubuntu and ROS Ubuntu 16.04. or Ubuntu 18.04.

ROS Kinetic. Installation or ROS Melodic. Installation

1.2. Ceres Solver Follow Ceres Installation.

Our testing environment: Ubuntu 18.04, ROS Melodic, OpenCV 3.4.1, Eigen 3.3.4, Ceres-Solver 1.14.0rc1

2. Building on ROS

Clone the repository and catkin_make:

    cd ~/catkin_ws/src
    git clone project
    cd ../
    catkin_make
    source ~/catkin_ws/devel/setup.bash

3. Run

roslaunch vins_estimator euroc.launch
roslaunch vins_estimator vins_rviz.launch
rosbag play EUROC_DATASET_DIR/MH_01_easy.bag

4. Comments

Some parameters in euroc_config.yaml need to be set at the beginning. If the two parameters with "estimate_td2: 1" and "estimate: 0" are set, the proposed method in this paper is enabled. Otherwise, the default approach of timestamp offset calibration integrated on VINS-Mono will be enabled when two parameters are set with "estimate_td2: 0" and "estimate: 1".

The parameter td_perturbation in euroc_config.yaml is the channel to inject the timestamp misalignment manually when the dataset is absolutely without temporal misalignment.

5. Security

If you discover a potential security issue in this project, or think you may have discovered a security issue, we ask that you notify Bytedance Security via our security center or vulnerability reporting email.

6. Acknowledgement

The Experimental code is developed on VINS-Mono. We extend our gratitude to the authors of the software.

7. Citation

TBD

8. We are Hiring!

Our team is hiring FTEs with background in Deep Learning, SLAM, and 3D Vision. We are based in Beijing and Shanghai. If you are interested, please send your resume to frank.01[AT]bytedance[DOT]com.

About

No description or website provided.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages