Kinematic-ICP开源:优化激光雷达与轮式里程计融合

文章目录

  • 摘要
  • 一、介绍
  • 二、相关工作
  • 三、使用点对点ICP的激光雷达里程计
  • 四. 在ICP中引入运动学约束
  • 五. 实验评估
    • A. 实验设置
    • B. 大型室内仓库的定性结果
    • C. 定量结果
    • D. 消融实验


摘要

代码:github
原文:原文

摘要—LiDAR里程计对许多机器人应用至关重要,包括3D地图构建、导航以及同时定位与建图(SLAM)。LiDAR里程计系统通常基于某种形式的点云配准来计算移动机器人自身的运动。然而,目前的LiDAR里程计系统很少考虑点云对齐过程中的领域特定知识和移动平台的运动学模型。本文提出了一种名为Kinematic-ICP的LiDAR里程计系统,专注于配备3D LiDAR的轮式移动机器人,且机器人在平面表面上移动,这是仓库、办公室、医院等环境中的常见假设。我们的方法在传统的点对点迭代最近点(ICP)配准算法中引入了运动学约束,从而使得计算得到的运动符合平台的运动学约束,充分利用了机器人的轮式里程计和3DLiDAR观测数据。在优化过程中,我们动态调整LiDAR测量值和轮式里程计的影响,以使系统能够处理特征稀缺的情境,例如走廊。我们在大规模仓库环境中以及户外对该方法进行了评估,实验结果表明,我们的方法能够取得最佳性能,且比单独依赖轮式里程计或常见LiDAR里程计系统更为准确。Kinematic-ICP最近已被部署在Dexory机器人的车队中,广泛应用于全球客户站点的仓库中,证明了我们的方法可以在实际环境中与完整的导航栈一同运行。

在这里插入图片描述
图1:考虑到移动机器人局部一致但全局漂移的轮式里程计,我们的方法通过使用LiDAR数据和平台的运动学模型来优化里程计。我们方法计算得到的轨迹大约为10公里。

一、介绍

准确的自我运动估计对于任何在未知环境中操作的移动机器人至关重要。传统的LiDAR里程计管道使用某种变体的迭代最近点(ICP)算法逐步估计机器人的姿态,该算法最初由Besl和McKay [2]提出,用于对静态3D形状进行配准。因此,基于ICP配准的LiDAR里程计系统通常忽略了移动机器人运动学。这常常导致平台运动估计不自然,例如,轮式移动机器人沿局部z轴的瞬时小运动。与此同时,普遍认为里程计会随着时间漂移,但其运动是连续的,意味着移动平台在里程计坐标系中的姿态始终平滑变化,不会出现离散跳跃。这一假设在REP-105中得到了标准化。
本文介绍了Kinematic-ICP,一种明确将机器人运动学融入ICP优化中的LiDAR里程计系统。我们的目标是开发一个更一致的运动估计系统,能够根据机器人的运动提供更准确的结果。特别地,我们专注于在平面表面上操作的轮式移动机器人,因为这些机器人在现实应用中,尤其是室内环境中,广泛使用。我们的系统基于KISS-ICP [29],并在优化中使用标准的点对点误差度量。我们使用机器人的轮式里程计作为初始猜测,并将优化过程约束为输出遵循机器人特定运动学的姿态。我们的方法可以应用于不同的轮式移动机器人。此外,我们还研究了一种自适应方法,以调整LiDAR里程计和轮式里程计在优化中的相对重要性,以处理诸如特征缺失的走廊或轮式里程计不准确等挑战性场景。
本文的主要贡献是提出了一种与轮式移动机器人运动学模型紧密结合的新型3D LiDAR里程计系统。我们的系统能够准确地估计机器人的姿态,且速度快于传感器的帧率,即使在当前最先进的系统表现不佳的挑战性场景中也能有效工作。我们认为我们的方法可以:(i)在估计运动时修正移动机器人的轮式里程计,同时强制执行运动学约束;(ii)以与最先进的LiDAR里程计系统相当或更高的准确度计算里程计;(iii)动态调整LiDAR测量值和轮式里程计读数之间的权重,在多样且充满挑战的环境中提高鲁棒性和准确性。所有的声明都得到了本文和我们实验评估的支持,且我们提供了开源实现,网址:https://github.com/PRBonn/kinematic-icp。

二、相关工作

