D2SLAM: Decentralized and Distributed Collaborative Visual-Inertial SLAM System for Aerial Swarm
Hao Xu , Peize Liu , Graduate Student Member, IEEE, Xinyi Chen , Graduate Student Member, IEEE, and Shaojie Shen , Member, IEEE
Abstract—Collaborative simultaneous localization and mapping (CSLAM) is essential for autonomous aerial swarms, laying the foundation for downstream algorithms, such as planning and control. To address existing CSLAM systems’ limitations in relative localization accuracy, crucial for close-range UAV collaboration, this article introduces novel decentralized and distributed CSLAM system. D2SLAM innovatively manages nearfield estimation for precise relative state estimation in proximity and far-field estimation for consistent global trajectories. Its adaptable front-end supports both stereo and omnidirectional cameras, catering to various operational needs and overcoming field-of-view challenges in aerial swarms. Experiments demonstrate D2SLAM’s effectiveness in accurate ego-motion estimation, relative localization, and global consistency. Enhanced by distributed optimization algorithms, AM exhibits remarkable scalability and resilience to network delays, making it well suited for a wide range ofreal-world aerial swarm applications. We believe the adaptability and proven performance of AM signify a notable advancement in autonomous aerial swarm technology.
Index Terms—Aerial systems: perception and autonomy, multirobot systems, simultaneous localization and mapping (SLAM), swarms.
I. INTRODUCTION
OCALIZATION technology is critical for highly auswarm robots are required to estimate not only their own state but also the states of other robots in the swarm. In recent years, simultaneous localization and mapping technology (SLAM) [1], [2], [3], [4] for swarm robots, including aerial swarms [5], [6], has been greatly developed. These methods are well known as collaborative SLAM (CSLAM) or multirobot SLAM.
Considering the size, weight, and power (SWaP) constraints of aerial robot platforms, the primary goal of most SLAM algorithms on aerial robots is to provide input (such as trajectories and ESDF map) for planning and control, as shown in Fig. 1, rather than producing high-quality mesh. Let us explore a few categories of practical tasks of aerial swarms to summarize the technology requirements of CSLAM. The first category is self-assemble aerial swarm [7] and cooperative transportation [8] using multiple UAVs, in this case, UAVs in the swarm require very precise relative localization (centimeter level) to cooperate with each other at a very close distance (usually less than a meter). The second category is inter-UAV collision avoidance [9] and formation flight [10], in this case, high accuracy relative localization (centimeter-level to decimeter-level) at a few meters’ distance is required to avoid collision and maintain flight formation. Another typical task of aerial swarm is cooperative exploration of unknown space. In some typical task, e.g., unknown space exploration [6], it is essential to have a high accuracy relative localization when UAVs are near to each other to avoid inter-UAV collision for this task. However, when UAVs start to explore the unknown space and fly far away from each other, the relative localization accuracy is not important, and the global consistency of the estimated trajectories is more important to build up the global map of the unknown space.

(a)

(b)
Fig. 1. Demonstration of in the HKUST RI dataset: (a) The dense map generated by using TSDF reconstruction, showing only the surface voxels from TSDF. (b) The estimated trajectories of INS (for near-field state estimation) and D2PGO (for far-field state estimation) in a three-UAV scenario.
In summary, for close-range operations, aerial swarms require high-precision relative localization. At longer distances, however, this precision becomes less critical, with a greater emphasis on the global consistency of state estimation. In addition, accurate ego-motion estimation is vital for stable flight in all tasks.
CSLAM algorithms are influenced not only by task-specific requirements but also by communication constraints. Common communication modes in robot swarms typically encompass centralized systems, such as wireless LAN (WLAN), mainly used in laboratory settings, and wireless ad hoc networks. The latter, a decentralized approach, is particularly suitable for complex real-world scenarios where setting up a router for centralized communication is not feasible. In the latter approach, typically seen in high-mobility aerial swarms [1], robots form mesh networks with communication limited by factors like occlusion, distance, and interference. While these ad hoc networks provide effective communication at close ranges, they face challenges in bandwidth and stability over longer distances.
Moreover, the computational architecture of CSLAM may vary, primarily encompassing two major forms for robot swarms: 1) centralized and 2) decentralized. Centralized CSLAM processes information on a ground-station server, requiring stable network connectivity, while decentralized CSLAM [1], [3] adapts to a broader range of environments. A well-designed decentralized approach is less dependent on stable network connectivity. However, decentralized methods may only partially address the issue. Some approaches, such as [1] and [11], are considered decentralized due to the lack of a central node, yet they replicate the same computations across multiple robots. As the number of UAVs in a swarm increases, these methods are likely to encounter computational bottlenecks. Compared to these approaches, distributed CSLAM offers the advantage ofreduced (but not cost-free) computational overhead per UAV, and enhanced privacy, as only partial information needs to be shared [4]. The key advantage of distributed SLAM lies in its scalability, enabling applications in large-scale swarms.
Taking into account communication constraints and SWaP limitations, and driven by the notion that precise relative localization is essential only for nearby robots while global consistency gains importance as robots move farther apart, we propose . This innovative system represents a novel approach to decentralized and distributed visual-inertial SLAM. Its state estimation combines two parts: 1) near-field and 2) far-field state estimation for aerial swarms. Near-field state estimation in involves estimating high-precision real-time local state [e.g., visual-inertial odometry (VIO)] and relative state between UAVs when their onboard sensors have field-of-view (FoV) overlap and good communication. Far-field state estimation involves estimating trajectories with global consistency when UAVs are far apart or in nonline-of-sight, with limited communication. These two state estimation approaches effectively address the challenges associated with state estimation in aerial swarms, as previously outlined.
The near-field estimation module in named (decentralized and distributed visual-inertial navigation system), is a collaborative multirobot VIO system using sparse features. Similar to standard single-robot VIO systems like VINS-Mono [12], maintains a local map using a sliding window and employs graph-based optimization for state estimation. Recent studies have shown significant advancements in applying the alternating direction method of multipliers (ADMM) [13], [14] to distributed bundle adjustment (BA) [14], [15]. Inspired by these developments, we have adopted ADMM in to effectively address distributed VIO challenges.
Given visual SLAM limitations, requires overlapping sensor FoVs for accurate real-time relative state estimation at close range. Omnidirectional vision systems [1], especially with our enhanced omnidirectional front end, effectively address these issues in aerial swarms. With omnidirectional cameras, is not constrained by the UAVs’ yaw angles, enabling precise relative localization when UAVs maintain line of sight, share environmental features, and communicate reliably. Commercial stereo cameras like the Intel Realsense widely used in advanced aerial swarms [5], [6], are also supported by . Stereo cameras, requiring less computational power, are well suited for UAVs with limited resources. However, their optimal usage, particularly adjusting UAV yaw for FoV overlap, falls beyond the scope of this article.
The core of far-field estimation is (decentralized and distributed pose graph optimization). facilitates both relative and global localization through PGO, particularly when UAVs are distant or out of each other’s line of sight. Unlike , which requires good communication conditions, functions effectively even in poor communication scenarios, characterized by unstable network latency and low bandwidth. Peng et al.’s [16] distributed optimization method, ARock, adeptly handles network latency and asynchronous updates, effectively countering the network instability and delays in PGO. Thus, we introduce an ARock-based asynchronous distributed PGO algorithm in Section VII.
The main contributions of this article are as follows.
1) Introduction of , a novel decentralized and distributed SLAM system, capable of achieving highaccuracy ego-motion and relative state estimation for nearby UAVs, as well as globally consistent trajectory estimation for distant or nonvisible UAVs.
2) We introduce a distributed visual-inertial state estimator for multirobot systems utilizing the ADMM approach. This system represents the first instance of a tightly coupled VIO estimator based on distributed optimization, providing both ego-motion estimation and high-accuracy relative localization.
3) , an ARock-based, asynchronous, distributed PGO algorithm, specifically designed for multiple robots is introduced. The adaptability of to communication delays and its proficiency in managing nonlinear issues make it an ideal solution for robot swarms. This is also the first attempt of using ARock in solving pose graph problems.
4) We conduct extensive testing of on an aerial swarming platform, encompassing both dataset evaluations and real-world experiments. In addition, we have open-sourced the code and custom datasets.2
II. RELATED WORKS
A. Distributed SLAM Techniques
This subsection explores fundamental techniques in distributed SLAM, namely distributed PGO and distributed BA.
1) Distributed Pose Graph Optimization: PGO [17], [18], a technique derived from the factor graph theory [19], is crucial in SLAM for relocalization [12], [20] and dense mapping [21]. When SLAM expanded to multirobot collaboration, PGO was naturally incorporated [22], [23], [24]. Initial PGO applications in CSLAM utilized centralized servers to solve the pose graph problem [24], but faced scalability and communication challenges in swarm robot systems. Cunningham et al. [22] proposed the first distributed SLAM method, DDF-SAM, using a constrained factor graph, a concept further refined in DDF-SAM2 [23]. Nevertheless, these methods maintain a neighborhood graph on each agent, leading to computational inefficiencies and scalability issues.
Significant advancements in distributed PGO (DPGO) began with Choudhary et al.’s [4] distributed Gauss–Seidel (DGS) approach. This method transforms the PGO problem into two linear problems, which are then distributedly solved using the Gauss–Seidel technique [25]. However, this method struggles with unfavorable convergence at high noise levels and necessitates synchronous operation. Later, the ASAPP method, based on distributed gradient descent, was proposed by Tian et al. [26], functioning as a distributed and asynchronous version of Riemann gradient descent [27]. This work was notable for being the first to incorporate communication considerations, introducing an asynchronous DPGO approach. Tian et al.’s [28] subsequent work introduced the DC2-PGO method using the distributed Riemann-staircase, a certifiably correct DPGO approach. These DPGO methods have been incorporated into various practical SLAM systems, such as DOOR-SLAM [3] that utilizes DGS, and Kimera-multi [2], [29] which employs both ASAPP and DC2-PGO.
2) Distributed Bundle Adjustment: BA [30], a core component in structure-from-motion (SfM) and sparse SLAM, has evolved with significant advancements in distributed processing. Eriksson et al. [15] pioneered a consensus-based distributed BA method, partitioning camera poses to enhance processing in a manner akin to the ADMM, though it requires extensive communication for landmark data. Addressing this challenge, Zhang et al. [14] developed a “camera consensus” method, effectively reducing communication needs and improving convergence. Karrer and Chli [31] investigated a loosely coupled approach for fusing VIO with relative measurements in distributed VIO, utilizing ARock [16], an asynchronous distributed optimization algorithm. However, their focus on predominantly two-robot scenarios highlights the necessity for more versatile solutions. In addition, the use of multistate constraint Kalman filter (MSCKF) for distributed BA, as studied in [32], [33], and [34], although promising, may suffer from accuracy loss due to the single linearization of measurements.
Building on these insights, our approach, inspired by [14], adopts a strategy of dividing landmarks into disjoint sets for an ADMM-based collaborative VIO in a distributed setting, aiming to enhance both accuracy and efficiency in multirobot SLAM applications. Our method stands out as the first to tightly coupled distributed VIO in contrast to existing ADMM-based distributed BA approaches. Unlike the SfM methods [14], [15], which do not prioritize real-time performance, our method is designed for real-time operation. Compared to approach [31], our method is applicable to multirobot scenarios, not just limited to two UAVs. A unique feature of is the directly and tightly integration of both visual and IMU measurements, a capability absent in previous works. This enhancement maximizes the utility of visual-inertial inputs to improve accuracy, making our method highly suitable for aerial swarm applications.
B. Current CSLAM Systems
In this section, we review existing CSLAM systems, highlighting their strengths and limitations. DPGO-based systems, such as [2] and [3], are known for their global consistency and distributed capabilities, yet they often lack in high relative localization accuracy. Systems employing BA on landmarks, including [31], [32], [33], [34], offer multicamera state estimation but typically fall short in global consistency, which limits their broader application.
In addition, methods incorporating relative measurements like UWB ranging or visual detection are gaining attention. For example, the authors in [11], [35], and [36] applied UWBodometry fusion for relative state estimation but face challenges in achieving global consistency. Ziegler et al. [36] used ARock for back-end optimization to scale up UWB-odometry fusion, while Nguyen et al. [37] integrated UWB anchors for enhanced global consistency, albeit with reliance on ground infrastructure. On the other hand, Xu et al. [1] utilized a map-based localization approach for achieving global consistency, though UWB systems often encounter issues like obscuration and radio interference in real-world environments.
Furthermore, visual-detection-based approaches, such as [1], [11], and [38] face limitations due to reliance on pretrained models, particularly when UAVs are at a distance.
Contrastingly, not only ensures global consistency but also high relative localization accuracy at close ranges. Its distributed architecture is particularly suited for scalable swarm applications. Diverging from approaches like in [2], [5], [9], [32], [33], [35], and [36] that depend on ground truth poses for initialization, enhances system flexibility by allowing runtime merging of different robots’ reference systems and sparse maps.

