![]() |
TPIK
1.0
Task Priority Inverse Kinematics
|
Implementation in C++ of the Task Priority Inverse Kinematic Algorithm. The library can be found in the GRAAL Robotics Toolbox repositories.
Full doxygen-generated documentation can be found at: TPIK Documentation.
This library implements the task priority inverse kinematic thanks to the definition of the abstract class tpik::Task. The class deriving form the tpik::Task base class must implement the pure virtual methods in order to compute the task Jacobian, Activation Function and Reference.
The abstract classes tpik::ReactiveTask, tpik::NonReactiveTask are also provided. In such classes the task is described by more parameters and some virtual methods are implemented.
Thanks to the tpik::ActionManager it is possible to gather tasks sharing the same priority into priority levels, define a unified hierarchy which contains all the priority level ordered by priority and define a set of actions that the reference scenario requires.
The Inequality Constraints Activation and Task algorithm to compute a single step is implemented in the tpik::iCAT::ComputeVelocities class.
Once the tasks and the different required structures are defined (by using the action manager), thanks to the tpik::Solver class it is possible to compute the kinematic control in the priority framework by taking into account also the transiction in between different actions.
Before building the repository you will have to install the following dependencies:
sudo apt install libeigen3-devsudo apt install libconfig++-devThe build tool used for this project is CMake. To build and install the project navigate to the root of the cloned repo and execute the following commands:
If you find this project useful, please consider citing:
The software is released under the MIT License, as reported in the LICENSE.md file.
This project is mantained by the GRAAL Laboratory, University of Genoa (Italy).