在移动机器人领域,已经提出了许多针对LiDAR里程计的实际解决方案[5],[6],[7],[10],[18],[22],[29],[35]。这些方法大多数基于ICP算法[2],[3],通过对连续的LiDAR点云进行配准来估计传感器的自我运动。尽管一些算法引入了本体传感器来改善估计[32],[33],[34],但LiDAR里程计方法通常没有系统地考虑轮式移动机器人的运动学。我们的工作旨在改变这一点。

将领域特定知识引入LiDAR里程计系统的一种常见方法是假设机器人所移动的表面,因此机器人的运动是平面的。通过这种方式,可以在管道的预处理步骤中提取地面点。LeGO-LOAM [23] 计算平面和边缘特征,并通过首先估计平台与地面的对齐来进行两步优化。此步骤的结果被用作初始猜测,以利用边缘特征估计平面运动。在此基础上,Seo等人[21]研究了地面分割的效果,并提出了一种鲁棒的地面优化LiDAR里程计系统。我们的方法专注于在平面表面上操作的轮式移动机器人,我们的估计是纯平面的。与前述方法不同,我们并不通过地面分割来建模平面环境,而是通过约束估计的运动遵循平台的运动学。

另一种估计地面机器人运动的方法是将多种信息源融合在一个因子图优化框架中[1],[9],[15],[17],[25],[31]。GRLOAM [25] 在一个因子图中融合了LiDAR扫描特征配准、惯性测量单元(IMU)和轮式编码器读数,结合了外部传感器信息和本体传感器信息。GCLO [31] 联合优化了里程计和地面对齐因子,以强制运动的平面性。Okawara等人[17]提出了一种LiDAR-IMU系统,该系统基于运动学模型集成了轮式里程计因子,并进行了在线标定。这些方法通过同时考虑多个传感器线索,在平滑框架中估计机器人的姿态。与此不同,我们采用另一种方法,并通过在优化框架中从运动学角度约束姿态估计,加入了关于机器人运动的领域知识。

关于里程计估计的移动机器人运动学,已经在视觉里程计研究中得到探讨。Li等人[13]旨在通过利用基于速度控制的运动学模型来提高视觉惯性里程计的精度,而无需使用里程计编码器。运动模型在线标定,同时使用因子图优化估计传感器的姿态。Zheng等人[36]将地面机器人配备相机的运动参数化为SE(2),但在SE(2)-地标约束中包括了超出SE(2)的扰动。与添加允许3D运动的软性运动学约束不同,其他里程计方法直接估计地面机器人的运动学运动。Scaramuzza [20]表明,通过利用一种限制性的Ackermann模型进行视觉里程计,可以将运动估计的对应点数减少到仅需估计瞬时旋转中心周围的偏航角。为了应对建模误差,Jordan等人[12]估计了一种差速驱动机器人的运动,从图像中获取信息,并在模型无法充分解释平台运动时回退到完整的SE(2)参数化。这些方法通常与相机图像一起使用,而我们的系统则是通过LiDAR点云估计里程计。此外,在这些方法中,机器人运动学仅被用于减少数据关联的搜索空间或作为优化器的额外线索。与Scaramuzza [20]类似,我们的方法直接将运动学纳入优化循环,确保每个运动估计对于轮式移动机器人都是可行的。

三、使用点对点ICP的激光雷达里程计

我们的方法将轮式机器人的运动学模型整合到注册方案中,以顺序估计其运动。主要组件构建在KISS-ICP[29]之上,我们在本节中简要回顾它以确保完整性并引入符号表示。为了获得机器人在时间t的里程计框架中的位姿 T t ∈ S E ( 3 ) T_t \in SE(3) TtSE(3),我们首先预处理传入的点云 P = { p i ∣ p i ∈ R 3 } P = \{p_i | p_i \in \mathbb{R}^3\} P={pipiR3},该点云以传感器框架表示,通过去偏斜和体素下采样处理得到 P ∗ P^* P。然后,我们使用传感器和机体框架之间的外部校准 C ∈ S E ( 3 ) C \in SE(3) CSE(3) 将这个点云转换到机体框架,得到点云 S = { s i ∣ s i ∈ R 3 } S = \{s_i | s_i \in \mathbb{R}^3\} S={sisiR3}。给定机器人之前的姿态估计 T t − 1 T_{t-1} Tt1 和一个相对里程计测量 O t ∈ S E ( 3 ) O_t \in SE(3) OtSE(3),我们计算当前机器人姿态的初始猜测为:
T t = T t − 1 O t . ( 1 ) T_t = T_{t-1} O_t. \qquad (1) Tt=Tt1Ot.(1)
然后我们通过使用点对点ICP算法来细化这个估计。在每次迭代中,我们在源点 S S S 和我们的局部地图之间获得一组对应关系。存储在体素网格中的点 Q = { q i ∣ q i ∈ R 3 } \mathcal{Q}=\left\{q_{i} \mid q_{i} \in \mathbb{R}^3\right\} Q={qiqiR3},如KISS-ICP[29]中所述。我们定义点q和由T变换后的点s之间的残差r为

