After following the setup guide,
we can run one of the provided demo.
As an example,
we will showcase the demo examples/demo_se2
.
❗ Pro tip, if you only want to run the example, or to deploy your application, don't forget to compile in
Release
together with the appropriate optimization flags ❗
Without further due, let's run it:
$ cd build/examples
$ ./demo_se2
X simulated : +0.00000 +0.00000 +0.00000
X estimated EKF : +0.44013 -3.07954 +2.97186 : |d|=+5.22889
X estimated SEKF : +0.44013 -3.07954 +2.97186 : |d|=+5.22889
X estimated IEKF : +0.07242 -0.04252 +0.14026 : |d|=+0.21540
X estimated UKFM : +0.21577 +2.77866 -2.35481 : |d|=+4.34255
X unfilterd : -0.00125 +0.00084 -0.00118 : |d|=+0.00225
----------------------------------
...
----------------------------------
X simulated : +259.57122 +66.78571 -0.36915
X estimated EKF : +259.63376 +66.43129 -0.36668 : |d|=+0.02875
X estimated SEKF : +259.63376 +66.43129 -0.36668 : |d|=+0.02875
X estimated IEKF : +259.62728 +66.45183 -0.36651 : |d|=+0.01739
X estimated UKFM : +259.51942 +66.77590 -0.36393 : |d|=+0.69864
X unfilterd : +258.65849 +62.90753 -0.25352 : |d|=+11.90319
----------------------------------
RMSE RRMSE ATE RTE AOE ROE FPE
EKF +0.11785 +1.10971 +0.10668 +1.06239 +0.00335 +0.04341 +0.02875
IEKF +0.07645 +0.46241 +0.07484 +0.45011 +0.00223 +0.01591 +0.01739
SEKF +0.11785 +1.10971 +0.10668 +1.06239 +0.00335 +0.04341 +0.02875
UKFM +0.37889 +1.20746 +0.37708 +1.18011 +0.00361 +0.03695 +0.69864
UNFI +4.80459 +0.09614 +4.80363 +0.09013 +0.05659 +0.01835 +11.90319
We see that a bunch of info got printed on the terminal. At each iteration, we print the simulated (true) pose, then the estimated pose by each filter, and last the unfiltered pose. For each estimated/unfiltered pose, we compute its distance to the ground-truth. Upon finishing, we calculate all kind of metrics, comparing the estimated pose to the ground truth for each filter. The metrics are summarized below.
In case you compiled with the flag enabling plots, running e.g.
./demo_se2 --plot-trajectory
will open a window with the trajectories (simulated/estimated/unfiltered) plotted such as the one below.
$ ./demo_se2 -h
Usage: ./demo_se2 <option(s)>
E.g. ./demo_se2 -f demo_plots -n
Options:
-h, --help Show this helper
-t, --plot-trajectory Plot the trajectories
-e, --plot-error Plot the errors
-f, --filename FILENAME Base filename to save plots
This tells us what are the different options of the demo.
with,
The remaining metrics are:
- the Relative Root Mean Square Error
- the Relative Translation Error
- the Relative Orientation Error
and are local application of the previous metrics on aligned trajcetory segments.
To compute the relative metrics,
the trajectory is sliced into temporal blocks of
The previous metrics are then applied to each block and summed up,