Skip to content

Plot benchmarks from the Open Motion Planning Library (OMPL)

Notifications You must be signed in to change notification settings

aorthey/ompl_benchmark_plotter

Repository files navigation

ompl_benchmark_plotter

This is an easy-to-use script to quickly generate cost-success graphs (as pdf) from benchmark database file(s) generated in the Open Motion Planning Library (OMPL).

Quick start

To produce a cost-success graph from a database file, simply run the following command:

  ./ompl_benchmark_plotter.py examples/example.db -s

Cost-success Graph

Input

There are two options to use the script:

  • Single database file: As input, you can specify one database (.db) files.
  • Multiple database files: If more than one database file is specified, the script will generate a single graph by merging the database files. This allows you to compare different planners for the same experiment, which are stored in different database files. If you want to compare different experiments, you can simply run the script multiple times with different database files.

General Options

  • -o, --output-file PDF-FILENAME Specify output pdf filename
  • -s, --show Show output as pdf (requires xdg-open).
  • -v {0,1,2,3}, --verbose {0,1,2,3} Select verbosity level. Default: 1.
  • --quiet Do not show any output. Invalidates any verbose values.

Graph generation Options

NOTE: default values can be found in config/default.json

  • --max-cost MAX-COST Specify upper bound on cost axis.
  • --min-cost MIN-COST Specify lower bound on cost axis.
  • --max-time MAX-TIME Specify upper bound on time axis.
  • --min-time MIN-TIME Specify lower bound on time axis.
  • --fontsize FONTSIZE Fontsize of title and descriptions.
  • --label-fontsize LABEL-FONTSIZE Fontsize of tick labels.
  • --ignore-non-optimal-planner Do not plot non-optimal planner.
  • --title-name TITLE-NAME Set title name
  • --legend-separate-file Print legend as separate file.
  • --legend-below-figure Print legend below graph.
  • --legend-none Do not print legend.

Run unit tests

  pytest

Acknowledgements

@gammell: This repository has been created as a tool to easily generate graphs similar to the ones which Jonathan Gammell has used throughout his work (Check out his work on asymptotically-optimal motion planning.)

@frangrothe: This library is also based upon earlier work by Francesco Grothe, who used cost-success graphs extensively for his work on time-based motion planning (Check it out here: https://github.com/frangrothe/bt-motion-planning).

@servetb and @JayKamat99: For feedback on earlier versions, and advice on improvements.

About

Plot benchmarks from the Open Motion Planning Library (OMPL)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages