前言
KITTI 格式是没有timestamp的,通过固定序列数来进行精度评估比较,而 TUM 格式中有时间戳,通过对其时间戳来比较,会比较准,所以本次存储的evo数据格式采用 TUM 格式
- KITTI格式: 为matrix4f格式的pose的前12位
- TUM格式: 为time x y z qx qy qz qw
注意:kitti 轨迹真值是按照相机坐标系 Cam 0(右x-下y-前z)来的,和其他坐标系存在转换关系。kitti 中的世界坐标系 是第一帧的 base_link 坐标系。
1.kitti数据集 Raw Data与00-10 Ground Truth的对应关系
2,下载KITTI官方提供的真值和标定参数以及时间戳
网址:Visual Odometry / SLAM Evaluation 2012
calib.txt文件说明见 kitti数据集中calib.txt文件各参数含义
下载好的数据如下:
3.下载evo中的kitti_poses_and_timestamps_to_trajectory.py文件
链接:evo/contrib/kitti_poses_and_timestamps_to_trajectory.py
将 对应的00.txt 和 times.txt 复制到该文件的同目录下
打开终端执行下列命令,将12列的 kitti 轨迹格式转换成8列的 tum 轨迹格式,得到tum格式的轨迹真值文件TUM_00_gt.txt
python3 kitti_poses_and_timestamps_to_trajectory.py 00.txt times.txt TUM_00_gt.txt
4.使用 evo 的 evo_traj 命令绘制轨迹
evo_traj tum TUM_00_gt.txt -p
其中 -p 表示显示绘图窗口