Fig. 2. Architecture of The is independently running on each UAV. The data will be first processed by front end and then sent to back end for state estimation. Results can be utilized for dense mapping, planning and control.
Unlike the distributed algorithms typically limited to dataset validation or simulation [2], [14], [15], [32], [33], our approach has undergone extensive testing both through in-the-loop flight experiments. AM demonstrates promising performance in robotic systems’ perception-control loops, showcasing its practical usability and effectiveness.
III. PRELIMINARY
This article adopts the symbol system from [1], details of which are not repeated here. We consider an aerial swarm consisting of N UAVs, each with a unique ID, , where represents the set of all UAVs in the swarm. By default, the swarm’s global reference system is established based on the initial position of UAV k, unless stated otherwise. AM operates independently on each UAV, with a focus on its implementation on the ith UAV unless specified. Details on establishing a unified reference system among the UAVs will be provided in Section IV-C.
A. State Estimation Problem ofCSLAM on Aerial Swarm
The state estimation problem in an aerial swarm is defined as follows: For each UAV , estimate the 6-degrees-offreedom (DoF) pose of every other at time t in UAV k’s local frame, where represents the set of UAVs in communication with UAV k. This problem is divided into two key parts for UAV k as follows.
1) Estimation of UAV k’s own ego-motion state in its local frame.
2) Estimation of the state of any other UAV i.
In SLAM research [1], [39], [40], [41], global consistency is understood as the ability to bound the absolute trajectory error (ATE) [42], ensuring that state estimation errors do not progressively increase with the robot’s movement. In this article, it means that the estimated poses remain accurate and do not suffer from drift as the robot moves.

Fig. 3. Visual-inertial UWB fusion [11] and Omni-Swarm [1] are decentralized, and asynchronous Distributed ADMM [43] is distributed. D2SLAM is both decentralized and distributed.
B. Decentralized versus Distributed
Decentralized and distributed systems, often used interchangeably, have distinct meanings. Decentralized systems operate without a central node, with algorithms running independently across multiple nodes. In contrast, distributed systems, as defined in [44], spread computation or resources like storage across multiple nodes, aiming for nonredundant processing. However, decentralized systems can involve significant redundant computation, while distributed systems may still rely on a central node for coordination. The relationship between decentralization and distribution is illustrated in Fig. 3. For instance, Omni-swarm [11] is decentralized but not distributed, lacking a central node but involving redundant optimization across the swarm, leading to computational inefficiency. Conversely, asynchronous distributed ADMM [43] employs a master–worker structure that distributes computation across multiple nodes, yet relies on a central node.
This article aims to develop a fully distributed and decentralized CSLAM algorithm, . This approach ensures robustness against single node failures and communication losses, enabling the swarm to dynamically form subswarms or integrate into a larger swarm. Moreover, efficiently utilizes the computational resources of each UAV, enhancing overall system performance.
IV. SYSTEM OVERVIEW
A. D2SLAM System Architecture
Fig. 2 depicts the architecture of . On each UAV, the front-end processes visual inputs for key frame extraction, sparse feature tracking, and loop closure detection. These processed data are then forwarded to the back end for two types of state estimations: 1) collaborative visual odometry (near-field state estimation) and 2) PGO (far-field state estimation), handled by and , respectively. The resulting estimations support further processes like dense map building, planning, and control.
B. Communication Modes
D2SLAM employs a combination of three distinct communication modes to enhance system robustness and minimize communication overhead as follows.
1) Discover Mode: Activated when UAVs’ relative states are unknown, this mode involves broadcasting complete keyframes (Section V-A) and states for both near (Section VI) and far-field (Section VII) state estimation. This facilitates rapid initialization of relative state estimation and supports map merging (Section IV-C) for integrating UAVs’ reference systems.
2) Near Mode: When other UAVs are predicted to be in proximity (within 3 to 5 m), based on current state estimates, broadcasts complete keyframes and states necessary for near and far-field state estimation. The proximity prediction relies on state estimation from both and
3) Far Mode: Used when UAVs are distant from each other, this mode transmits compact keyframes (Section V-A) and performs distributed loop closure detection (Section V-E). It broadcasts states for far-field state estimation. In far mode, near-field state estimation simplifies to single-robot VIO.
Fig. 4(a) depicts communication mode transitions. After initialization, near-field state estimation is limited to near mode to save bandwidth, while far-field state estimation operates in all modes for global consistency. Details on data transmission per mode are provided in later sections.
C. Multirobot Map Merging
In D2SLAM, each robot starts with its own local reference frame at boot time. When map-merging occurs, typically during encounters with other UAVs or revisiting areas covered by others, the UAVs align their coordinate systems to form a unified reference system. This alignment, triggered by relative measurements, integrates the coordinate systems without exchanging landmarks, allowing each UAV to maintain its individual sparse map. Specifically, the system adopts the reference frame of the UAV with the smaller ID, and the larger ID UAV’s states in and are converted to this unified system.

(a)

(b)
Fig. 4. (a) State machine governing LAM’s communication modes begins in discover mode. In this initial phase, each UAV broadcasts its complete keyframe to support rapid initialization and transmits data essential for Once UAVs have successfully initialized their relative states, transitions to either near or far mode, depending on their estimated relative positions. The system can fluidly alternate between near and far modes in response to changes in UAV positioning. Importantly, if a new UAV enters the system, typically seen during the initialization phase, reverts to discover mode to incorporate this new member. (b) Map merging occurs during the discover mode, as shown in the flow charts. If near or far-field state estimation identifies other UAVs, the UAV with the higher index transfers its map state to the UAV with the lower index.
Fig. 4(b) illustrates the map-merging process in UAVs continuously transmit heartbeat packets for detection by others, facilitating their discovery. During the discover mode, LAM broadcasts information until the swarm’s UAVs are unified under a single coordinate system. After completing map-merging, subsequent state estimations proceed without this process, unless new UAVs join the swarm.
D. Operating Conditions of
D2SLAM adapts to environmental and communication constraints by transitioning to single-robot SLAM or VIO when necessary. This ensures aerial swarm stability and enables shortterm formation flight using only VIO, as shown in [10]. Detailed discussions on these limitations follow.
1) Communication: In , a loss of communication triggers a transition to single-robot SLAM, referred to as the near communication mode. Near-field state estimation requires extensive data exchange and real-time performance, hence a robust, low-latency network is essential. Conversely, far-field state estimation can function effectively with lower bandwidth and some latency.
2) Environments: In open environments with limited environmental features, such as grasslands or rough walls, sparse visual SLAM faces challenges in feature matching for relative localization and loop closure detection. In response to these limitations, our system is designed to downgrade to single-robot VIO, ensuring flight safety under such conditions.

Fig. 5. Front end of processes visual data in several stages. Initially, the data undergoes reprojection, followed by extraction of global descriptors and features. Subsequently, it is used for feature tracking, multi-UAV feature matching, and loop closure detection. The final results are then fused in the back end.
3) Field ofView: Accurate relative localization in is contingent on FoV overlap and a sufficient number ofcommon features. Yaw alignment is crucial for FoV-limited cameras, but this requirement is eliminated with omnidirectional cameras. The local precision of helps offset brief losses of common features, ensuring reliable relative state estimation. When UAVs lose shared vision with others for an extended period, D2VINS degrades to single-robot VIO. We believe that the need for accurate relative localization lessens when UAVs are either out of sight for extended periods or too distant to share features.
V. FRONT END
D2SLAM features a versatile and efficient front end that supports various camera configurations, including omnidirectional and stereo cameras.
Structure of Front-End: Fig. 5 illustrates the components of our front end, which include: 1) preprocessing fisheye images from omnidirectional cameras; 2) general preprocessing for extracting landmarks and global descriptors; 3) feature tracking for the local UAV; 4) sparse feature matching across multiple UAVs; 5) distributed loop closure detection.
Landmarks & Features: Similar to other sparse visual SLAM systems, D2SLAM utilizes landmark points to model the external environment. It treats a set of consistently tracked or matched 2-D feature points across images as measurements of identical landmarks. Subsequent sections will detail the methods for tracking and matching landmark-related features, both by individual UAVs and collaboratively among multiple UAVs.
A. Visual Data Preprocessing
In this work, as depicted in Fig. 7, we employ a quad fisheye camera system as an omnidirectional camera. This configuration, compared to dual fisheye systems [1], [45], offers more effective FoV usage and generates superior quality depth information. Its advantages have led to its adoption in both SLAM research [46] and advanced commercial UAV products, such as the DJI Mavic 3.3
Fisheye cameras produce significantly distorted images, challenging direct application of conventional vision techniques, as shown in Fig. 6(a). Following [47], we first reproject these images into a cylindrical projection [see Fig. 6(b)] before processing. Plaut et al. [47] demonstrated that applying convolutional neural networks (CNNs) trained on public datasets to these reprojected images yields effective results.
In , to conserve communication bandwidth, complete keyframe information, such as SuperPoint features and global descriptors for each camera view, is broadcasted to other UAVs only in discover or near communication modes. On the other hand, the compact keyframes, include only the NetVLAD descriptors, are used in far mode to save bandwidth.
B. Descriptor Extraction & Dimension Reduction
We employ MobileNetVLAD [48] to construct a global descriptor for each camera view, and SuperPoint [49] for landmark extraction, coupled with PCA for dimension reduction of the descriptors. These techniques, validated in our previous work [1], are not elaborated here for brevity.
C. Sparse Feature Tracking
Sparse visual SLAM typically employs two types of feature tracking: 1) Lucas–Kanade (LK) method, as in VINS-Mono [12], offering robustness in feature-poor environments like grass, and 2) descriptor-based matching, notably in ORB-SLAM [50], with CNN-based approaches excelling in handling large parallax for multi-UAV matching and loop closure detection, though less effective in feature-sparse areas. Given the importance of both multi-UAV feature matching and robustness in our work, we adopt a hybrid front end to meet these requirements, illustrated in Fig. 6(b).
Each camera view in tracks up to (typically 100–200) landmarks. Initially, we extract SuperPoint [49] sparse features and their descriptors, assuming successful extractions. SuperPoint is preferred for its robustness over ORB features [50]. These landmarks are tracked interframe using a kNN matcher with ratio test [51]. In addition, Shi-Tomasi corners are detected to fill the remaining quota up to and tracked with the LK method. SuperPoint features are utilized for loop closure detection and multi-UAV matching, while LK landmarks aid ego-motion estimation. In feature-scarce environments, if no SuperPoint features are detected 0), the system defaults to single-robot VIO. Similiar to [12], keyframe determination is based on parallax and the count of new landmarks after feature tracking.

