← 论文海报合集← Paper Notes|
多机器人协同定位 · 状态估计Multi-Robot Cooperative Localization · State Estimation

基于矩阵李群的分布式不变卡尔曼滤波:多机器人协同定位DInEKF: Distributed Invariant Kalman Filter for Cooperative Localization

Distributed Invariant Kalman Filter for Cooperative Localization using Matrix Lie Groups
Yizhi Zhou, Yufan Liu, Pengxiang Zhu, Xuan Wang · George Mason University / UC Berkeley / UC Riverside

在多机器人协同定位(CL)里,机器人一旦互相交换估计,误差就变得相关,而标准 EKF 又因为 Jacobian 依赖状态估计而丢掉系统本该有的可观测性,两件事叠在一起让估计器过于自信、不一致。本文把每台机器人的朝向、速度、位置放到矩阵李群 SE₂(3) 上,用右不变误差推出与状态估计无关的 Jacobian(DInEKF),再用 covariance intersection 融合来自单跳通信邻居的相对观测修正量。仿真与 Crazyflie 2.1 纳米四旋翼实机实验都显示,DInEKF 在精度与一致性上均优于四元数版分布式 EKF(QDEKF)。In multi-robot Cooperative Localization (CL), the moment robots exchange estimates with each other their errors become correlated, while the standard EKF additionally loses the observability the system ought to have because its Jacobians depend on the state estimate; the two together make the estimator overconfident and inconsistent. This paper places each robot's orientation, velocity and position on the matrix Lie group SE₂(3), derives state-estimate-independent Jacobians from the right-invariant error (DInEKF), and then fuses the relative-measurement corrections from one-hop communication neighbors with covariance intersection. Both simulations and real-world experiments with Crazyflie 2.1 nano quadrotors show that DInEKF outperforms the quaternion-based distributed EKF (QDEKF) in accuracy and consistency alike.

arXiv 预印本 · 2024 年 5 月arXiv preprint · May 2024cs.RO / eess.SYGeorge Mason University 📄 arXiv:2405.04000 PDF
cooperative localizationmulti-robot systeminvariant EKF扩展卡尔曼滤波extended Kalman filtermatrix Lie groupcovariance intersectiondistributed estimationstate estimationUWB

01 动机Motivation

在 GPS 拒止的室内、水下等环境里,多机器人系统常靠协同定位(CL)来确定各自的位姿:每台机器人既用自身的 ego-motion 与传感器测量,也用队友共享的信息。集中式做法精度最优,但依赖一个 fusion center,既怕单点失效,通信与计算开销也大;全分布式做法可扩展、更鲁棒,代价是——机器人之间的互相关变得「unknown and intractable」,天真地当作无关去融合就会得到不一致的估计器。In GPS-denied environments such as indoor and underwater scenes, multi-robot systems commonly rely on Cooperative Localization (CL) to determine their poses: each robot uses both its own ego-motion and sensor measurements and the information shared by its teammates. The centralized approach is optimal in accuracy but depends on a fusion center, so it is vulnerable to a single-node failure and heavy in communication and computation; the fully distributed approach is scalable and more robust, at the price that the cross-correlation between robots becomes "unknown and intractable" — naively fusing it as if it were absent yields an inconsistent estimator.

既有工作用 covariance intersection(CI)、split CI、inverse CI 等融合规则来处理未知相关性,但这些方法只在「每个局部估计本身是一致的」前提下才给出一致的融合结果——而标准 EKF 恰恰不满足这个前提。问题的根源在可观测性:EKF 在当前状态估计处线性化,Jacobian 因此是估计值的函数,使 CL 系统的不可观测子空间维度被人为压低,本不该被观测到的状态「变得可观测」,估计器沿这些方向获得 spurious information,协方差越估越小。Existing work handles the unknown correlation with fusion rules such as covariance intersection (CI), split CI and inverse CI, but these methods only give a consistent fused result under the premise that each local estimate is itself consistent — and the standard EKF is exactly what fails that premise. The root cause lies in observability: the EKF linearizes at the current state estimate, so its Jacobians are functions of that estimate, which artificially lowers the dimension of the CL system's unobservable subspace; states that should not be observable "become observable", and the estimator gains spurious information along those directions, shrinking its covariance more and more.

