【SVO2.0】源码编译运行和使用公开数据集EuRoc

前置安装

需要先安装ros,melodic或者neotic,搜索一下教程

安装和编译SVO2.0

按官方公开的github的教程步骤来就行https://github.com/uzh-rpg/rpg_svo_pro_open/tree/master,期间遇到连不上github的问题,搜索设置一下密钥就可以了。两种方法都要编译,不然用不了地图

运行视觉前端visual front-end

同样按照教程https://github.com/uzh-rpg/rpg_svo_pro_open/blob/master/doc/frontend/visual_frontend.md,下载airground_rig_s3_2013-03-18_21-38-48.bag然后

roslaunch svo_ros run_from_bag.launch cam_name:=svo_test_pinhole
rosbag play airground_rig_s3_2013-03-18_21-38-48.bag

使用EuRoc数据集

这是个benchmark数据集,svo有提供运行benchmark的格式,下载EuRoc数据集,我选的是ASL格式https://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets

按格式放置数据

https://github.com/uzh-rpg/rpg_svo_pro_open/tree/master/svo_benchmarking/dataset_tools中的教程设置好需要的数据

<dataset_name>
├── calib.yaml --> calibration file
├── data
│ ├── groundtruth_matches.txt
│ ├── groundtruth.txt
│ ├── stamped_groundtruth.txt
│ ├── images.txt
│ ├── img --> folder containing actual images
│ └── imu.txt
└── dataset.yaml --> optional: can be used to specify dataset-specific parameters

其中必须的文件:

  • groundtruth.txt:用python/asl_to_groundtruth_to_pose.py转换state_groundtruth_estimate0下的data.csv
  • images.txt:写一个类似asl_to_groundtruth_to_pose.py的程序转换cam0下的data.csv
  • imu.txt:写一个类似asl_to_groundtruth_to_pose.py的程序转换imu0下的data.csv,注意时间戳的精度保留,保留到9位小数才能让img和imu的时间戳对上(不然超出精度的会生成随机数字导致对不上)
  • calib.yaml:用svo提供的euroc_mono.yaml,和euroc中的sensor.yaml的参数一样,但是svo能读取的格式
  • img:图像,但svo的代码中是让图和txt都放在data下,我把cpp文件中的路径改回教程中的格式(放在img)下

改一下experiments/exp_euroc_mono.yaml里dataset的设置,然后就可以开始跑了

roscore
roslaunch svo_ros euroc_global_map_mono.launch
rosrun svo_benchmarking benchmark.py exp_euroc_mono.yaml

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值