Fig. 6. Fisheye Image Demonstration. (a) Original fisheye images. (b) Reprojected fisheye images featuring tracking. Blue points represent SuperPoint features, while orange points indicate LK features, and green arrows depict the inter-frame movements of these features.

Fig. 7. Omnidirectional Camera Configuration: The transparent areas represent the Field of View (FoV) of each camera. These cameras boast a lateral FoV of approximately 200° and feature an overlap of 110° between adjacent cameras.
Upon completing per-frame tracking, multiview feature tracking is applied across different cameras on the same UAV. For stereo inputs, matching SuperPoint features and LK optical flow between left and right cameras is straightforward. In contrast, with quad fisheye cameras, as illustrated in Fig. 7, each camera shares landmarks only within the half-plane of its neighboring camera. Therefore, feature matching for SuperPoint features is limited to these corresponding half-planes. Landmarks’ positions are predicted based on the cameras’ internal and external parameters, serving as initial values for solving the LK optical flow.
D. Multi-UAV Sparse Feature Matching
When a new keyframe is received, the system first searches the sliding window for the most recently matching keyframe, determined by their global descriptors’ inner product surpassing the threshold (default 0.8). Following a successful match, kNN feature matching with ratio test is performed on the Superpoint features of these keyframes to establish feature correspondences. Subsequently, once a match is confirmed, we combine the corresponding landmark points of each matched feature pair into an inter-UAV landmark.

Fig. 8. Demonstration of distributed loop closure detection: UAVs transmit compact keyframes, which include NetVLAD global descriptors, across the swarm. Upon receiving this data from UAV i, UAV j initiates loop closure detection. In case of a successful match, UAV j sends a complete keyframe containing landmark information back to UAV i, enabling the extraction of the final relative pose.
E. Distributed Loop Closure Detection
Following [1], we utilize Faiss [52] for whole image searching, kNN for feature matching, Perspective-n-Point (PnP) for relative pose extraction, and implement outlier rejection. Subsequently, loop edges are processed by the back end for PGO. As illustrated in Fig. 8, AM adopts distributed loop closure detection [2], [3] to minimize communication bandwidth in far mode, and direct loop clousure detection [1] in near and discover mode.
Unlike [1], in , we use 3-D positions of Superpoint landmarks, estimated by from historical frames, along with 2-D observations from the current frame for PnP computation. In addition, with quad fisheye cameras as input, solving a multicamera PnP problem becomes necessary for relative pose extraction and geometric verification. In practice, we initially apply the UPnP RANSAC algorithm [53] for pose estimation and outlier rejection. Subsequent inlier results are then used in a BA problem for multicamera PnP [54], enhancing pose accuracy.
VI. NEAR-FIELD STATE ESTIMATION: D2VINS
A. Problem Formulation
To facilitate near-field state estimation in we introduce , a collaborative VIO. Designed for real-time, accurate 6-DoF odometry estimation of both the local UAV and nearby UAVs, operates on a graph optimization framework with a sliding window, akin to [12]. Its state estimation problem is modeled using a factor graph [19], depicted in Fig. 9. State estimation within the sliding window is achieved by maximizing the a posteriori inference of this factor graph through distributed nonlinear least squares optimization. The state of the collaborative VIO problem is defined as

