toppra is a library for computing the time-optimal path parametrization for robots subject to kinematic and dynamic constraints. In general, given the inputs:
- a geometric path
p(s)
,s
in[0, s_end]
; - a list of constraints on joint velocity, joint accelerations, tool Cartesian velocity, et cetera.
toppra returns the time-optimal path parameterization: s_dot (s)
, from which the fastest trajectory q(t)
that satisfies the
given constraints can be found.
Documentation and tutorials are available here.
To install the latest development version, simply clone the repo and install with pip
git clone https://github.com/hungpham2511/toppra
cd toppra && pip install .
To install depencidencies for development, replace the second command with:
cd toppra && pip install -e .[dev]
You can also build documentation locally
invoke build-docs
toppra
is also implemented as a stand-alone C++ library with minimal
dependency. See cpp/README.md
for installation instruction and the
test cases for example usage. Be noted that this implementation is
relatively new and is not yet stable enough for production use.
Please report any issues, questions or feature request via Github issues tracker.
Pull Requests are welcomed! Rreate a Pull Request and we will review your proposal!
toppra
was originally developed by Hung
Pham (Eureka Robotics, former CRI
Group) and Pham Quang-Cuong
(Eureka Robotics, CRI Group) with major contributions from talented
contributors:
- Joseph Mirabel (C++ API)
- EdsterG (Python3 support).
If you have taken part in developing and supporting the library, feel free to add your name to the list.
The development is also generously supported by Eureka Robotics.
If you use this library for your research, we encourage you to
- reference the accompanying paper «A new approach to Time-Optimal Path Parameterization based on Reachability Analysis», IEEE Transactions on Robotics, vol. 34(3), pp. 645–659, 2018.
- put a star on this repository.