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 at (https://toppra.readthedocs.io/en/latest/index.html).
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]
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 warned that this implementation is
relatively new and is not yet stable enough for production use.
The following is a non-exhautive list of features that we are considering to include in the library.
- Improve the trajectory / geometric path interface #81
- Implement a C++ interface #43
- Implement a C++ interface to popular motion planning libraries.
- Improve the numerical stability of the solvers for degenerate cases.
- Post-processing of output trajectories: #56, #80
Please report any issues, questions or feature request via Github issues tracker.
Please provide more details on the errors/bugs that you encounter. The best way is to provide a Minimal Working Example that produces the reported bug and attach it with the issue report.
Pull Requests are welcomed!
- Go ahead and create a Pull Request and we will review your proposal!
- For new features, or bug fixes, preferably the request should
contain unit tests. Note that
toppra
uses pytest for all tests. Check out the test folder for more details.
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.