r ( T ) = T s − q . ( 2 ) r(T) = T s - q. \qquad (2) r(T)=Tsq.(2)

然后我们定义我们的点对点代价函数为:

χ ( T ^ t ) = 1 ∣ C ∣ ∑ ( s , q ) ∈ C ∥ r ( T ^ t ) ∥ 2 2 , ( 3 ) \chi\left(\hat{T}_{t}\right) = \frac{1}{|\mathcal{C}|} \sum_{(s, q) \in \mathcal{C}} \left\| r\left(\hat{T}_{t}\right) \right\|_{2}^{2}, \qquad (3) χ(T^t)=C1(s,q)C r(T^t) 22,(3)

其中 C \mathcal{C} C 是最近邻对应点的集合, ∣ C ∣ |\mathcal{C}| C 是此类对应点的数量。然后我们可以以最小二乘的方式最小化方程③:

Δ u = argmin ⁡ Δ u χ ( T ^ t ⊞ Δ u ) , ( 4 ) \Delta u = \underset{\Delta u}{\operatorname{argmin}} \chi\left(\hat{T}_{t} \boxplus \Delta u\right), \qquad (4) Δu=Δuargminχ(T^tΔu),(4)

其中 Δ u \Delta u Δu 是ICP修正向量, ⊞ \boxplus 将修正向量应用于当前的姿态估计。这个过程,包括最近邻对应点搜索和最小二乘优化,会重复进行直到收敛,从而得到新的姿态估计 T t T_{t} Tt。收敛后,我们使用已注册扫描的下采样版本更新地图。

四. 在ICP中引入运动学约束

给定来自一次ICP迭代的修正向量 Δ u ∈ R N \Delta u ∈ R^{N} ΔuRN,我们可以使用以下方式更新我们的姿态估计 Tt:
T ^ t = T ^ t ⊕ Δ u = T ^ t Exp ( f ( Δ u ) ) , ( 5 ) \hat{T}_t = \hat{T}_t \oplus \Delta u = \hat{T}_t \text{Exp}(f(\Delta u)),\qquad (5) T^t=T^tΔu=T^tExp(f(Δu)),(5)

其中 f : R N → R 6 f: \mathbb{R}^N \rightarrow \mathbb{R}^6 f:RNR6 表示使用的移动平台的集成运动学模型[24],而Exp是SE(3)的指数映射。函数f用于校正来自平台里程计的初始猜测 T ^ \hat{T} T^。因此,人们可以使用与移动平台的物理配置不同的运动学模型,因为我们实际上是在建模运动校正,而不是两个扫描之间的相对运动。直观地, Δ u ∈ R N \Delta u \in \mathbb{R}^N ΔuRN 表示需要应用于机器人以校正运动的N个集成控制输入。虽然我们的框架可以应用于任何机器人运动学,我们希望专注于基于单轮车的校正,因为这可以广泛应用于大多数轮式移动机器人[24]、仿人机器人[4],甚至船只[30]。在这种情况下, Δ u = [ Δ x , Δ θ ] ⊤ ∈ R 2 \Delta u = [\Delta x, \Delta \theta]^\top \in \mathbb{R}^2 Δu=[Δx,Δθ]R2 表示线性和角位移。

f ( Δ u ) = [ Δ x sin ⁡ ( Δ θ ) Δ θ + ϵ Δ x 1 − cos ⁡ ( Δ θ ) Δ θ + ϵ 0 0 0 Δ θ ] ⊤ ( 6 ) f(\Delta u) = \begin{bmatrix} \Delta x \, \frac{\sin(\Delta \theta)}{\Delta \theta + \epsilon} & \Delta x \, \frac{1 - \cos(\Delta \theta)}{\Delta \theta + \epsilon} & 0 & 0 & 0 & \Delta \theta \end{bmatrix}^\top \qquad (6) f(Δu)=[ΔxΔθ+ϵsin(Δθ)ΔxΔθ+ϵ1cos(Δθ)000Δθ](6)