Fig. 9. Demonstration of the factor graph in . The states within the sliding window, comprising pose, velocity, and IMU bias, are interconnected by various factors including IMU, visual, and prior factors.
where is the estimated pose of UAV i at time in the local frame of UAV k, m is the length of the sliding window and n is the number of the UAVs in the swarm, $\mathbf { b } _ { i } ^ { t _ { j } } = \left[ ^ { v _ { k } } \mathbf { v } _ { i } ^ { t _ { j } } , b _ { a } ^ { t _ { j } } , b _ { g } ^ { t _ { j } } \right]t _ { j }Ll _ { j }j\tau$ . The optimization problemfor collaborative VIO is formulated as
where is the Huber norm [56], is the Mahalanobis norm, B is the set of IMU factors, rB is the residual of the IMU measurement factor, L is the set of visual measurements, and is the visual measurement residual, and are defined in [12]; is the prior factor generated from previous marginalization, which will be detailed in Section VI-D.
B. Decentralized and Distributed Optimization of Collaborative Visual-Inertial-Odometry Problem
1) Alternating Direction Method of Multipliers (ADMM) Algorithm: In this section, the target of decentralized and distributed optimization is to solve the problem
using the decentralized (and distributed) ADMM method [13], [14], where is the local state for UAV i and z is the global state, Problem (3) can be jointly solved by iteratively performing the following update on each UAV i:
Here, in each iteration, each UAV solves Problem (4) and updates its states by averaging the results obtained from all UAVs.
2) Problem Splitting: As outlined in Section II-A2, effectively partitioning the problem and state is crucial in ADMM optimization. In , we split the landmarks into disjoint sets , where represents the set allocated to UAV i. This partitioning approach and the landmark distribution policy are further elaborated in Section VI-C. In addition, we denote the set of poses observing landmarks in as . Consequently, we define the local state of UAV i as
where are the state of the velocity and IMU bias of UAV i, they are only essential for local optimization. Due to the presence of the hybrid tracking feature method (Section necessarily contains all pose in X . This ensures that once all remote UAV are disconnected, can still estimate the ego-motion, i.e., degrade to a single-robot VIO.
3) Distributed Optimization for Rewritten (2) to the form of decentralized optimization (3), we have
Algorithm 1: Distributed Optimization for Collaborative
VIO on UAV i.
Input: n UAVs, m landmarks, iter iterations, and
Output: n UAVs' local states
1 Initialize and X,
2 for to iter do
3 Solve the local optimization problem (9) with
4 Broadcast the poses in local state to all UAVs
5 Update with by averaging poses among swarm
with Eq. (11).
6 Update the states for auxiliary variables
using Eq. (12).
where is the set of the IMU factors of UAV is the jth pose in project the global state X to local state is the subproblem of the global optimization Problem (2) on UAV i.
Following (4)–(6), the iteration update for the collaborative VIO problem (8) is
where is the logarithm map of the Lie group SE(3) [57], is the auxiliary variable, which will be detailed in Section VI-B4. is the consensus item to ensure the local state is consistent with the global state Inside the first item $\begin{array} { r } { \sum _ { P \in \mathcal { T } _ { i } } | \log ( ( \mathbf { P } _ { i } ^ { t } ) ^ { - 1 } \mathbf { P } _ { i } ^ { k } ) + ( \tilde { \mathbf { P } _ { i } ^ { k } } ) ^ { t } | _ { \Sigma _ { \rho _ { T } } } } \end{array}\textstyle \rho _ { \mathcal { L } } \sum _ { l _ { i } \in \mathcal { L } _ { \rangle } } | l _ { i } - l _ { i } ^ { t } | $ is to ensure the convergence of the distributed optimization, as proved in [14]. The full algorithm of the distributed optimization for collaborative VIO is shown in Algorithm 1.
Subsequent experiments, as detailed in Section IX-B, confirm ADMM’s suitability for D2VINS. Importantly, each UAV independently computes (11). Due to differing neighbor relationships, UAV i focuses only on averaging poses in . While this involves some computational redundancy, its impact on the overall distributed computing performance is minimal. In addition, data sharing in Algorithm 1 is limited to UAVs within the near-field state estimation scope.
4) Optimization on Manifold: One key problem in SLAM is the optimization on the manifold. In Algorithm 1, Problem (9) is solved by the Riemannian trust region (RTR) method [27] to ensure the pose state is on SE(3) group, i.e., ∈ In addition, the auxiliary states are defined on se(3). We use the logarithm map [57] to transform the error defined on SE(3) into se(3). The quaternion averaging in (11) is solved by quaternion averaging algorithm [58], which is well known in the aerospace field.
Our modified ADMM algorithm in Algorithm 1 allows states to be defined on SE(3), enabling us to leverage a wide range of foundational tools from VINS research, such as the RTR method (adopted in [12]) and existing marginalization techniques (Section VI-D). This approach also helps avoid deviations from the linearization point due to incorrect initialization. In contrast, for pose estimation problem, ARock shall use variables on se3 (will be detailed in Section VII). When using ARock on Problem 8, if the initialization of VIO is suboptimal—which is unavoidable in practice—the results on se3 may deviate significantly from the linearization point, potentially compromising the accuracy. We believe above factors positively influence the convergence of our algorithm compared to the ARock approach, as verified by our early-stage tests. What is more, ADMM’s robustness in complex, large-scale BA scenarios is well established [14], [15], leading us to select this approach instead of using ARock.
C. Landmark Management
It is essential to partition landmarks to disjoint sets for each UAV (detailed in Section II-A2), cap the number of landmarks to balance real-time performance demands, while ensuring sufficient measurements for observability in challenging conditions. Moreover, filtering out outlier measurements increases the system’s robustness and reduces the likelihood of false matches. These requirements of landmark partitioning can be formulated as follows, for agent k:
(17)
(18)
where is the weighted number of measurements of and represent the number of measurements of from local keyframes (keyframes generated by UAV k itself) and remote keyframes, respectively. is the number of measurement of and keyframe , and is its lower bound. aims to maximize this lower bound. is the number of outlier measurements of . The weights , and dictate the significance of respective measurements. The number of landmarks in is capped by , while the maximum number of measurements is restricted by refers to a frame within the sliding window. represents the landmarks first discovered by UAV k, so the sets partition landmarks into n disjoint groups and the condition ensures that is divided into disjoint sets in Problem (13). adopts an “observed-first” principle for this partitioning [in (18)], which primarily benefits from single-round communication during complete keyframe broadcasts. While alternative strategies like graph partitioning techniques [59] could potentially enhance optimization, they may introduce extra communication overhead. Therefore, such methods are not implemented in
Algorithm 2: Multirobot Landmark Selection.
Input: Current UAV available landmarks set of
available keyframes , a dictionary O
representing the observed landmarks of each
frame, with the relationship
Output: Set of selected landmarks
1
2
3
4 foreach do
5
6 while True do
7 if then
8 break
9 arg min
10 if then
11
12 continue
13 cost(k)
14 foreach track ∈ l.tracks do
15
16
17 foreach do
18 $\begin{array} { r } { \lfloor \mathcal { O } _ { a } [ \mathcal { F } ] \dot { \mathcal { O } } _ { a } [ \mathcal { F } ] \setminus \{ l \} } \end{array}$
19 if then
20 break
Problem (13) is an extended coverage problem, which involves multiobjective optimization. To solve this, we introduce a novel multirobot landmark selection (MLS) algorithm, detailed in Algorithm 2. Within this algorithm, we use the following cost function to approximate (14):
where and represent the number of measurements of landmark l from local and remote keyframes, respectively, and is the count of outlier measurements for l.
To select landmarks, our algorithm initially sets up dictionary to track each landmark’s current measurement count and dictionary to record unselected landmarks observed by each frame. Each iteration begins by identifying the keyframe with the fewest measurements in the sliding window (line 9), aiming to approximate (15). It then selects a landmark l observed by this keyframe that maximizes (19). Subsequently, the algorithm updates , incrementing measurement count for each corresponding keyframe in l tracks. The selected landmark l is added to , and is updated to exclude l from each keyframe’s observed landmarks. The process repeats until the number of selected landmarks surpasses , the count of selected measurements reaches , or no more measurements are available. The resulting set of selected landmarks is
Given the occasional scarcity of common landmarks among robots, landmarks may be reused across different robots in , a situation that arises when (18) is not fully met. This reuse increases the computational burden and can slightly compromise accuracy, yet it is vital for the system’s robustness. Our experiments have shown that the system can become unstable or even diverge when measurements per frame are few, necessitating a compromise in Algorithm 2 for stability. In practice, we set and to encourage the addition of more cross-robot feature points and to reduce outliers, identified by large reprojection errors prior to optimization.
D. Sliding Window & Marginalization
1) Sliding Window: In D2VINS, each UAV independently manages its keyframes within a sliding window, akin to the approach in [12]. Upon adding a new frame, if it is not a keyframe, the second newest frame is discarded; otherwise, the oldest keyframe is removed. Following each update of the sliding window, the latest information is shared with other UAVs in the swarm.
2) Management of Remote Keyframes: Successful multirobot sparse feature matching, as detailed in Section V-D, results in the inclusion of the remote frame’s pose into the local state vector for optimization in Problem (8). Upon receiving updated sliding window data from other UAVs, removes any remote keyframes from UAV k that are no longer within its local sliding window. This removal, akin to local keyframe deletion, leads to marginalization, which will be discussed further.
3) Marginalization: When discarding old keyframes, each subproblem ofProblem (8) is linearized, and a new set of priors ${ ( \mathbf { r } _ { p _ { 0 } } , \mathbf { H } _ { p _ { 0 } } ) , ( \mathbf { r } _ { p _ { 1 } } , \mathbf { H } _ { p _ { 1 } } ) \cdot \cdot \cdot ( \mathbf { r } _ { p _ { N - 1 } } , \mathbf { H } _ { p _ { N - 1 } } ) }$ is computed using the Schur complement to exclude old states. This process, known as marginalization [12], [60], treats each subproblem independently and is therefore executed distributively. Since Problem (8) involves states averaged across UAVs (11), the marginalization process maintains consistency across UAVs, meaning states are linearized at similar or identical points on different UAVs.
E. Initialization
D2VINS initialization involves two phases: 1) local keyframe initialization and 2) remote UAV initialization. For local keyframes, utilizing stereo or multicamera setups, we employ triangulation for landmark position initialization where measurements have a sufficient baseline (typically 0.05 cm) from multiple cameras or due to motion. In addition, IMU predictions initialize poses of subsequent local UAV Keyframes. To enhance stability, priors are added to the unobservable components of the first keyframe. In multi-UAV scenarios, PnP RANSAC (or UPnP) is used to initialize the pose of remote keyframes when their coordinate system references differ from the local UAV.
F. Implementation
solves Problem (9) using Ceres-solver [61], applying a Dogleg strategy [62] and a dense Schur solver. For enforcing pose manifold constraints, we utilize the Local rameterization feature in Ceres, essentially implementing the RTR method [27].
Algorithm 1, due to (11), operates synchronously, requiring UAVs to wait for others’ results each iteration, which can be less efficient in poor communication environments. However, we have found that relaxing the synchronization condition of (11)—using the most recently received state averages without waiting—also produces results close to the synchronous approach. We label this method as asynchronous , and a comparative analysis with its synchronous counterpart will be presented in Section IX-B.
VII. FAR-FIELD STATE ESTIMATION: D2PGO
Far-field estimation in encompasses both global trajectory consistency and real-time global odometry. We model the global trajectory estimation using a pose graph approach [63], where keyframes are graph nodes and edges represent relative poses between them. This pose graph is formulated as a factor graph, treating measurements as Gaussiandistributed, thus constituting the classic PGO problem [19]. employs a two-stage optimization process to decentralize and distribute the PGO across multiple UAVs. The PGO problem is
where is the set of all edge, including loop closure edge (generated by loop closure detection) and ego-motion edge (generated by $D ^ { 2 } \dot { \mathbf { V } } \mathbf { I N S } ) , \mathbf { z } _ { \mathbf { p } } { } _ { i j } ^ { t _ { 0 } t _ { 1 } } , \mathbf { z } _ { \mathbf { R } } { } _ { i j } ^ { t _ { 0 } t _ { 1 } }( i _ { t _ { 0 } } , j _ { t _ { 1 } } ){ \boldsymbol { v } } _ { k } \mathbf { R } _ { i } ^ { t }v _ { k } \hat { \mathbf { T } } _ { i } ^ { t }\boldsymbol { v } _ { k } _ { \mathbf { p } _ { i } ^ { t } }\boldsymbol { v } _ { k } \hat { \mathbf T } _ { i } ^ { t }$ , x is the full state of the pose graph
where is the number of UAVs, M is the number of keyframes of each UAV.
By reformulating the PGO problem (20) into a distributed framework (3), the equation becomes
where is the state of the UAV project global state z to local states, is the set of edges of the UAV i.
initial stage employs rotation initialization for the pose graph to circumvent local minima. The second stage focuses on refining the PGO. Beyond optimization, an outlier rejection module is implemented to filter anomalies in the pose graph problem (20). The final step involves merging the PGO results with the VIO results to establish each globally consistent real-time odometry
where denotes the latest keyframe pose of UAV i in represents the odometry estimation from for this keyframe, and is the real-time odometry estimation with
A. ARock for Distributed Optimization
To solve the PGO, we employ ARock [16], an asynchronous distributed optimization algorithm. ARock iteratively updates the distributed optimization problem (3), as described in [16]
where represents the set of neighbors for agent denotes the state in the tth iteration, and and γ are two parameters. Dual variables and for agents i and j are updated independently by each, and We modify the update rule by substituting dual variables with and to obtain
The complete ARock algorithm for decentralized optimization is outlined in Algorithm 3. Unlike the synchronous Algorithm 1, ARock operates asynchronously, utilizing the latest received dual variables from remote agents without the need for synchronous execution as per (26) and (27), making it less sensitive to communication delays. In addition, ARock is proven to have linear convergence [16].
B. Asynchronous Distributed Rotation Initialization
Nonlinearities in the pose graph problem primarily arise from rotations. With proper rotation initialization, the problem closely resembles a linear least squares issue, simplifying its solution. This technique of rotation initialization is known to effectively avoid local minima in PGO [64]. The goal of this initialization is to find an exact or approximate solution for the rotational component of Problem (20), a task akin to solving the rotation
Algorithm 3: ARock for Distributed Optimization.
Input: n UAVs, m landmarks, iter iterations.
1 Initialize for all to 0.
2 for to iter do
3 Solve the local optimization problem (26)
4 Update the dual states with (27).
5 Broadcast the dual state to all UAVs
6 if Convergence then
7 Break
averaging problem [65]
Chordal relaxation [66] is an effective algorithm for solving the rotation initialization problem. It starts by relaxing the SO(3) constraint in (28)
where denotes all rotations in and is a matrix representing the rotation of UAV i at time t. The term is the vertical prior, added because the rollpitch angle from VIO is observable and can be used as a prior, enhancing initialization [64]. Here, is the third row of with , and is the odometry output rotation of UAV i at time t. Problem (29) is a linear least squares problem that can be efficiently solved with a linear solver. Then, we can recover the rotation matrix by
where is the Frobenius norm. Problem (30) has a closedform solution with singular value decomposition (SVD) [65]
where is the initial result of , and is the SVD decomposition of
In , we solve Problem (29) distributively, redefining it as
Algorithm 4: Asynchronous Distributed Rotation Initializa
tion for UAV i.
Input: ε for termination, max_iter iterations,
min_iter to avoid early exiting
1 Initialize for all to 0.
2 for t = 1 to max iter do
3 Solve the local optimization problem with
defined from (32)
4 Update the dual states with Eq. (27).
5 Broadcast the dual state to neighbors
6 if $\begin{array} { r } { \frac { 1 } { | \mathcal { R } _ { i } | } \sum _ { \overline { { \mathbf { R } } } \in \mathcal { R } _ { i } } | ( \overline { { \mathbf { R } } } ) ^ { t } - ( \overline { { \mathbf { R } } } ) ^ { t - 1 } | _ { F } / | ( \overline { { \mathbf { R } } } ) ^ { t } | _ { F } < \epsilon } \end{array}$
and iter > min iter then
7 break
8 for do
9 Recover the rotation with (31)
Algorithm 5: Asynchronous Distributed Pose Graph Opti
mization for UAV i.
1 while Not shutdown do
2 if New data received then
3 Adding new states or cost functions to
optimizer.
4 Solve the local optimization problem (26) with
defined from (33)
5 Update the dual states with (27).
6 Broadcast the dual state to neighbors
7 Recover the poses with (34)
8 Sleep for a while
Utilizing Algorithm 3, we address problem (32) through our asynchronous distributed rotation initialization algorithm, detailed in Algorithm 4. The local optimization problem within Algorithm 4 [converting (32) into (26)] is a linear least squares problem, efficiently solvable via Cholesky factorization [67]. Iteration termination occurs when changes in the optimized state become negligible, as indicated in Algorithm 4 line 6, with representing the post-t-iteration state. In addition, to avoid premature termination (e.g., due to initial data absence), a minimum number of iterations is also set.
C. Asynchronous Distributed Pose Graph Optimization
After completing the initialization, we build the perturbation problem of (22) with the initialization rotation
\begin{array} { r l } & { \displaystyle \operatorname* { m i n } _ { { \bf x } _ { i } ^ { ( 1 ) } } \sum _ { i = 0 } ^ { N - 1 } f _ { { \bf p } _ { 0 } ^ { ( 2 ) } } ^ { * } ( { \bf x } _ { i } ^ { * } ) } \\ & { \displaystyle \int _ { { \bf p } _ { 0 } \bf { s } _ { i } } ^ { * } ( { \bf x } _ { i } ^ { * } ) = \sum _ { ( i _ { 0 } , j _ { i _ { 1 } } ) \in \mathcal { E } ^ { I } } \| ^ { n _ { k } } \hat { \bf p } _ { j } ^ { t _ { 1 } } - { \boldsymbol \nu } _ { k } ^ { n _ { k } } \hat { \bf p } _ { i } ^ { t _ { 0 } } - } \\ & { \displaystyle \mathbb { E } ( { \bf \mu } ^ { v _ { k } } \tilde { \bf R } _ { i } ^ { t _ { 0 } } , { \boldsymbol \nu } ^ { u } \delta \theta _ { i } ^ { t } ) { \bf z } _ { { \bf p } _ { i } - j _ { i } } ^ { v _ { i } \in \mathcal { I } _ { 1 } } \| _ { { { \bf D } _ { p } } } ^ { 2 } + } \\ & { \displaystyle \left\| \mathbb { E } ( { \bf \mu } ^ { v _ { k } } \tilde { \bf R } _ { j } ^ { t _ { 1 } } , { \boldsymbol \nu } ^ { u } \delta \theta _ { j } ^ { t _ { 1 } } ) - \mathbb { E } \| ^ { ( v _ { k } } \tilde { \bf R } _ { i } ^ { t _ { 0 } } , { \boldsymbol \nu } ^ { v _ { k } } \delta \theta _ { i } ^ { t _ { 1 } } ) { \bf z } _ { { \bf R } _ { i } - j _ { j } } ^ { t _ { 0 } \to \bar { t } _ { 1 } } \right\| _ { { { \bf D } _ { R } } } ^ { 2 } } \\ & \displaystyle \quad \times { \bf { I } } ^ { v _ { k } } \delta \theta _ { i } ^ { t } = { \bf E } _ { { \bf { k } } _ { i } ^ { n } } { \bf { ' } } ^ { * } { \boldsymbol \sigma } ^ \end{array}
where is the perturbation state of , where is the position of and so3 is the perturbation state of the rotation. is the the perturbation state of and is the global perturbation state, $\mathbb { E } ( { \mathbf { R } } , \delta { \boldsymbol { \theta } } ) = { \mathbf { R } } E x p ( \delta { \boldsymbol { \theta } } _ { i } ^ { t _ { 0 } } )$ retracts so3 vector to SO(3) at R [27], where Exp(·) maps so3 to SO(3) [68]. Contrasting with the two-step PGO approach in [4, eq. (10)], our Problem (33) is nonlinear and circumvents the accuracy issues associated with the linearization used in [4].
Our algorithm employs Algorithm 3 to address (33), ensuring asynchronicity. Transforming per (26) yields a nonlinear least squares problem, solvable via the Levenberg– Marquardt algorithm [69]. Convergence is determined by observing changes in the cost function of . As in gorithm 4, a minimum iteration count is set to avoid premature termination. After convergence, we recover the global pose with
Our asynchronous distributed PGO (ARockPGO) is outlined in Algorithm 5. Unlike Algorithm 4, ARockPGO operates continuously throughout UAV flight, updating at a fixed frequency (typically 1 Hz) and incrementally integrating new information. This approach balances convergence speed against communication load.
D. Convergence
ARock demonstrates strong convergence performance, suggesting it can potentially reach optimality in the initial stage of linear least squares problems. The effectiveness of rotation initialization in preventing convergence to incorrect local optima [64] enhances ability to achieve or closely approximate the global optimum.
E. Outlier Rejection
Currently, the mainstream outlier rejection methods for multirobot PGO include pairwise consistent measurement set maximization (PCM) [1], [3], [70] and graduated nonconvexity (GNC) [71]. PCM, independent ofback-end optimization, is efficient but less effective with large pose graphs. Conversely, GNC is integrated into back-end optimization, offering higher efficiency but operating synchronously. In , we adopt a distributed version of PCM as used in [1] and [3], mitigating PCM’s efficiency issues at scale. We believe this approach provides adequate performance for PGO that is not real-time critical.
F. Implementation
The initial stage of is designed to ensure accurate trajectory estimation even in highly noisy environments. However, in real-world applications, this stage is often unnecessary, as VIO’s yaw measurements are typically precise, allowing for its omission in practice.
is implemented in C++, utilizing Eigen [72]’s LLT algorithm for the linear least squares calculation in rotation initialization. For the second stage, we employ the Levenberg– Marquardt algorithm from Ceres-solver [61].

Fig. 10. Our aerial platform equipped with quad fisheye cameras, an onboard computer, an all-in-one flight controller, an additional Intel RealSense d435i camera, and a 6-s 18650 battery.
VIII. SYSTEM SETUP
Our experimental aerial swarm is based on custom-modified aerial robots, as depicted in Fig. 10. Each UAV is a modified 3.5-inch cinewhoop FPV UAV, equipped with a quartet of fisheye cameras providing 360° horizontal visibility. They are powered by NVIDIA Xavier NX onboard computers, boasting robust GPU capabilities. To minimize takeoff weight, we use a lightweight, integrated flight controller with four electronic speed controls and customized PX4 [74] firmware. The UAV’s takeoff weight is approximately 623 g with a 22.8v 1550-mah battery, offering a maximum endurance of about 10 min, which suffices for our tests. Optionally, an Intel RealSense d435i camera can be mounted on the UAV.
is implemented in C++ and utilizes ONNX Runtime [75] for CNN inference. We activate TensorRT for enhanced performance, employing the int8 mode on the onboard computer to optimize speed. In addition, we develop TaichiSLAM, a GPU-accelerated mapping module, serving as the dense mapping back end for later experiments. TaichiSLAM, crafted in the high-performance Taichi language [76], integrates various algorithms like OctoMap [77], TSDF & ESDF [78], and submap fusion [21] to create globally consistent maps. However, as dense mapping algorithms are not the primary focus of , they are not elaborated in detail.
IX. EXPERIMENTS
A. Datasets & Evaluation Setup
In the evaluation presented in this section, we test using various publicly available and customized datasets. These datasets use either stereo cameras or quad cameras as input and partly used a motion capture system to capture ground truth data, as shown in Table I. To simulate the scenario of multiple robots operating simultaneously, we align multiple segments of data into a single multirobot dataset.
Details on the evaluation metrics are available in [1]. Notably, the term relative error (RE) in this context refers to the accuracy of relative state estimation among UAVs. In the following tables, position measurements are in meters and rotation in degrees.
In real-time scenarios, we do not require distributed optimization to fully converge, similar to some single-robot SLAM systems like VINS-Mono [12], which typically limits backend optimization to just eight iterations. Synchronous performs four iterations per solution of (9)–(12), while asynchronous requires only a single run of these equations per optimization. Given that continuously integrates new data and commences optimization from the previous results, with most of the states from the last optimization still included in effectively experience multiple iterations over time in the asynchronous framework. handling in real-time systems is similar to asynchronous
TABLE I
DATASETS USED FOR VALIDATION
| Dataset | RobotNumber | Sensors | Movement | Groundtruth | Source | |
| TUM ROOM 2-5 | 2 to 5 | Stereo CameraIMU | HandHold | [73] | ||
| TUM Corr 2-5 | 2 to 5 | Partial | ||||
| HKUST RI 3 | 3 | Stereo CameraDepth CameraIMU | No | Customized | ||
| Omni 2-5 | 2 to 5 | Quad fisheye camerasIMU | Flight | Yes | ||
| OmniLongNoYaw 5 | 5 | Flight with YawAngle Fixed | ||||
| OmniLongYaw 5 | 5 | Flight with YawAngle Moving | ||||
Numbers added as suffix to the datasets correspond to the number of robots involved.
TABLE II
STATISTICAL COMPARISON OF AGAINST VINS-MONO AND D2VINS (SINGLE) ON THE TUM VI ROOM DATASET, WHERE ATE AND RE ARE DEFINED AS [1]
| Dataset | Traj. Len. | Method | ||||
| TUM ROOM 3 (30s) | 18.3 | D2VINS | 0.030 | 0.99 | 0.025 | 0.77 |
| D2VINS (async) | 0.035 | 1.63 | 0.025 | 0.74 | ||
| D2VINS (single) | 0.054 | 2.44 | 0.055 | 1.72 | ||
| VINS-Mono | 0.055 | 0.66 | 0.072 | 0.52 | ||
| TUM ROOM 3 | 141.6 | D2VINS | 0.128 | 2.40 | 0.119 | 2.95 |
| D2VINS (async) | 0.111 | 2.63 | 0.098 | 3.08 | ||
| D2VINS (single) | 0.181 | 3.16 | 0.161 | 2.91 | ||
| VINS-Mono | 0.139 | 1.49 | 0.212 | 2.11 | ||
| TUM ROOM 4 (30s) | 19.1 | D2VINS | 0.057 | 2.20 | 0.020 | 0.74 |
| D2VINS (async) | 0.124 | 1.73 | 0.038 | 0.78 | ||
| D2VINS (single) | 0.067 | 3.95 | 0.064 | 1.86 | ||
| VINS-Mono | 0.056 | 0.67 | 0.063 | 0.52 | ||
| TUM ROOM 4 | 100.9 | D2VINS | 0.115 | 2.44 | 0.080 | 1.72 |
| D2VINS (async) | 0.105 | 2.18 | 0.082 | 1.85 | ||
| D2VINS (single) | 0.178 | 4.40 | 0.144 | 2.88 | ||
| VINS-Mono | 0.125 | 1.37 | 0.156 | 1.55 | ||
| TUM ROOM 5 (30s) | 19.2 | D2VINS | 0.079 | 1.35 | 0.039 | 0.73 |
| D2VINS (async) | 0.108 | 4.50 | 0.037 | 0.89 | ||
| D2VINS (single) | 0.068 | 3.81 | 0.090 | 1.73 | ||
| VINS-Mono | 0.053 | 0.69 | 0.058 | 0.65 | ||
| TUM ROOM 5 | 103.5 | D2VINS | 0.090 | 1.85 | 0.073 | 1.57 |
| (async) | 0.134 | 4.05 | 0.091 | 2.10 | ||
| D2VINS (single) | 0.194 | 4.26 | 0.183 | 3.28 | ||
| VINS-Mono | 0.164 | 1.62 | 0.209 | 2.28 |
These datasets exhibit good common FoV during the initial 30 s, hence the results are separately presented for this duration, marked as (30 s) The overall best results in ATE and RE are in bold
B. Evaluation of
Our initial tests focused on to assess its near-field state estimation performance. These tests did not rely on ground truth for initializing . We also compared with its single-robot variant, referred to as (single), and with the state-of-the-art VIO approach, VINS-Mono [12]. For alignment, VINS-Mono and (single) are synchronized using the initial pose from ground truth, mirroring the known UAV departure points setup used in [10].
Table II illustrates that our method achieves centimeter-level localization accuracy on the TUM ROOM dataset. Particularly during the first 30 s, where the common FoV is favorable, the relative localization accuracy is highly precise at 2.5 cm. Even without common FoV for most of the evaluation, our dataset maintains similar centimeter-level accuracy as demonstrated in state-of-the-art works [1], [11]. This evaluation underscores capability for accurate near-field state estimation using stereo cameras, especially with adequate common field of view, highlighting its potential for stereo camera-equipped UAV platforms.
We also test on custom datasets using omnidirectional cameras, with results detailed in Table III. Our method consistently achieves centimeter-level relative localization accuracy across scenarios ranging from 2–5 UAVs. However, we observe a slight decrease in relative localization accuracy as the distance between UAVs increased, as indicated in Table III. Despite this, the accuracy remains sufficient for inter-UAV collision avoidance. Notably, while both and VINS-Mono exhibit drift from ground truth over long flights with yaw rotation (as shown by the large ATE in Table III), particularly in the OmniLongYaw 5 scenario, still maintains centimeter-level relative localization accuracy. This underscores its capability for reliable relative localization in extended flight durations.
TABLE III
STATISTICAL COMPARISON OF WITH (SINGLE) AND VINS-MONO [12] USING OMNI DATASETS AND THE AVERAGE DISTANCE (AVG. DIS.) BETWEEN UAVS
| Dataset | Avg. Traj. Len. | Dis. | Method | ||||
| Omni 2 | 49.1 | 0.68 | 0.069 | 0.85 | 0.075 | ||
| D2VINS (async) | 0.103 | 4.41 | 0.088 | 0.21 | |||
| D2VINS (single) | 0.139 | 4.65 | 0.161 | 0.31 | |||
| VINS-Mono | 0.235 | 6.08 | 0.264 | 0.52 | |||
| Omni 5 | 45.4 | 1.03 | D2VINS | 0.075 | 0.71 | 0.076 | 0.37 |
| D2VINS (async) | 0.061 | 1.10 | 0.078 | 0.38 | |||
| D2VINS (single) | 0.160 | 5.56 | 0.225 | 0.47 | |||
| VINS-Mono | 0.282 | 4.21 | 0.331 | 0.61 | |||
| OmniLongNoYaw 5 | 213.7 | 0.48 | D2VINS | 0.122 | 0.83 | 0.043 | 0.53 |
| D2VINS (async) | 0.118 | 0.71 | 0.031 | 0.51 | |||
| D2VINS (single) | 0.150 | 4.36 | 0.109 | 0.39 | |||
| VINS-Mono | 0.500 | 1.78 | 0.307 | 1.26 | |||
| OmniLongYaw 5 | 237.0 | 0.38 | D2VINS | 2.322 | 11.09 | 0.028 | 0.65 |
| D2VINS (async) | 2.752 | 18.32 | 0.027 | 0.72 | |||
| D2VINS (single) | 1.366 | 6.06 | 1.019 | 1.22 | |||
| VINS-Mono | 4.865 | 12.48 | 1.466 | 3.40 |
The overall best results in ATE and RE are in bold
TABLE IV
COMPARISON OF WITH AND WITHOUT ROTATION INITIALIZATION, DETAILING BOTH INITIAL AND FINAL COSTS, AS WELL AS THE SIZE OF THE POSE GRAPH, WHICH INCLUDES THE COUNTS OF KEYFRAMES AND EDGES
| Dataset | Avg. Traj. Len. | Keyframes | Edges | Method | Initial Cost | Final Cost | Iterations | Solve Time (s) |
| TUM Corr 5 | 255.6 | 12065 | 16814 | D2PGO | 350408.6 | 234.2 | 10.1 | |
| D2PGO (NoRotInit) | 1920.4 | 238.4 | 10.1 | |||||
| OmniLongYaw 5 | 242.6 | 16430 | 51358 | D2PGO | 520424.1 | 1366.3 | 37.2 | 20.5 |
| D2PGO (NoRotInit) | 41072.3 | 31.6 | 20.4 | |||||
| HKUST RI 3 | 164.5 | 3347 | 3677 | 6438.5 | 12.1 | 152.0 | 3.0 | |
| D2PGO (NoRotInit) | 1301.8 | 197.0 | 3.0 |
In scenarios with sufficient common FoV, not only matches but often surpasses the state-of-the-art relative localization accuracy reported in [1] and [11], while also providing superior ego-motion estimation accuracy (evidenced by better ATE compared to VINS-Mono). In cases where common FoV is inconsistent, relative localization accuracy is comparable to that in [1] and [11]. Notably, our results outperform both VINS-Mono and (single) across almost all metrics in Tables II and III, demonstrating our algorithm’s superiority in multirobot scenarios. Specifically, the drift observed in VINS-Mono and (single) can significantly degrade their relative localization accuracy over extended periods, a drawback not evident in our approach.
Furthermore, Tables II and III present accuracy comparisons of asynchronous [labeled as (async) in the tables]. We observe that its performance closely parallels that of synchronous methods. However, in some instances, asynchronous exhibits slight instability in ATE. Given the communication benefits of asynchronous methods, opting for their deployment in real-world environments represents a reasonable compromise.
C. Evaluation of D2PGO
Table IV showcases optimization results for various pose graphs generated by the front ends of and . During the evaluation, we incorporated a consistent 50-ms communication delay to emulate real-world conditions. The comparison of performance, with and without rotation initialization, reveals that rotation initialization plays a crucial role in preventing from converging to local optima.
D. Evaluation of D2SLAM
We further evaluated on both public and custom datasets to assess the performance of our near- and far-field state estimation. Leveraging the high accuracy of VIO’s angle measurement and aiming for optimal real-time performance, only the second stage of was utilized in these tests. We conducted a comparison between and the stateof-the-art distributed CSLAM system DOOR-SLAM [3] using datasets with ground truth, with results presented in Table V. For this comparison, we applied our custom implementation in to generate PGO for DOOR-SLAM, ensuring consistency and eliminating potential discrepancies from different front ends.
TABLE V
STATISTICAL RESULTS COMPARING D2SLAM WITH DOOR-SLAM [3] ON OUR CUSTOM DATASETS
| Dataset | Method | ||||
| OmniLongYaw 5 | 0.168 | 3.33 | 0.037 | 0.91 | |
| DOOR-SLAM | 0.149 | 3.47 | 0.085 | 0.72 | |
| TUM ROOM 5 | D2SLAM | 0.032 | 0.72 | 0.079 | 1.90 |
| DOOR-SLAM | 0.064 | 1.47 | 0.122 | 1.86 | |
| TUM Corr 5 | D2SLAM | 0.275 | 3.93 | 0.206 | 1.77 |
| DOOR-SLAM | 0.068 | 1.26 | 0.145 | 2.39 |
The estimated trajectories and ground truth are aligned using multiple states [42], based on the first robot's estimations.
The overall best results in ATE and RE are in bold

Fig. 11. Figure illustrates estimated trajectories on the TUM Corr 2 Dataset, a combination of TUM VI corridor datasets 1, 2. In this dataset, two robots sequentially traverse the same corridor, marked by the black box section. Within this section, the trajectories from exhibit significant drift, whereas those from show minimal drift and maintain good alignment between the two robots.
Table V shows that our method outperforms DOOR-SLAM in relative state estimation on the first two datasets. This advantage arises because DOOR-SLAM relies on PGO, a common but loosely coupled approach in CSLAM. While both methods demonstrate comparable global consistency accuracy due to similar inputs, DOOR-SLAM exhibits superior performance on the TUM Corr dataset. This can be attributed to the partial ground truth available only at the beginning and end of the TUM Corr dataset, coupled with inadequate yaw overlap between UAVs toward the dataset’s end.
We conduct further tests of on larger scale datasets, including TUM VI Corr 5, HKUST RI 3, and OmniLongYaw 5, to evaluate its global consistency. The real-time odometry and final pose graphs estimated in these experiments are illustrated in Figs. 1(b), 11, and 12. The figures reveal a stark contrast: while trajectories from diverge from the starting point, those estimated by consistently return to the start. Notably, in accurately aligns the trajectories of two robots in the corridor (highlighted by the black box), unlike where drift occurs due to the robots not traversing the corridor simultaneously. These results affirm the global consistency of in far-field scenarios.
Fig. 1(a) displays the results of TSDF reconstruction using combined with submap fusion. The absence of noticeable drift in the map further also confirms the global consistency of
E. Scalability
In this section, we explore the scalability of computational performance.
1) Front End: The computational demands of remote feature matching and loop closure detection in the front end of scale approximately linearly with the number of nearby robots. These algorithms are efficient, and their performance in real-world experiments is detailed in Table VI.
2) Back End: The back-end dynamics are more complex. We adopt distributed optimization methods for graph optimization in this article. In practice, implements a tailored landmark selection algorithm, MLS, balancing computational efficiency, accuracy, and robustness. This algorithm allows the number of visual measurements processed by to scale with the increase in robots, up to the limit. We have chosen a relatively high value to enhance the robustness of
In Figs. 13 and 14, we demonstrate the scalability of VINS and DPGO by charting the average computation time per operation against the increasing swarm size. Notably, on the TUM Room 5 dataset, there is a slight decrease in rotation accuracy with more robots, likely due to reduced interrobot overlap in stereo camera FoVs. This issue does not occur in the OmniLongYaw 5 dataset with omnidirectional cameras. As the swarm size expands, the problem size grows quadratically. However, computational requirement for optimization increases at no more than a linear rate, showcasing the algorithm’s efficiency. Furthermore, provides flexibility in managing computational load through adjustable parameters and , suitable for diverse computational platforms. Reducing computational complexity through these parameters does not significantly compromise accuracy.
The time taken for marginalization increases with the number of robots, although, in theory, marginalization computation should be similar to a single optimization linear iteration. This discrepancy is primarily due to the Ceres-solver framework’s conventional approach of converting marginalization results into square root form for optimization [12], [60], which we plan to further optimize in the future.
F. Communication
Effective communication is pivotal for successful aerial swarm operations. To shed light on this aspect, Table VII details the sizes and broadcast frequencies of key messages transmitted by on each UAV. In addition, Table VIII presents a comparison between communication strategy (as detailed in Section IV-B) and a baseline method. This baseline strategy involves broadcasting all measurements (represented as complete keyframes in our context) without changing communication modes and is referenced in [1]. ’s tailored strategy significantly reduces communication volume, especially when UAVs are widely dispersed.
Transitioning from the broader communication strategy, we delve into specifics for a 5-UAV swarm. Here, the maximum value of reaches 51, leading to a maximum update size of 3.5 kB per timestep. The value of , which varies depending on the map and environment. For example, in TUM Corr 5 dataset, a typical value is 1262, resulting in each update being approximately 81 kB.
G. Real-World Experiments ofD2SLAM
Beyond dataset validation, we also test in realistic environments using our UAV platforms. In these real-world experiments, as depicted in Fig. 15 and Table IX, successfully handles limitations in computing power and communication, performing as anticipated. The table includes data from two flights, conducted by UAVs equipped with Realsense d435i cameras and utilizing the stereo version of In the UAV2 NoYaw experiment, the UAVs maintain fixed yaw angles, whereas in UAV2 Yaw, they rotate yaw angles according to their flight paths.



