使用evo評測VIO算法

一.evo地址

https://github.com/MichaelGrupp/evo
根據(jù)說明,在安裝pip之后,根據(jù)自己電腦安裝的Python,可以鍵入:
pip3 install evo --upgrade 或 pip install evo --upgrade 獲取evo

二.euroc數(shù)據(jù)集評測

去euroc官網(wǎng)下載.zip格式的數(shù)據(jù)集,解壓后其中的*.csv文件是groundtruth信息。
其中vio的數(shù)據(jù)可存儲在csv文件中,采取tum格式即:
time(double),tx,ty,tz,qx,qy,qz,qw


TUM格式說明

在終端鍵入:
evo_ape euroc data.csv(groundtruth文件) vins_MH05.csv(自己存的vio數(shù)據(jù)) -va -r full rot_part --plot --plot_mode xyz

表示用evo求euroc數(shù)據(jù)集下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時間

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容