Skip to content

A new method for online detecting and correcting extrinsic perturbation occurring during carrier motion.

Notifications You must be signed in to change notification settings

cchester25/CalibOnline

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

10 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

CalibOnline

β˜€οΈ This method aims to provide an online miscalibration detection and correction scheme for calibrated multi-sensor systems that require long-term operation.

✨ Multisensor fusion is increasingly used in robotic systems due to its improvement in system robustness and accuracy, whitch also poses great challenges for Multisensor calibration. Existing techniques are mainly implemented offline and with the help of targets, which cannot cope with extrinsic perturbation caused by vibrations and deformations while the system is running. In this letter, we present CalibOnline, a novel method for online detecting and correcting extrinsic perturbation. First, this letter introduces a unified data modality for representing LiDAR and cameras, i.e., the depth map, and a robust feature that this modality possesses, i.e., depth discontinuous edges, is explored. Secondly, the effect of extrinsic perturbation on the edge-matching constraints is analyzed and accordingly the miscalibration probabilities are designed to supervise the extrinsic. Finally, the perturbation correction is described as a problem of on-manifolds optimization, which enhances the convergence of the estimated extrinsic. The experimental results in different datasets and scenarios have demonstrated that the proposed method has high robustness and accuracy.

The pipeline of CalibOnline

πŸ—’ 1. Prerequisites

1.1 Ubuntu and ROS

Ubuntu 64-bit 20.04. ROS noetic. ROS Installation or One click installation

    sudo apt-get install ros-XXX-cv-bridge ros-xxx-pcl-conversions

or

wget http://fishros.com/install -O fishros && . fishros

1.2 Eigen 3.3.7

Follow Eigen Installation

1.3 Ceres Solver 1.14.0

Follow Ceres Installation.

1.4 **virtual environment **

conda create -n depth python=3.8 conda activate depth conda install pytorch torchvision pytorch-cuda=11.7 -c pytorch -c nvidia pip install -r requirements.txt

πŸ€– Pretrained models

[Models]

1.5 **data set **

kitti_2011-09-30-0027

pip install kitti2bag
kitti2bag -t 2011_09_30_0027 -r 0027 raw_synced

πŸ› οΈ 2. Build

Clone the repository and catkin_make:

cd ~/catkin_ws/src
git clone https://github.com/cchester25/CalibOnline.git
cd ../
catkin_make
source ~/catkin_ws/devel/setup.bash

πŸš€ 3. Run example

cd depthV3
conda activate depth
roscore
python inference.py --config configs/v3/kitti_raw.txt --ckpt_path ckpts/kitti_scv3/xxxxx.ckpt 
cd ~/catkin_ws/src
source ~/catkin_ws/devel/setup.bash
roslaunch calib_online run_outdoor_kitti.launch

πŸ‘ Acknowledgement

This project is based on the following projects:

About

A new method for online detecting and correcting extrinsic perturbation occurring during carrier motion.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published