Contents — find the section you need

Change parameters and verify

Open the panel, then press Run to load Python. You can stop execution and reset parameters. Results are computed on this device. No Python installation is required.

Local execution steps below are optional for reproducing the source results; they are not required for the browser experiment.

The experiment controls are in English.

Open experiment panel in a new tab

Download reproduction source

视觉上清晰的SLAM地图无法揭示位姿误差或延迟。在比较系统之前,请先定义参考位姿、对准自由度和故障处理方法。此处的数据来自合成轨迹,并非特定SLAM算法的基准测试。

ATE和RPE的测量指标

设Q_i为参考位姿,P_i为估计位姿,S为固定对准位姿。绝对误差可表示为E_i=Q_i^{-1}SP_i。其平移范数的均方根是常用的ATE指标;evo将更广泛的绝对位姿指标称为APE。

相对误差比较区间i\rightarrow j : F_{ij}=(Q_i^{-1}Q_j)^{-1}(P_i^{-1}P_j)内的运动。结果取决于区间是1秒、1米还是1帧。请参阅官方evo指标文档。

通过简单计算验证差异

将 slam_metric_lab.py 保存到一个空目录中,然后运行 python3 slam_metric_lab.py。该脚本已使用 Python 3.12.3 测试通过,并且仅使用了标准库。参考数据为 x=t 米,从 0 秒到 10 秒,以 0.1 秒的间隔采样 101 个点,并进行了恒等旋转。

合成误差 未对齐平移 APE RMSE 一秒全对平移 RPE RMSE
恒定 +0.1 米偏移 0.100000 米 0.000000 米
漂移每秒增加 0.01 米 0.057879 米 0.010000 米

位置差异中会出现恒定的平移,但会被运动差异抵消。漂移在两者中仍然存在。此示例既未应用对齐,也未应用时间插值。下载参考和漂移估计。

评估前匹配真实数据

Diagram 1 · Use the button to switch views
匹配时间和帧,修正对齐,计算APE和RPE,然后报告失败和延迟

使用米和秒,不要混用传感器参考系和人体参考系。区分不同的记录开始时间和时钟误差。TUM格式为timestamp x y z q_x q_y q_z q_w;请根据官方格式文档验证四元数顺序。

SE(3)对齐校正旋转和平移;Sim(3)还校正缩放。尺度校正适用于比较单目轨迹形状,但如果实验旨在测量尺度误差,则尺度校正会消除尺度误差。请勿在排名中混淆这些评估设置。

记录 evo 环境

在专用的 evo 环境中,保存 evo_ape --version 和 evo_rpe tum --help。这些命令遵循官方 CLI 结构;它们是操作步骤,并非本文中对真实轨迹执行的结果。

evo_ape tum reference.tum estimate.tum --align --save_results ape.zip
evo_rpe tum reference.tum estimate.tum --delta 1 --delta_unit s --all_pairs --save_results rpe.zip

将文件名替换为同一运行中的轨迹。使用已安装版本的帮助信息修正时间戳关联容差,并报告匹配的样本计数。上面的合成表格未对齐,因此添加 --align 会改变其解释和结果。

报告更多信息,而不仅仅是准确度

数量 所需上下文
APE / RPE 对齐方式、间隔、米或度、匹配姿态
失败次数 总运行次数、跟踪损失和恢复秒数
延迟 采集到可用估计值 p50/p95 和时钟同步
资源 CPU/GPU、线程数、内存、输入速率和软件版本

每帧处理时间与延迟(包括排队时间)不同。如果没有真实值,请勿报告 ATE。您可以测量重复性或一致性,但需说明这些指标不能直接确定位置精度。

保留困难区间

仅移除困难区间后,成功跟踪的精度分数将单独报告。将总体成功率与可评估区间的误差分开报告。首先检查传感器时序和帧,以避免将积分错误混入算法比较中。

Related reading

Check timing and frames before evaluation传感器融合失败的原因——时序、帧和外部校准Explore another aspect of this fieldICP 失败的原因:初始化、异常值和对称几何Explore another aspect of this field从地图绘制到 ROS 2 导航——Jazzy 和 Nav2 的极简流程