Create a folder where you will store all datasets, e.g.:
mkdir Datasets
In your .bashrc
script, create a new environment variable pointing to the dataset folder:
export SVO_DATASET_DIR=${HOME}/Datasets
Source your new .bashrc
script, go to the new dataset folder and download the test data:
source `~/.bashrc`
cd ${SVO_DATASET_DIR}
wget http://rpg.ifi.uzh.ch/datasets/flying_room_1_rig_1.tar.gz -O - | tar -xz
In the CMakeLists.txt of SVO you need to set the TRACE
flag to TRUE
and recompile SVO.
Afterwards run
rosrun svo_analysis benchmark.py flying_room_1_fast
The script will create a new folder in svo_analysis/results/
, run svo on the dataset and save the tracefile in this folder and at the end it will run some scripts to generate plots from the tracefile.
A dataset with motion-capture-system ground-truth should contain the following files
-
images.txt
1329330952.725747585296631 img/00000.png 1329330952.765715122222900 img/00001.png 1329330952.805604219436646 img/00002.png ...
-
groundtruth.txt: groundtruth poses as acquired from a motion capture system
-
groundtruth_matched.txt: the groundtruth pose associated to the images in images.txt. This file can be generated by the command:
cd my_dataset rosrun svo_analysis associate.py images.txt groundtruth.txt