版本:Ubuntu20.04+ros-noetic
1.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格式的轨迹文件
然后就可以直接用这个,和你的轨迹去对比啦!!!
如有其他问题及时联系!