sparshgarg23 / pyOptimalMotionPlanning

Optimal Motion Planning package in Python

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

pyOptimalMotionPlanning

Optimal Motion Planning package in Python

v0.2

Kris Hauser

  • v0.1: released 7/27/2015
  • v0.2: released 12/24/2019. Added Python 3 support, some experimental numerical optimization libraries.

Requirements:

  • Python 2.X or 3.X
  • Numpy/Scipy
  • PyOpenGL
  • Matplotlib (optional)

Usage:

"python main.py [-v] [PROBLEM] [PLANNER]"

where -v is an optional flag to show the planner in a GUI. If not specified, the planner is run 10 times on the given problem and stats are saved to disk. You can also name multiple planners.

[PLANNER] can be any of

  • "r-rrt"
  • "r-est"
  • "r-rrt-prune"
  • "r-est-prune"
  • "ao-rrt"
  • "ao-est"
  • "stable-sparse-rrt"
  • "sst*"
  • "all": run all planners You may also add keyword arguments to change parameters of the planner, e.g. "r-rrt(numControlSamples=1)".

[PROBLEM] can be any of:

  • "Bugtrap"
  • "Kink"
  • "Pendulum"
  • "Dubins"
  • "Dubins2"
  • "DoubleIntegrator"
  • "Flappy"

Visualization controls:

  • 'p' will do 1000 iterations of planning
  • ' ' will do a single iteration.
  • 'm' will start saving frames to disk every 100 iterations of planning, which can be later turned into a movie.

Once data has been saved to disk, you can run:

"python processresults.py [folder]"

to generate a csv file summarizing all of the results for a single problem. If you have matplotlib, you can then view the results using

"python viewsummary [file]"

About

Optimal Motion Planning package in Python

License:Apache License 2.0


Languages

Language:Python 100.0%