Type 1 · Project-related Key group 证据 A 收录

RESPLE2: Inertial-Informed Recursive Non-Uniform Spline Estimation for Multi-Sensor Odometry with Global Refinement

Ziyu Cao, William Talbot, Song Li, Pakpong Chirarattananon, Fredrik Gustafsson, Marco Hutter, Kailai Li

发布 · 收录于 2026-11-02

在非均匀 B 样条的卡尔曼滤波里,借助节点夹紧(knot clamping)让最新控制点落在轨迹上,从而能用 IMU 精确预测它,使多传感器里程计在剧烈运动下更准更稳。

任务
多传感器里程计(LiDAR / 相机 / IMU / 腿部关节)+ 回环全局优化
数据
GrandTour、JEPLO 两个公开集 + 自采 PPS TV、HOPPER、HANDI
平台
ANYmal D、Unitree Go2、履带车、腿式飞行器、手持设备
代码
已开源(ASIG-X/RESPLE2),数据同时公开
主要数字
HOPPER high1 位置误差 0.005 m(次优 0.011 m)

证据等级 A · 真机 + 多基准 + 消融 (A 真机 + 多基准 + 消融 / B 仿真充分 / C 单一基准或无代码)

动机

八个小图各是一个平台及其建出的点云地图,左上角小图是机器人或手持设备本身,彩色线是估计的轨迹。
原文图 · P.2 八个小图各是一个平台及其建出的点云地图,左上角小图是机器人或手持设备本身,彩色线是估计的轨迹。 图片来源:Cao et al., RESPLE2: Inertial-Informed Recursive Non-Uniform Spline Estimation for Multi-Sensor Odometry with Global Refinement (arXiv:2610.37602) · 查看原文

问题:机器人的位姿要连续估计。常见做法把状态绑在固定时刻上,传感器不同步时要插值,激光点在剧烈运动中还会“拖影”。

连续时间方法用一条光滑曲线表示整段运动,任何时刻的测量都能直接用。B 样条(B-spline)就是一种分段多项式曲线,形状由一串控制点(control points)决定。

卡在哪: - 控制点一般不在轨迹上,所以以前没法用 IMU 积分直接算出新控制点,只能复制或外推旧值(P.3)。运动突变时,这个先验很差,后续激光点匹配也容易出错。 - 均匀节点间隔是两难:间隔短才能跟上剧烈动作,间隔长才有足够测量约束(P.2)。 - 已有的样条滤波器只支持少数传感器组合,也没有原生回环优化(P.2)。

方法

  1. 1分 IMUIMU 样本交替分成预测和更新两份
  2. 2加节点按运动量和点数决定何时加新节点
  3. 3IMU 预测积分 IMU 直接算出新末端控制点
  4. 4重置修正上一段控制点保持轨迹连续
  5. 5迭代更新激光/视觉/腿部残差在原时刻融合
  6. 6全局优化回环后直接调整全部控制点

比喻:把轨迹想成一根用钉子(控制点)固定形状的软尺。平常钉子钉在软尺旁边,看不出软尺末端在哪;作者把最后一颗钉子直接钉在软尺末端,这样末端在哪、速度多少,就能用 IMU 一步步积分出来。

1. 节点夹紧带来的精确预测(P.6 Sec. V-B):新节点在末端重复三次后,末端位置正好等于最新控制点,末端速度等于最后两个控制点之差除以间隔,角速度同理。于是作者把一部分 IMU 读数逐个积分,得到新的位置和旋转控制点,并在扩展卡尔曼滤波(IEKF,迭代扩展卡尔曼滤波)中同步传播协方差(P.7-8)。

2. 重置(reset)(P.8-9 Sec. VI-B):加新节点后,上一个节点不再被夹紧,曲线在那里的形状会变。作者解一个小方程,调整前几个控制点,使该时刻的位置、速度、加速度、姿态、角速度保持不变;位置有闭式解,姿态用牛顿法约 5 次迭代收敛。

3. 何时加节点(P.8):激光点数和几何约束足够、间隔超时、位移/转角/速度变化超过阈值,任一满足就加。运动剧烈时节点密,平稳时稀。

另外,回环由 iBTC(激光+图像的地点识别描述子)检测,然后直接优化所有非均匀控制点,相邻控制点之间加里程计约束以保住速度等高阶量(P.10 Eq. 26)。

