Skip to content

zkl2017/toppra

 
 

Repository files navigation

toppra: Time-Optimal Path Parameterization

CircleCI Coverage Status Documentation Status

Overview

toppra is a library for computing the time-optimal path parametrization for robots subject to kinematic and dynamic constraints. In general, given the inputs:

  1. a geometric path p(s), s in [0, s_end];
  2. 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.

Installation (Python API)

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

New C++ API

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.

Support

Bug tracking

Please report any issues, questions or feature request via Github issues tracker.

Contributions

Pull Requests are welcome! Create a Pull Request and we will review your proposal!

Credits

toppra was originally developed by Hung Pham (Eureka Robotics, former CRI Group) and Phạm Quang Cường (Eureka Robotics, CRI Group) with major contributions from talented contributors:

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.

Citing toppra

If you use this library for your research, we encourage you to

  1. 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.
  2. put a star on this repository.

Packages

No packages published

Languages

  • Python 71.8%
  • C++ 24.1%
  • CMake 3.1%
  • Other 1.0%