Fig. 12. Images display trajectories estimated by and in the OmniLongYaw 5 dataset. The trajectories from show noticeable drift, whereas those from remain closely aligned with the ground truth.
TABLE VI
TYPICAL COMPUTATIONAL TIME AND RUNNING FREQUENCY OF EACH MODULE IN THE REAL-WORLD EXPERIMENT OF
| Item | ImagePreprocesing | Feature Tracking(Local) | Feature Tracking(Remote) | Optimization | Marginalization |
| Frequency | 15 Hz | 15 Hz | 5Hz | 5Hz | 5Hz |
| Time cost | 41.7ms | 2.67ms | 1.64ms | 56.23ms | 16.88ms |

(a)

(b)

(c)

(d)

(e)

(f)

(g)

(h)
Fig. 13. Image illustrates the average time per iteration, marginalization time, translation error, and rotation error of for varying numbers of robots. We set for the evaluation and compared results across different values. Sub-figures (a)– (d) represent stereo camera results derived from the TUM Room 5 dataset, while (e)–(h) show results from quad fisheye cameras using the OmniLongYaw 5 dataset.
TABLE VII
TYPICAL MESSAGE SIZES AND BROADCAST FREQUENCIES IN AM
| Item | Complete Keyframe(Stereo) | Complete Keyframe(Omni) | Compact Keyframe(Stereo) | Compact Keyframe(Omni) | D2VINS Update | D2PGO Update |
| Size | 20.1kB | 56.3kB | 1.2kB | 4.8kB | ||
| Frequency | 5 | 5 | 5 | 5 | 5 | 1 |
The terms 'D2VINS Update' and 'D2PGO Update' in the table refer to messages used for synchronization in swarm optimization within D2SLAM. Here represents the number of poses in each UAV's sliding window, and e denotes the sum of dual states in the ARock algorithm


