日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Vins-fusion gps融合 KITTY数据集测试

發布時間:2023/12/31 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Vins-fusion gps融合 KITTY数据集测试 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

下載kitti數據集

下載kitti數據集和真值poses的00.txt以及sequences文件00序列的times.txt,(全網找了好久,最后不得已翻墻從官網down下來的)

代碼修改,保存輸出數據

先指定輸出路徑:打開vins-fusion/config/kitti_raw/kitti_10_03_config.yaml或者kitti_raw/kitti_09_30_config.yaml(根據數據集選擇具體參數文件),第十行
output_path: “/home/tony-ws1/output/”
這里指明自己需要保存到的地址.

第二步接下來是修改代碼使其輸出軌跡文件,原本的vins_fusion是無軌跡文件輸出的.
globalOptNode.cpp中vio_callback函數

std::ofstream foutC("/home/tony-ws1/output/vio_global.csv", ios::app);//這里還是文件輸出位置foutC.setf(ios::fixed, ios::floatfield);foutC.precision(0);foutC << pose_msg->header.stamp.toSec() * 1e9 << ",";foutC.precision(5);foutC << global_t.x() << ","<< global_t.y() << ","<< global_t.z() << ","<< global_q.w() << ","<< global_q.x() << ","<< global_q.y() << ","<< global_q.z() << endl;foutC.close();

改成如下:

std::ofstream foutC("/home/tony-ws1/output/vio_global.txt", ios::app);//這里還是文件輸出位置,最好和前面位置一樣foutC.setf(ios::fixed, ios::floatfield);foutC.precision(0);foutC << pose_msg->header.stamp.toSec() << " ";foutC.precision(5);foutC << global_t.x() << " "<< global_t.y() << " "<< global_t.z() << " "<< global_q.x() << " "<< global_q.y() << " "<< global_q.z() << " "<< global_q.w() << endl;foutC.close();

將輸出數據格式改成tum文件格式的

運行global_fusion節點

按照github上面來,三個終端,分別是下面三個指令(可能要加上source ~/(你的目錄)/devel/setup.bash).

roslaunch vins vins_rviz.launch rosrun vins kitti_gps_test ~/catkin_ws/src/VINS-Fusion/config/kitti_raw/kitti_10_03_config.yaml YOUR_DATASET_FOLDER/2011_10_03_drive_0027_sync/ rosrun global_fusion global_fusion_node

可看到如下顯示結果:

EVO顯示及評測

指定的文件夾下找到vio_global文件.使用evo分析結果,這里是tum數據格式,故使用

evo_traj tum vio_global.txt -p


也可同時顯示出來:

接下來是對比真值,(kitti的真值來自與衛星定位,這里視覺融合衛星定位的結果還與之前kitti的真值對比是不是不合適?,這里暫且參照對比吧)

因為真值是12列的kitti軌跡格式,所以要將真值轉換成8列格式的tum軌跡格式
evo里給出了可轉換的代碼

python kitti_poses_and_timestamps_to_trajectory.py ./result/00.txt ./result/times.txt ./result/KITTI_00_gt.txt

通過該指令完成轉換,詳細見原博文,轉換得到tum格式的真值后,我們可以進行評定,將我們得到的vio_global.txt 與這里的真值進行對比

evo_ape tum vio_global.csv KITTI_00_gt.txt -a -p



為了對比,把vio.csv的也與真值做個對比

evo_ape tum vio.csv KITTI_00_gt.txt -a -p


總結

以上是生活随笔為你收集整理的Vins-fusion gps融合 KITTY数据集测试的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。