左边四行是四种传感器的测量按时间排开,最上面紫色圆点是控制点;中间方框是滤波循环(判断是否加节点、IMU 预测、重置、更新),右边是回环触发的全局优化。
原文图 · P.5 左边四行是四种传感器的测量按时间排开,最上面紫色圆点是控制点;中间方框是滤波循环(判断是否加节点、IMU 预测、重置、更新),右边是回环触发的全局优化。 图片来源:Cao et al., RESPLE2: Inertial-Informed Recursive Non-Uniform Spline Estimation for Multi-Sensor Odometry with Global Refinement (arXiv:2610.37602) · 查看原文

实验

HOPPER high1(极端加速度)位置误差,外置 IMU APE (RMSE) (m) · 越低越好 ↓
HOPPER high1(极端加速度)位置误差,外置 IMU(APE (RMSE) (m),越低越好 ↓):RESPLE2(本文) 0.005 m;RESPLE 0.011 m;FAST-LIVO2 0.019 m;Coco-LIC 0.02 m;Point-LIO 0.022 m RESPLE2 · 本文 0.005 m RESPLE 0.011 m FAST-LIVO2 0.019 m Coco-LIC 0.02 m Point-LIO 0.022 m 00.01250.025

本文方法 对比方法 · 数据来源:Table V, P.13

消融:控制点预测是否用 IMU(HOPPER 位置误差) APE (RMSE) (m) · 越低越好 ↓
消融:控制点预测是否用 IMU(HOPPER 位置误差)(APE (RMSE) (m),越低越好 ↓):high1 不用 IMU 0.017 m;high1 用 IMU(本文) 0.004 m;flip1 不用 IMU 0.015 m;flip1 用 IMU(本文) 0.008 m;flip3 不用 IMU 0.018 m;flip3 用 IMU(本文) 0.011 m high1 不用 IMU 0.017 m high1 用 IMU · 本文 0.004 m flip1 不用 IMU 0.015 m flip1 用 IMU · 本文 0.008 m flip3 不用 IMU 0.018 m flip3 用 IMU · 本文 0.011 m 00.010.02

本文方法 对比方法 · 数据来源:Table VIII, P.14

JEPLO EIL_Stairs(Go2 爬楼梯)位置误差 APE (RMSE) (m) · 越低越好 ↓
JEPLO EIL_Stairs(Go2 爬楼梯)位置误差(APE (RMSE) (m),越低越好 ↓):RESPLE2-LKIO(本文) 0.007 m;RESPLE2-LIO(本文) 0.01 m;RESPLE 0.013 m;Coco-LIC 0.047 m;Leg-KILO 0.052 m RESPLE2-LKIO · 本文 0.007 m RESPLE2-LIO · 本文 0.01 m RESPLE 0.013 m Coco-LIC 0.047 m Leg-KILO 0.052 m 00.030.06

本文方法 对比方法 · 数据来源:Table III, P.11

数据与指标:五个数据集(P.10 表 I)。主要指标是 APE(绝对位置误差,RMSE,单位米,越低越好)和 RPE(每 0.5 m 路程的相对误差,越低越好);HOPPER 另报速度误差(m/s,越低越好)。对比 Coco-LIC、FAST-LIVO2、CTE-MLO、Point-LIO、Leg-KILO 和前作 RESPLE(换成同样的 VoxelMap 地图,便于公平对比)。所有序列用同一套参数(P.10)。

结果: - HOPPER(腿式飞行器翻跟头/跳跃):外置 IMU 下 RESPLE2 在全部 12 条序列 APE 最低或并列最低;内置 IMU 饱和时 Coco-LIC、FAST-LIVO2 全部失败,RESPLE2 仍全部完成(P.12-13 表 V)。 - JEPLO(Go2 爬楼梯/上箱子):LKIO 版本在 8 条序列上 APE 都最低,FAST-LIVO2 在 4 条上失败(P.11 表 III)。 - GrandTour(ANYmal)和履带车:大多数序列有竞争力,但不是每条都赢(P.11 表 II,P.12 表 IV)。 - HANDI(手持):加相机的 LVIO 版本在走廊、室内外切换等退化场景最好;回环后长序列误差明显下降,如 az-out2 从 2.767 m 降到 0.009 m(端点误差,P.14 表 VII)。

站得住的结论:IMU 预测控制点这一项改动单独有效(P.14 表 VIII);对 IMU 饱和的鲁棒性有多组对照。