In EKF, the Jacobian of the linearized dynamics and the measurement are functions of the estimated states, which causes the standard EKF-based CL algorithm to have an unobservable subspace of lower dimension than that of the underlying CL system.
DInEKF cooperative localization testbed
Figure 1:室内环境下四台 Crazyflie 2.1 纳米四旋翼的协同定位。上方示意随时间演进的两类观测——机器人之间的相对观测(红色虚线)与 UWB 基站给出的绝对观测(蓝色);每台机器人只用本地信息加上邻居共享的信息做定位。下方是实验场地(OptiTrack 动捕)、UWB 基站,以及机身上的 IMU(BMI088)、UWB(DWM1000)、Micro-SD 记录板与动捕标记球,真值由动捕系统给出。Figure 1: Cooperative localization of four Crazyflie 2.1 nano quadrotors in an indoor environment. The top part sketches the two kinds of measurements as time advances — the relative measurements between robots (red dashed) and the absolute measurements provided by UWB stations (blue); each robot localizes using only local information plus what its neighbors share. The bottom part shows the experimental space (OptiTrack motion capture), a UWB station, and the onboard IMU (BMI088), UWB (DWM1000), Micro-SD card deck and motion capture markers; the ground truth comes from the motion capture system.
4台机器人组队(仿真与实机都是四台)robots per team (four in both simulation and hardware)
50次蒙特卡洛仿真 / 每个轨迹场景Monte-Carlo simulations per trajectory scenario
0.669Traj. 1 朝向 RMSE(度),QDEKF 为 1.097orientation RMSE in degrees on Traj. 1; QDEKF gets 1.097
≈3三个仿真场景的 ONEES 都接近自由度 3(QDEKF 最高 3.815)ONEES stays close to the 3 degrees of freedom in all three scenarios (QDEKF up to 3.815)

02 方法Method

DInEKF 不去手动修 Jacobian,也不加人工的可观测性约束,而是换一个状态表示:把机器人的状态写成矩阵李群 SE₂(3) 的元素,用右不变误差定义估计误差。因为机器人的运动模型在无噪声时是 group affine 的,误差满足 log-linear 性质,线性误差动力学矩阵 A 变成时不变、且完全不含状态估计——标准 EKF 的不一致根源就此消失。算法本身是「传播 → 本地绝对观测更新 → 相对观测更新」三步,最后一步用 CI 把邻居的修正量融进来。DInEKF neither patches the Jacobians by hand nor adds artificial observability constraints; it changes the state representation instead: the robot state is written as an element of the matrix Lie group SE₂(3) and the estimation error is defined through the right-invariant error. Because the robot motion model is group affine in the noise-free case, the error obeys the log-linear property and the linear error dynamics matrix A becomes time-invariant and entirely free of the state estimate — the root cause of the standard EKF's inconsistency disappears. The algorithm itself has three steps, propagation, local measurement update and relative measurement update, with the last one folding in the neighbors' corrections via CI.

状态放到 SE₂(3) 上,误差是右不变的State on SE₂(3), with a right-invariant error

