EPICA Documentation

epica is a trajectory alignment and evaluation toolkit. The package installs the command-line entrypoints epa and epica, which are interchangeable. It is built for reproducible benchmarking, practical analysis, and scalable experiment comparison.

Rerun demo: follow-view inspection of Ground truth and Estimation trajectories.

Features

  • End-to-end trajectory alignment from time synchronization to final world-frame evaluation
  • Command-line tools for single-run analysis, plotting, metric inspection, and cross-run comparison
  • Reusable configuration defaults to keep repeated workflows consistent
  • Reproducible figure generation through serialized plot specs and offline re-rendering
  • Optional Rerun-based visualization for trajectory inspection and intermediate-stage debugging
  • Batch benchmark workflows for large-scale evaluation, summary plots, and report generation

Supported Input Formats

The epa / epica command supports these trajectory and log formats:

  • auto for automatic format detection when possible
  • csv / euroc
  • tum
  • kitti
  • bag (ROS1)
  • bag2 / mcap (ROS2)

For ROS log formats (bag, bag2, mcap), install ROS support first:

python -m pip install "epica[ros]"

Main Commands

You may start with these commands:

  • epa or epica: run the full alignment and evaluation pipeline on one reference-estimation pair
  • epa_all: run the single-case workflow in one command, including plots and packaged outputs

Trajectory and metric tools:

  • epa_traj: inspect, synchronize, align, and plot trajectories
  • epa_ape: compute absolute pose error metrics
  • epa_rpe: compute relative pose error metrics
  • epa_res: compare multiple runs, result bundles, or metric outputs

Benchmark tools:

  • epa_bench: run multi-case benchmarks across many prepared cases
  • epa_benchall: run the full benchmark workflow, including summary plots and LaTeX tables

Advanced utilities such as epa_config, epa_fig, epa_plot_summary, and epa_metric_res are documented in the CLI Reference.

Typical Workflow

  1. Prepare one reference trajectory and one estimated trajectory
  2. Run epa (or epica) to align them and generate a run directory with metrics and plots
  3. Use epa_traj, epa_ape, or epa_rpe when you want more focused inspection
  4. Use epa_res to compare multiple runs
  5. Move to epa_bench or epa_benchall when you need batch evaluation

Next Pages