Prioritized Task-Space control solver using the Eigen linear algebra library, OSQP quadratic programming solver and the OsqpEigen wrapper for OSQP.
Implements both unconstrained and constrained version of the Prioritized Task Space Control algorithm by Martin de Lasa et al.
The quadratic cost function of the
and is defined by a matrix
Solution to the
where
This project depends on Eigen3, osqp and osqp-eigen
For now, osqp-eigen build is failing with new release of osqp, use release-0.6.3 branch.
It is recommended to build osqp-eigen from source, with:
-DOSQP_EIGEN_DEBUG_OUTPUT=OFF
to suppress infeasibility warnings.
git clone https://github.com/ivatavuk/ptsc_eigen.git
cd ptsc_eigen
mkdir build
cd build
cmake ..
make
make install
ptsc_eigen provides native CMake support which allows the library to be easily used in CMake projects.
ptsc_eigen exports a CMake target called PtscEigen::PtscEigen which can be imported using the find_package CMake command and used by calling target_link_libraries as in the following example:
project(myproject)
find_package(PtscEigen REQUIRED)
add_executable(example example.cpp)
target_link_libraries(example PtscEigen::PtscEigen)For minimal examples on different types of PTSC problems check the test folder
Materials in this repository are distributed under the following license:
All software is licensed under the BSD 3-Clause License.