其中 ϵ \epsilon ϵ 是一个小常数,通常设置为可以表示为浮点数的最小正数。在以最小二乘方式求解方程(4)时,我们需要计算方程(2)相对于修正向量 u 的雅可比矩阵。观察方程(5),这个雅可比矩阵可以使用链式法则计算为:
J ( T ^ t ) = ∂ r ( T ^ t ⊞ Δ u ) ∂ Δ u ∣ Δ u = 0 = ∂ T ^ t Exp ⁡ ( Δ x ) s ∂ Δ x ∣ Δ x = f ( 0 ) ⏟ J i c p ∂ f ( Δ u ) ∂ Δ u ∣ Δ u = 0 ⏟ J k i n e m a t i c = R ^ t [ I − [ s ] × ] J kinematic , ( 7 ) \begin{align*} J\left(\hat{T}_t\right)&=\left.\frac{\partial r\left(\hat{T}_t\boxplus\Delta u\right)}{\partial\Delta u}\right|_{\Delta u=0}\\ &=\underbrace{\left.\frac{\partial\hat{T}_t\operatorname{Exp}(\Delta x) s}{\partial\Delta x}\right|_{\Delta x=f(0)}}_{J_{icp}}\underbrace{\left.\frac{\partial f(\Delta u)}{\partial\Delta u}\right|_{\Delta u=0}}_{J_{kinematic}}\\ &=\hat{R}_t\left[\begin{array}{ll} I&-[s]_\times\end{array}\right] J_{\text{kinematic}},\end{align*} \qquad (7) J(T^t)=Δur(T^tΔu) Δu=0=Jicp ΔxT^tExp(Δx)s Δx=f(0)Jkinematic Δuf(Δu) Δu=0=R^t[I[s]×]Jkinematic,(7)

其中 R ^ t \hat{R}_{t} R^t T ^ t \hat{T}_{t} T^t 的旋转部分, I ∈ R 3 × 3 I\in \mathbb{R}^{3\times 3} IR3×3 是单位矩阵, [ s ] × ∈ R 3 × 3 [s]_{\times}\in \mathbb{R}^{3\times 3} [s]×R3×3 是从点 s ∈ R 3 s\in \mathbb{R}^3 sR3 计算得到的反对称矩阵。在通过方程(6)表达的基于单轮车的修正中,我们可以计算 J kinematic ∈ R 6 × 2 J_{\text{kinematic}}\in \mathbb{R}^{6\times 2} JkinematicR6×2 如下:

J kinematic = [ 1 0 0 0 0 0 0 0 0 0 0 1 ] ⊤ , ( 8 ) J_{\text{kinematic}}=\left[\begin{array}{llllll} 1& 0& 0& 0& 0& 0\\ 0& 0& 0& 0& 0& 1\end{array}\right]^{\top},\quad(8) Jkinematic=[100000000001],(8)

在轮式移动机器人系统中,由于轮胎打滑、机械磨损或不平坦的表面等因素,旋转估计通常比平移估计更嘈杂。轮式编码器通常提供可靠的平移估计,但对于旋转估计则不太可靠,尤其是在存在外部干扰的情况下。在实践中,我们希望我们的激光雷达修正更多地关注估计的旋转部分,同时更多地信任来自轮式编码器的平移部分。这可以帮助系统在激光雷达扫描无法完全确定机器人姿态的退化场景中,例如,在直线特征不足的走廊中移动或通过狭窄的通道进入环境的以前未见过的部分。这些知识可以通过向代价函数添加正则化项来引入优化:
S ( T ^ t ) = χ ( T ^ t ) + 1 β t ∥ Log ⁡ t ( T t − 1 O t T ^ t − 1 ) ⏟ D t ∥ 2 2 , ( 9 ) S\left(\hat{T}_{t}\right)=\chi\left(\hat{T}_{t}\right)+\frac{1}{\beta_{t}}\left\|\operatorname{Log}_{t}\underbrace{\left(T_{t-1} O_{t}\hat{T}_{t}^{-1}\right)}_{D_{t}}\right\|_{2}^{2},\qquad(9) S(T^t)=χ(T^t)+βt1 LogtDt (Tt1OtT^t1) 22,(9)

