The code distributed here has been employed as part of the paper entitled "An Experimental Evaluation of a Novel Minimum-Jerk Cartesian Controller for Humanoid Robots" in order to carry out a testing session among different Cartesian controllers.
In summary, the list of the tested controllers is:
It implements the minimum-jerk Cartesian controller as contribution to the community given by the authors. It is provided directly with the iCub software, hence it is not embedded with the zip, and requires the iKin library for the forward/inverse kinematics computation as well as the IpOpt package for the nonlinear optimization.
Currently, iKinArmCtrl
has been declared superseded since a new highly configurable Cartesian interface came out after this work. However, the code of the now obsolete controller is still available under this repository path.
It is a verbatim copy of the Hersch's module with the small addition of code snippets that allow accepting inputs according to the standard convention of the iCub kinematics.
It is a traditional implementation of a Cartesian controller resorting to the Damped Least-Squares algorithm coupled with a secondary task that accounts for the joints angles bounds through the gradient projection method. It employs KDL, the kinematic part of the Orocos package, a public domain tool that collects a number of features for kinematics computations that are already contained within iKin; therefore, the adoption of KDL was meant for comparison purposes.
Before compiling the code you are required to install YARP and iCub software.
Further dependencies are:
- IpOpt.
- Moreover, the controller documentation is available at: http://wiki.icub.org/iCub/contrib/dox/html/group__iKinArmCtrl.html.
The compilation makes use of the cmake tool.
iKinArmCtrl
: Windows and LinuxviteCtrl
: LinuxkdlCtrl
: Linux
The controllers can be launched also without the iCub, i.e. in simulation mode, displaying the results of virtual commands through the iKinArmView GUI developed in MATLAB.
Users are supposed to be familiar with Yarp.