Time-Optimal Path Parameterization (TOPP)

We implemented in C++ the classic algorithm to find the time-optimal parameterization of a given path under kinodynamic constraints (see our paper "A general, fast, and robust implementation of the time-optimal path parameterization algorithm").

Currently, the standalone version supports :


The OpenRAVE-enabled version supports moreover :


Please go to the GitHub page of the project to access the latest releases and to contribute.


Time-Optimal Parabolic Interpolation (Parabint)

We implemented, in standalone Python files, the algorithm to find the time-optimal multi-dof parabolic interpolation subject to velocity, acceleration and minimum-switch-time constraints (see our paper "Time-optimal parabolic interpolation with velocity, acceleration and minimum-switch-time constraints").


Converting cone representations [deprecated]

Every Polyhedral Convex Cone (PCC) P has two different representations, the face representation and the positive span representation :

  • P = face{a1,...,am} = {x : a1Tx ≤ 0,...,amTx ≤ 0}
  • P = span{u1,...,uk} = {c1u1 + ... + ckuk : c1 ≥ 0 ... ck ≥ 0}

In his thesis (1991), S. Hirai described an algorithm to convert one representation into the other and gave an implementation in LISP. Here we re-implemented that algorithm in the more modern Python language :

  • PCC.txt (the main algorithm in Python, rename to .py to use)
  • test-PCC.txt (an example of computation that makes use of the conversion, rename to .py to use)