其中 D t ∈ S E ( 3 ) D_{t}\in SE(3) DtSE(3) 是当前估计值与轮式里程计初始猜测之间的偏差,而 log ⁡ t ( D t ) \log_{t}\left(D_{t}\right) logt(Dt) 提取了 D t D_{t} Dt 的平移部分。方程(9)是一个高度非线性的代价函数,但我们可以通过以下方式优雅地对 Δ u \Delta u Δu 的平移部分进行正则化来近似它:

G ( T ^ t ⊞ Δ u ) = χ ( T ^ t ⊞ Δ u ) + 1 β t Δ x 2 , ( 10 ) G(\hat{T}_{t}\boxplus\Delta u)=\chi\left(\hat{T}_{t}\boxplus\Delta u\right)+\frac{1}{\beta_{t}}\Delta x^{2},\qquad(10) G(T^tΔu)=χ(T^tΔu)+βt1Δx2,(10)

其中 Δ x ∈ R \Delta x\in \mathbb{R} ΔxR Δ u \Delta u Δu 的平移部分,而 β t \beta_{t} βt 与我们希望对 Δ x \Delta x Δx 施加的正则化程度成反比。在我们的案例中,我们希望在轮式里程计不可靠的情况下, β t \beta_{t} βt 的值较大,因此系统应更多地依赖激光雷达测量。相反,当系统应更多地信任轮式里程计时,我们希望 β t \beta_{t} βt 的值较小。为了在避免手动参数调整的同时实现这种行为,我们以数据驱动的方式计算 β t \beta_{t} βt 的值:

β t = χ ( T t − 1 O t ) ( 11 ) \beta_{t}=\chi\left(T_{t-1} O_{t}\right)\qquad(11) βt=χ(Tt1Ot)(11)
这意味着我们在轮式里程计的初始猜测下评估方程(3),有效地考虑了轮式里程计和激光雷达测量之间的一致性。正如我们在实验中展示的,引入 β t \beta_{t} βt 提高了系统的鲁棒性,特别是在退化场景中,同时提高了系统的准确性。

五. 实验评估

本文的主要重点是将运动学模型纳入姿态优化的激光雷达里程计系统,以更好地估计轮式移动机器人的运动。这里报告的实验支持我们的关键主张,即我们的方法可以:(i) 在执行运动估计的运动学约束的同时,校正移动机器人的轮式里程计;(ii) 计算与最先进的激光雷达里程计系统相当或更优的精度的里程计;(iii) 在多样且具有挑战性的环境中动态调整激光雷达测量和轮式里程计读数之间的权重,提高鲁棒性和准确性。

A. 实验设置

我们在两个不同的平台和两个不同的环境中测试我们的方法,以展示其对不同轮式移动机器人的有效性和适用性。

  • I) 数据集:首先,我们在Dexory机器人收集的真实仓库数据上运行我们的方法,该机器人具有一个可扩展的12米高的塔。机器人采用前后都有导向轮的差动驱动方式。它配备了一个Robosense公司的90°×360°半球形32束Bpearl激光雷达,以10 Hz的速率流式传输点云。它还提供了轮式编码器的里程计数据。数据收集在三个不同大小的真实世界仓库环境中进行:一个0.35公顷的小场地,一个2.3公顷的中等场地,以及一个占地9.45公顷的大型物流场地。序列的特征在表格中总结。数据记录在不中断正在进行的操作的情况下进行,因此包含许多动态对象的序列,包括叉车和操作员。由于这些仓库的相当大的规模和生产中的运行,安装运动捕捉系统或其他参考系统以评估目的并不可行。尽管如此,为了定量评估我们方法的性能,我们使用行业标准的Cartographer [11],这是一个被广泛采用的SLAM框架,它在复杂环境中提供准确的映射和定位,作为我们开环轨迹估计的参考。
    在这里插入图片描述
    我们用来评估我们方法的第二个平台是Clearpath Husky A200,这是一个四轮的带有漂移转向的机器人。机器人使用其轮式编码器提供轮式里程计估计,并配备了一个Hesai LiDAR XT32,以10 Hz的速率记录数据。我们在校园的宽阔平坦的人行道上以及波恩Poppelsdorf宫殿前的公园里驾驶和记录数据,那里包括不平坦和粗糙的地形,如草地和人行道。请注意,这个第二个地点具有挑战性,因为它并不严格遵循我们在平坦表面上操作的假设。请注意,第二个位置具有挑战性,因为它并没有严格遵循我们关于在平面表面上操作的假设。为了评估我们方法的准确性,我们将一个反射棱镜安装在机器人上,并使用Leica Nova MS60全站仪追踪棱镜,如图2所示。全站仪和机器人最初进行时间同步,棱镜可以以1” 的角度精度和2mm 的距离精度进行追踪。这种类型的参考系统以前已经被用于精确追踪机器人的姿态[26],[27],[28]。
    我们指出,我们的系统以机器人为中心的方式估计自我运动,因为它考虑了平台的运动模型。在使用Kinematic-ICP计算里程计时,LiDAR扫描仪与机器人基准框架之间的外部标定是必需的。
  • 1)基准:我们将我们的方法与KISS-ICP [29]的原始版本及其两个变体进行对比,后者将机器人的轮式里程计作为点云配准的初步估计。在第一个变体中,我们估计3D空间中的完整6自由度姿态,称为WO+3D KISS。第二个变体中,运动被约束在一个2D平面上,简化了估计过程。这个变体被表示为WO+2D KISS。
    除了将我们的方法与不同的KISS-ICP [29]变体进行比较外,我们还通过将其与两个广泛使用的机器人行业状态估计方法进行基准测试来进一步评估其性能[14]。具体而言,我们将最有效的KISS-ICP变体WO+2D KISS与Fuse框架[14]和机器人定位包[16]进行集成。Fuse框架是一个固定滞后平滑器,它通过结合轮式里程计、LiDAR里程计和运动学约束来优化姿态图,从而估计机器人的位置。与此同时,机器人定位是一个扩展卡尔曼滤波器(EKF),它融合传感器数据以估计机器人的状态。

