Ubuntu18.04 ORB-SLAM2运行TUM数据集并用EVO绘制轨迹
1、ORB-SLAM2运行TUM数据集
在~/catkin_ws/src/ORB_SLAM2下运行:
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml /home/csim/ren/data/TUM/rgbd_dataset_freiburg1_desk
代码解释
其中/home/csim/ren/data/TUM/rgbd_dataset_freiburg1_desk是数据集所在位置。


会生成一个轨迹,其位置在~/catkin_ws/src/ORB_SLAM2中的KeyFrameTrajectory.txt
2、在~/catkin_ws/src/ORB_SLAM2中创建results文件夹。
在results文件夹中用touch创建freiburg1_desk_groundtruth.txt与touch freiburg1_desk_Trajectory.txt。
将~/catkin_ws/src/ORB_SLAM2中生成的KeyFrameTrajectory.txt复制到results文件夹中的touch freiburg1_desk_Trajectory.txt。
将数据集文件中的groundtruth.txt复制到results文件夹中的freiburg1_desk_groundtruth.txt
同时要在results文件夹中用touch创建freiburg1_desk_ape.zip与freiburg1_desk_rpe.zip,分别用来保存绝对位姿误差与相对位姿误差的数据。
3、绘制轨迹
在上一步创建的results文件夹中(也就是用touch创建的freiburg1_desk_groundtruth.txt与touch freiburg1_desk_Trajectory.txt所在位置)。
运行:
evo_traj tum freiburg1_desk_Trajectory.txt --ref=freiburg1_desk_groundtruth.txt -p --plot -s --correct_scale -a –align
代码解释

4、评估绝对位姿误差
同样在上上一步创建的results文件夹中(也就是用touch创建的freiburg1_desk_groundtruth.txt与touch freiburg1_desk_Trajectory.txt所在位置)运行:
evo_ape tum freiburg1_desk_groundtruth.txt freiburg1_desk_Trajectory.txt -p --plot -s --correct_scale -a --align -v --save_results /home/csim/catkin_ws/src/ORB_SLAM2/results/TUM/freiburg1_desk/1/freiburg1_desk_ape.zip
代码解释

5、评估相对位姿误差
同样在第2步创建的results文件夹中(也就是用touch创建的freiburg1_desk_groundtruth.txt与touch freiburg1_desk_Trajectory.txt所在位置)
运行:
evo_rpe tum freiburg1_desk_groundtruth.txt freiburg1_desk_Trajectory.txt -p -a -s -v --save_results /home/csim/catkin_ws/src/ORB_SLAM2/results/TUM/freiburg1_desk/1/freiburg1_desk_rpe.zip
代码解释
6、对ape的结果freiburg1_desk_ape.zip进行比较。 (在第2步用touch创建的freiburg1_desk_ape.zip,其创建的位置可以自己定)
在freiburg1_desk_ape.zip所在文件夹中运行:
evo_res freiburg1_desk_ape.zip -p --save_table freiburg1_desk_apetable.csv
代码解释

运行之后会在freiburg1_desk_ape.zip所在文件夹中生成freiburg1_desk_apetable.csv文件。

