需提前下载好evo工具。
1. 文件下载
1.1 准备文件
这两个压缩包在该网址下。【kitti】ground_truth 数据包官网下载链接
2. 合并时间戳文件和pose文件(以00序列为参考)
2.1 提取时间戳文件
该文件为 "data_odometry_calib\dataset\sequences\00\times.txt"
2.2 提取pose文件
该文件为"data_odometry_poses\dataset\poses\00.txt"
2.3 合并文件的python程序
kitti_poses_and_timestamps_to_trajectory.py
该文件在evo工具库-kitti_poses_and_timestamps_to_trajectory.py
2.4 输出tum格式文件
将上述3个文件放在同一目录下,并执行如下命令。("00_gt_tum.txt"为输出的txt文件,执行前先新建一个空白的txt)
python kitti_poses_and_timestamps_to_trajectory.py 00.txt times.txt 00_gt_tum.txt
2.5 绘图
evo_traj tum 00_gt_tum.txt
3.可能遇到的问题
evo.tools.file_interface.FileInterfaceException: timestamp file must have one column of timestamps and same number of rows as the KITTI poses file
由于 "times.txt" 文件存储的字符型数据,所以会遇到"times.txt" column 不等于1的bug,可以参考以下链接,重新生成txt文件。
[ERROR] KITTI pose files must have 12 entries per row and no trailing delimiter at the end of the rows (space)
由于生成的文件可能存在tum格式不规范的情况,导致在绘图步骤报上述错误,可以参照下面这篇文章debug。
cat 00_gt_tum.txt | tr -s [:space:] > 00_gt_tum_new.txt