在这里插入图片描述
这两种方法涉及计算激光雷达里程计,然后将其与轮式里程计融合。相比之下,我们的方法直接处理轮式里程计和激光雷达扫描,以单一简化的过程产生新的姿态。这种方法通常使用更少的CPU和内存,在机器人上进行实时操作时减少延迟。

    1. 指标:为了评估不同的方法,我们使用KITTI Odometry[8]基准的平均平移误差,该基准计算了在各种轨迹长度上的相对误差百分比。这个指标通常用于自动驾驶,其中评估的段落长度对于轮式移动机器人来说相当大。为了解决这个问题,我们使用1、2、5、10、20、50和100米的较小间隔长度。此外,我们报告了对齐后的均方根绝对平移误差(ATE)作为估计轨迹中全局漂移的度量。

B. 大型室内仓库的定性结果

第一个实验展示了我们的方法在执行平台的运动学约束的同时,校正移动机器人的轮式里程计的能力。我们通过知道机器人在矩形货架中移动,定性评估结果轨迹的形状。由于空间原因,我们展示了Warehouse Small地图的一部分,但其他两个用于评估的序列的结果同样令人印象深刻。

我们首先在图3的左上角展示了原始轮式里程计,它遵循差动驱动的运动学模型,但随时间漂移。接下来,我们将结果与两个修改版的KISS-ICP进行比较,以考虑平面运动,我们观察到货架变得更加可见,但轨迹仍然弯曲。请注意,由于传感器的稀疏性,KISS-ICP的公开实现将无法处理这个序列[19]。此外,估计的轨迹不够平滑,这对于一个高12米、重约500公斤的机器人来说是不合理的。最后,使用我们提出的方法,估计全局更准确且仍然平滑。这是在优化中执行运动学约束的直接结果,它在数学上保证了产生的姿态总是平滑的,并且在局部是一致的。

C. 定量结果

在本节中,我们支持我们的第二个主张,即我们的方法可以估计与最先进的里程计系统相当或更好的精度的里程计。表I展示了我们的方法在所有序列中一致地优于轮式里程计,这得益于我们提出的使用激光雷达的校正。我们还取得了比所有序列的最先进的系统更好的结果。对于非常具有挑战性的环境,ICP估计的相对和绝对误差都很大,这表明由于激光雷达在无特征和重复走廊上的模糊性,这些环境是多么困难。即使使用轮式里程计作为初始猜测,所有这些ICP仍然比其他方法表现不佳,这可以通过这些方法没有为优化考虑运动学模型来解释。

EKF和Fuse基线执行激光雷达和轮式里程计的融合,但与Fuse相比,我们的方法在ATE和RPE方面一致表现更好,通过直接处理并纳入运动学模型。如前所述,我们的方法在计算上更优化,它同时优化轮式里程计和激光雷达,而不是融合两个不同的源。与Fuse相比,我们的系统以100 Hz运行,而Fuse大约以10 Hz运行。