(a)
(b)
Fig. 14. Image depicts the average iteration time of with varying numbers of robots, derived from the TUM Corr 5 dataset. Sub-figure (a) presents the results ofrotation initialization, while (e)–(h) show the results ofARockPGO.
TABLE VIII
TOTAL COMMUNICATION VOLUME IN MB OF IN BASELINE MODE AND D2SLAM MODE
| Dataset | Mode | Front-end | Back-end | |
| D2PGO | ||||
| OmniLong Yaw 5 | Baseline | 1546.7 | 75.9 | 2340.9 |
| D2SLAM | 984.2 | 70.8 | 2179.4 | |
| TUM ROOM 5 | Baseline | 266.4 | 1.6 | 42.0 |
| D2SLAM | 244.2 | 1.2 | 31.0 | |
| TUM Corr 5 | Baseline | 344.2 | 2.4 | 60.1 |
| D2SLAM | 323.0 | 2.9 | 74.1 | |
| HKUST RI 3 | Baseline | 231.8 | 10.1 | 13.4 |
| D2SLAM | 105.4 | 9.6 | 11.9 | |
TABLE IX
D2SLAM’S ACCURACY RESULTS FROM TWO FLIGHT EXPERIMENTS
| Experiment | Traj. Len. | ||||||||
| X | y | Z | |||||||
| UAV2 NoYaw | 51.0 | 0.103 | 0.090 | 0.047 | 0.067 | 0.056 | |||
| UAV2 Yaw | 73.3 | 0.219 | 0.147 | 0.124 | 0.144 | 0.100 | 8.88° | ||
The alignment approach for evaluating accuracy is consistent with that used in Table V.

