Analytical tool for VIO perfromance: evo

1. Install evo in the virtual environment [1]

2. Prepare the ground-truth data 

Supported trajectory formats:
  • 'TUM' trajectory files
  • 'KITTI' pose files
  • 'EuRoC MAV' (.csv groundtruth and TUM trajectory file) [2]
  • ROS bagfile with: geometry_msgs/PoseStamped, geometry_msgs/TransformStamped, geometry_msgs/PoseWithCovarianceStamped or nav_msgs/Odometry topics
3. Plot ground-truth

$ workon evaluation (start evo)

$ evo_traj euroc data.csv --save_as_tum (euroc => tum)
 * There is no necessary to substract the original offset by yourself, just add "--align" in the command.

$ evo_traj tum data.tum -p (tum format)

$ deactivate (stop evo)

4. Generate trajectory data (ex: maplab)

(1) Run VIO mode
(2) load map in the maplab_console
(3) Export .csv file
ex: $ csv_export --csv_export_path '/home/shomin/maplab_ws/bagfiles/save_folder_0'
(4) Open vertices.csv, delete first column and row, and save as a new file.
(5) Transform .csv format to .tum format
ex: $ evo_traj euroc vertices_new.csv --save_as_tum

5. Plot multiple trajectories

ex: $ evo_traj tum gt_offset.tum maplab_result_new.txt -p
ex: $ evo_traj tum maplab_result_new.txt --ref=gt_offset.tum -p

6. Run a metric on trajectories & save result

ex: $ evo_ape tum gt_offset.tum vertices_new.tum -va --plot --plot_mode xz --save_results results/rovio.zip


7. Process multiple results from a metric (several saved .zip files should be prepared for this step)

ex: $ evo_res *.zip -p --save_table compare/table.csv

* .tum file name will be used as the tag name in the comparison.




Reference:
[1] https://github.com/MichaelGrupp/evo/blob/master/doc/install_in_virtualenv.md
[2] https://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets
[3] 开源SLAM方案评价与比较 

留言

這個網誌中的熱門文章

Tuing PID parameters in QGroundcontrol (2)

Useful PX4 Parameters

Burn linux image to eMMC storage on Banana Pi M3