D-GVIO: A Buffer-Driven and Efficient Decentralized GNSS-Visual-Inertial State Estimator for Multi-Agent Systems
Organizations: School of Robotics, Wuhan University, Wuhan 430072, China. · School of Electronic Information of Wuhan University, Hubei Luojia Laboratory, Wuhan 430072, China.
Abstract
Cooperative localization is essential for swarm applications like collaborative exploration and search-and-rescue missions. However, maintaining real-time capability, robustness, and computational efficiency on resource-constrained platforms presents significant challenges. To address these challenges, we propose D-GVIO, a buffer-driven and fully decentralized GNSS-Visual-Inertial Odometry (GVIO) framework that leverages a novel buffering strategy to support efficient and robust distributed state estimation. The proposed framework is characterized by four core mechanisms. Firstly, through covariance segmentation, covariance intersection and buffering strategy, we modularize propagation and update steps in distributed state estimation, significantly reducing computational and communication burdens. Secondly, the left-invariant extended Kalman filter (L-IEKF) is adopted for information fusion, which exhibits superior state estimation performance over the traditional extended Kalman filter (EKF) since its state transition matrix is independent of the system state. Thirdly, a buffer-based re-propagation strategy is employed to handle delayed measurements efficiently and accurately by leveraging the L-IEKF, eliminating the need for costly re-computation. Finally, an adaptive buffer-driven outlier detection method is proposed to dynamically cull GNSS outliers, enhancing robustness in GNSS-challenged environments.
Figures & tables
| Algorithm 1: Position Constraint Outlier Culling |
|---|
| Input: GNSS positions , VIO positions , |
| GNSS buffer size , Parameters and |
| 1. Preprocessing: |
| Compute GNSS velocity squared: |
| Compute VIO velocity squared: |
| Datasets | Agent | Ours | X-VIO | COVINS | Ours | InGVIO | IC-GVINS |
|---|---|---|---|---|---|---|---|
| (VIO) | (VIO) | (VIO) | (GVIO) | (GVIO) | (GVIO) | ||
| Castle Around | UAV 1 | 0.07 | 0.06 | ||||
| UAV 2 | 0.07 | 0.06 | |||||
| UAV 3 | 0.08 | 0.11 | |||||
| UAV 4 | 0.07 | 0.10 |
| Algorithm | Agent | N. of Messages sent | Max CPU (%) | Max Mem (MiB) |
| Ours | UAV 1 | 1042 | 135.66 | 81.21 |
| UAV 2 | 1068 | 142.01 | 89.31 | |
| UAV 3 | 1231 | 95.22 | ||
| UAV 4 | 1256 | 171.68 | 92.31 | |
| COVINS | UAV 1 | 657.89 | ||
| UAV 2 | 648.48 |
Robot State Estimation
Robot state estimation infers a robot’s position, motion, orientation, and internal configuration from noisy sensors and physical constraints.
See all 200 papers