Fig. 15. Images display trajectories estimated by and in a real-world experiment.
demonstrates robust global consistency in both scenarios, with the ATE of being only about 10 cm for flights ranging between 50 and 70 m. This ATE accuracy of surpasses that of highlighting the crucial role of in achieving global consistency for . In terms of relative localization, achieves centimeter-level accuracy with fixed yaw. However, the rotating yaw experiment reveals reduced relative localization accuracy, a consequence of the stereo version’s limited FoV, as previously discussed.
Table VI displays the performance and operating frequency of key algorithms when executed on the onboard computer during real-world experiments. Furthermore, communication between UAVs in these experiments is smooth: the average communication delay is only 23.89 ms. This demonstrates that meets real-time operational requirements in real-world aerial swarm systems.
X. CONCLUSION
In this article, we introduce , a distributed and decentralized collaborative visual-inertial SLAM system. Our experiments demonstrate that excels in real-time, high-precision local localization, and maintains high-precision relative localization when UAVs are in proximity, showcasing its capability for accurate near-field state estimation. In addition, can simultaneously estimate globally consistent trajectories, ensuring far-field state estimation with global consistency. With its flexible sensor configuration and versatile state estimation capabilities, is poised to advance aerial swarm research, with applications ranging from self-assembling aerial swarms and cooperative transportation to inter-UAV collision avoidance and exploration of unknown environments.
While , as presented in this article, demonstrates considerable potential, it also has areas for future improvement: 1) despite its distributed back end, the scalability of swarm size is currently constrained by communication and front-end computing capabilities. Future enhancements to aim to enable its application to significantly larger aerial swarms. 2) Unlike our previous work, adopts a more traditional visual SLAM approach without incorporating relative measurements, such as UWB or mutual visual detection. This design choice makes adaptable to a wider range of scenarios, including those with occlusions affecting UWB measurements or challenges in accurate visual identification of robots. However, recognizing the efficiency of relative measurements in certain contexts, we plan to integrate these into in future developments. 3) Future improvement will also investigate leveraging hardware layer information or dense map data to assess communication quality between UAVs. This initiative aims to optimize network bandwidth utilization for state estimation algorithms.
Furthermore, we envision s applicability extending beyond multirobot systems to serve as a distributed visualinertial SLAM system within a single robot. For example, deploying multiple nodes on a single rigid UAV or ground robot could enhance state estimation accuracy and resilience against individual node failures. These nodes could also form distributed stereo camera systems to extend the range of environmental perception, as explored in [31]. In addition, deploying on multirigid robots, such as multilegged platforms, and incorporating specific constraints could further refine their state and environmental estimations while offering redundancy.
REFERENCES
[1] H. Xu et al., “Omni-swarm: A decentralized omnidirectional visualinertial-UWB state estimation system for aerial swarms,” IEEE Trans. Robot., vol. 38, no. 6, pp. 3374–3394, Dec. 2022.
[2] Y. Tian, Y. Chang, F. H. Arias, C. Nieto-Granda, J. P. How, and L. Carlone, “Kimera-multi: Robust, distributed, dense metric-semantic slam for multi-robot systems,” IEEE Trans. Robot., vol. 38, no. 4, pp. 2022–2038, Aug. 2022.
[3] P.-Y. Lajoie, B. Ramtoula, Y. Chang, L. Carlone, and G. Beltrame, “DOOR-SLAM: Distributed, online, and outlier resilient SLAM for robotic teams,” IEEE Robot. Automat. Lett., vol. 5, no. 2, pp. 1656–1663, Apr. 2020.
[4] S. Choudhary, L. Carlone, C. Nieto, J. Rogers, H. I. Christensen, and F. Dellaert, “Distributed mapping with privacy and communication constraints: Lightweight algorithms and object-based models,” Int. J. Robot. Res., vol. 36, no. 12, pp. 1286–1311, 2017.
[5] X. Zhou et al., “Swarm of micro flying robots in the wild,” Sci. Robot., vol. 7, no. 66, 2022, Art. no. eabm5954.
[6] B. Zhou, H. Xu, and S. Shen, “RACER: Rapid collaborative exploration with a decentralized multi-UAV system,” IEEE Trans. Robot., vol. 39, no. 3, pp. 1816–1835, Jun. 2022.
[7] D. Saldana, B. Gabrich, G. Li, M. Yim, and V. Kumar, “ModQuad: The flying modular structure that self-assembles in midair,” in Proc. IEEE Int. Conf. Robot. Automat., 2018, pp. 691–698.
[8] G. Loianno and V. Kumar, “Cooperative transportation using small quadrotors using monocular vision and inertial sensing,” IEEE Robot. Automat. Lett., vol. 3, no. 2, pp. 680–687, Apr. 2018.
[9] X. Zhou, J. Zhu, H. Zhou, C. Xu, and F. Gao, “EGO-Swarm: A fully autonomous and decentralized quadrotor swarm system in cluttered environments,” in Proc. IEEE Int. Conf. Robot. Automat., 2021, pp. 4101–4107.
[10] P. C. Lusk, X. Cai, S. Wadhwania, A. Paris, K. Fathian, and J. P. How, “A distributed pipeline for scalable, deconflicted formation flying,” IEEE Robot. Automat. Lett., vol. 5, no. 4, pp. 5213–5220, Oct. 2020.
[11] H. Xu, L. Wang, Y. Zhang, K. Qiu, and S. Shen, “Decentralized visualinertial-UWB fusion for relative state estimation of aerial swarm,” in Proc. IEEE Int. Conf. Robot. Automat., 2020, pp. 8776–8782.
[12] T. Qin, P. Li, and S. Shen, “VINS-Mono: A robust and versatile monocular visual-inertial state estimator,” IEEE Trans. Robot., vol. 34, no. 4, pp. 1004–1020, Aug. 2018.
[13] W. Shi, Q. Ling, K. Yuan, G. Wu, and W. Yin, “On the linear convergence of the ADMM in decentralized consensus optimization,” IEEE Trans. Signal Process., vol. 62, no. 7, pp. 1750–1761, Apr. 2014.
[14] R. Zhang, S. Zhu, T. Fang, and L. Quan, “Distributed very large scale bundle adjustment by global camera consensus,” in Proc. IEEE Int. Conf. Comput. Vis., 2017, pp. 29–38.
[15] A. Eriksson, J. Bastian, T.-J. Chin, and M. Isaksson, “A consensus-based framework for distributed bundle adjustment,” in Proc. IEEE Conf. Comput. Vis. Pattern Recognit., 2016, pp. 1754–1762.
[16] Z. Peng, Y. Xu, M. Yan, and W. Yin, “ARock: An algorithmic framework for asynchronous parallel coordinate updates,” SIAM J. Sci. Comput., vol. 38, no. 5, pp. A2851–A2879, 2016.
[17] D. Rosen, L. Carlone, A. Bandeira, and J. Leonard, “SE-Sync: A certifiably correct algorithm for synchronization over the special Euclidean group,” Int. J. Robot. Res., vol. 38, no. 2/3, pp. 95–125, Mar. 2019.
[18] J. Briales and J. Gonzalez-Jimenez, “Cartan-sync: Fast and global SE(d)-synchronization,” IEEE Robot. Automat. Lett., vol. 2, no. 4, pp. 2127–2134, Oct. 2017.
[19] F. Dellaert et al., “Factor graphs for robot perception,” Foundations Trends Robot., vol. 6, no. 1/2, pp. 1–139, 2017.
[20] R. Mur-Artal, J. M. M. Montiel, and J. D. Tardos, “ORB-SLAM: A versatile and accurate monocular SLAM system,” IEEE Trans. Robot., vol. 31, no. 5, pp. 1147–1163, Oct. 2015.
[21] V. Reijgwart, A. Millane, H. Oleynikova, R. Siegwart, C. Cadena, and J. Nieto, “VoxGraph: Globally consistent, volumetric mapping using signed distance function submaps,” IEEE Robot. Automat. Lett., vol. 5, no. 1, pp. 227–234, Jan. 2020.
[22] A. Cunningham, M. Paluri, and F. Dellaert, “DDF-SAM: Fully distributed SLAM using constrained factor graphs,” in Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst., 2010, pp. 3025–3030.
[23] A. Cunningham, V. Indelman, and F. Dellaert, “DDF-SAM 2.0: Consistent distributed smoothing and mapping,” in Proc. IEEE Int. Conf. Robot. Automat., 2013, pp. 5220–5227.
[24] N. Michael et al., “Collaborative mapping of an earthquake damaged building via ground and aerial robots,” in Field and Service Robotics. Berlin, Germany: Springer, 2014, pp. 33–47.
[25] D. P. Bertsekas and J. N. Tsitsiklis, Parallel and Distributed Computation: Numerical Methods. Englewood Cliffs, NJ, USA: Prentice-Hall, 1989.
[26] Y. Tian, A. Koppel, A. S. Bedi, and J. P. How, “Asynchronous and parallel distributed pose graph optimization,” IEEE Robot. Automat. Lett., vol. 5, no. 4, pp. 5819–5826, Oct. 2020.
[27] N. Boumal, “An introduction to optimization on smooth manifolds,” Nov. 2020. [Online]. Available: http://www.nicolasboumal.net/book
[28] Y. Tian, K. Khosoussi, D. M. Rosen, and J. P. How, “Distributed certifiably correct pose-graph optimization,” IEEE Trans. Robot., vol. 37, no. 6, pp. 2137–2156, Dec. 2021.
[29] A. Rosinol, M. Abate, Y. Chang, and L. Carlone, “Kimera: An open-source library for real-time metric-semantic localization and mapping,” in Proc. IEEE Int. Conf. Robot. Automat., 2020, pp. 1689–1696.
[30] B. Triggs, P. F. McLauchlan, R. I. Hartley, and A. W. Fitzgibbon, “Bundle adjustment—A modern synthesis,” in Proc. Int. workshop Vis. Algorithms, 1999, pp. 298–372.
[31] M. Karrer and M. Chli, “Distributed variable-baseline stereo SLAM from two UAVs,” in Proc. IEEE Int. Conf. Robot. Automat., 2021, pp. 82–88.
[32] P. Zhu, P. Geneva, W. Ren, and G. Huang, “Distributed visual-inertial cooperative localization,” in Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst., 2021, pp. 8714–8721.
[33] P. Zhu, Y. Yang, W. Ren, and G. Huang, “Cooperative visual-inertial odometry,” in Proc. IEEE Int. Conf. Robot. Automat., 2021, pp. 13135–13141.
[34] R. Jung and S. Weiss, “Scalable recursive distributed collaborative state estimation for aided inertial navigation,” in Proc. IEEE Int. Conf. Robot. Automat., 2021, pp. 1896–1902.
[35] K. Guo, X. Li, and L. Xie, “Ultra-wideband and odometry-based cooperative relative localization with application to multi-UAV formation control,” IEEE Trans. Cybern., vol. 50, no. 6, pp. 2590–2603, Jun. 2020.
[36] T. Ziegler, M. Karrer, P. Schmuck, and M. Chli, “Distributed formation estimation via pairwise distance measurements,” IEEE Robot. Automat. Lett., vol. 6, no. 2, pp. 3017–3024, Apr. 2021.
[37] T. H. Nguyen, T.-M. Nguyen, and L. Xie, “Range-focused fusion of Camera-IMU-UWB for accurate and drift-reduced localization,” IEEE Robot. Automat. Lett., vol. 6, no. 2, pp. 1678–1685, Apr. 2021.
[38] T. Nguyen, K. Mohta, C. J. Taylor, and V. Kumar, “Vision-based multi-MAV localization with anonymous relative measurements using coupled probabilistic data association filter,” in Proc. IEEE Int. Conf. Robot. Automat., 2020, pp. 3349–3355.
[39] G. Huang, “Visual-inertial navigation: A concise review,” in Proc. Int. Conf. Robot. Automat., 2019, pp. 9572–9582.
[40] T. Qin, P. Li, and S. Shen, “Relocalization, global optimization and map merging for monocular visual-inertial SLAM,” in Proc. IEEE Int. Conf. Robot. Automat., 2018, pp. 1197–1204.
[41] K. Qiu, T. Liu, and S. Shen, “Model-based global localization for aerial robots using edge alignment,” IEEE Robot. Automat. Lett., vol. 2, no. 3, pp. 1256–1263, Jul. 2017.
[42] Z. Zhang and D. Scaramuzza, “A tutorial on quantitative trajectory evaluation for visual(-inertial) odometry,” in Proc. IEEE/RSJ Int. Conf. Intell. Robot. Syst., 2018, pp. 7244–7251.
[43] R. Zhang and J. Kwok, “Asynchronous distributed ADMM for consensus optimization,” in Proc. Int. Conf. Mach. Learn., 2014, pp. 1701–1709.
[44] A. D. Kshemkalyani and M. Singhal, Distributed Computing: Principles, Algorithms, and Systems. Cambridge, U.K.: Cambridge Univ. Press, 2011.
[45] W. Gao and S. Shen, “Dual-fisheye omnidirectional stereo,” in Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst., 2017, pp. 6715–6722.
[46] C. Won, H. Seok, Z. Cui, M. Pollefeys, and J. Lim, “OmniSLAM: Omnidirectional localization and dense mapping for wide-baseline multi-camera systems,” in Proc. IEEE Int. Conf. Robot. Automat., 2020, pp. 559–566.
[47] E. Plaut, E. B. Yaacov, and B. El Shlomo, “3D object detection from a single fisheye image without a single fisheye training image,” in Proc. IEEE/CVF Conf. Comput. Vis. Pattern Recognit., 2021, pp. 3654–3662.
[48] P.-E. Sarlin, C. Cadena, R. Siegwart, and M. Dymczyk, “From coarse to fine: Robust hierarchical localization at large scale,” in Proc. IEEE Conf. Comput. Vis. Pattern Recognit., 2019, pp. 12708–12717.
[49] D. DeTone, T. Malisiewicz, and A. Rabinovich, “Superpoint: Selfsupervised interest point detection and description,” in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. Workshops, 2018, pp. 337–33712.
[50] R. Mur-Artal and J. D. Tardós, “ORB-SLAM2: An open-source SLAM system for monocular, stereo and RGB-D cameras,” IEEE Trans. Robot., vol. 33, no. 5, pp. 1255–1262, Oct. 2017.
[51] D. G. Lowe, “Distinctive image features from scale-invariant keypoints,” Int. J. Comput. Vis., vol. 60, pp. 91–110, 2004.
[52] J. Johnson, M. Douze, and H. Jégou, “Billion-scale similarity search with GPUs,” IEEE Trans. Big Data, vol. 7, no. 3, pp. 535–547, Jul. 2021.
[53] L. Kneip, H. Li, and Y. Seo, “UPnP: An optimal O(n) solution to the absolute pose problem with universal applicability,” in Proc. Eur. Conf. Comput. Vis., 2014, pp. 127–142.
[54] L. Kneip and P. Furgale, “OpenGV: A unified and generalized approach to real-time calibrated geometric vision,” in Proc. IEEE Int. Conf. Robot. Automat., 2014, pp. 1–8.
[55] J. Civera, A. J. Davison, and J. M. Montiel, “Inverse depth parametrization for monocular SLAM,” IEEE Trans. Robot., vol. 24, no. 5, pp. 932–945, Oct. 2008.
[56] P. J. Huber, “Robust estimation of a location parameter,” in Breakthroughs in Statistics. Berlin, Germany: Springer, 1992, pp. 492–518.
[57] J. L. Blanco-Claraco, “A tutorial on SE(3) transformation parameterizations and on-manifold optimization,” 2021, arXiv:2103.15980.
[58] F. L. Markley, Y. Cheng, J. L. Crassidis, and Y. Oshman, “Averaging quaternions,” J. Guid., Control, Dyn., vol. 30, no. 4, pp. 1193–1197, 2007.
[59] H. Xu and S. Shen, “BDPGO: Balanced distributed pose graph optimization framework for swarm robotics,” 2021, arXiv:2109.04502.
[60] S. Leutenegger, S. Lynen, M. Bosse, R. Siegwart, and P. Furgale, “Keyframe-based visual–inertial odometry using nonlinear optimization,” Int. J. Robot. Res., vol. 34, no. 3, pp. 314–334, 2015.
[61] S. Agarwal et al., “Ceres solver,” 2023. [Online]. Available: http://ceressolver
[62] K. Madsen, H. Nielsen, and O. Tingleff, “Methods for non-linear least squares problems (2nd ed.),” 2004.
[63] G. Grisetti, R. Kümmerle, C. Stachniss, and W. Burgard, “A tutorial on graph-based SLAM,” IEEE Intell. Transp. Syst. Mag., vol. 2, no. 4, pp. 31–43, Winter 2010.
[64] L. Carlone, R. Tron, K. Daniilidis, and F. Dellaert, “Initialization techniques for 3D SLAM: A survey on rotation estimation and its use in pose graph optimization,” in Proc. IEEE Int. Conf. Robot. Automat., 2015, pp. 4597–4604.
[65] R. Hartley, J. Trumpf, Y. Dai, and H. Li, “Rotation averaging,” Int. J. Comput. Vis., vol. 103, no. 3, pp. 267–305, 2013.
[66] D. Martinec and T. Pajdla, “Robust rotation and translation estimation in multiview reconstruction,” in Proc. IEEE Conf. Comput. Vis. Pattern Recognit., 2007, pp. 1–8.
[67] J. Nocedal and S. J. Wright, Numerical Optimization. Berlin, Germany: Springer, 1999.
[68] J. Sola, “Quaternion kinematics for the error-state Kalman filter,” 2017, arXiv:1711.02508.
[69] J. J. Moré, “The Levenberg-Marquardt algorithm: Implementation and theory,” in Numerical Analysis. Berlin, Germany: Springer, 1978, pp. 105–116.
[70] J. G. Mangelson, D. Dominic, R. M. Eustice, and R. Vasudevan, “Pairwise consistent measurement set maximization for robust multi-robot map merging,” in Proc. IEEE Int. Conf. Robot. Automat., 2018, pp. 2916–2923.
[71] H. Yang, P. Antonante, V. Tzoumas, and L. Carlone, “Graduated nonconvexity for robust spatial perception: From non-minimal solvers to global outlier rejection,” IEEE Robot. Automat. Lett., vol. 5, no. 2, pp. 1127–1134, Apr. 2020.
[72] G. Guennebaud et al., “Eigen v3,” 2010. [Online]. Available: http://eigen. tuxfamily.org
[73] D. Schubert, T. Goll, N. Demmel, V. Usenko, J. Stückler, and D. Cremers, “The TUM VI benchmark for evaluating visual-inertial odometry,” in Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst., 2018, pp. 1680–1687.
[74] L. Meier, D. Honegger, and M. Pollefeys, “PX4: A node-based multithreaded open source robotics framework for deeply embedded platforms,” in Proc. IEEE Int. Conf. Robot. Automat., 2015, pp. 6235–6240.
[75] O. R. Developers, “ONNX runtime,” 2021. [Online]. Available: https:// onnxruntime.ai/
[76] Y. Hu, T.-M. Li, L. Anderson, J. Ragan-Kelley, and F. Durand, “Taichi: A language for high-performance computation on spatially sparse data structures,” ACM Trans. Graph., vol. 38, no. 6, pp. 1–16, 2019.
[77] K. M. Wurm, A. Hornung, M. Bennewitz, C. Stachniss, and W. Burgard, “OctoMap: A probabilistic, flexible, and compact 3D map representation for robotic systems,” in Proc. IEEE Int. Conf. Robot. Automat., 2010, pp. 189–206.
[78] H. Oleynikova, Z. Taylor, M. Fehr, R. Siegwart, and J. Nieto, “Voxblox: Incremental 3D Euclidean signed distance fields for on-board MAV planning,” in Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst., 2017, pp. 1366–1373.

