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.