每台机器人的状态是朝向 R ∈ SO(3)、速度 v 与位置 p(论文写作 3×5 的紧凑形式),它们天然地构成 SE₂(3) 上的一个 5×5 矩阵。右不变误差定义为 η = X (X̂)⁻¹,在群作用下不变;它的对数 ξ ∈ se₂(3) 是 9 维误差向量(朝向、速度、位置各 3 维),协方差也在这 9 维上传播。关键在于误差动力学矩阵 A 只含重力的叉乘项与一个单位块:它是时不变的,与状态估计无关,因此 Jacobian 是 state estimate-independent 的。Each robot's state is its orientation R ∈ SO(3), velocity v and position p (the paper writes them in the compact 3×5 form), which together form naturally a 5×5 matrix on SE₂(3). The right-invariant error is defined as η = X (X̂)⁻¹ and is invariant under the group action; its logarithm ξ ∈ se₂(3) is a 9-dimensional error vector (3 dimensions each for orientation, velocity and position), and the covariance is propagated on those 9 dimensions as well. The key point is that the error dynamics matrix A contains only the skew term of gravity and one identity block: it is time-invariant and independent of the state estimate, so the Jacobians are state estimate-independent.

三步走:Algorithm 1(DIKF-CL)Three steps: Algorithm 1 (DIKF-CL)

Step这一步做什么What it does
Propagation用 IMU 的角速度与加速度,按李群上的离散化公式把上一时刻的后验推到当前时刻的先验估计。Uses the IMU's angular rate and acceleration to push the previous posterior to the current prior estimate, following the discretized propagation on the Lie group.
Local measurement update若拿得到绝对观测(例如到 UWB 基站的距离),就算 Kalman 增益,把修正量按指数映射作用到先验上,得到中间估计;拿不到就直接沿用先验。If an absolute measurement is available (for instance the distance to a UWB station), it computes the Kalman gain and applies the correction to the prior through the exponential map to obtain an intermediate estimate; if none is available the prior is carried over unchanged.
Relative measurement update机器人 i 检测到邻居 j 时,收下 j 广播的中间估计,把相对观测线性化成一对修正量 (S, y),再用 CI 融合出后验估计。观测模型不限形式,distance-bearing 或 distance-only 都可以。When robot i detects neighbor j, it receives j's broadcast intermediate estimate, linearizes the relative measurement into a correction pair (S, y), and fuses them into the posterior with CI. The measurement model is not restricted in form: distance-bearing or distance-only both work.

用 covariance intersection 应付未知的互相关Covariance intersection for the unknown cross-correlation

若按标准 EKF 直接把邻居的修正量全部叠加,等于假设机器人 i 与 j 的估计互不相关。可实际上,机器人 i 一旦用过 j 的估计,两者从下一时刻起就相关,且这份互相关会一直传播下去,在分布式设定下既未知又难以追踪。DInEKF 因此改用 CI-EKF:给自己的中间估计配权重 α_i、给每条相对修正配权重 α_ij,满足 α_i + Σ α_ij = 1,融合出的协方差保守但一致。论文的一致性论证也正是分两层:局部估计器的一致性由不变误差(时不变的 A)保证,融合环节的一致性由 CI 保证。Summing up all the neighbors' corrections in the standard EKF way amounts to assuming that the estimates of robots i and j are mutually uncorrelated. In reality, once robot i has used j's estimate the two become correlated from the next timestep on, and that cross-correlation keeps propagating — unknown and hard to track in a distributed setting. DInEKF therefore switches to CI-EKF: a weight α_i is given to its own intermediate estimate and a weight α_ij to each relative correction, subject to α_i + Σ α_ij = 1, so that the fused covariance is conservative yet consistent. The paper's consistency argument runs on the same two levels: the consistency of the local estimator is guaranteed by the invariant error (the time-invariant A), and the consistency of the fusion step by CI.

Naively fusing the correlated information makes the estimate overconfident and causes inconsistency in the estimator.

全分布式在这里意味着什么What "fully distributed" means here

每台机器人只用自己的 ego-motion 测量,加上单跳通信邻居广播来的信息,没有 fusion center,也不需要谁去记录全队的互相关。论文假设通信半径大于感知半径,因此机器人 i 能测到 j,就一定能收到 j 广播的信息。Each robot uses only its own ego-motion measurements plus what its one-hop communication neighbors broadcast; there is no fusion center and nobody has to bookkeep the whole team's cross-correlations. The paper assumes the communication range is larger than the sensing range, so whenever robot i can measure robot j it can also receive what j broadcasts.