Hao Xu received the B.Sc. degree in physics from the University of Science and Technology, Hefei, China, in 2016, and the Ph.D. degree in electronic and computer engineering from the Hong Kong University of Science and Technology, Hong Kong, in 2023.
He is currently working as an Algorithm Engineer with Shenzhen DJI Sciences and Technologies Ltd., Shenzhen, China. His research interests include unmanned aerial vehicles, aerial swarm, state estimation, sensor fusion, localization, and mapping.


Peize Liu (Graduate Student Member, IEEE) received the B.Sc. degree in software engineering from the University of Electronic Science and Technology of China, Chengdu, China, in 2022. He is currently working toward the Ph.D. degree in electronic and computer engineering with the Hong Kong University of Science and Technology, Hong Kong, under the supervision of Prof. Shaojie Shen.
His research interests include unmanned aerial vehicles, state estimation in aerial swarm, and swarm system.
Xinyi Chen (Graduate Student Member, IEEE) received the B.Sc. degree in mathematics, and in computer science from the Hong Kong University of Science and Technology, Hong Kong, in 2021. She is currently working toward the Ph.D. degree in electronic and computer engineering with the Hong Kong University of Science and Technology, Hong Kong, under the supervision of Prof. Shaojie Shen.
Her research interests include aerial vehicles, motion planning, autonomous exploration, aerial swarm, localization and mapping.

Shaojie Shen (Member, IEEE) received the B.Eng. degree in electronic engineering from the Hong Kong University of Science and Technology (HKUST), Hong Kong, in 2009, the M.S. degree in robotics and Ph.D. in electrical and systems engineering from the University of Pennsylvania, Philadelphia, PA, USA, in 2011 and 2014, respectively.
In 2014, he joined the Department of Electronic and Computer Engineering, HKUST, as an Assistant Professor, and was promoted to Associate Professor in 2020. He is the founding Director of the HKUST-
DJI Joint Innovation Laboratory (HDJI Lab). His research interests include robotics and unmanned aerial vehicles, with focus on state estimation, sensor fusion, localization and mapping, and autonomous navigation in complex environments.
md/2024__D__2__SLAM__Decentralized_and_Distributed_Collaborative.md 预渲染生成。公式以 MathML 呈现,浏览器原生渲染,不依赖外部脚本或字体 CDN。