代价:在 AMD Ryzen 9 9950X 台式机上,每帧 LiDAR 用时 7.7 ms(LIO,帧间隔 100 ms)、18.3 ms(LVIO)、5.3 ms(LKIO,帧间隔 50 ms);控制点预测+重置每帧最多约 0.51 ms(P.15 表 IX)。最近一次全局优化约 2 s(P.15)。

上图是高度、下图是竖直速度,红点是真值;约 29 s 后绿线(Coco-LIC)和灰线(FAST-LIVO2)偏离,蓝线(RESPLE2)一直贴着红点。
原文图 · P.13 上图是高度、下图是竖直速度,红点是真值;约 29 s 后绿线(Coco-LIC)和灰线(FAST-LIVO2)偏离,蓝线(RESPLE2)一直贴着红点。 图片来源:Cao et al., RESPLE2: Inertial-Informed Recursive Non-Uniform Spline Estimation for Multi-Sensor Odometry with Global Refinement (arXiv:2610.37602) · 查看原文
红线是真值;蓝点是用 IMU 预测的控制点,绿叉是复制旧值预测的控制点,蓝点明显更贴近红线,对应的蓝色曲线也更准。
原文图 · P.14 红线是真值;蓝点是用 IMU 预测的控制点,绿叉是复制旧值预测的控制点,蓝点明显更贴近红线,对应的蓝色曲线也更准。 图片来源:Cao et al., RESPLE2: Inertial-Informed Recursive Non-Uniform Spline Estimation for Multi-Sensor Odometry with Global Refinement (arXiv:2610.37602) · 查看原文

审稿人视角

这一部分是 Claude 读完全文后的看法和判断,不是论文自己的说法。

先读哪

先看第 2 页图 1 和第 5 页图 2,再看第 13 页表 V 和第 14 页表 VIII

值得看的理由

  1. 核心技巧有理论依据:把新节点在样条末端重复三次(knot clamping),最新控制点就正好落在轨迹上,于是可以直接用 IMU 积分来预测它,而不是像前作那样外推旧速度。 → P.6 第 V-B, Eq. (10)-(11) 节
  2. 消融做得干净:同样的节点位置和测量批次下,只换掉控制点预测方式,HOPPER 九条室内序列位置误差全部下降,降幅约 39%-76%。 → P.14 表 VIII
  3. 测试平台多且难:ANYmal、Go2、履带车、会翻跟头的腿式飞行器、手持设备;HOPPER 中加速度约 25 g,超过 Mid360 内置 IMU 的 ±4 g 量程,RESPLE2 用内置 IMU 仍完成全部序列,而 Coco-LIC 和 FAST-LIVO2 全部失败。 → P.12 第 VIII-D2, Table V 节

审稿人式质疑

  • LIO 版本并非处处稳:在手持 HANDI 数据上,RESPLE2-LIO 在 az-dyna3 的 APE 为 15.944 m(RESPLE 为 4.489 m),另一条 inout 序列为 10.177 m(RESPLE 为 1.122 m);正文用“至少有一个变体最好”概括,掩盖了这些失败,需要加相机才救回来。 → P.14 表 VII
  • 非均匀节点放置的贡献没有被单独量化:只有 flip1 一个片段与 Coco-LIC 的定性对比(两者还有很多别的差异),没有“本方法 + 均匀节点”的 APE 对照;全文也没有多次运行的方差。 → P.14 第 IX-A2, Fig. 13 节

审稿人笔记

  • GrandTour 测试序列上,其他方法的数字取自数据集论文,用的是高端 HG4930 IMU,而 RESPLE2 用的是 Mid360 内置 IMU,两边硬件不同,不是严格同条件对比(P.11 表 II 脚注)。
  • 同一条 HOPPER high1 序列,表 V 中 RESPLE2(外置 IMU)APE 为 0.005 m,表 VIII 中“用 IMU 预测”为 0.004 m,两处数字略有不一致,正文未解释(P.13 表 V,P.14 表 VIII)。
  • 耗时只在台式机 Ryzen 9 9950X 上测量,每个节点约 5 个 OpenMP 线程;没有嵌入式平台(如 Jetson)的数据(P.10 Sec. VIII-A,P.15 表 IX)。
  • 带回环的 HANDI 结果只和不带回环的里程计基线并列,没有与其他带回环的系统比较(P.14 表 VII)。
  • 履带车 PPS TV 上 RESPLE2 并非全面领先:例如 night_loop 的 LVIO 版本 APE 0.059 m,高于 RESPLE-LIO 的 0.039 m(P.12 表 IV)。