Bootstrap

A-LOAM轨迹保存,与KITTI真值对比

版本:Ubuntu20.04+ros-noetic

1.KITTI真值下载

KITTI数据集官网

raw里面是原始数据,你可以看到有各个路段的数据集的说明,里面也有标定文件之类的。

odometry里面可以下载KITTI不同序列的真值

2.KITTI数据集转bag

从上面的网址下载好数据集之后,比如你用的是2011_09_26_drive_0002_sync这个序列,则将其和对应的标定文件一块下载,然后按这个博主的来:

kitti数据集转换bag包——图文教程_kitti.ply转bag-CSDN博客

3.KITTI数据集真值对应各序列

KITTI中数据集真值没有明确说明是哪个序列,因此给大家列出来:

附上原文链接:kitti数据集 Raw Data与00-10 Ground Truth的对应关系_kitti rawdata-CSDN博客

4.A-LOAM运行

(1)最基本的A-LOAM环境配置等,直接看这篇Ubuntu20.04下运行LOAM系列:A-LOAM、LeGO-LOAM、SC-LeGO-LOAM、LIO-SAM 和 LVI-SAM_loam运行-CSDN博客

(2)原生态的A-LOAM如何保存轨迹

用这篇:A-loam运行kitti及轨迹保存_aloam跑kitti数据集-CSDN博客

我用的是方法二,写了一个回调函数

注意事项!!!

因为KITTI下载的真值,poses和times是分开的,所以导致如果你直接用上一步保存的轨迹去对比,你会发现对不上,使用对齐命令会提示你维度不一致(恶心!)

然后,我的处理办法是(2024/5/15亲测有效!):

首先自己跑出来的轨迹是tum格式,这个不做处理

然后将你跑的数据集序列,对应的真值(00.txt)以及其对应的时间戳(times.txt)放到这个文件夹下面:

然后放进去是这样(我以00序列为例)

看到我刚刚画红圈的那个脚本了嘛,你在这个目录下,运行这个脚本,输入:

python3 kitti_poses_and_timestamps_to_trajectory.py  00.txt times.txt  kitti_00_gt.txt

就可以生成一个由分散的KITTI格式的真值轨迹和对应时间戳组成的一个tum格式的轨迹文件

然后就可以直接用这个,和你的轨迹去对比啦!!!

如有其他问题及时联系!

;