轨迹误差评估完整流程总结(使用 evo 工具)

roslaunch .launch

rosbag play your_dataset.bag -r 2.0

✅ 第二步:录制估计轨迹

复制代码

bash

复制编辑

bash 复制代码
rosbag record -O traj_only.bag /aft_mapped_to_init 

运行一段时间后 Ctrl+C 停止,生成 traj_only.bag

第三步:提取估计轨迹和真值轨迹为 CSV

复制代码

bash

复制编辑

rostopic echo -b traj_only.bag -p /aft_mapped_to_init > traj.txt rostopic echo -b your_dataset.bag -p /leica/pose/relative > gt_raw.txt

✅ 第四步:转换为 TUM 格式(8列,空格分隔)

python3 convert_traj_raw_to_tum.py traj.txt traj_tum.txt

python3 convert_gt_raw_to_tum.py gt_raw.txt gt_tum.txt

✅ 第五步:对齐估计轨迹的时间戳(手动)

head -n 1 gt_tum.txt

head -n 1 traj_tum.txt

offset = 1746711524.090586901 - 1609059060.110306978 ≈ 137652463.98028

python3 align_traj_time.py traj_tum.txt traj_tum_aligned.txt 137652463.98028

第六步:使用 evo 评估误差(最终步骤)

复制代码

bash

复制编辑

python3 -m evo.main_ape tum gt_tum.txt traj_tum_aligned.txt --align --plot

相关推荐
return(b,a%b);14 小时前
docker拉取失败,更换docker的源
docker·容器·eureka
Knight_AL18 小时前
Docker 加载镜像时报 no space left on device 的彻底解决方案
docker·容器·eureka
hu1j2 天前
[HTB] 靶机学习(十二)Eureka
学习·安全·web安全·网络安全·云原生·eureka
没有bug.的程序员2 天前
Eureka 注册中心原理与服务注册发现机制
java·spring·云原生·eureka·架构·注册中心·服务注册发现
Aomnitrix2 天前
我的容器管理革命:从命令行地狱到可视化操控的蜕变
云原生·eureka
ABdolphin3 天前
Spring-cloud 主键Eureka
java·云原生·eureka
INFINI Labs5 天前
使用 Docker Compose 轻松实现 INFINI Console 离线部署与持久化管理
java·docker·eureka·devops·docker compose·console·easyserach
天地之于壹炁兮5 天前
Docker革命:软件开发的集装箱时代
docker·容器·eureka
帅帅梓7 天前
docker图形化管理
docker·容器·eureka
闲人编程7 天前
Docker化你的Python应用:从开发到生产
python·docker·eureka·开发·生产·codecapsule