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工具的使用的主要内容,如果未能解决你的问题,请参考以下文章