使用evo评测VIO算法

一.evo地址

https://github.com/MichaelGrupp/evo
根据说明,在安装pip之后,根据自己电脑安装的Python,可以键入:
pip3 install evo --upgrade 或 pip install evo --upgrade 获取evo

二.euroc数据集评测

去euroc官网下载.zip格式的数据集,解压后其中的*.csv文件是groundtruth信息。
其中vio的数据可存储在csv文件中,采取tum格式即:
time(double),tx,ty,tz,qx,qy,qz,qw


TUM格式说明

在终端键入:
evo_ape euroc data.csv(groundtruth文件) vins_MH05.csv(自己存的vio数据) -va -r full rot_part --plot --plot_mode xyz

表示用evo求euroc数据集下vio的绝对误差,并绘制xyz轴轨迹

评测结果如图:


full_xyz.png

full_plot.png

full.png

在vins程序的visualization.cpp 中适当位置加入如下代码可以存.csv文件:

double turetime = header.stamp.toSec();
ofstream cs("/home/xiaonan/result/v1/vins_plus_v101.csv(你的路径和文件名)", ios::app);
cs.setf(ios::fixed, ios::floatfield);
//foutB << header.stamp.toSec() * 1e9 << ",";
cs << turetime << ","
<< estimator.Ps[WINDOW_SIZE].x() << ","
<< estimator.Ps[WINDOW_SIZE].y() << ","
<< estimator.Ps[WINDOW_SIZE].z() << ","
<< tmp_Q.x() << ","
<< tmp_Q.y() << ","
<< tmp_Q.z() << ","
<< tmp_Q.w() << endl;
cs.close();

代码中truetime需要自己定义,是ros时间

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容