EVO trajectory assessment tool study notes

1. Description:

evo is a trajectory evaluation tool for visual odometry and slam problems . The core functionality is the ability to plot a camera's trajectory, or evaluate the error between an estimated trajectory and the ground truth. Supports trajectory formats of multiple data sets (TUM, KITTI, EuRoC MAV, ROS bag), and supports mutual conversion between these data formats.

2. Installation:

---pip install evo --upgrade --no-binary evo

Note: Relevant dependencies will be automatically installed during installation. After the installation is complete, enter evo on the command line . If the relevant information is displayed, the installation is successful. If it prompts "command not found", don't panic. Many people encounter this problem. You can find the corresponding evo command by restarting the computer.

3. Draw the trajectory

3.1 Basic commands (draw trajectory-p)

The command for evo to draw a trajectory is: evo_traj, followed by the necessary parameters: data format ( tum/kitti/bag/euroc, etc. ) + trajectory file. There can be multiple trajectory files, for example:

---evo_traj tum traj1.txt traj2.txt

This command only displays the basic information of the trajectory. If you want to draw the trajectory, add the optional parameter -p or --plot.

---evo_traj tum traj1.txt –p

3.2 Track alignment (-a)

We often need to draw the estimated trajectory and the real trajectory at the same time. You can use the command:

---evo_traj tum realTraj.txt estTraj.txt -p

However, most of the trajectories during storage are relative position changes , so the drawn trajectory has a certain position and angle offset from the initial position .

3.3 Trajectory scale scaling (-s)

There will be scale uncertainty in the monocular camera. evo_traj supports using the -s (or --correct_scale) parameter for alignment (rotation, translation and scaling) on ​​Sim(3)

4. Trajectory assessment

evo can evaluate the error of two trajectories. There are two main commands:

evo_traj: used to draw trajectories, output trajectory files, and convert trajectory data formats

eg.

Convert Euroc data to tum dataset format

---evo_traj euroc MH01_data.csv --save_as_tum

Visually display the trajectory (picture will be produced)

--- evo_traj euroc data.csv --plot

evo_res: Tool to compare one or more result files generated from evo_ape and evo_rpe

evo_fig: (not commonly used) used to reopen the serialized figure

evo_config: (not commonly used) evo tool global settings and configuration file operations

evo_config set to set parameters

evo_ape: Calculate the absolute pose error (absolute pose error), which is used to evaluate the global consistency of the entire trajectory;

eg.

---evo_ape tum realTraj.txt estTraj.txt -a –s

The trajectory error related results will be displayed.

evo_rpe: Calculate relative pose error (relative pose error), used to evaluate the accuracy of the local trajectory.

The MH01_data.csv file is MH_01_easy\mav0\state_groundtruth_estimate0\ data.csv

f_dataset-MH01_mono.txt is the trajectory result of monocular SLAM run on the MH_01_easy data set

---evo_rpe tum MH01_data.tum f_dataset-MH01_mono.txt  -p --plot_mode=xyz -a --correct_scale --save_results ./orb3_rpe01.zip

5. Advanced learning

evo can perform various functions such as data format conversion, curve color configuration, and trajectory export.

For details, please refer to evo’s wiki on github:

Detailed tutorial

evo other commands:

evo pkg --version View evo version

(Mine is v1.22.0 )

evo pkg --info View a brief introduction and description of evo

evo pkg --pyversion Check the python version used by evo

(Mine is 3.8.10 )

evo pkg --license View license

evo pkg --location View evo installation path

(Mine is /home/hank/.local/lib/python3.8/site-packages/evo )

evo pkg --logfile View log file path

evo pkg --open_log opens the log file

evo pkg --clear_log clear log files

Guess you like

Origin blog.csdn.net/tangling1/article/details/132207115