---
title: 'Plot APE for VIOX (MATLAB)'
disqus: hackmd
---
Plot APE for VIOX (MATLAB)
===
## Table of Contents
[TOC]
## Prerequest
We need **Matlab** & **evo** for plotting APE
### Matlab
* step1. Download [Matlab](https://www.mathworks.com/products/matlab.html)
* step2. Install it~
* step3. Download the [Matlab code](https://drive.google.com/drive/folders/1vgDVrpcNskH4qEJZmByjIgWHVpiZn-8O?usp=sharing) for verification
### evo
* step1. git clone [evo](https://github.com/MichaelGrupp/evo)
```C++
git clone https://github.com/MichaelGrupp/evo.git
```
* step2. Setting up evo (**need pip3 installed**)
* step2-1. [pip3 installation](https://linuxize.com/post/how-to-install-pip-on-ubuntu-18.04/)
```C++
sudo apt update
```
```C++
sudo apt install python3-pip
```
Check if you install sucessfully
```C++
pip3 --version
```
* step2-2. Setting up evo
```C++
pip3 install --editable . --upgrade --no-binary evo
```
## Verfify
* step1. Run **viox**, and you shoud get **gps_raw.csv** & **pose.csv** in the output folder
* step2. Run **evo_llh2xyz.m** in Matlab
* Change your **gps_raw.csv** path
```C++
gps_path = '/path/to/gps_raw.csv';
gps_out_path = '/path/to/saving/gps.txt';
```
* Change your **pose.csv** path
```C++
VIO_path = /path/to/pose.csv';
VIO_out_path ='/path/to/saving/vio.txt';
```
* step3. Run **evo**
1. For comparing gps & vio, **evo_ape** is avaliable, and the command is something like
```C++
evo_ape tum reference_file estimate_file -p -va
```
* EX.
```C++
evo_ape tum gps.txt vio.txt -p -va
```
2. For comparing gps & vio1 & vio2, only **evo_traj** is avaliable, and the command is something like
```C++
evo_traj tum estimate_file1 estimate_file2 --ref=reference_file -p --va
```
* EX.
```C++
evo_traj tum vio1.txt vio2.txt --ref=gps.txt -p --va
```
3. For comparing gps & vio1 & vio2 using evo_ape, please see [this example](https://github.com/MichaelGrupp/evo)

* Results. You shoud get something like the two pics showing bellow


###### tags: `Work`