在户外宫殿序列中,我们的应用程序校正了轮式里程计,但表现不如KISS-ICP及其变体,见表。该序列是在不平坦的公园中记录的,假设平面表面,因为我们的系统不能考虑轮胎打滑和倾斜等因素。尽管有这些限制,我们的系统仍然能够提供合理的里程计估计,并在不理想、不平坦的条件下重新定位。

D. 消融实验

最后,我们的最后一个实验支持我们的第三个主张,即我们的方法可以动态调整激光雷达扫描和轮式里程计测量的影响,提高鲁棒性和准确性。为此,我们进行了一项消融研究,比较了Kinematic-ICP与方程(10)中五个不同的手动挑选的β值、我们的自适应正则化方程(11)以及没有正则化的情况。在这个实验中,我们选择了宫殿和小型仓库数据集,因为它们如第V-C节所示特别具有挑战性。在宫殿中,机器人在草地和崎岖的地形上移动,这里的平面假设不成立,而小型仓库是一个主要由架子组成的序列,导致了一个几乎没有特征的环境。

表III展示了我们的消融研究结果。首先,在这些具有挑战性的场景中,正则化对于准确的里程计估计至关重要。这在小型仓库数据集中尤为明显,这是一个没有特征的环境,去除正则化会导致里程计精度降低近一个数量级。其次,我们的自适应正则化策略在不需要对β参数进行任何微调的情况下始终能够取得强大的结果。虽然某些固定的β值能够带来最佳性能,但根据方程(11)计算它的方法仍然极具竞争力。这突出了我们方法的鲁棒性和灵活性,它在不同的数据集上表现良好,无需手动调整,使其更加灵活且广泛适用。

在这里插入图片描述
图 3:在 WarehouseSmall 上对里程计方法的定性比较。轮式里程计(左上)平稳,但随时间漂移。WO+3D KISS(左下)缺乏平滑性和准确性。WO+2D KISS(右上)提高了一致性,但仍然不准确。我们的方法(右下)结合传感器数据,提供平滑且准确的里程计估计。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/4082.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

最新Ubuntu超详细安装教程(附镜像包)

一、镜像下载: 官方正版VMware下载:https://pan.baidu.com/s/1yC610SU1-O9Jtk7nUrZuSA?pwdsKByvm17pro安装教程文档(必看).txt 这个一定要下载下来看一下!!! Ubuntu镜像下载:http…

归并排序算法

1、基本思想 归并排序是建立在归并操作上的一种有效的排序算法,它采用分治法的策略。其基本思想是将一个待排序的数组分成两个或多个子数组,先对每个子数组进行排序,然后再将已排序的子数组合并成一个最终的排序数组。 对于两个有序的数组&am…

记录解决vscode 登录leetcode中遇到的问题

1. 安装完 leetcode 点击sign in to leetcode 点击打开网站登录leetcode,发现网页无法打开。 解决办法:将leetcode.cn.js文件中的leetcode-cn.com路径都改成leetcode.cn 2. 继续点击 sign in to leetcode ,选择使用账号登录,始…

机器人助力Bridge Champ游戏:1.4.2版本如何提升玩家体验

在Bridge Champ游戏中,机器人扮演着桥牌游戏的“无名英雄”角色,默默地提升玩家体验。凭借智能化的设计,这些机器人不仅能够陪练,也大大提升了比赛的流畅度与趣味性。 Bridge Champ是什么 Bridge Champ是一个基于Ignis公链的在线…

服装品牌零售业态融合中的创新发展:以开源 AI 智能名片 S2B2C 商城小程序为视角

摘要:本文以服装品牌零售业态融合为背景,探讨信息流优化和资金流创新的重要作用,并结合开源 AI 智能名片 S2B2C 商城小程序,分析其如何进一步推动服装品牌在零售领域的发展,提高运营效率和用户体验,实现商业…

redis:set集合命令,内部编码,使用场景

个人主页 : 个人主页 个人专栏 : 《数据结构》 《C语言》《C》《Linux》《网络》 《redis学习笔记》 文章目录 前言命令SADDSMEMBERSSISMEMBERSCARDSPOPSMOVESREM集合间操作SINTERSINTERSTORESUNIONSUNIONSTORESDIFFSDIFFSTORE 内部编码使用场景总结 前言…

ssm052游戏攻略网站的设计与实现+vue(论文+源码)-kaic

毕 业 设 计(论 文) 题目:游戏攻略网站设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本游戏攻略网站就是在这…

