Package symbol

toppra package from toppra repo

toppra

ROS Distro
humble

Package Summary

Version 0.6.5
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/hungpham2511/toppra.git
VCS Type git
VCS Version develop
Last Updated 2026-03-30
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Time-Optimal Path Parameterization

Additional Links

Maintainers

  • Hung Pham
  • Sebastian Castro

Authors

  • Hung Pham
  • Joseph Mirabel

Description

This is a C++ implementation of the TOPP-RA algorithm.

Building

# clone
git clone -b develop https://github.com/hungpham2511/toppra

# build
mkdir -p cpp/build && cd cpp/build
cmake ..
make -j4

# run test
./tests/all_tests

Running test with pinocchio

pinocchio is used in toppra to calculate kinematical quantities such as end-effector pose jacobians, required for task-space velocity consraint.

Install pinocchio bindings (see below) and example from robotpkg, then setup environment variables before building

# Building
export LD_LIBRARY_PATH=/opt/openrobots/lib:${LD_LIBRARY_PATH}
export CMAKE_PREFIX_PATH=/opt/openrobots

Add -DBUILD_WITH_PINOCCHIO=ON to the cmake command.

To run the tests

# Running
export ROS_PACKAGE_PATH=/opt/openrobots/share
export PYTHONPATH=/opt/openrobots/lib/python3.6/site-packages:$PYTHONPATH
# or any python version that you install

