ROS学习笔记之——EVO工具的使用

Posted gwpscut

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ROS学习笔记之——EVO工具的使用相关的知识,希望对你有一定的参考价值。

之前博客《ROS学习笔记之——VICON的使用》用vincon获得了机器人的真实轨迹,并且通过amcl可以获得了机器人的定位结果,下面通过EVO包来表征performance(本文不像网上大部分博客复制粘贴别人的图,连跑都没跑过)

by the way

不得不说这csdn的编辑器真的十分垃圾。。。。。

哦不,不是一般的十分垃圾

开始正文~

安装

首先安装EVO工具

sudo apt install python-pip
pip install evo --upgrade --no-binary evo

运行ros包并且看一下topic

roscore
rosbag play /home/kwanwaipang/dataset/gwphku/amcl_vicon_2021-11-04-11-18-50.bag
rostopic list

将/turtlebot2/viconros/mocap/pos作为ground truth, /amcl_pose作为定位输出。

轨迹可视化

evo_traj bag /home/kwanwaipang/dataset/gwphku/amcl_vicon_2021-11-04-11-18-50.bag /amcl_pose --ref=/turtlebot2/viconros/mocap/pos -va -p --plot_mode=xy

绝对轨迹误差 (Absolute Trajectory Error, ATE)

(对应evo工具中的“evo_ape”命令)

绝对轨迹误差(absolute trajectory error)**直接计算相机位姿的真实值与SLAM系统的估计值之间的差。程序首先根据位姿的时间戳将真实值和估计值进行对齐, 然后计算每对位姿之间的差值, 并最终以图表的形式输出, 该标准非常适合于评估视觉 SLAM 系统的性能。

绝对轨迹误差是估计位姿和真实位姿的直接差值,可以非常直观地反应算法精度和轨迹全局一致性

evo_ape bag /home/kwanwaipang/dataset/gwphku/amcl_vicon_2021-11-04-11-18-50.bag /turtlebot2/viconros/mocap/pos /amcl_pose -va --plot --plot_mode=xy

显然,默认出来的是平移误差

但实际可以根据需要选择不一样的参数

 

 比如下面设定角度与平移

evo_ape bag /home/kwanwaipang/dataset/gwphku/amcl_vicon_2021-11-04-11-18-50.bag /turtlebot2/viconros/mocap/pos /amcl_pose -va -r trans_part --plot --plot_mode=xy
evo_ape bag /home/kwanwaipang/dataset/gwphku/amcl_vicon_2021-11-04-11-18-50.bag /turtlebot2/viconros/mocap/pos /amcl_pose -va -r angle_deg --plot --plot_mode=xy

第一句跟上面是一样的。第二句的结果如下所示

通过下面这样也可以看到参数的选择:

相对位姿误差 (Relative Pose Error, RPE)

(对应evo工具中的“evo_rpe”命令)

相对位姿误差(relative pose error)用于计算相同两个时间戳内的位姿变化量的差, 同样, 在用时间戳对齐之后, 真实位姿和估计位姿均每隔一段相同时间计算位姿的变化量, 然后对该变化量做差, 以获得相对位姿误差, 该标准适合于估计系统的漂移

evo_rpe bag /home/kwanwaipang/dataset/gwphku/amcl_vicon_2021-11-04-11-18-50.bag /turtlebot2/viconros/mocap/pos /amcl_pose -va --plot --plot_mode=xy

 

参考资料

https://github.com/uzh-rpg/rpg_trajectory_evaluation

https://github.com/MichaelGrupp/evo
SLAM_轨迹算法精度评价指标(ATE、RPE)_惊鸿一博-CSDN博客
SLAM_轨迹算法精度评价指标(ATE、RPE)_惊鸿一博-程序员宅基地 - 程序员宅基地
小白学SLAM——使用评测工具EVO评估误差 - 知乎

以上是关于ROS学习笔记之——EVO工具的使用的主要内容,如果未能解决你的问题,请参考以下文章

ROS实验笔记之——EVO

轨迹评估工具使用总结 evo 绘图& ROS map

轨迹评估工具使用总结 evo 绘图& ROS map

kitti之ros可视化_学习笔记--第1课:资料准备及环境介绍

ROS学习笔记之——ESVO复现及DAVIS346测试

ROS实验笔记之——基于Prometheus的控制模块