Java基础-JDBC

(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 一、JDBC简介 1.1 什么是JDBC 1.2 JDBC的作用 1.3 JDBC的架构 二、JDBC核心接口与类 2.1 DriverManag…

好好看 3.2.3 | 纯净无广告的四端追剧软件,高清秒播

好好看是一款全新的追剧软件,与网飞猫同一系列,纯净无广告,支持安卓、iOS、TV和PC四端。汇集了Netflix、电影、短剧、剧集、动漫、综艺等资源,并且各大平台资源同步更新。内置多条超清、蓝光、优质等线路,支持投屏、影…

Python爬虫如何处理验证码与登录

Python爬虫如何处理验证码与登录 Python 爬虫在抓取需要登录的网站数据时,通常会遇到两个主要问题:登录验证和验证码处理。这些机制是网站用来防止自动化程序过度抓取数据的主要手段。本文将详细讲解如何使用 Python 处理登录与验证码,以便进…

分布式光伏电站管理的有效措施

分布式光伏电站是一种将太阳能转化为电能的系统,其特点是“自发自用,余电上网”,也就是说,白天利用太阳能进行发电,晚上利用电网进行互补。这种电站建设周期短,见效快,适合于有闲置屋顶或空地的…

濮良贵《机械设计》第十版课后习题答案全解PDF电子版

《机械设计》(第十版)是“十二五”普通高等教育本科国家级规划教材, 是在《机械设计》(第九版)的基础上修订而成的。本次修订主要做了以下几项工作: 1. 内容的适当更新——自本书第九版出版以来, 机械工程及相关领域的新理论、新技术和新标准…

python之正则表达式总结

正则表达式 对于正则表达式的学习,我整理了网上的一些资料,希望可以帮助到各位!!! 我们可以使用正则表达式来定义字符串的匹配模式,即如何检查一个字符串是否有跟某种模式匹配的部分或者从一个字符串中将与…

算法专题:字符串

目录 1. 最长公共前缀 1.1 算法原理 1.2 算法代码 2. 最长回文子串 2.1 算法原理 2.2 算法代码 3. 二进制求和 3.1 算法原理 3.2 算法代码 4. 字符串相乘 4.1 算法原理 4.2 算法代码 1. 最长公共前缀 . - 力扣(LeetCode) 1.1 算法原理 有以…

[Unity Demo]从零开始制作空洞骑士Hollow Knight第十八集补充:制作空洞骑士独有的EventSystem和InputModule

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、制作空洞骑士独有的EventSystem和InputModule总结 前言 hello大家好久没见,之所以隔了这么久才更新并不是因为我又放弃了这个项目,而…

capl语言

capl:事件型语言 定时器代码 数据类型 capl运算符(一) capl运算符(二) 逻辑非:两个条件同时成立则为真(1),否则为假(0). 逻辑与:只有一个条件…

[渲染层网络层错误] net::ERR_CONTENT_LENGTH_MISMATCH 问题解决

问题描述 问题背景 微信小程序访问后端img资源的时候,偶尔出现这个感叹号,图片加载不出来,但是对应的url贴出来在浏览器中访问,或者重新加载是可以访问的。 错误描述 经查询前端报错 [渲染层网络层错误] net::ERR_CONTENT_LE…

跳蚤市场之商品发布功能

一 商品类别和小类的联动 以下是一个示例代码&#xff0c;展示了如何实现商品类别中大类和小类的联动。 商品大类选择框、小类选择框 的设计 html部分 <form id"category-form"><label for"major-category">大类&#xff1a;</label&g…

LabVIEW气体检测系统

随着工业化进程的加速&#xff0c;环境污染问题愈加严峻&#xff0c;尤其是有害气体的排放对人类生存环境构成了严重威胁。为了更好地监测这些有害气体&#xff0c;开发一个高效、准确且易于操作的气体检测系统显得尤为重要。LabVIEW软件开发的气体检测系统&#xff0c;采用激光…

【三维重建】Semantic Gaussians:开放词汇的3DGS场景理解

文章目录 摘要一、引言二、主要方法1.3D Gaussian Splatting2.其他方法2.1 Gaussian Grouping2.2 GARField 3. 2D Versatile 投影4. 3D Semantic Network4. 推理 四、实验1. 实验设置2.定量结果 论文&#xff1a;https://arxiv.org/pdf/2403.15624 摘要 开放词汇的三维场景理解…