How to install optional dependencies:

  • GLPK: sudo apt install libglpk-dev
  • qpOASES: sudo apt install robotpkg-qpoases (follow http://robotpkg.openrobots.org/debian.html for robotpkg)
  • pinocchio: sudo apt install robotpkg-pinocchio (follow http://robotpkg.openrobots.org/debian.html for robotpkg)

Building Python bindings

We use pybind11 to provide the bindings. To build the bindings you need to first install pybind11 version 2.5.0.

cd ~/ && git clone https://github.com/pybind/pybind11
cd pybind11 && git checkout v2.5.0
mkdir build && cd build && cmake -DPYBIND11_TEST=false .. && sudo make install

Build toppra with Python bindings and all optional dependencies:

cmake -DBUILD_WITH_PINOCCHIO=ON -DBUILD_WITH_qpOASES=ON -DBUILD_WITH_GLPK=ON -DPYTHON_BINDINGS=ON -DPYBIND11_PYTHON_VERSION=3.7 ..
make

Running this step shall build the shared library libtoppra.so and create a CPython module at toppra/cpp/ that linked to this shared library.

Issues during build

/usr/local/include/pybind11/detail/common.h:112:10: fatal error: Python.h: No such file or directory
 #include <Python.h>
          ^~~~~~~~~~
compilation terminated.

This is because during compilation, pybind11 can not find the Python header files. Check that you have libpython-dev or libpython3-dev installed and whether the correct Python executable is found during cmake step. You should see something similar to below:

-- Found PythonInterp: /usr/bin/python3.7 (found suitable version "3.7.4", minimum required is "3.7")
-- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.7m.so
-- Found /usr/include/python3.7m /usr/bin/python3.7

If this error persists, try give more hint to CMake FindPython module by adding these flags to the cmake command:

-DPYTHON_BINDINGS=ON -DPYBIND11_PYTHON_VERSION=3.7 -DPython_EXECUTABLE=/usr/bin/python3.7 

Building doxygen doc

Make sure that doxygen is installed and available. Running cmake normally will create a rule for building doc with doxygen.

``` sh

Run cmake normally

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package toppra

0.6.5 (2026-03-27)

  • [python]: Go back to master branch of hungpham2511 qpOASES repo (#273)
  • Prepare for ROS build farm (#277)
  • Contributors: Sebastian Castro

0.6.4 (2026-01-26)

  • chore: Bump version to 0.6.4 (#268)
  • Fix Python and C++ CI, disable ECOS solver in tests (#270)
  • build: Move Python library to its own subfolder to support building as ROS 2 package (#266)
  • fix(test): Use ASSERT_NEAR for 0 comparison in test_parametrizer.cpp (#265)
  • fix(cpp): incoherent bounds seidel lp 1d (#247)
  • Release version 0.6.2 (#242)
  • Contributors: Erik Holum, Joseph Mirabel, Maxim Skripnik, Sebastian Castro, Silvio Traversaro

0.6.3 (2025-03-16)

  • Updated interface for numpy > 2.0 (#259)
  • Contributors: Zachary Kingston

0.6.2 (2023-09-19)

  • chore: Bump toppra version: '0.6.1' --> '0.6.2'
  • feat: warn when solver fails (#241)
  • Contributors: Hung Pham (Phạm Tiến Hùng), Joseph Mirabel

0.6.1 (2023-04-21)

  • chore: Bump toppra version: '0.6.0' --> '0.6.1' ( #233)
  • fix: fix numerical issue in Seidel 1D solver.
  • Contributors: Joseph Mirabel

0.6.0 (2023-03-08)

  • chore: Bump toppra version: '0.5.2' --> '0.6.0'
  • feat(cpp): Add initial gridpoints to proposeGridpoints (#227)
  • feat(cpp,constraint): Make Interpolation the default method (#225)
  • Contributors: Hung, Hung Pham (Phạm Tiến Hùng), Joseph Mirabel

0.5.2 (2022-11-19)

  • Bump version: 0.5.1 → 0.5.2
  • chore: make C++ always define all installed symbols. (#215)
  • feat: Allow setting N=0 to select gridpoints automatically (#201)
  • feat: Improve the cubic spline, hermite spline factory methods (#202)
  • doc,build: Minor adjustments to docstring for a clearer explaination
  • doc: Improve PiecewisePolyPath constructor docstring
  • Contributors: Hung, Hung Pham (Phạm Tiến Hùng), Joseph Mirabel

0.5.1 (2022-07-15)

  • Bump version: 0.5.0 → 0.5.1
  • Contributors: Hung

0.5.0 (2022-07-14)

  • Bump version: 0.4.2 → 0.5.0
  • Make path times public. (#197)
  • Fixed bug in ConstAccel parametrizer where evaluating valid times can sometimes result in an exception being thrown. (#193)
  • Google Test: master -> main (#192)
  • CI works (#191)
  • doc: Add some doc to compiling C++
  • Fixed incorrect variable bug in seidel.cpp which was causing memory issues. (#190)
  • Added a check to test the input times to the constaccel parametrizer are within the bounds of the parameterizer, and clampe resulting path values to the lower bound as well as the upper bound.
  • Chnaged path length in test to a more "usual" length value to avoid condusion
  • Clamp all path times to the upper bounds of the path in the const accel parametrizer. Fixes #184.
  • Allow to build static library (#178)
  • Add BUILD_TESTS option

File truncated at 100 lines see the full file

Package Dependencies

System Dependencies

Dependant Packages

Name Deps
roboplan_toppra

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged toppra at Robotics Stack Exchange

Package symbol

toppra package from toppra repo

toppra

ROS Distro
jazzy

Package Summary

Version 0.6.5
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/hungpham2511/toppra.git
VCS Type git
VCS Version develop
Last Updated 2026-03-30
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Time-Optimal Path Parameterization

Additional Links

Maintainers

  • Hung Pham
  • Sebastian Castro

Authors

  • Hung Pham
  • Joseph Mirabel

Description

This is a C++ implementation of the TOPP-RA algorithm.

Building

# clone
git clone -b develop https://github.com/hungpham2511/toppra

# build
mkdir -p cpp/build && cd cpp/build
cmake ..
make -j4

# run test
./tests/all_tests

Running test with pinocchio

pinocchio is used in toppra to calculate kinematical quantities such as end-effector pose jacobians, required for task-space velocity consraint.

Install pinocchio bindings (see below) and example from robotpkg, then setup environment variables before building

# Building
export LD_LIBRARY_PATH=/opt/openrobots/lib:${LD_LIBRARY_PATH}
export CMAKE_PREFIX_PATH=/opt/openrobots

Add -DBUILD_WITH_PINOCCHIO=ON to the cmake command.

To run the tests

# Running
export ROS_PACKAGE_PATH=/opt/openrobots/share
export PYTHONPATH=/opt/openrobots/lib/python3.6/site-packages:$PYTHONPATH
# or any python version that you install

How to install optional dependencies:

  • GLPK: sudo apt install libglpk-dev
  • qpOASES: sudo apt install robotpkg-qpoases (follow http://robotpkg.openrobots.org/debian.html for robotpkg)
  • pinocchio: sudo apt install robotpkg-pinocchio (follow http://robotpkg.openrobots.org/debian.html for robotpkg)

Building Python bindings

We use pybind11 to provide the bindings. To build the bindings you need to first install pybind11 version 2.5.0.

cd ~/ && git clone https://github.com/pybind/pybind11
cd pybind11 && git checkout v2.5.0
mkdir build && cd build && cmake -DPYBIND11_TEST=false .. && sudo make install

Build toppra with Python bindings and all optional dependencies:

cmake -DBUILD_WITH_PINOCCHIO=ON -DBUILD_WITH_qpOASES=ON -DBUILD_WITH_GLPK=ON -DPYTHON_BINDINGS=ON -DPYBIND11_PYTHON_VERSION=3.7 ..
make

Running this step shall build the shared library libtoppra.so and create a CPython module at toppra/cpp/ that linked to this shared library.

Issues during build

/usr/local/include/pybind11/detail/common.h:112:10: fatal error: Python.h: No such file or directory
 #include <Python.h>
          ^~~~~~~~~~
compilation terminated.

This is because during compilation, pybind11 can not find the Python header files. Check that you have libpython-dev or libpython3-dev installed and whether the correct Python executable is found during cmake step. You should see something similar to below:

-- Found PythonInterp: /usr/bin/python3.7 (found suitable version "3.7.4", minimum required is "3.7")
-- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.7m.so
-- Found /usr/include/python3.7m /usr/bin/python3.7

If this error persists, try give more hint to CMake FindPython module by adding these flags to the cmake command:

-DPYTHON_BINDINGS=ON -DPYBIND11_PYTHON_VERSION=3.7 -DPython_EXECUTABLE=/usr/bin/python3.7 

Building doxygen doc

Make sure that doxygen is installed and available. Running cmake normally will create a rule for building doc with doxygen.

``` sh

Run cmake normally

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package toppra

0.6.5 (2026-03-27)

  • [python]: Go back to master branch of hungpham2511 qpOASES repo (#273)
  • Prepare for ROS build farm (#277)
  • Contributors: Sebastian Castro

0.6.4 (2026-01-26)

  • chore: Bump version to 0.6.4 (#268)
  • Fix Python and C++ CI, disable ECOS solver in tests (#270)
  • build: Move Python library to its own subfolder to support building as ROS 2 package (#266)
  • fix(test): Use ASSERT_NEAR for 0 comparison in test_parametrizer.cpp (#265)
  • fix(cpp): incoherent bounds seidel lp 1d (#247)
  • Release version 0.6.2 (#242)
  • Contributors: Erik Holum, Joseph Mirabel, Maxim Skripnik, Sebastian Castro, Silvio Traversaro

0.6.3 (2025-03-16)

  • Updated interface for numpy > 2.0 (#259)
  • Contributors: Zachary Kingston

0.6.2 (2023-09-19)

  • chore: Bump toppra version: '0.6.1' --> '0.6.2'
  • feat: warn when solver fails (#241)
  • Contributors: Hung Pham (Phạm Tiến Hùng), Joseph Mirabel

0.6.1 (2023-04-21)

  • chore: Bump toppra version: '0.6.0' --> '0.6.1' ( #233)
  • fix: fix numerical issue in Seidel 1D solver.
  • Contributors: Joseph Mirabel

0.6.0 (2023-03-08)

  • chore: Bump toppra version: '0.5.2' --> '0.6.0'
  • feat(cpp): Add initial gridpoints to proposeGridpoints (#227)
  • feat(cpp,constraint): Make Interpolation the default method (#225)
  • Contributors: Hung, Hung Pham (Phạm Tiến Hùng), Joseph Mirabel

0.5.2 (2022-11-19)

  • Bump version: 0.5.1 → 0.5.2
  • chore: make C++ always define all installed symbols. (#215)
  • feat: Allow setting N=0 to select gridpoints automatically (#201)
  • feat: Improve the cubic spline, hermite spline factory methods (#202)
  • doc,build: Minor adjustments to docstring for a clearer explaination
  • doc: Improve PiecewisePolyPath constructor docstring
  • Contributors: Hung, Hung Pham (Phạm Tiến Hùng), Joseph Mirabel

0.5.1 (2022-07-15)

  • Bump version: 0.5.0 → 0.5.1
  • Contributors: Hung

0.5.0 (2022-07-14)

  • Bump version: 0.4.2 → 0.5.0
  • Make path times public. (#197)
  • Fixed bug in ConstAccel parametrizer where evaluating valid times can sometimes result in an exception being thrown. (#193)
  • Google Test: master -> main (#192)
  • CI works (#191)
  • doc: Add some doc to compiling C++
  • Fixed incorrect variable bug in seidel.cpp which was causing memory issues. (#190)
  • Added a check to test the input times to the constaccel parametrizer are within the bounds of the parameterizer, and clampe resulting path values to the lower bound as well as the upper bound.
  • Chnaged path length in test to a more "usual" length value to avoid condusion
  • Clamp all path times to the upper bounds of the path in the const accel parametrizer. Fixes #184.
  • Allow to build static library (#178)
  • Add BUILD_TESTS option

File truncated at 100 lines see the full file

Package Dependencies

System Dependencies

Dependant Packages

Name Deps
roboplan_toppra

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged toppra at Robotics Stack Exchange

Package symbol

toppra package from toppra repo

toppra

ROS Distro
kilted

Package Summary

Version 0.6.5
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/hungpham2511/toppra.git
VCS Type git
VCS Version develop
Last Updated 2026-03-30
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Time-Optimal Path Parameterization

Additional Links

Maintainers

  • Hung Pham
  • Sebastian Castro

Authors

  • Hung Pham
  • Joseph Mirabel

Description

This is a C++ implementation of the TOPP-RA algorithm.

Building

# clone
git clone -b develop https://github.com/hungpham2511/toppra

# build
mkdir -p cpp/build && cd cpp/build
cmake ..
make -j4

# run test
./tests/all_tests

Running test with pinocchio

pinocchio is used in toppra to calculate kinematical quantities such as end-effector pose jacobians, required for task-space velocity consraint.

Install pinocchio bindings (see below) and example from robotpkg, then setup environment variables before building

# Building
export LD_LIBRARY_PATH=/opt/openrobots/lib:${LD_LIBRARY_PATH}
export CMAKE_PREFIX_PATH=/opt/openrobots

Add -DBUILD_WITH_PINOCCHIO=ON to the cmake command.

To run the tests

# Running
export ROS_PACKAGE_PATH=/opt/openrobots/share
export PYTHONPATH=/opt/openrobots/lib/python3.6/site-packages:$PYTHONPATH
# or any python version that you install

How to install optional dependencies:

  • GLPK: sudo apt install libglpk-dev
  • qpOASES: sudo apt install robotpkg-qpoases (follow http://robotpkg.openrobots.org/debian.html for robotpkg)
  • pinocchio: sudo apt install robotpkg-pinocchio (follow http://robotpkg.openrobots.org/debian.html for robotpkg)

Building Python bindings

We use pybind11 to provide the bindings. To build the bindings you need to first install pybind11 version 2.5.0.

cd ~/ && git clone https://github.com/pybind/pybind11
cd pybind11 && git checkout v2.5.0
mkdir build && cd build && cmake -DPYBIND11_TEST=false .. && sudo make install

Build toppra with Python bindings and all optional dependencies:

cmake -DBUILD_WITH_PINOCCHIO=ON -DBUILD_WITH_qpOASES=ON -DBUILD_WITH_GLPK=ON -DPYTHON_BINDINGS=ON -DPYBIND11_PYTHON_VERSION=3.7 ..
make

Running this step shall build the shared library libtoppra.so and create a CPython module at toppra/cpp/ that linked to this shared library.

Issues during build

/usr/local/include/pybind11/detail/common.h:112:10: fatal error: Python.h: No such file or directory
 #include <Python.h>
          ^~~~~~~~~~
compilation terminated.

This is because during compilation, pybind11 can not find the Python header files. Check that you have libpython-dev or libpython3-dev installed and whether the correct Python executable is found during cmake step. You should see something similar to below:

-- Found PythonInterp: /usr/bin/python3.7 (found suitable version "3.7.4", minimum required is "3.7")
-- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.7m.so
-- Found /usr/include/python3.7m /usr/bin/python3.7

If this error persists, try give more hint to CMake FindPython module by adding these flags to the cmake command:

-DPYTHON_BINDINGS=ON -DPYBIND11_PYTHON_VERSION=3.7 -DPython_EXECUTABLE=/usr/bin/python3.7 

Building doxygen doc

Make sure that doxygen is installed and available. Running cmake normally will create a rule for building doc with doxygen.

``` sh

Run cmake normally

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package toppra

0.6.5 (2026-03-27)

  • [python]: Go back to master branch of hungpham2511 qpOASES repo (#273)
  • Prepare for ROS build farm (#277)
  • Contributors: Sebastian Castro

0.6.4 (2026-01-26)

  • chore: Bump version to 0.6.4 (#268)
  • Fix Python and C++ CI, disable ECOS solver in tests (#270)
  • build: Move Python library to its own subfolder to support building as ROS 2 package (#266)
  • fix(test): Use ASSERT_NEAR for 0 comparison in test_parametrizer.cpp (#265)
  • fix(cpp): incoherent bounds seidel lp 1d (#247)
  • Release version 0.6.2 (#242)
  • Contributors: Erik Holum, Joseph Mirabel, Maxim Skripnik, Sebastian Castro, Silvio Traversaro

0.6.3 (2025-03-16)

  • Updated interface for numpy > 2.0 (#259)
  • Contributors: Zachary Kingston

0.6.2 (2023-09-19)

  • chore: Bump toppra version: '0.6.1' --> '0.6.2'
  • feat: warn when solver fails (#241)
  • Contributors: Hung Pham (Phạm Tiến Hùng), Joseph Mirabel

0.6.1 (2023-04-21)

  • chore: Bump toppra version: '0.6.0' --> '0.6.1' ( #233)
  • fix: fix numerical issue in Seidel 1D solver.
  • Contributors: Joseph Mirabel

0.6.0 (2023-03-08)

  • chore: Bump toppra version: '0.5.2' --> '0.6.0'
  • feat(cpp): Add initial gridpoints to proposeGridpoints (#227)
  • feat(cpp,constraint): Make Interpolation the default method (#225)
  • Contributors: Hung, Hung Pham (Phạm Tiến Hùng), Joseph Mirabel

0.5.2 (2022-11-19)

  • Bump version: 0.5.1 → 0.5.2
  • chore: make C++ always define all installed symbols. (#215)
  • feat: Allow setting N=0 to select gridpoints automatically (#201)
  • feat: Improve the cubic spline, hermite spline factory methods (#202)
  • doc,build: Minor adjustments to docstring for a clearer explaination
  • doc: Improve PiecewisePolyPath constructor docstring
  • Contributors: Hung, Hung Pham (Phạm Tiến Hùng), Joseph Mirabel

0.5.1 (2022-07-15)

  • Bump version: 0.5.0 → 0.5.1
  • Contributors: Hung

0.5.0 (2022-07-14)

  • Bump version: 0.4.2 → 0.5.0
  • Make path times public. (#197)
  • Fixed bug in ConstAccel parametrizer where evaluating valid times can sometimes result in an exception being thrown. (#193)
  • Google Test: master -> main (#192)
  • CI works (#191)
  • doc: Add some doc to compiling C++
  • Fixed incorrect variable bug in seidel.cpp which was causing memory issues. (#190)
  • Added a check to test the input times to the constaccel parametrizer are within the bounds of the parameterizer, and clampe resulting path values to the lower bound as well as the upper bound.
  • Chnaged path length in test to a more "usual" length value to avoid condusion
  • Clamp all path times to the upper bounds of the path in the const accel parametrizer. Fixes #184.
  • Allow to build static library (#178)
  • Add BUILD_TESTS option

File truncated at 100 lines see the full file

Package Dependencies

System Dependencies

Dependant Packages

Name Deps
roboplan_toppra

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged toppra at Robotics Stack Exchange

Package symbol

toppra package from toppra repo

toppra

ROS Distro
rolling

Package Summary

Version 0.6.5
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/hungpham2511/toppra.git
VCS Type git
VCS Version develop
Last Updated 2026-03-30
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Time-Optimal Path Parameterization

Additional Links

Maintainers

  • Hung Pham
  • Sebastian Castro

Authors

  • Hung Pham
  • Joseph Mirabel

Description

This is a C++ implementation of the TOPP-RA algorithm.

Building

# clone
git clone -b develop https://github.com/hungpham2511/toppra

# build
mkdir -p cpp/build && cd cpp/build
cmake ..
make -j4

# run test
./tests/all_tests

Running test with pinocchio

pinocchio is used in toppra to calculate kinematical quantities such as end-effector pose jacobians, required for task-space velocity consraint.

Install pinocchio bindings (see below) and example from robotpkg, then setup environment variables before building

# Building
export LD_LIBRARY_PATH=/opt/openrobots/lib:${LD_LIBRARY_PATH}
export CMAKE_PREFIX_PATH=/opt/openrobots

Add -DBUILD_WITH_PINOCCHIO=ON to the cmake command.

To run the tests

# Running
export ROS_PACKAGE_PATH=/opt/openrobots/share
export PYTHONPATH=/opt/openrobots/lib/python3.6/site-packages:$PYTHONPATH
# or any python version that you install

How to install optional dependencies:

  • GLPK: sudo apt install libglpk-dev
  • qpOASES: sudo apt install robotpkg-qpoases (follow http://robotpkg.openrobots.org/debian.html for robotpkg)
  • pinocchio: sudo apt install robotpkg-pinocchio (follow http://robotpkg.openrobots.org/debian.html for robotpkg)

Building Python bindings

We use pybind11 to provide the bindings. To build the bindings you need to first install pybind11 version 2.5.0.

cd ~/ && git clone https://github.com/pybind/pybind11
cd pybind11 && git checkout v2.5.0
mkdir build && cd build && cmake -DPYBIND11_TEST=false .. && sudo make install

Build toppra with Python bindings and all optional dependencies:

cmake -DBUILD_WITH_PINOCCHIO=ON -DBUILD_WITH_qpOASES=ON -DBUILD_WITH_GLPK=ON -DPYTHON_BINDINGS=ON -DPYBIND11_PYTHON_VERSION=3.7 ..
make

Running this step shall build the shared library libtoppra.so and create a CPython module at toppra/cpp/ that linked to this shared library.

Issues during build

/usr/local/include/pybind11/detail/common.h:112:10: fatal error: Python.h: No such file or directory
 #include <Python.h>
          ^~~~~~~~~~
compilation terminated.

This is because during compilation, pybind11 can not find the Python header files. Check that you have libpython-dev or libpython3-dev installed and whether the correct Python executable is found during cmake step. You should see something similar to below:

-- Found PythonInterp: /usr/bin/python3.7 (found suitable version "3.7.4", minimum required is "3.7")
-- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.7m.so
-- Found /usr/include/python3.7m /usr/bin/python3.7

If this error persists, try give more hint to CMake FindPython module by adding these flags to the cmake command:

-DPYTHON_BINDINGS=ON -DPYBIND11_PYTHON_VERSION=3.7 -DPython_EXECUTABLE=/usr/bin/python3.7 

Building doxygen doc

Make sure that doxygen is installed and available. Running cmake normally will create a rule for building doc with doxygen.

``` sh

Run cmake normally

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package toppra

0.6.5 (2026-03-27)

  • [python]: Go back to master branch of hungpham2511 qpOASES repo (#273)
  • Prepare for ROS build farm (#277)
  • Contributors: Sebastian Castro

0.6.4 (2026-01-26)

  • chore: Bump version to 0.6.4 (#268)
  • Fix Python and C++ CI, disable ECOS solver in tests (#270)
  • build: Move Python library to its own subfolder to support building as ROS 2 package (#266)
  • fix(test): Use ASSERT_NEAR for 0 comparison in test_parametrizer.cpp (#265)
  • fix(cpp): incoherent bounds seidel lp 1d (#247)
  • Release version 0.6.2 (#242)
  • Contributors: Erik Holum, Joseph Mirabel, Maxim Skripnik, Sebastian Castro, Silvio Traversaro

0.6.3 (2025-03-16)

  • Updated interface for numpy > 2.0 (#259)
  • Contributors: Zachary Kingston

0.6.2 (2023-09-19)

  • chore: Bump toppra version: '0.6.1' --> '0.6.2'
  • feat: warn when solver fails (#241)
  • Contributors: Hung Pham (Phạm Tiến Hùng), Joseph Mirabel

0.6.1 (2023-04-21)

  • chore: Bump toppra version: '0.6.0' --> '0.6.1' ( #233)
  • fix: fix numerical issue in Seidel 1D solver.
  • Contributors: Joseph Mirabel

0.6.0 (2023-03-08)

  • chore: Bump toppra version: '0.5.2' --> '0.6.0'
  • feat(cpp): Add initial gridpoints to proposeGridpoints (#227)
  • feat(cpp,constraint): Make Interpolation the default method (#225)
  • Contributors: Hung, Hung Pham (Phạm Tiến Hùng), Joseph Mirabel

0.5.2 (2022-11-19)

  • Bump version: 0.5.1 → 0.5.2
  • chore: make C++ always define all installed symbols. (#215)
  • feat: Allow setting N=0 to select gridpoints automatically (#201)
  • feat: Improve the cubic spline, hermite spline factory methods (#202)
  • doc,build: Minor adjustments to docstring for a clearer explaination
  • doc: Improve PiecewisePolyPath constructor docstring
  • Contributors: Hung, Hung Pham (Phạm Tiến Hùng), Joseph Mirabel

0.5.1 (2022-07-15)

  • Bump version: 0.5.0 → 0.5.1
  • Contributors: Hung

0.5.0 (2022-07-14)

  • Bump version: 0.4.2 → 0.5.0
  • Make path times public. (#197)
  • Fixed bug in ConstAccel parametrizer where evaluating valid times can sometimes result in an exception being thrown. (#193)
  • Google Test: master -> main (#192)
  • CI works (#191)
  • doc: Add some doc to compiling C++
  • Fixed incorrect variable bug in seidel.cpp which was causing memory issues. (#190)
  • Added a check to test the input times to the constaccel parametrizer are within the bounds of the parameterizer, and clampe resulting path values to the lower bound as well as the upper bound.
  • Chnaged path length in test to a more "usual" length value to avoid condusion
  • Clamp all path times to the upper bounds of the path in the const accel parametrizer. Fixes #184.
  • Allow to build static library (#178)
  • Add BUILD_TESTS option

File truncated at 100 lines see the full file

Package Dependencies

System Dependencies

Dependant Packages

Name Deps
roboplan_toppra

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged toppra at Robotics Stack Exchange

No version for distro github showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

toppra package from toppra repo

toppra

ROS Distro
humble

Package Summary

Version 0.6.5
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/hungpham2511/toppra.git
VCS Type git
VCS Version develop
Last Updated 2026-03-30
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Time-Optimal Path Parameterization

Additional Links

Maintainers

  • Hung Pham
  • Sebastian Castro

Authors

  • Hung Pham
  • Joseph Mirabel

Description

This is a C++ implementation of the TOPP-RA algorithm.

Building

# clone
git clone -b develop https://github.com/hungpham2511/toppra

# build
mkdir -p cpp/build && cd cpp/build
cmake ..
make -j4

# run test
./tests/all_tests

Running test with pinocchio

pinocchio is used in toppra to calculate kinematical quantities such as end-effector pose jacobians, required for task-space velocity consraint.

Install pinocchio bindings (see below) and example from robotpkg, then setup environment variables before building

# Building
export LD_LIBRARY_PATH=/opt/openrobots/lib:${LD_LIBRARY_PATH}
export CMAKE_PREFIX_PATH=/opt/openrobots

Add -DBUILD_WITH_PINOCCHIO=ON to the cmake command.

To run the tests

# Running
export ROS_PACKAGE_PATH=/opt/openrobots/share
export PYTHONPATH=/opt/openrobots/lib/python3.6/site-packages:$PYTHONPATH
# or any python version that you install

How to install optional dependencies:

  • GLPK: sudo apt install libglpk-dev
  • qpOASES: sudo apt install robotpkg-qpoases (follow http://robotpkg.openrobots.org/debian.html for robotpkg)
  • pinocchio: sudo apt install robotpkg-pinocchio (follow http://robotpkg.openrobots.org/debian.html for robotpkg)

Building Python bindings

We use pybind11 to provide the bindings. To build the bindings you need to first install pybind11 version 2.5.0.

cd ~/ && git clone https://github.com/pybind/pybind11
cd pybind11 && git checkout v2.5.0
mkdir build && cd build && cmake -DPYBIND11_TEST=false .. && sudo make install

Build toppra with Python bindings and all optional dependencies:

cmake -DBUILD_WITH_PINOCCHIO=ON -DBUILD_WITH_qpOASES=ON -DBUILD_WITH_GLPK=ON -DPYTHON_BINDINGS=ON -DPYBIND11_PYTHON_VERSION=3.7 ..
make

Running this step shall build the shared library libtoppra.so and create a CPython module at toppra/cpp/ that linked to this shared library.

Issues during build

/usr/local/include/pybind11/detail/common.h:112:10: fatal error: Python.h: No such file or directory
 #include <Python.h>
          ^~~~~~~~~~
compilation terminated.

This is because during compilation, pybind11 can not find the Python header files. Check that you have libpython-dev or libpython3-dev installed and whether the correct Python executable is found during cmake step. You should see something similar to below:

-- Found PythonInterp: /usr/bin/python3.7 (found suitable version "3.7.4", minimum required is "3.7")
-- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.7m.so
-- Found /usr/include/python3.7m /usr/bin/python3.7

If this error persists, try give more hint to CMake FindPython module by adding these flags to the cmake command:

-DPYTHON_BINDINGS=ON -DPYBIND11_PYTHON_VERSION=3.7 -DPython_EXECUTABLE=/usr/bin/python3.7 

Building doxygen doc

Make sure that doxygen is installed and available. Running cmake normally will create a rule for building doc with doxygen.

``` sh

Run cmake normally

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package toppra

0.6.5 (2026-03-27)

  • [python]: Go back to master branch of hungpham2511 qpOASES repo (#273)
  • Prepare for ROS build farm (#277)
  • Contributors: Sebastian Castro

0.6.4 (2026-01-26)

  • chore: Bump version to 0.6.4 (#268)
  • Fix Python and C++ CI, disable ECOS solver in tests (#270)
  • build: Move Python library to its own subfolder to support building as ROS 2 package (#266)
  • fix(test): Use ASSERT_NEAR for 0 comparison in test_parametrizer.cpp (#265)
  • fix(cpp): incoherent bounds seidel lp 1d (#247)
  • Release version 0.6.2 (#242)
  • Contributors: Erik Holum, Joseph Mirabel, Maxim Skripnik, Sebastian Castro, Silvio Traversaro

0.6.3 (2025-03-16)

  • Updated interface for numpy > 2.0 (#259)
  • Contributors: Zachary Kingston

0.6.2 (2023-09-19)

  • chore: Bump toppra version: '0.6.1' --> '0.6.2'
  • feat: warn when solver fails (#241)
  • Contributors: Hung Pham (Phạm Tiến Hùng), Joseph Mirabel

0.6.1 (2023-04-21)

  • chore: Bump toppra version: '0.6.0' --> '0.6.1' ( #233)
  • fix: fix numerical issue in Seidel 1D solver.
  • Contributors: Joseph Mirabel

0.6.0 (2023-03-08)

  • chore: Bump toppra version: '0.5.2' --> '0.6.0'
  • feat(cpp): Add initial gridpoints to proposeGridpoints (#227)
  • feat(cpp,constraint): Make Interpolation the default method (#225)
  • Contributors: Hung, Hung Pham (Phạm Tiến Hùng), Joseph Mirabel

0.5.2 (2022-11-19)

  • Bump version: 0.5.1 → 0.5.2
  • chore: make C++ always define all installed symbols. (#215)
  • feat: Allow setting N=0 to select gridpoints automatically (#201)
  • feat: Improve the cubic spline, hermite spline factory methods (#202)
  • doc,build: Minor adjustments to docstring for a clearer explaination
  • doc: Improve PiecewisePolyPath constructor docstring
  • Contributors: Hung, Hung Pham (Phạm Tiến Hùng), Joseph Mirabel

0.5.1 (2022-07-15)

  • Bump version: 0.5.0 → 0.5.1
  • Contributors: Hung

0.5.0 (2022-07-14)

  • Bump version: 0.4.2 → 0.5.0
  • Make path times public. (#197)
  • Fixed bug in ConstAccel parametrizer where evaluating valid times can sometimes result in an exception being thrown. (#193)
  • Google Test: master -> main (#192)
  • CI works (#191)
  • doc: Add some doc to compiling C++
  • Fixed incorrect variable bug in seidel.cpp which was causing memory issues. (#190)
  • Added a check to test the input times to the constaccel parametrizer are within the bounds of the parameterizer, and clampe resulting path values to the lower bound as well as the upper bound.
  • Chnaged path length in test to a more "usual" length value to avoid condusion
  • Clamp all path times to the upper bounds of the path in the const accel parametrizer. Fixes #184.
  • Allow to build static library (#178)
  • Add BUILD_TESTS option

File truncated at 100 lines see the full file

Package Dependencies

System Dependencies

Dependant Packages

Name Deps
roboplan_toppra

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged toppra at Robotics Stack Exchange

No version for distro galactic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

toppra package from toppra repo

toppra

ROS Distro
humble

Package Summary

Version 0.6.5
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/hungpham2511/toppra.git
VCS Type git
VCS Version develop
Last Updated 2026-03-30
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Time-Optimal Path Parameterization

Additional Links

Maintainers

  • Hung Pham
  • Sebastian Castro

Authors

  • Hung Pham
  • Joseph Mirabel

Description

This is a C++ implementation of the TOPP-RA algorithm.

Building

# clone
git clone -b develop https://github.com/hungpham2511/toppra

# build
mkdir -p cpp/build && cd cpp/build
cmake ..
make -j4

# run test
./tests/all_tests

Running test with pinocchio

pinocchio is used in toppra to calculate kinematical quantities such as end-effector pose jacobians, required for task-space velocity consraint.

Install pinocchio bindings (see below) and example from robotpkg, then setup environment variables before building

# Building
export LD_LIBRARY_PATH=/opt/openrobots/lib:${LD_LIBRARY_PATH}
export CMAKE_PREFIX_PATH=/opt/openrobots

Add -DBUILD_WITH_PINOCCHIO=ON to the cmake command.

To run the tests

# Running
export ROS_PACKAGE_PATH=/opt/openrobots/share
export PYTHONPATH=/opt/openrobots/lib/python3.6/site-packages:$PYTHONPATH
# or any python version that you install

How to install optional dependencies:

  • GLPK: sudo apt install libglpk-dev
  • qpOASES: sudo apt install robotpkg-qpoases (follow http://robotpkg.openrobots.org/debian.html for robotpkg)
  • pinocchio: sudo apt install robotpkg-pinocchio (follow http://robotpkg.openrobots.org/debian.html for robotpkg)

Building Python bindings

We use pybind11 to provide the bindings. To build the bindings you need to first install pybind11 version 2.5.0.

cd ~/ && git clone https://github.com/pybind/pybind11
cd pybind11 && git checkout v2.5.0
mkdir build && cd build && cmake -DPYBIND11_TEST=false .. && sudo make install

Build toppra with Python bindings and all optional dependencies:

cmake -DBUILD_WITH_PINOCCHIO=ON -DBUILD_WITH_qpOASES=ON -DBUILD_WITH_GLPK=ON -DPYTHON_BINDINGS=ON -DPYBIND11_PYTHON_VERSION=3.7 ..
make

Running this step shall build the shared library libtoppra.so and create a CPython module at toppra/cpp/ that linked to this shared library.

Issues during build

/usr/local/include/pybind11/detail/common.h:112:10: fatal error: Python.h: No such file or directory
 #include <Python.h>
          ^~~~~~~~~~
compilation terminated.

This is because during compilation, pybind11 can not find the Python header files. Check that you have libpython-dev or libpython3-dev installed and whether the correct Python executable is found during cmake step. You should see something similar to below:

-- Found PythonInterp: /usr/bin/python3.7 (found suitable version "3.7.4", minimum required is "3.7")
-- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.7m.so
-- Found /usr/include/python3.7m /usr/bin/python3.7

If this error persists, try give more hint to CMake FindPython module by adding these flags to the cmake command:

-DPYTHON_BINDINGS=ON -DPYBIND11_PYTHON_VERSION=3.7 -DPython_EXECUTABLE=/usr/bin/python3.7 

Building doxygen doc

Make sure that doxygen is installed and available. Running cmake normally will create a rule for building doc with doxygen.

``` sh

Run cmake normally

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package toppra

0.6.5 (2026-03-27)

  • [python]: Go back to master branch of hungpham2511 qpOASES repo (#273)
  • Prepare for ROS build farm (#277)
  • Contributors: Sebastian Castro

0.6.4 (2026-01-26)

  • chore: Bump version to 0.6.4 (#268)
  • Fix Python and C++ CI, disable ECOS solver in tests (#270)
  • build: Move Python library to its own subfolder to support building as ROS 2 package (#266)
  • fix(test): Use ASSERT_NEAR for 0 comparison in test_parametrizer.cpp (#265)
  • fix(cpp): incoherent bounds seidel lp 1d (#247)
  • Release version 0.6.2 (#242)
  • Contributors: Erik Holum, Joseph Mirabel, Maxim Skripnik, Sebastian Castro, Silvio Traversaro

0.6.3 (2025-03-16)

  • Updated interface for numpy > 2.0 (#259)
  • Contributors: Zachary Kingston

0.6.2 (2023-09-19)

  • chore: Bump toppra version: '0.6.1' --> '0.6.2'
  • feat: warn when solver fails (#241)
  • Contributors: Hung Pham (Phạm Tiến Hùng), Joseph Mirabel

0.6.1 (2023-04-21)

  • chore: Bump toppra version: '0.6.0' --> '0.6.1' ( #233)
  • fix: fix numerical issue in Seidel 1D solver.
  • Contributors: Joseph Mirabel

0.6.0 (2023-03-08)

  • chore: Bump toppra version: '0.5.2' --> '0.6.0'
  • feat(cpp): Add initial gridpoints to proposeGridpoints (#227)
  • feat(cpp,constraint): Make Interpolation the default method (#225)
  • Contributors: Hung, Hung Pham (Phạm Tiến Hùng), Joseph Mirabel

0.5.2 (2022-11-19)

  • Bump version: 0.5.1 → 0.5.2
  • chore: make C++ always define all installed symbols. (#215)
  • feat: Allow setting N=0 to select gridpoints automatically (#201)
  • feat: Improve the cubic spline, hermite spline factory methods (#202)
  • doc,build: Minor adjustments to docstring for a clearer explaination
  • doc: Improve PiecewisePolyPath constructor docstring
  • Contributors: Hung, Hung Pham (Phạm Tiến Hùng), Joseph Mirabel

0.5.1 (2022-07-15)

  • Bump version: 0.5.0 → 0.5.1
  • Contributors: Hung

0.5.0 (2022-07-14)

  • Bump version: 0.4.2 → 0.5.0
  • Make path times public. (#197)
  • Fixed bug in ConstAccel parametrizer where evaluating valid times can sometimes result in an exception being thrown. (#193)
  • Google Test: master -> main (#192)
  • CI works (#191)
  • doc: Add some doc to compiling C++
  • Fixed incorrect variable bug in seidel.cpp which was causing memory issues. (#190)
  • Added a check to test the input times to the constaccel parametrizer are within the bounds of the parameterizer, and clampe resulting path values to the lower bound as well as the upper bound.
  • Chnaged path length in test to a more "usual" length value to avoid condusion
  • Clamp all path times to the upper bounds of the path in the const accel parametrizer. Fixes #184.
  • Allow to build static library (#178)
  • Add BUILD_TESTS option

File truncated at 100 lines see the full file

Package Dependencies

System Dependencies

Dependant Packages

Name Deps
roboplan_toppra

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged toppra at Robotics Stack Exchange

No version for distro iron showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

toppra package from toppra repo

toppra

ROS Distro
humble

Package Summary

Version 0.6.5
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/hungpham2511/toppra.git
VCS Type git
VCS Version develop
Last Updated 2026-03-30
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Time-Optimal Path Parameterization

Additional Links

Maintainers

  • Hung Pham
  • Sebastian Castro

Authors

  • Hung Pham
  • Joseph Mirabel

Description

This is a C++ implementation of the TOPP-RA algorithm.

Building

# clone
git clone -b develop https://github.com/hungpham2511/toppra

# build
mkdir -p cpp/build && cd cpp/build
cmake ..
make -j4

# run test
./tests/all_tests

Running test with pinocchio

pinocchio is used in toppra to calculate kinematical quantities such as end-effector pose jacobians, required for task-space velocity consraint.

Install pinocchio bindings (see below) and example from robotpkg, then setup environment variables before building

# Building
export LD_LIBRARY_PATH=/opt/openrobots/lib:${LD_LIBRARY_PATH}
export CMAKE_PREFIX_PATH=/opt/openrobots

Add -DBUILD_WITH_PINOCCHIO=ON to the cmake command.

To run the tests

# Running
export ROS_PACKAGE_PATH=/opt/openrobots/share
export PYTHONPATH=/opt/openrobots/lib/python3.6/site-packages:$PYTHONPATH
# or any python version that you install

How to install optional dependencies:

  • GLPK: sudo apt install libglpk-dev
  • qpOASES: sudo apt install robotpkg-qpoases (follow http://robotpkg.openrobots.org/debian.html for robotpkg)
  • pinocchio: sudo apt install robotpkg-pinocchio (follow http://robotpkg.openrobots.org/debian.html for robotpkg)

Building Python bindings

We use pybind11 to provide the bindings. To build the bindings you need to first install pybind11 version 2.5.0.

cd ~/ && git clone https://github.com/pybind/pybind11
cd pybind11 && git checkout v2.5.0
mkdir build && cd build && cmake -DPYBIND11_TEST=false .. && sudo make install

Build toppra with Python bindings and all optional dependencies:

cmake -DBUILD_WITH_PINOCCHIO=ON -DBUILD_WITH_qpOASES=ON -DBUILD_WITH_GLPK=ON -DPYTHON_BINDINGS=ON -DPYBIND11_PYTHON_VERSION=3.7 ..
make

Running this step shall build the shared library libtoppra.so and create a CPython module at toppra/cpp/ that linked to this shared library.

Issues during build

/usr/local/include/pybind11/detail/common.h:112:10: fatal error: Python.h: No such file or directory
 #include <Python.h>
          ^~~~~~~~~~
compilation terminated.

This is because during compilation, pybind11 can not find the Python header files. Check that you have libpython-dev or libpython3-dev installed and whether the correct Python executable is found during cmake step. You should see something similar to below:

-- Found PythonInterp: /usr/bin/python3.7 (found suitable version "3.7.4", minimum required is "3.7")
-- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.7m.so
-- Found /usr/include/python3.7m /usr/bin/python3.7

If this error persists, try give more hint to CMake FindPython module by adding these flags to the cmake command:

-DPYTHON_BINDINGS=ON -DPYBIND11_PYTHON_VERSION=3.7 -DPython_EXECUTABLE=/usr/bin/python3.7 

Building doxygen doc

Make sure that doxygen is installed and available. Running cmake normally will create a rule for building doc with doxygen.

``` sh

Run cmake normally

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package toppra

0.6.5 (2026-03-27)

  • [python]: Go back to master branch of hungpham2511 qpOASES repo (#273)
  • Prepare for ROS build farm (#277)
  • Contributors: Sebastian Castro

0.6.4 (2026-01-26)

  • chore: Bump version to 0.6.4 (#268)
  • Fix Python and C++ CI, disable ECOS solver in tests (#270)
  • build: Move Python library to its own subfolder to support building as ROS 2 package (#266)
  • fix(test): Use ASSERT_NEAR for 0 comparison in test_parametrizer.cpp (#265)
  • fix(cpp): incoherent bounds seidel lp 1d (#247)
  • Release version 0.6.2 (#242)
  • Contributors: Erik Holum, Joseph Mirabel, Maxim Skripnik, Sebastian Castro, Silvio Traversaro

0.6.3 (2025-03-16)

  • Updated interface for numpy > 2.0 (#259)
  • Contributors: Zachary Kingston

0.6.2 (2023-09-19)

  • chore: Bump toppra version: '0.6.1' --> '0.6.2'
  • feat: warn when solver fails (#241)
  • Contributors: Hung Pham (Phạm Tiến Hùng), Joseph Mirabel

0.6.1 (2023-04-21)

  • chore: Bump toppra version: '0.6.0' --> '0.6.1' ( #233)
  • fix: fix numerical issue in Seidel 1D solver.
  • Contributors: Joseph Mirabel

0.6.0 (2023-03-08)

  • chore: Bump toppra version: '0.5.2' --> '0.6.0'
  • feat(cpp): Add initial gridpoints to proposeGridpoints (#227)
  • feat(cpp,constraint): Make Interpolation the default method (#225)
  • Contributors: Hung, Hung Pham (Phạm Tiến Hùng), Joseph Mirabel

0.5.2 (2022-11-19)

  • Bump version: 0.5.1 → 0.5.2
  • chore: make C++ always define all installed symbols. (#215)
  • feat: Allow setting N=0 to select gridpoints automatically (#201)
  • feat: Improve the cubic spline, hermite spline factory methods (#202)
  • doc,build: Minor adjustments to docstring for a clearer explaination
  • doc: Improve PiecewisePolyPath constructor docstring
  • Contributors: Hung, Hung Pham (Phạm Tiến Hùng), Joseph Mirabel

0.5.1 (2022-07-15)

  • Bump version: 0.5.0 → 0.5.1
  • Contributors: Hung

0.5.0 (2022-07-14)

  • Bump version: 0.4.2 → 0.5.0
  • Make path times public. (#197)
  • Fixed bug in ConstAccel parametrizer where evaluating valid times can sometimes result in an exception being thrown. (#193)
  • Google Test: master -> main (#192)
  • CI works (#191)
  • doc: Add some doc to compiling C++
  • Fixed incorrect variable bug in seidel.cpp which was causing memory issues. (#190)
  • Added a check to test the input times to the constaccel parametrizer are within the bounds of the parameterizer, and clampe resulting path values to the lower bound as well as the upper bound.
  • Chnaged path length in test to a more "usual" length value to avoid condusion
  • Clamp all path times to the upper bounds of the path in the const accel parametrizer. Fixes #184.
  • Allow to build static library (#178)
  • Add BUILD_TESTS option

File truncated at 100 lines see the full file

Package Dependencies

System Dependencies

Dependant Packages

Name Deps
roboplan_toppra

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged toppra at Robotics Stack Exchange

No version for distro melodic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

toppra package from toppra repo

toppra

ROS Distro
humble

Package Summary

Version 0.6.5
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/hungpham2511/toppra.git
VCS Type git
VCS Version develop
Last Updated 2026-03-30
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Time-Optimal Path Parameterization

Additional Links

Maintainers

  • Hung Pham
  • Sebastian Castro

Authors

  • Hung Pham
  • Joseph Mirabel

Description

This is a C++ implementation of the TOPP-RA algorithm.

Building

# clone
git clone -b develop https://github.com/hungpham2511/toppra

# build
mkdir -p cpp/build && cd cpp/build
cmake ..
make -j4

# run test
./tests/all_tests

Running test with pinocchio

pinocchio is used in toppra to calculate kinematical quantities such as end-effector pose jacobians, required for task-space velocity consraint.

Install pinocchio bindings (see below) and example from robotpkg, then setup environment variables before building

# Building
export LD_LIBRARY_PATH=/opt/openrobots/lib:${LD_LIBRARY_PATH}
export CMAKE_PREFIX_PATH=/opt/openrobots

Add -DBUILD_WITH_PINOCCHIO=ON to the cmake command.

To run the tests

# Running
export ROS_PACKAGE_PATH=/opt/openrobots/share
export PYTHONPATH=/opt/openrobots/lib/python3.6/site-packages:$PYTHONPATH
# or any python version that you install

How to install optional dependencies:

  • GLPK: sudo apt install libglpk-dev
  • qpOASES: sudo apt install robotpkg-qpoases (follow http://robotpkg.openrobots.org/debian.html for robotpkg)
  • pinocchio: sudo apt install robotpkg-pinocchio (follow http://robotpkg.openrobots.org/debian.html for robotpkg)

Building Python bindings

We use pybind11 to provide the bindings. To build the bindings you need to first install pybind11 version 2.5.0.

cd ~/ && git clone https://github.com/pybind/pybind11
cd pybind11 && git checkout v2.5.0
mkdir build && cd build && cmake -DPYBIND11_TEST=false .. && sudo make install

Build toppra with Python bindings and all optional dependencies:

cmake -DBUILD_WITH_PINOCCHIO=ON -DBUILD_WITH_qpOASES=ON -DBUILD_WITH_GLPK=ON -DPYTHON_BINDINGS=ON -DPYBIND11_PYTHON_VERSION=3.7 ..
make

Running this step shall build the shared library libtoppra.so and create a CPython module at toppra/cpp/ that linked to this shared library.

Issues during build

/usr/local/include/pybind11/detail/common.h:112:10: fatal error: Python.h: No such file or directory
 #include <Python.h>
          ^~~~~~~~~~
compilation terminated.

This is because during compilation, pybind11 can not find the Python header files. Check that you have libpython-dev or libpython3-dev installed and whether the correct Python executable is found during cmake step. You should see something similar to below:

-- Found PythonInterp: /usr/bin/python3.7 (found suitable version "3.7.4", minimum required is "3.7")
-- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.7m.so
-- Found /usr/include/python3.7m /usr/bin/python3.7

If this error persists, try give more hint to CMake FindPython module by adding these flags to the cmake command:

-DPYTHON_BINDINGS=ON -DPYBIND11_PYTHON_VERSION=3.7 -DPython_EXECUTABLE=/usr/bin/python3.7 

Building doxygen doc

Make sure that doxygen is installed and available. Running cmake normally will create a rule for building doc with doxygen.

``` sh

Run cmake normally

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package toppra

0.6.5 (2026-03-27)

  • [python]: Go back to master branch of hungpham2511 qpOASES repo (#273)
  • Prepare for ROS build farm (#277)
  • Contributors: Sebastian Castro

0.6.4 (2026-01-26)

  • chore: Bump version to 0.6.4 (#268)
  • Fix Python and C++ CI, disable ECOS solver in tests (#270)
  • build: Move Python library to its own subfolder to support building as ROS 2 package (#266)
  • fix(test): Use ASSERT_NEAR for 0 comparison in test_parametrizer.cpp (#265)
  • fix(cpp): incoherent bounds seidel lp 1d (#247)
  • Release version 0.6.2 (#242)
  • Contributors: Erik Holum, Joseph Mirabel, Maxim Skripnik, Sebastian Castro, Silvio Traversaro

0.6.3 (2025-03-16)

  • Updated interface for numpy > 2.0 (#259)
  • Contributors: Zachary Kingston

0.6.2 (2023-09-19)

  • chore: Bump toppra version: '0.6.1' --> '0.6.2'
  • feat: warn when solver fails (#241)
  • Contributors: Hung Pham (Phạm Tiến Hùng), Joseph Mirabel

0.6.1 (2023-04-21)

  • chore: Bump toppra version: '0.6.0' --> '0.6.1' ( #233)
  • fix: fix numerical issue in Seidel 1D solver.
  • Contributors: Joseph Mirabel

0.6.0 (2023-03-08)

  • chore: Bump toppra version: '0.5.2' --> '0.6.0'
  • feat(cpp): Add initial gridpoints to proposeGridpoints (#227)
  • feat(cpp,constraint): Make Interpolation the default method (#225)
  • Contributors: Hung, Hung Pham (Phạm Tiến Hùng), Joseph Mirabel

0.5.2 (2022-11-19)

  • Bump version: 0.5.1 → 0.5.2
  • chore: make C++ always define all installed symbols. (#215)
  • feat: Allow setting N=0 to select gridpoints automatically (#201)
  • feat: Improve the cubic spline, hermite spline factory methods (#202)
  • doc,build: Minor adjustments to docstring for a clearer explaination
  • doc: Improve PiecewisePolyPath constructor docstring
  • Contributors: Hung, Hung Pham (Phạm Tiến Hùng), Joseph Mirabel

0.5.1 (2022-07-15)

  • Bump version: 0.5.0 → 0.5.1
  • Contributors: Hung

0.5.0 (2022-07-14)

  • Bump version: 0.4.2 → 0.5.0
  • Make path times public. (#197)
  • Fixed bug in ConstAccel parametrizer where evaluating valid times can sometimes result in an exception being thrown. (#193)
  • Google Test: master -> main (#192)
  • CI works (#191)
  • doc: Add some doc to compiling C++
  • Fixed incorrect variable bug in seidel.cpp which was causing memory issues. (#190)
  • Added a check to test the input times to the constaccel parametrizer are within the bounds of the parameterizer, and clampe resulting path values to the lower bound as well as the upper bound.
  • Chnaged path length in test to a more "usual" length value to avoid condusion
  • Clamp all path times to the upper bounds of the path in the const accel parametrizer. Fixes #184.
  • Allow to build static library (#178)
  • Add BUILD_TESTS option

File truncated at 100 lines see the full file

Package Dependencies

System Dependencies

Dependant Packages

Name Deps
roboplan_toppra

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged toppra at Robotics Stack Exchange

No version for distro noetic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

toppra package from toppra repo

toppra

ROS Distro
humble

Package Summary

Version 0.6.5
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/hungpham2511/toppra.git
VCS Type git
VCS Version develop
Last Updated 2026-03-30
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Time-Optimal Path Parameterization

Additional Links

Maintainers

  • Hung Pham
  • Sebastian Castro

Authors

  • Hung Pham
  • Joseph Mirabel

Description

This is a C++ implementation of the TOPP-RA algorithm.

Building

# clone
git clone -b develop https://github.com/hungpham2511/toppra

# build
mkdir -p cpp/build && cd cpp/build
cmake ..
make -j4

# run test
./tests/all_tests

Running test with pinocchio

pinocchio is used in toppra to calculate kinematical quantities such as end-effector pose jacobians, required for task-space velocity consraint.

Install pinocchio bindings (see below) and example from robotpkg, then setup environment variables before building

# Building
export LD_LIBRARY_PATH=/opt/openrobots/lib:${LD_LIBRARY_PATH}
export CMAKE_PREFIX_PATH=/opt/openrobots

Add -DBUILD_WITH_PINOCCHIO=ON to the cmake command.

To run the tests

# Running
export ROS_PACKAGE_PATH=/opt/openrobots/share
export PYTHONPATH=/opt/openrobots/lib/python3.6/site-packages:$PYTHONPATH
# or any python version that you install

How to install optional dependencies:

  • GLPK: sudo apt install libglpk-dev
  • qpOASES: sudo apt install robotpkg-qpoases (follow http://robotpkg.openrobots.org/debian.html for robotpkg)
  • pinocchio: sudo apt install robotpkg-pinocchio (follow http://robotpkg.openrobots.org/debian.html for robotpkg)

Building Python bindings

We use pybind11 to provide the bindings. To build the bindings you need to first install pybind11 version 2.5.0.

cd ~/ && git clone https://github.com/pybind/pybind11
cd pybind11 && git checkout v2.5.0
mkdir build && cd build && cmake -DPYBIND11_TEST=false .. && sudo make install

Build toppra with Python bindings and all optional dependencies:

cmake -DBUILD_WITH_PINOCCHIO=ON -DBUILD_WITH_qpOASES=ON -DBUILD_WITH_GLPK=ON -DPYTHON_BINDINGS=ON -DPYBIND11_PYTHON_VERSION=3.7 ..
make

Running this step shall build the shared library libtoppra.so and create a CPython module at toppra/cpp/ that linked to this shared library.

Issues during build

/usr/local/include/pybind11/detail/common.h:112:10: fatal error: Python.h: No such file or directory
 #include <Python.h>
          ^~~~~~~~~~
compilation terminated.

This is because during compilation, pybind11 can not find the Python header files. Check that you have libpython-dev or libpython3-dev installed and whether the correct Python executable is found during cmake step. You should see something similar to below:

-- Found PythonInterp: /usr/bin/python3.7 (found suitable version "3.7.4", minimum required is "3.7")
-- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.7m.so
-- Found /usr/include/python3.7m /usr/bin/python3.7

If this error persists, try give more hint to CMake FindPython module by adding these flags to the cmake command:

-DPYTHON_BINDINGS=ON -DPYBIND11_PYTHON_VERSION=3.7 -DPython_EXECUTABLE=/usr/bin/python3.7 

Building doxygen doc

Make sure that doxygen is installed and available. Running cmake normally will create a rule for building doc with doxygen.

``` sh

Run cmake normally

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package toppra

0.6.5 (2026-03-27)

  • [python]: Go back to master branch of hungpham2511 qpOASES repo (#273)
  • Prepare for ROS build farm (#277)
  • Contributors: Sebastian Castro

0.6.4 (2026-01-26)

  • chore: Bump version to 0.6.4 (#268)
  • Fix Python and C++ CI, disable ECOS solver in tests (#270)
  • build: Move Python library to its own subfolder to support building as ROS 2 package (#266)
  • fix(test): Use ASSERT_NEAR for 0 comparison in test_parametrizer.cpp (#265)
  • fix(cpp): incoherent bounds seidel lp 1d (#247)
  • Release version 0.6.2 (#242)
  • Contributors: Erik Holum, Joseph Mirabel, Maxim Skripnik, Sebastian Castro, Silvio Traversaro

0.6.3 (2025-03-16)

  • Updated interface for numpy > 2.0 (#259)
  • Contributors: Zachary Kingston

0.6.2 (2023-09-19)

  • chore: Bump toppra version: '0.6.1' --> '0.6.2'
  • feat: warn when solver fails (#241)
  • Contributors: Hung Pham (Phạm Tiến Hùng), Joseph Mirabel

0.6.1 (2023-04-21)

  • chore: Bump toppra version: '0.6.0' --> '0.6.1' ( #233)
  • fix: fix numerical issue in Seidel 1D solver.
  • Contributors: Joseph Mirabel

0.6.0 (2023-03-08)

  • chore: Bump toppra version: '0.5.2' --> '0.6.0'
  • feat(cpp): Add initial gridpoints to proposeGridpoints (#227)
  • feat(cpp,constraint): Make Interpolation the default method (#225)
  • Contributors: Hung, Hung Pham (Phạm Tiến Hùng), Joseph Mirabel

0.5.2 (2022-11-19)

  • Bump version: 0.5.1 → 0.5.2
  • chore: make C++ always define all installed symbols. (#215)
  • feat: Allow setting N=0 to select gridpoints automatically (#201)
  • feat: Improve the cubic spline, hermite spline factory methods (#202)
  • doc,build: Minor adjustments to docstring for a clearer explaination
  • doc: Improve PiecewisePolyPath constructor docstring
  • Contributors: Hung, Hung Pham (Phạm Tiến Hùng), Joseph Mirabel

0.5.1 (2022-07-15)

  • Bump version: 0.5.0 → 0.5.1
  • Contributors: Hung

0.5.0 (2022-07-14)

  • Bump version: 0.4.2 → 0.5.0
  • Make path times public. (#197)
  • Fixed bug in ConstAccel parametrizer where evaluating valid times can sometimes result in an exception being thrown. (#193)
  • Google Test: master -> main (#192)
  • CI works (#191)
  • doc: Add some doc to compiling C++
  • Fixed incorrect variable bug in seidel.cpp which was causing memory issues. (#190)
  • Added a check to test the input times to the constaccel parametrizer are within the bounds of the parameterizer, and clampe resulting path values to the lower bound as well as the upper bound.
  • Chnaged path length in test to a more "usual" length value to avoid condusion
  • Clamp all path times to the upper bounds of the path in the const accel parametrizer. Fixes #184.
  • Allow to build static library (#178)
  • Add BUILD_TESTS option

File truncated at 100 lines see the full file

Package Dependencies

System Dependencies

Dependant Packages

Name Deps
roboplan_toppra

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged toppra at Robotics Stack Exchange