与既有 InEKF 工作的差别Difference from prior InEKF work

InEKF 此前主要用于单机器人的状态估计、导航与 SLAM;已有的分布式 InEKF 是为静态传感器网络里的目标跟踪设计的,明确假设传感器位置已知,因而不适用于 CL——待定位的机器人队伍本身就是一个移动网络。此外,既有分布式 CL 算法都在向量空间里做,只处理二维环境或只带简单旋转的三维环境。InEKF has so far been applied mainly to single-robot state estimation, navigation and SLAM; the existing distributed InEKF was designed for target tracking in a static sensor network and explicitly assumes the sensors' positions are given, which makes it inapplicable to CL — the robot team to be localized is itself a mobile network. Besides, existing distributed CL algorithms all operate within the vector space and only consider two-dimensional environments or three-dimensional ones with simple rotations.

03 实验Experiments

仿真:四台机器人在三种三维轨迹场景中各跑 50 次蒙特卡洛。每台机器人配 IMU(100 Hz)测 ego-motion,配 UWB(10 Hz)测到其它机器人的相对距离与到 UWB 基站的绝对距离;UWB 感知半径 10 m、测距噪声 0.05 m。基线是用解耦误差状态的四元数分布式 EKF(QDEKF)。指标是 RMSE 与 NEES——对一致的估计器,NEES 应接近估计的自由度,本文的位置 NEES(PNEES)与朝向 NEES(ONEES)理想值都是 3。实机:四台 Crazyflie 纳米四旋翼在 10 m×6 m×5 m 的室内空间飞行,十六台 OptiTrack 相机给真值;机载 BMI088 以 100 Hz 记 IMU,UWB tag 测到四个固定基站的绝对距离,相对观测则以 10 Hz 由动捕真值算距离再加噪生成。Simulation: four robots run 50 Monte-Carlo trials in each of three 3-D trajectory scenarios. Every robot carries an IMU (100 Hz) for ego-motion and a UWB (10 Hz) measuring relative distances to the other robots and absolute distances to UWB stations; the UWB range is 10 m and its ranging noise 0.05 m. The baseline is the quaternion-based distributed EKF (QDEKF) with decoupled error states. The metrics are RMSE and NEES — for a consistent estimator the NEES ought to be close to the estimation's degrees of freedom, which here is 3 for both position NEES (PNEES) and orientation NEES (ONEES). Hardware: four Crazyflie nano quadrotors fly in a 10 m×6 m×5 m indoor space with sixteen OptiTrack cameras providing ground truth; the onboard BMI088 logs IMU at 100 Hz, a UWB tag measures absolute distances to four fixed stations, and the relative measurements are generated at 10 Hz by computing distances from the motion-capture ground truth and adding noise.

仿真结果(50 次蒙特卡洛平均,每台机器人)Simulation results (averaged over 50 Monte-Carlo runs, per robot)

ScenarioEstimatorPRMSE (m)ORMSE (deg)PNEESONEES
Traj. 1DInEKF0.0570.6693.1562.983
Traj. 1QDEKF0.0591.0973.3023.815
Traj. 2DInEKF0.0510.7943.1712.936
Traj. 2QDEKF0.0541.1693.3303.272
Traj. 3DInEKF0.0590.6623.0353.025
Traj. 3QDEKF0.0671.2693.0633.787

位置精度两者接近(0.057 对 0.059 等),差距主要在朝向:DInEKF 的 ORMSE 大约只有 QDEKF 的一半到二分之一强(0.669 对 1.097、0.794 对 1.169、0.662 对 1.269)。一致性上,DInEKF 的 ONEES 在三个场景都贴着 3,而 QDEKF 最大到 3.815——NEES 偏大意味着估计器过于自信。PNEES 方面 QDEKF 的 3.063 在 Traj. 3 上比 DInEKF 的 3.035 更远离 3,但两者差别不大。Position accuracy is close between the two (0.057 versus 0.059, and so on); the gap sits mainly in orientation: the ORMSE of DInEKF is roughly a half to somewhat more than a half of QDEKF's (0.669 versus 1.097, 0.794 versus 1.169, 0.662 versus 1.269). On consistency, the ONEES of DInEKF hugs 3 in all three scenarios while QDEKF reaches up to 3.815 — a larger NEES means an overconfident estimator. For PNEES, QDEKF's 3.063 on Traj. 3 is farther from 3 than DInEKF's 3.035, though the difference is small.

