TOPP-RA is a package for parametrizing trajectories for robot subject to kinematic and dynamic constraints. The current implementation supports the following constraints :
- joint velocity and acceleration bounds;
- torque bounds (including redundantly-actuated manipulators);
- contact stability for legged robots.
Refer to the accompanying paper A new approach to Time-Optimal Path Parameterization based on Reachability Analysis for more details.
Install qpOASES by following the steps below:
git clone https://github.com/hungpham2511/qpOASES
cd qpOASES/ && mkdir bin && make
cd interfaces/python/
pip install cython
python setup.py install --user
Finally, install toppra
with
git clone https://github.com/hungpham2511/toppra
cd toppra/
pip install -r requirements.txt --user
pip install -e . --user
And you are good to go. If you have openrave
installed on your computer, you can
run the below example to see toppra
in action.
python examples/retime_rave_trajectory.py
Multi-contact and torque bounds. To use these functionality, the following libraries are needed:
openRAVE
can be tricky to install, a good instruction for installing
openRAVE
on Ubuntu 16.04 can be
found
here.
To install pymanoid
locally, do the following
mkdir git && cd git
git clone <pymanoid-git-url>
git checkout 54299cf
export PYTHONPATH=$PYTHONPATH:$HOME/git/pymanoid
To build and view the documentation, install sphinx then do
pip install sphinx_rtd_theme
cd <toppra-dir>/docs/
make clean && make html
<google-chrome> build/index.html
toppra
uses pytest
for testing. To run all the tests, do:
cd <toppra-dir>/tests/
pytest -v
if pytest
is not installed, grab it from pip
.