文章目录
1.Quatro:单个对应关系就足够了:稳健的全局配准以避免城市环境中的退化
原文:github
原文:原文
摘要——利用三维点云进行全局配准是移动平台实现定位或管理闭环情况的关键技术。近年来,研究人员提出了多种全局配准方法,以解决大量异常对应关系的问题。然而,退化问题,即估计的内点数量少于三个的现象,仍然难以避免。为了解决这一问题,提出了一种基于解耦的抗退化全局配准方法,称为Quatro。具体而言,我们的方法通过利用城市环境中的亚特兰大世界假设,采用准SO(3)估计来避免旋转估计中的退化。因此,我们方法的最小自由度从三个减少到一个。通过室内和室外三维激光雷达数据集验证,与其它全局配准方法相比,我们提出的方法在远距离点云对的情况下也能实现稳健的全局配准性能。此外,实验结果进一步证实了我们的方法作为粗略对齐的适用性。我们的代码可在以下地址获取:https://github.com/url-kaist/quatro
图1.(T-B,L-R):在KITTI数据集中,应用Quatro方法前后,两个相距较远且部分重叠的点云(源点云为青色,目标点云为黄色)的对比。随着源点云和目标点云之间距离的增加,假设对应关系中的异常值比例上升,内点数量减少,这通常会导致基于对应关系的全局配准方法性能下降。在这些情况下,Quatro方法表现出稳健的性能,克服了异常值的影响和退化问题。红线和绿线分别表示异常值和内点对应关系(彩色查看效果最佳)。
为了解决退化问题,本文提出了一种新颖的全局配准方法,称为 Quatro,该名称结合了 Quasi- 和 cuatro(意为 4 自由度,4-DoF)。一些针对退化情况的 SLAM 框架已经在 [49]–[51] 中提出。然而,据我们所知,这是首次在全局配准中通过减少 S E ( 3 ) SE(3) SE(3) 所需的最少对应点数(从三个降至一个)来解决退化问题,该方法被命名为 quasi- S E ( 3 ) SE(3) SE(3),其通过解耦 S E ( 3 ) SE(3) SE(3) 估计为 quasi- S O ( 3 ) SO(3) SO(3) 估计,然后结合基于分量的平移估计(COTE)[27]。
总的来说,本文的贡献包括以下三点:
- 为了避免退化,提出了一种新颖的旋转估计方法 quasi- S O ( 3 ) SO(3) SO(3) 估计,该方法利用城市环境的特性。
- 结果表明,所提出的方法在真实世界的室内/室外 3D LiDAR 数据集上相较于最先进的方法表现更优。
- 特别值得注意的是,Quatro-c2f,一种简单的粗到细(coarse-to-fine)方案,优于现有最先进的方法,包括基于深度学习的方法。因此,最终确认了所提出方法在粗配准(coarse alignment)方面的适用性。
A. 解耦旋转和平移估计
根据文献[59]和[60],通过解耦旋转和平移估计,可以轻松地以闭式形式获得 R ^ \hat{\mathbf{R}} R^和 t ^ \hat{\mathbf{t}} t^。为此,首先减去两对点 ( i , j ) (i, j) (i,j)和 ( i ′ , j ′ ) (i', j') (i′,j′),以消除 t \mathbf{t} t的影响,使用公式(1)。为了简化,令 α k = p i ′ − p i \alpha_k = \mathbf{p}_{i'} - \mathbf{p}_i αk=pi′−pi; β k = q j ′ − q j \beta_k = \mathbf{q}_{j'} - \mathbf{q}_j βk=qj′−qj; ϵ k = ϵ i ′ j ′ − ϵ i j \epsilon_k = \mathbf{\epsilon}_{i'j'} - \mathbf{\epsilon}_{ij} ϵk=ϵi′j′−ϵij,其中 K K K是这些平移不变测量(TIMs)[27]的总数。注意,通过减去连续的对来构建TIMs,可以最小化计算成本,第一个TIM是通过减去第一个和第 ∣ A ∣ |\mathcal{A}| ∣A∣个对来构建的。
然后, α k \alpha_k αk和 β k \beta_k βk之间的关系可以表示为 β k = R α k + ϵ k \beta_k = \mathbf{R} \alpha_k + \epsilon_k βk=Rαk+ϵk。因此, R ^ \hat{\mathbf{R}} R^的估计如下:
R ^ = arg min R ∈ S O ( 3 ) ∑ k = 1 K min ( w k r ( β k − R α k , ϵ 2 ) , c 2 ) ( 3 ) \hat{\mathbf{R}} = \argmin_{\mathbf{R} \in SO(3)} \sum_{k=1}^{K} \min \left( w_k r(\beta_k - \mathbf{R} \alpha_k, \epsilon^2), c^2 \right) \quad (3) R^=R∈SO(3)argmink=1∑Kmin(wkr(βk−Rαk,ϵ2),c2)(3)
其中, w k w_k wk表示每对的权重, c c c表示截断参数,以抑制潜在的异常值。接下来,使用COTE[27]以逐元素的方式计算 t ^ \hat{\mathbf{t}} t^,如下所示:
t ^ i = arg min t ∈ R ∑ ( i , j ) ∈ A min ( r ( t − q i j σ i j 2 , ϵ 2 ) , c 2 ) ( 4 ) \hat{t}_i = \argmin_{t \in \mathbb{R}} \sum_{(i,j) \in \mathcal{A}} \min \left( r\left( \frac{t - \mathbf{q}_{ij}}{\sigma_{ij}^2}, \epsilon^2 \right), c^2 \right) \quad (4) t^i=t∈Rargmin(i,j)∈A∑min(r(σij2t−qij,ϵ2),c2)(4)
其中, q i j = q j − R p i \mathbf{q}_{ij} = \mathbf{q}_j - \mathbf{R} \mathbf{p}_i qij=qj−Rpi, σ i j \sigma_{ij} σij是噪声的界限, t i j l t_{ij}^l tijl表示3D向量的第 l l l个元素,其中 l = 1 , 2 , 3 l = 1, 2, 3 l=1,2,3,即 t ^ = { t ^ i 1 , t ^ i 2 , t ^ i 3 } \hat{\mathbf{t}} = \{ \hat{t}_i^1, \hat{t}_i^2, \hat{t}_i^3 \} t^={ t^i1,t^i2,t^i3}。因此, R ^ \hat{\mathbf{R}} R^在公式(3)中解耦,然后在公式(4)中使用 t ^ \hat{\mathbf{t}} t^。
位于共面区域,随着两个视点之间的距离增加 [63]-[65]。然而,大多数当前的制图/导航系统采用惯性导航系统(INS)。因此,通过从重力向量估计水平面,滚转角和俯仰角可以完全观测到 [65], [66]。因此,滚转和俯仰可以表示为世界坐标系中的绝对状态,这意味着这些状态是无漂移的 [67]。因此,这仍然允许我们的目标有效,同时将相对旋转限制为相对偏航旋转(参见第IV-D节)。
C. 城市环境中的准SO(3)
接下来,我们引入准SO(3)的概念,以指出相对旋转可以近似为城市环境中的纯偏航旋转,这由Kim等人[6]和Scaramuzza[61]提出。这是因为,即使城市环境不是平的,源点云和目标点云的两个位姿也可以基于亚特兰大世界假设[56]局部近似为共面。因此,偏航旋转被认为是比俯仰和滚转旋转更占主导地位。
更具体地说,我们定义相对旋转矩阵为 R = R z R y R x \mathbf{R} = \mathbf{R}_z \mathbf{R}_y \mathbf{R}_x R=RzRyRx,其中 R z , R y , R x \mathbf{R}_z, \mathbf{R}_y, \mathbf{R}_x Rz,Ry,Rx分别表示绕z轴、y轴和x轴的旋转。这些旋转元素表示偏航、俯仰和滚转。正如前面提到的,观察到俯仰和滚转的变化远小于偏航,即 ∠ R y ≫ ∠ ( R y ⋅ R z ) \angle \mathbf{R}_y \gg \angle (\mathbf{R}_y \cdot \mathbf{R}_z) ∠Ry≫∠(Ry⋅Rz)。此外,如图2(a)所示, ∠ ( R y ⋅ R z ) \angle (\mathbf{R}_y \cdot \mathbf{R}_z) ∠(Ry⋅Rz)通常小于10°。因此,可以应用小角度假设[62],使得 R y ⋅ R z ≈ I 3 \mathbf{R}_y \cdot \mathbf{R}_z \approx \mathbf{I}_3 Ry⋅Rz≈I3,其中 I 3 \mathbf{I}_3 I3表示 n × n n \times n n×n的单位矩阵。这个假设使得 R ≈ R z \mathbf{R} \approx \mathbf{R}_z R≈Rz,从而简化了我们的目标,直接估计 R z \mathbf{R}_z Rz。最后,这个假设将旋转的自由度从三个减少到一个,使我们的方法对退化具有鲁棒性。为了简化,近似的 R \mathbf{R} R表示为 R z \mathbf{R}_z Rz。有人可能会认为,这个假设在非平坦区域或两个视点不再共面时不再成立。然而,我们的方法仍然有效,因为即使在这些情况下,偏航旋转仍然是主要的旋转分量。此外,我们的方法可以轻松地与其他方法结合,以处理这些非平坦区域,例如通过使用局部平面假设[63]。
简而言之, R + \mathbf{R}_+ R+ 相比 R \mathbf{R} R 具有以下三个优势。首先, R + \mathbf{R}_+ R+ 的估计解决了其自身的退化问题。如前所述,在 GNC 中,估计的内点数量并不总是保证超过旋转的最小自由度。然而,需要注意的是, R \mathbf{R} R 的最小自由度为 3,而 R + \mathbf{R}_+ R+ 的最小自由度为 1。因此, R + \mathbf{R}_+ R+ 对退化更具鲁棒性。经验表明,当源视点和目标视点之间的距离超过 9 米时,例如在户外环境中,退化问题偶尔会发生。然而,即使两个视点相距更远(见第 IV-A 节),我们的方法仍能进行鲁棒的配准。
其次, R + \mathbf{R}_+ R+ 有助于抑制异常值的影响。由于地面可以被认为是足够平坦的,且大多数结构倾向于与地面正交,因此局部几何特征(例如,表面法线、密度等)沿地面法线方向通常是相似的。因此, ϵ k \boldsymbol{\epsilon}_k ϵk 可以分解为两个部分:a) 平行于地面的分量,即 xy 平面,记为 ϵ k ∥ \boldsymbol{\epsilon}_k^{\parallel} ϵk∥;b) 垂直于地面的分量,记为 ϵ k ⊥ \boldsymbol{\epsilon}_k^{\perp} ϵk⊥。这样, ϵ k = ϵ k ∥ + ϵ k ⊥ \boldsymbol{\epsilon}_k = \boldsymbol{\epsilon}_k^{\parallel} + \boldsymbol{\epsilon}_k^{\perp} ϵk=ϵk∥+ϵk⊥。因此,异常值被分为两类:一类是准内点(quasi-inliers),满足 ∣ ∣ ϵ k ∥ ∣ ∣ ≈ 0 ||\boldsymbol{\epsilon}_k^{\parallel}|| \approx 0 ∣∣ϵk∥∣∣≈0 且 ∣ ∣ ϵ k ⊥ ∣ ∣ ≫ 0 ||\boldsymbol{\epsilon}_k^{\perp}|| \gg 0 ∣∣ϵk⊥∣∣≫0;另一类是确定的异常值(definite outliers),满足 ∣ ∣ ϵ k ∥ ∣ ∣ ≫ 0 ||\boldsymbol{\epsilon}_k^{\parallel}|| \gg 0 ∣∣ϵk∥∣∣≫0。注意, Q ^ ∪ D ^ = O ^ \hat{Q} \cup \hat{D} = \hat{O} Q^∪D^=O^,其中 O ^ \hat{O} O^ 表示 GNC 的估计输出。在这种情况下,准内点很少影响 R + \mathbf{R}_+ R+ 的估计,因为 R + \mathbf{R}_+ R+ 的估计对 z 值是不变的。因此, Q ^ \hat{Q} Q^ 可以被视为额外的内点,当优化 (5) 时。因此, Q ^ \hat{Q} Q^ 通过增加内点与异常值的比例(即, ∣ Q ^ ∣ ∣ D ^ ∣ \frac{|\hat{Q}|}{|\hat{D}|} ∣D^∣∣Q^∣ 到 ∣ Q ^ ∣ + ∣ Q ∣ ∣ D ^ ∣ \frac{|\hat{Q}| + |Q|}{|\hat{D}|} ∣D^∣∣Q^∣+∣Q∣),对防止发散有积极影响。这是因为当异常值对应的比例过大时,基于 GNC 的优化有时会发散 [42],[47]。
D. 使用渐进非凸优化的准SO(3)估计
为了估计 R ^ + \hat{\mathbf{R}}_+ R^+,引入了使用截断最小二乘法的渐进非凸优化(GNC) [28]。为了简化,将第k个测量对,即 α k \boldsymbol{\alpha}_k αk和 β k \boldsymbol{\beta}_k βk,表示为 ζ k \boldsymbol{\zeta}_k ζk,(3)可以重新定义为:
R ^ + = arg min R + ∑ k = 1 K ρ μ ( r ( ζ k , R + ) ) \hat{\mathbf{R}}_+ = \arg\min_{\mathbf{R}_+} \sum_{k=1}^{K} \rho_{\mu}(r(\boldsymbol{\zeta}_k, \mathbf{R}_+)) R^+=argR+mink=1∑Kρμ(r(ζk,R+))
其中, ρ μ ( ⋅ ) \rho_{\mu}(\cdot) ρμ(⋅)表示由参数 μ \mu μ控制的替代函数,如图2(b)所示。为此,首先利用Black-Rangarajan对偶性重写该方程 [26], [27]:
R ^ + = arg min R + ∈ S O ( 3 ) , w k ∈ [ 0 , 1 ] ∑ k = 1 K [ w k r ( ζ k , R + ) + Φ ρ μ ( w k ) ] \hat{\mathbf{R}}_+ = \arg\min_{\mathbf{R}_+ \in SO(3), w_k \in [0,1]} \sum_{k=1}^{K} \left[ w_k r(\boldsymbol{\zeta}_k, \mathbf{R}_+) + \Phi_{\rho_{\mu}}(w_k) \right] R^+=argR+∈SO(3),wk∈[0,1]mink=1∑K[wkr(ζk,R+)+Φρμ(wk)]
其中, Φ ρ μ ( w k ) = μ ( 1 − w k ) w k r 2 \Phi_{\rho_{\mu}}(w_k) = \frac{\mu (1 - w_k)}{w_k} r^2 Φρμ(wk)=wkμ(1−wk)r2是一个惩罚项 [42]。不幸的是,目标函数不能直接求解 [26]。因此,(5)通过交替优化求解:
R ^ + ( t ) = arg min R + ∑ k = 1 K w k ( t − 1 ) r ( ζ k , R + ) \hat{\mathbf{R}}_+^{(t)} = \arg\min_{\mathbf{R}_+} \sum_{k=1}^{K} w_k^{(t-1)} r(\boldsymbol{\zeta}_k, \mathbf{R}_+) R^+(t)=argR+mink=1∑Kwk(t−1)r(ζk,R+)
W ^ ( t ) = arg min w k ∈ [ 0 , 1 ] ∑ k = 1 K [ w k r ( ζ k , R ^ + ( t ) ) + Φ ρ μ ( w k ) ] \hat{\mathbf{W}}^{(t)} = \arg\min_{w_k \in [0,1]} \sum_{k=1}^{K} \left[ w_k r(\boldsymbol{\zeta}_k, \hat{\mathbf{R}}_+^{(t)}) + \Phi_{\rho_{\mu}}(w_k) \right] W^(t)=argwk∈[0,1]mink=1∑K[wkr(ζk,R^+(t))+Φρμ(wk)]
其中,上标 ( t ) (t) (t)表示第t次迭代, W = diag ( w 1 , w 2 , … , w K ) \mathbf{W} = \text{diag}(w_1, w_2, \ldots, w_K) W=diag(w1,w2,…,wK)。每个 w k w_k wk可以通过截断闭式求解:
w ^ k ( t ) = { 0 如果 r ~ k ∈ [ μ + 1 μ c 2 , + ∞ ] c r ~ k μ ( μ + 1 ) r ~ k 2 − μ 如果 r ~ k ∈ [ μ μ + 1 c 2 , μ + 1 μ c 2 ] 1 如果 r ~ k ∈ [ 0 , μ μ + 1 c 2 ] \hat{w}_k^{(t)} = \begin{cases} 0 & \text{如果 } \tilde{r}_k \in \left[ \frac{\mu + 1}{\mu} c^2, +\infty \right] \ \frac{c}{\tilde{r}_k} \sqrt{\frac{\mu (\mu + 1)}{\tilde{r}_k^2} - \mu} & \text{如果 } \tilde{r}_k \in \left[ \frac{\mu}{\mu + 1} c^2, \frac{\mu + 1}{\mu} c^2 \right] \ 1 & \text{如果 } \tilde{r}_k \in \left[ 0, \frac{\mu}{\mu + 1} c^2 \right] \end{cases} w^k(t)={ 0如果 r~k∈[μμ+1c2,+∞] r~kcr~k2μ(μ+1)−μ如果 r~k∈[μ+1μc2,μμ+1c2] 1如果 r~k∈[0,μ+1μc2]
其中, r ~ k = r ( ζ k , R ^ + ( t ) ) \tilde{r}_k = r(\boldsymbol{\zeta}_k, \hat{\mathbf{R}}_+^{(t)}) r~k=r(ζk,R^+(t))。整个过程如图3所示。每次迭代, μ \mu μ更新为 μ ( t ) = κ ⋅ μ ( t − 1 ) \mu^{(t)} = \kappa \cdot \mu^{(t-1)} μ(t)=κ⋅μ(t−1),其中 μ ( 0 ) = c 2 max ( r ( ζ k , I 3 ) ) − c 2 \mu^{(0)} = \frac{c^2}{\max(r(\boldsymbol{\zeta}_k, \mathbf{I}_3)) - c^2} μ(0)=max(r(ζk,I3))−c2c2, κ > 1 \kappa > 1 κ>1是一个逐渐增加非凸性程度的因子,如图2(b)所示。当 ∑ k = 1 K w ^ k ( t ) r ( ζ k , R ^ + ( t ) ) \sum_{k=1}^{K} \hat{w}_k^{(t)} r(\boldsymbol{\zeta}_k, \hat{\mathbf{R}}_+^{(t)}) ∑k=1Kw^k(t)r(ζk,R^+(t))的微分变得足够小时,迭代结束。
不幸的是,异常值对第一次迭代的优化有直接的负面影响,因为所有权重都初始化为1,即 W ( 0 ) = I K \mathbf{W}^{(0)} = \mathbf{I}_K W(0)=IK(图3©)。此外,在权重更新中,如(8)所示,大多数权重偶尔被赋值为零(图3(d)),导致3D空间中的退化(图3(d)和3(g))。然而, R ^ + \hat{\mathbf{R}}_+ R^+旨在抑制异常值的影响,并对退化具有鲁棒性;因此,可以防止灾难性失败,如图3(e)所示。
E. 分量式平移估计
最后,相对平移以分量式的方式进行估计,如图 3(f) 所示。设边界区间集 E \mathcal{E} E 是包含下界 v i j − σ i j v ^ i \mathbf{v}_{ij} - \sigma_{ij}\hat{\mathbf{v}}_{i} vij−σijv^i 和上界 v i j + σ i j v ^ i \mathbf{v}_{ij} + \sigma_{ij}\hat{\mathbf{v}}_{i} vij+σijv^i 的 2|A|-元组,并假设 E \mathcal{E} E 中的所有元素按降序排列。然后,设第 g 个共识集为 I g = { ( i , j ) ∣ v i j g < ϕ g , v i j g < v i j g + 1 } \mathcal{I}_g = \{(i,j) | \mathbf{v}_{ij}^{g} < \phi_{g}, \mathbf{v}_{ij}^{g} < \mathbf{v}_{ij}^{g+1}\} Ig={(i,j)∣vijg<ϕg,vijg<vijg+1},其中 ϕ g ∈ R \phi_{g} \in \mathbb{R} ϕg∈R 是任何满足 v i j g < ϕ g < v i j g + 1 \mathbf{v}_{ij}^{g} < \phi_{g} < \mathbf{v}_{ij}^{g+1} vijg<ϕg<vijg+1 的值,对于 g = 1 , 2 , … , 2 ∣ A ∣ − 1 g = 1, 2, \ldots, 2|A| - 1 g=1,2,…,2∣A∣−1。然后, t ^ i + \hat{\mathbf{t}}_{i}^{+} t^i+ 通过非空 I g \mathcal{I}_g Ig 的加权平均估计如下:
t ^ i + = ( ∑ ( i , j ) ∈ I g 1 σ i j 2 ) − 1 ∑ ( i , j ) ∈ I g v i j σ i j 2 \hat{\mathbf{t}}_{i}^{+} = \left( \sum_{(i,j) \in \mathcal{I}_g} \frac{1}{\sigma_{ij}^2} \right)^{-1} \sum_{(i,j) \in \mathcal{I}_g} \frac{\mathbf{v}_{ij}}{\sigma_{ij}^2} t^i+= (i,j)∈Ig∑σij21 −1(i,j)∈Ig∑σij2vij
最后,在最多 2|A| - 1 个候选值 t ^ i + \hat{\mathbf{t}}_{i}^{+} t^i+ 中,选择使截断目标函数 (4) 最小化的 t ^ i + \hat{\mathbf{t}}_{i}^{+} t^i+。由于 COTE 基于估计的旋转是精确的前提,我们的方法最终实现了退化鲁棒的全局配准,即使由于特征匹配不佳和大幅对应剪枝,只剩下一对点。
F. 对应预处理
在本文中,我们使用了快速点特征直方图 (FPFH) [57] 作为常规描述符 [26]。然而,原始的 FPFH 对于 64 线激光雷达传感器捕获的 3D 点云来说太慢了,需要几十秒。因此,我们采用了体素采样 FPFH,体素大小为 v v v,这在对应测试 [6] 之前进行,输出为 A ransac \mathcal{A}_{\text{ransac}} Aransac,如图 3(a) 所示。
此后,应用最大团内点选择 (MCIS) [68],它以 A ransac \mathcal{A}_{\text{ransac}} Aransac 为输入,输出 A \mathcal{A} A,如图 3(b) 所示。TEASER++ [27] 是采用 MCIS 的代表性方法,研究人员表明 MCIS 在速度方面成功地剔除了大量异常值。我们发现寻找精确的最大团是算法的瓶颈。因此,我们对其进行修订,找到一个足够大的启发式最大团,命名为 MCIS-启发式。
2.DARE-SLAM: 感知退化环境中的退化感知与鲁棒闭环
原文:原文
摘要 : 使能完全自主的机器人能够在大规模、未知且复杂的环境中导航和探索,一直是机器人学研究的核心课题,持续了几十年。自主探索的一个关键要求是构建未知环境的准确且一致的地图,这些地图可用于可靠的导航。闭环检测,即机器人能够断言其已返回到先前访问过的位置的能力,对于一致的地图构建至关重要,因为它减少了由于估计的机器人轨迹中误差累积导致的漂移。此外,在多机器人系统中,闭环检测使得一组机器人获取的局部地图能够合并成环境的一致全局地图。在本文中,我们提出了一种退化感知且抗漂移的闭环方法,以改善在GPS拒止、大规模且感知退化环境中的定位与地图构建(SLAM)中的位置识别和解决3D位置歧义。更具体地说,我们关注的是在地下环境(例如,熔岩管道、洞穴和矿山)中的SLAM,这些环境是复杂且模糊的,当前方法在这些环境中表现不足。本文的第一个贡献是一种退化感知的基于激光雷达的SLAM前端,用于确定未知环境中的可观测性和几何退化程度。利用这一关键能力,可以确定并排除未知环境中的模糊和不可观测区域,从而避免由于虚假或不准确的闭环导致的整个地图的变形。本文的第二个贡献是一种抗漂移的闭环管道,该管道利用从激光雷达点云数据中提取的显著2D和3D特征,以实现鲁棒的多阶段闭环能力。与在大规模环境中仅在局部进行闭环搜索的方法不同,这些方法旨在补偿激光雷达闭环的模糊性和高计算成本,我们提出的方法依赖于快速的预匹配步骤,使得能够在整个机器人轨迹上进行搜索,因此不受机器人轨迹中漂移和误差累积的影响。我们对性能和鲁棒性进行了广泛的评估和分析,并提供了在美国各种极端且感知退化的地下矿山中与最新方法的定位和地图构建结果的比较。
本文核心贡献如下:
-
- 一个实时的、能够感知退化的SLAM前端,用于确定未知环境中的几何退化程度。
-
- 一种基于显著的二维和三维几何特征的抗漂移和姿态不变的闭环检测方法,这些特征是从激光雷达点云数据中提取的,与传统的几何方法相比,能够以更高的鲁棒性和准确性检测闭环。所提出的方法不需要额外的传感器来实现更高的性能.
-
- 在多种极端地下环境中,与现有技术方法的性能进行了广泛的评估和比较。这包括在DARPA地下挑战赛的隧道赛道[49]中收集的数据,以及在宾夕法尼亚州匹兹堡的布鲁斯敦安全研究煤矿和实验矿。
A.基于激光雷达的SLAM前端
基于激光雷达的SLAM前端通过数据关联生成里程计估计和闭环约束,主要通过计算连续激光雷达扫描的相对3D运动来实现。前端包括三个处理层:点云滤波、扫描到扫描配准和扫描到子地图配准。点云滤波采用随机下采样和体素网格滤波,但这些方法会删除重要点。我们使用Zhang等人的方法,提取显著特征来简化点云,然后通过GICP算法进行两阶段配准,以提高里程计估计的准确性。实验表明,扫描到子地图配准能显著减少误差累积,但在复杂环境中仍需抗漂移的闭环检测方法来进一步减少累积误差。
B.几何退化的确定
为了评估未知环境中几何退化的程度,我们开发了一种基于ICP算法获得的刚性变换的距离成本函数的方法。从ICP算法的最后一次迭代中,我们获得了所有对应点集 P t P^t Pt 和 P t + 1 P^{t+1} Pt+1,以及连续激光雷达扫描之间的相对位姿测量 u t + 1 t = [ R , t ] \mathbf{u}_{t+1}^t = [\mathbf{R}, \mathbf{t}] ut+1t=[R,t],其中 R ( θ x , θ y , θ z ) \mathbf{R}(\theta_x, \theta_y, \theta_z) R(θx,θy,θz) 是用欧拉角定义的3D旋转,即滚转 θ x \theta_x θx、俯仰 θ y \theta_y θy 和偏航 θ z \theta_z θz,而 t = [ t x , t y , t z ] \mathbf{t} = [t_x, t_y, t_z] t=[tx,ty,tz] 是3D平移向量。
给定 u t + 1 t \mathbf{u}_{t+1}^t ut+1t,它最佳地对齐了两个连续的激光雷达扫描,第 k k k 对对应点 p k t p_k^t pkt 和 p k t + 1 p_k^{t+1} pkt+1 之间的对齐误差由下式给出
d k = u t + 1 t p k t − p k t + 1 , \mathbf{d}_k = \mathbf{u}_{t+1}^t p_k^t - p_k^{t+1}, dk=ut+1tpkt−pkt+1,
其中 d k = [ d k x , d k y , d k z ] \mathbf{d}_k = [d_{k_x}, d_{k_y}, d_{k_z}] dk=[dkx,dky,dkz] 是失准向量。所有对应点集 P t P^t Pt 和 P t + 1 P^{t+1} Pt+1 之间的均方距离由下式给出
E ( u t + 1 t P t , P t + 1 ) = 1 N k ∑ k = 1 N k ∥ d k ∥ 2 , \mathcal{E}(\mathbf{u}_{t+1}^t P^t, P^{t+1}) = \frac{1}{N_k} \sum_{k=1}^{N_k} \| \mathbf{d}_k \|^2, E(ut+1tPt,Pt+1)=Nk1k=1∑Nk∥dk∥2,
其中 E ( ⋅ ) \mathcal{E}(\cdot) E(⋅) 是一个标量值成本函数, N k N_k Nk 是ICP算法中的对应点总数, ∥ ⋅ ∥ \| \cdot \| ∥⋅∥ 表示 L 2 \mathcal{L}_2 L2 范数。基于ICP的扫描匹配可以表述为一个优化问题,旨在找到使成本函数最小化的 u t + 1 t \mathbf{u}_{t+1}^t ut+1t,如下所示
u t + 1 t = arg min u ^ t + 1 t E ( u ^ t + 1 t P t , P t + 1 ) . \mathbf{u}_{t+1}^t = \argmin_{\hat{\mathbf{u}}_{t+1}^t} \mathcal{E}(\hat{\mathbf{u}}_{t+1}^t P^t, P^{t+1}). ut+1t=u^t+1targminE(u^t+1tPt,Pt+1).
使用在中计算的第 k k k 对对应点的位移向量,可以定义一个以 d k \mathbf{d}_k dk 为变量的成本函数,如下所示
ξ k ( u t + 1 t ) = d k x 2 + d k y 2 + d k z 2 . \xi_k(\mathbf{u}_{t+1}^t) = d_{k_x}^2 + d_{k_y}^2 + d_{k_z}^2. ξk(ut+1t)=dkx2+dky2+dkz2.
假设由于连续激光雷达扫描之间的微小运动导致局部线性,我们计算成本函数的梯度,以便将传感器噪声的误差传播到状态估计的不确定性,如下所示
J k t + 1 = ∂ ξ k ( u t + 1 t ) ∂ ( t x , t y , t z , θ x , θ y , θ z ) = [ ∂ ξ k ( u t + 1 t ) ∂ t x , ∂ ξ k ( u t + 1 t ) ∂ t y , ∂ ξ k ( u t + 1 t ) ∂ t z , ∂ ξ k ( u t + 1 t ) ∂ θ x , ∂ ξ k ( u t + 1 t ) ∂ θ y , ∂ ξ k ( u t + 1 t ) ∂ θ z ] , \mathbf{J}_k^{t+1} = \frac{\partial \xi_k(\mathbf{u}_{t+1}^t)}{\partial (t_x, t_y, t_z, \theta_x, \theta_y, \theta_z)} = \left[ \frac{\partial \xi_k(\mathbf{u}_{t+1}^t)}{\partial t_x}, \frac{\partial \xi_k(\mathbf{u}_{t+1}^t)}{\partial t_y}, \frac{\partial \xi_k(\mathbf{u}_{t+1}^t)}{\partial t_z}, \frac{\partial \xi_k(\mathbf{u}_{t+1}^t)}{\partial \theta_x}, \frac{\partial \xi_k(\mathbf{u}_{t+1}^t)}{\partial \theta_y}, \frac{\partial \xi_k(\mathbf{u}_{t+1}^t)}{\partial \theta_z} \right], Jkt+1=∂(tx,ty,tz,θx,θy,θz)∂ξk(ut+1t)=[∂tx∂ξk(ut+1t),∂ty∂ξk(ut+1t),∂tz∂ξk(ut+1t),∂θx∂ξk(ut+1t),∂θy∂ξk(ut+1t),∂θz∂ξk(ut+1t)],
其中 J k t + 1 \mathbf{J}_k^{t+1} Jkt+1 是在时间步 t + 1 t+1 t+1 为第 k k k 对对应点计算的梯度向量。成本函数的海森矩阵可以从所有 N k N_k Nk 个对应点集的梯度外积之和近似得到,如下所示
H t + 1 = ∑ k = 1 N k ( J k t + 1 ) T J k t + 1 . \mathbf{H}^{t+1} = \sum_{k=1}^{N_k} (\mathbf{J}_k^{t+1})^T \mathbf{J}_k^{t+1}. Ht+1=k=1∑Nk(Jkt+1)TJkt+1.
在 H t + 1 \mathbf{H}^{t+1} Ht+1 的特征值分解中,与最小特征值相关的特征向量表示在估计的刚性3D变换中可观测性最低的方向。我们通过计算最大和最小特征值的比值来确定最可观测方向和最不可观测方向之间的相对尺度,如下所示
κ t + 1 = λ max λ min . \kappa^{t+1} = \frac{\lambda_{\max}}{\lambda_{\min}}. κt+1=λminλmax.
其中 κ t + 1 \kappa^{t+1} κt+1 是近似海森矩阵 H t + 1 H^{t+1} Ht+1 的条件数,该矩阵是对称的。尽管特征值将依赖于一般的环境变量,例如测量噪声或在获取的激光雷达扫描中的对应点数量,但计算比值将消除对缩放特征值的环境变量的依赖。因此,较大的条件数对应于更高水平的几何退化 [57]。这意味着计算出的变换 u t + 1 t \mathbf{u}_{t+1}^t ut+1t 的一个或多个参数的线性组合存在较大的误差。接近 1 的小条件数对应于计算出的变换中所有参数的等效可观测性。在我们的实验中,如果 log ( κ t + 1 ) ≥ κ t h \log(\kappa^{t+1}) \geq \kappa_{th} log(κt+1)≥κth,则将姿态分类为退化的,其中 κ t h \kappa_{th} κth 是基于正常变化的期望的退化阈值,并通过实验结果验证。为了通过将闭环搜索限制在可观测性最高的区域来实现预期的性能目标,从而减少错误或不准确的闭环的可能性,将被分类为退化的机器人姿态和相应的关键扫描从闭环考虑中移除。
图6 (a) 室内办公室走廊的地图。几个位置标记为A、B、C和D,以展示特征值和条件数对场景中不同几何退化程度的响应。log λ显示了机器人在走廊中导航时近似海森矩阵的六个特征值的响应。log(κ)图显示了由最大和最小特征值比值计算得到的条件数的对数。激光雷达滑移图显示了在1秒间隔内,由轮式惯性里程计和激光雷达里程计估计的机器人前进位移的差异。在这项实验中,车轮滑移可以忽略不计。
图 6 展示了在室内办公环境中确定几何退化的过程,当机器人沿着一条具有平坦和对称墙壁的长走廊导航时。对数特征值 l o g ( λ ) log(\lambda) log(λ) 的图显示了近似海森矩阵的所有六个特征值的响应。当机器人在无特征的走廊中导航时,在轨迹的某一段中,可以看到海森矩阵的最小特征值的值显著下降,而其他特征值的变化最小。这导致条件数的值增加,如 l o g ( κ ) log(\kappa) log(κ) 值的图所示。在这项实验中,可以验证 l o g ( κ ) log(\kappa) log(κ) 值的增加对应于基于车轮惯性里程计的嘈杂激光雷达里程计估计。当机器人在室内办公环境中导航时,我们比较了激光雷达里程计的输出与车轮惯性里程计的输出。通常,车轮里程计不可靠,但由于机器人以低速移动且走廊铺有地毯,车轮打滑可以忽略不计。激光雷达打滑图显示了基于车轮惯性和激光雷达里程计计算的前向运动在 1 秒间隔内的差异。结果表明, l o g ( κ ) > 2.0 log(\kappa) > 2.0 log(κ)>2.0 的值对应于激光雷达和车轮惯性里程计之间最大的差异。退化度量 κ \kappa κ 对无特征走廊的几何退化有响应,因为机器人沿墙壁的前向运动对激光雷达里程计变得不可观测:我们称之为激光雷达打滑。
3. 抗退化的激光雷达-雷达-惯性里程计
链接:论文
代码:github
摘要——为了使自主机器人在未来能够更加稳健地在具有挑战性的环境中运行,有必要实现更高水平的自主性。对于许多自主系统而言,估计和里程计仍然是一个单一的故障点,从这一点上恢复通常非常困难,甚至几乎不可能。因此,鲁棒的里程计解决方案至关重要。在这项工作中,我们提出了一种紧耦合的激光雷达-雷达-惯性融合方法,通过利用互补的感知模态来减轻激光雷达退化的影响,同时在环境条件良好的情况下保持激光雷达的精度。所提出的方法在基于因子图的窗口平滑器中结合了多种模态,并具有特定于传感器信息的因子公式,这使得在退化情况下,部分信息可以通过非退化轴传递给图。所提出的方法在真实世界的测试中得到了验证,测试对象是一个在飞行中经历退化条件(包括几何自相似性和遮挡)的机器人。
图1. 本文探讨的具有挑战性的环境示例,包括几何自相似的隧道和充满雾的走廊的建筑。LiDAR点云显示了感知退化的影响。雷达数据被融合以实现鲁棒的里程计。
B. 状态估计
所提出方法的状态空间包括惯性测量单元(IMU)在世界坐标系中的位姿 w T I ∈ S E ( 3 ) {}^w\mathbf{T}_I \in SE(3) wTI∈SE(3)、IMU 的线速度 v I ∈ R 3 \mathbf{v}_I \in \mathbb{R}^3 vI∈R3 以及 IMU 的偏置 b ∈ R 6 \mathbf{b} \in \mathbb{R}^6 b∈R6,因此图中给定节点的状态表示为
x = [ w T I v I b ] (1) \mathbf{x} = \begin{bmatrix} {}^w\mathbf{T}_I & \mathbf{v}_I & \mathbf{b} \end{bmatrix} \tag{1} x=[wTIvIb](1)
其中,IMU 相对于世界坐标系的位置和方向( w p I , w R I {}^w\mathbf{p}_I, {}^w\mathbf{R}_I wpI,wRI)构成位姿, b \mathbf{b} b 包含加速度计偏置 b a b_a ba 和陀螺仪偏置 b g b_g bg 的项。
在所提出的方法中,估计问题通过因子图求解,采用滑动窗口上的增量优化来降低计算成本。以一致的速率获得状态估计是理想的,而雷达测量的延迟比激光雷达低,因此使用雷达测量的时间戳来创建图节点。此外,由于激光雷达将进行去偏斜处理,假设每个激光雷达测量至少有一个雷达测量,激光雷达可以简单地去偏斜到雷达测量的时间戳。
设时间 i i i 的雷达测量为 R i \mathcal{R}_i Ri,时间 i i i 和 j j j 之间的时间段内的 IMU 测量为 I i j \mathcal{I}_{ij} Iij,时间 i i i 的激光雷达特征测量集(包括平面和线特征,见 III-B.2 节)为 L i \mathcal{L}_i Li。所有雷达测量的集合到时间 k k k 为 M k = { I i j , L i , R i } \mathcal{M}_k = \{\mathcal{I}_{ij}, \mathcal{L}_i, \mathcal{R}_i\} Mk={ Iij,Li,Ri},其中 ( i , j ) ∈ M k (i, j) \in \mathcal{M}_k (i,j)∈Mk。因此,最大后验估计(MAP)为
x k − l : k ∗ = arg max x k − l : k p ( x k − l : k ∣ Z k − l : k ) (2) \mathbf{x}_{k-l:k}^* = \arg\max_{\mathbf{x}_{k-l:k}} p(\mathbf{x}_{k-l:k} | \mathcal{Z}_{k-l:k}) \tag{2} xk−l:k∗=argxk−l:kmaxp(xk−l:k∣Zk−l:k)(2)
∝ p ( x k − l − 1 ) p ( Z k − l : k ∣ x k − l : k ) \propto p(\mathbf{x}_{k-l-1}) p(\mathcal{Z}_{k-l:k} | \mathbf{x}_{k-l:k}) ∝p(xk−l−1)p(Zk−l:k∣xk−l:k)
其中, x k − l : k \mathbf{x}_{k-l:k} xk−l:k 是从时间 k − l k-l k−l 到 k k k 的窗口状态集。假设高斯噪声模型且均值为零,这可以重写为因子图优化的目标函数
x k − l : k ∗ = arg min x k − l : k ( ∥ e k − l − 1 ∥ Σ 0 2 + ∑ ( i , j ) ∈ M k − l : k ∥ e I i j ∥ Σ I 2 + ∑ i ∈ M k − l : k ∥ e R i ∥ Σ R 2 + ∑ i ∈ M k − l : k ∥ e L i ∥ Σ L 2 ) (3) \mathbf{x}_{k-l:k}^* = \arg\min_{\mathbf{x}_{k-l:k}} \left( \| \mathbf{e}_{k-l-1} \|_{\Sigma_0}^2 + \sum_{(i,j) \in \mathcal{M}_{k-l:k}} \| \mathbf{e}_{\mathcal{I}_{ij}} \|_{\Sigma_{\mathcal{I}}}^2 + \sum_{i \in \mathcal{M}_{k-l:k}} \| \mathbf{e}_{\mathcal{R}_i} \|_{\Sigma_{\mathcal{R}}}^2 + \sum_{i \in \mathcal{M}_{k-l:k}} \| \mathbf{e}_{\mathcal{L}_i} \|_{\Sigma_{\mathcal{L}}}^2 \right) \tag{3} xk−l:k∗=argxk−l:kmin ∥ek−l−1∥Σ02+(i,j)∈Mk−l:k∑∥eIij∥ΣI2+i∈Mk−l:k∑∥eRi∥ΣR2+i∈Mk−l:k∑∥eLi∥ΣL2 (3)
其中, e k − l − 1 \mathbf{e}_{k-l-1} ek−l−1、 e I i j \mathbf{e}_{\mathcal{I}_{ij}} eIij、 e R i \mathbf{e}_{\mathcal{R}_i} eRi 和 e L i \mathbf{e}_{\mathcal{L}_i} eLi 分别是先验和各传感器测量因子的残差, Σ 0 \Sigma_0 Σ0、 Σ I \Sigma_{\mathcal{I}} ΣI、 Σ R \Sigma_{\mathcal{R}} ΣR 和 Σ L \Sigma_{\mathcal{L}} ΣL 分别是它们的协方差矩阵。这些残差项以及协方差和雅可比矩阵定义了添加到因子图中的因子,最终架构如图 2 所示。此外,这些因子的解析雅可比矩阵是可用的,与在线数值微分相比,计算成本更低。这些推导在此不提供,详见 [48] 以了解李群的介绍。
1) 惯性测量单元测量
由于 IMU 测量的速率远高于激光雷达或雷达,实现中将 IMU 测量累积到一个缓冲区中,等待雷达测量。接收到雷达测量后,在图中创建一个新节点,并将所有 IMU 测量作为因子添加到图中。
从图的前一个节点的时间戳到雷达测量的时间戳,IMU测量被积分并用于通过预积分的IMU因子[49]连接两个节点,包括以下残差及其协方差:
e I = [ e Δ R I e Δ v I e Δ p I ] ⊤ , Σ I (4) \mathbf{e}_{\mathcal{I}} = \begin{bmatrix} \mathbf{e}_{\Delta \mathbf{R}_\mathcal{I}} & \mathbf{e}_{\Delta \mathbf{v}_\mathcal{I}} & \mathbf{e}_{\Delta \mathbf{p}_\mathcal{I}} \end{bmatrix}^\top, \quad \Sigma_{\mathcal{I}} \tag{4} eI=[eΔRIeΔvIeΔpI]⊤,ΣI(4)
其中, e Δ R I \mathbf{e}_{\Delta \mathbf{R}_\mathcal{I}} eΔRI、 e Δ v I \mathbf{e}_{\Delta \mathbf{v}_\mathcal{I}} eΔvI 和 e Δ p I \mathbf{e}_{\Delta \mathbf{p}_\mathcal{I}} eΔpI 分别是IMU因子在方向、速度和位置方面的残差。
2) 激光雷达测量: 对于每个激光雷达点云测量,首先将当前状态传播到收集期间所有IMU测量的时间戳,然后在恒定线性和角速度模型下插值,以获得每个点的时间戳下的激光雷达位姿。利用激光雷达和雷达之间的同步,以及两者均以10 Hz运行的事实,可以将点云去偏移到位于激光雷达收集期间的雷达时间戳,从而对齐测量。使用雷达时间戳和点时间戳之间的相对位姿对点进行去偏移。去偏移后,提取特征并用于制定添加到图中的因子。需要注意的是,在退化场景下(例如在几何自相似环境中),基于特征的单个因子被添加,而不是单个6自由度位姿先验(如[14, 47]中所述),这将不可避免地沿退化轴引入错误信息。通过添加基于特征的单个因子,我们确保不会沿退化轴引入信息。在所提出的方法中,考虑了两种类型的特征,即“平面”和“线”特征,这意味着激光雷达测量由平面特征测量 L p \mathcal{L}^p Lp 和线特征测量 L l \mathcal{L}^l Ll 组成,即 L = L p ∪ L l \mathcal{L} = \mathcal{L}^p \cup \mathcal{L}^l L=Lp∪Ll。这些因子在本节后面描述。
对于每个去偏移的点云,选择具有高曲率的点作为线特征,选择具有低曲率的点作为平面特征,如[10]中所述。然后,这两组点分别在它们各自的局部子图中下采样,以找到对应关系,构建用于优化的约束因子。特征的对应关系通过首先找到特征点的5个最近邻,然后使用这些邻域的分布的特征值来验证它们是否形成3D线或平面。从子图中构建k-d树,用于加速搜索。最近邻的均值被设置为位于相应线或平面上的点 w j {}^w\mathbf{j} wj,而分布的特征向量用于找到表示平面的法向量 w n {}^w\mathbf{n} wn 或表示线的方向向量 w d {}^w\mathbf{d} wd。
现在描述优化中使用的因子的构建。注意,对于激光雷达因子,假设激光雷达-IMU外参 I T L {}^{}_I\mathbf{T}_L ITL 是已知的,并用于将点云转换到IMU坐标系。
a) 激光雷达点到平面因子: 对于在激光雷达测量坐标系中表示的点 L i {}^L\mathbf{i} Li,对应关系由位于3D平面 w j {}^w\mathbf{j} wj 上的点和平面的法向量 w n {}^w\mathbf{n} wn 参数化。误差计算如下:
e L p = ( ( w i − w j ) ⋅ w n ) w n (5) \mathbf{e}_{\mathcal{L}^p} = \left( ({}^w\mathbf{i} - {}^w\mathbf{j}) \cdot {}^w\mathbf{n} \right) {}^w\mathbf{n} \tag{5} eLp=((wi−wj)⋅wn)wn(5)
唯一的非零雅可比矩阵为:
∂ e L p ∂ w T I = w n w n ⊤ [ − w R I [ I i ] × w R I ] (6) \frac{\partial \mathbf{e}_{\mathcal{L}^p}}{\partial {}^w\mathbf{T}_I} = {}^w\mathbf{n} {}^w\mathbf{n}^\top \begin{bmatrix} -{}^w\mathbf{R}_I [{}^I\mathbf{i}]^\times & {}^w\mathbf{R}_I \end{bmatrix} \tag{6} ∂wTI∂eLp=wnwn⊤[−wRI[Ii]×wRI](6)
b) 激光雷达点到线因子: 对于点 L i {}^L\mathbf{i} Li,对应关系由3D线上的点 w j {}^w\mathbf{j} wj 和其方向向量 w d {}^w\mathbf{d} wd 参数化。误差形式如下:
e L l = ( w T I L i − w j ) − ( ( w T I L i − w j ) ⋅ w d ) w d (7) \mathbf{e}_{\mathcal{L}^l} = ({}^w\mathbf{T}_I {}^L\mathbf{i} - {}^w\mathbf{j}) - \left( ({}^w\mathbf{T}_I {}^L\mathbf{i} - {}^w\mathbf{j}) \cdot {}^w\mathbf{d} \right) {}^w\mathbf{d} \tag{7} eLl=(wTILi−wj)−((wTILi−wj)⋅wd)wd(7)
唯一的非零雅可比矩阵为:
b) 不确定性:该因子公式的不确定性是根据最小二乘解的协方差矩阵估计公式计算的
cov ( R v ˉ ) = ( X ⊤ X ) − 1 ∥ v r − X R v ∥ 2 N − N dof ( 14 ) \operatorname{cov}({}^R \bar{\mathbf{v}}) = (\mathbf{X}^\top \mathbf{X})^{-1} \frac{\| \mathbf{v}_r - \mathbf{X} {}^R \mathbf{v} \|^2}{N - N_{\text{dof}}} \quad (14) cov(Rvˉ)=(X⊤X)−1N−Ndof∥vr−XRv∥2(14)
其中,自由度 N dof N_{\text{dof}} Ndof 为 3。请注意,这里假设与 e R e_R eR 相关的不确定性(即 Σ R \Sigma_R ΣR)主要由 R v {}^R \mathbf{v} Rv 主导。
最小二乘公式假设最小二乘公式中的不确定性仅存在于因变量中,而这里因变量和自变量都包含不确定性。具体来说,因变量的不确定性来自多普勒速度测量的不确定性,而自变量的不确定性来自方位/仰角测量噪声通过方向向量计算的传播。其他作者已经解决了这个问题 [51, 52],但改进似乎微乎其微,同时导致了高昂的计算成本。因此,这里没有采用这种不同的方法。
- 初始化:增加了一个初始化程序,假设机器人静止,这提高了轨迹初始部分的收敛速度和精度。在此期间,积累了几秒钟的 IMU 数据,用于估计重力大小(假设加速度计偏置较小)、初始滚转和俯仰角以及陀螺仪偏置。
C. 实现细节
所提出的方法使用开源库 GTSAM [53] 以 C++ 实现,用于因子图优化。我们使用了库中提供的增量固定滞后平滑器,窗口大小为 0.75 秒。特征集(和相应的地图)以 0.2 米的分辨率维护,在较大环境中导致 1000 到 2000 个因子被添加。此外,所有基于激光雷达和雷达的因子均采用 Huber 损失函数,以提高对异常值的鲁棒性。所提出的方法经过调整,以 10 Hz 的一致输出速率运行,通过利用多线程,能够在 Intel i7-11800H CPU 上实时运行。
此外,在雾环境中,为了提高性能,增加了一个特征启发式方法,优先选择在地面上发现的平面特征。这里的逻辑是,在人造结构中低空飞行时,更有可能在地板上找到良好的特征。这在前视雷达对垂直漂移最不敏感的情况下特别有帮助。地面上的特征在 III-B.2 节的点到平面因子之后添加。