simulated trajectories versus ground truth
Figure 2(a):轨迹场景 1 里四台无人机的螺旋轨迹。红色为真值,蓝色为前 30 次蒙特卡洛试验的估计轨迹,估计结果紧贴真值。Figure 2(a): the spiral trajectories of the four drones in trajectory scenario 1. Red is the ground truth and blue the estimated trajectories of the first 30 Monte-Carlo trials, which stay close to the ground truth.
RMSE and NEES curves comparing DInEKF and QDEKF
Figure 3(a):轨迹场景 1 的逐时刻 RMSE 与 NEES。位置 RMSE 两条曲线几乎重合,但 Orientation RMSE 上 QDEKF(红)在前期冲到 2 度以上才慢慢收敛,DInEKF(蓝)始终平稳;Orientation NEES 同理,QDEKF 早期远高于 DInEKF,说明它在不可观测方向上吸收了 spurious information。Figure 3(a): per-timestep RMSE and NEES for trajectory scenario 1. The two position RMSE curves nearly coincide, but on Orientation RMSE the QDEKF (red) shoots above 2 degrees early on and only converges slowly, while DInEKF (blue) stays flat; Orientation NEES tells the same story, with QDEKF far above DInEKF early on, showing that it absorbed spurious information along the unobservable directions.

实机结果(两组实验数据集)Real-world results (two experimental datasets)

DatasetEstimatorPRMSE (m)ORMSE (deg)PNEESONEES
Traj. 1DInEKF0.222.013.273.29
Traj. 1QDEKF0.202.443.493.41
Traj. 2DInEKF0.272.623.343.21
Traj. 2QDEKF0.353.233.413.66

实机上结论基本一致,但要如实指出:第一组数据集里 QDEKF 的位置 RMSE 反而更好(0.20 m 对 DInEKF 的 0.22 m),DInEKF 的优势体现在朝向(2.01 对 2.44 度)与一致性(PNEES 3.27 对 3.49、ONEES 3.29 对 3.41)。第二组数据集上 DInEKF 则四项全胜。The hardware results point the same way, but it should be stated plainly: on the first dataset the position RMSE of QDEKF is actually better (0.20 m against DInEKF's 0.22 m), and DInEKF's advantage shows up in orientation (2.01 against 2.44 degrees) and in consistency (PNEES 3.27 against 3.49, ONEES 3.29 against 3.41). On the second dataset DInEKF wins on all four metrics.

per-robot RMSE and NEES of DInEKF on experimental dataset 1
Figure 4(a):实验数据集 1 上 DInEKF 每台机器人的 RMSE 与 NEES。四台机器人的位置 RMSE 大致在 0.2 m 上下,朝向 RMSE 在 2 度附近,PNEES 与 ONEES 都在 3 附近波动,没有系统性的过自信。Figure 4(a): per-robot RMSE and NEES of DInEKF on experimental dataset 1. The position RMSE of the four robots sits around 0.2 m, the orientation RMSE around 2 degrees, and both PNEES and ONEES fluctuate around 3 without systematic overconfidence.

消融实验:论文没做Ablations: none reported in the paper

全文只有 DInEKF 与 QDEKF 的整体对比,没有把 SE₂(3) 状态表示与 CI 融合两部分拆开单独消融,因此「哪一部分贡献更大」在这篇论文里没有答案。作者对差距的解释是明确的:QDEKF「uses the current estimate to compute the linearized Jacobians, which gains 'spurious information' along the unobservable space and leads to inconsistency」,而这一问题被不变误差的性质彻底消除。The whole paper only compares DInEKF against QDEKF as a whole; it never separates the SE₂(3) state representation from the CI fusion into individual ablations, so "which part contributes more" has no answer here. The authors' explanation for the gap is explicit: QDEKF "uses the current estimate to compute the linearized Jacobians, which gains 'spurious information' along the unobservable space and leads to inconsistency", and this issue is completely eliminated by the properties of the invariant error.

04 局限性Limitations

Note: 论文没有专门的 Limitations 章节。下面第一条是作者在 Conclusion 里明说的未来工作(stated),其余几条由方法与实验设置推断而来(inferred)。The paper has no dedicated Limitations section. The first item below is the future work the authors state explicitly in the Conclusion (stated); the rest are inferred from the method and the experimental setup (inferred).
尚未扩展到 SLAM(stated)Not yet extended to SLAM (stated)

作者在结论里写道:「In the future, we will extend the proposed algorithm into SLAM problems.」也就是说,当前方法只解协同定位,地图相关的状态(landmark)并不在 SE₂(3) 状态里。The authors write in the conclusion: "In the future, we will extend the proposed algorithm into SLAM problems." In other words, the present method solves cooperative localization only; map-related states (landmarks) are not part of the SE₂(3) state.

实机的相对观测是合成的(inferred)The relative measurements in hardware are synthetic (inferred)

论文明说,实验中的机器人间相对观测是「by computing the distances among robots based on the pose ground truth from the motion capture system」再加噪、以 10 Hz 生成的,而不是真实 UWB 互测得到的。真实机间测距会有 NLOS、天线方向性、时钟同步等误差,这一层还没有被验证。The paper states that the robot-to-robot relative measurements in the experiments were generated at 10 Hz "by computing the distances among robots based on the pose ground truth from the motion capture system" plus noise, rather than obtained from real UWB robot-to-robot ranging. Real inter-robot ranging suffers from NLOS, antenna directivity and clock-synchronization errors, and that layer has not been validated yet.

规模与状态维度都很小(inferred)Both the scale and the state dimension are small (inferred)

仿真与实机都只测了四台机器人、单一室内场地,通信拓扑与队伍规模扩大后的表现没有数据。状态 SE₂(3) 只含朝向、速度、位置,没有显式估计 IMU 零偏(仿真参数表里的 Gyro Bias 3.0e-4 与 Accel Bias 3.0e-4 是作为给定噪声参数出现的),长时间飞行时零偏漂移如何影响一致性未作讨论。Both simulation and hardware test only four robots in a single indoor space, and there is no data on how the method behaves as the communication topology and team size grow. The SE₂(3) state carries only orientation, velocity and position, without explicitly estimating IMU biases (the Gyro Bias 3.0e-4 and Accel Bias 3.0e-4 in the simulation parameter table appear as given noise parameters), and how bias drift over long flights affects consistency is not discussed.

位置精度未必占优,CI 权重也没细说(inferred)Position accuracy is not always ahead, and the CI weights are left unspecified (inferred)

实机第一组数据集上,DInEKF 的位置 RMSE(0.22 m)反而略逊于 QDEKF(0.20 m),本文的收益集中在朝向与一致性;CI 只保证保守而不保证最紧,用它换来的一致性是有代价的。此外,权重 α_i 与 α_ij 只给了归一化约束 α_i + Σ α_ij = 1,具体怎么选、优化开销多大,论文没有给出。On the first hardware dataset the position RMSE of DInEKF (0.22 m) is in fact slightly worse than QDEKF's (0.20 m); the gains of this paper concentrate in orientation and consistency, and since CI only guarantees conservativeness rather than tightness, the consistency it buys does come at a price. Moreover, the weights α_i and α_ij are given only the normalization constraint α_i + Σ α_ij = 1; how exactly they are chosen and how costly that optimization is are not given in the paper.