#include <chainiksolvervel_pinv_givens.hpp>
Public Member Functions | |
virtual int | CartToJnt (const JntArray &q_in, const Twist &v_in, JntArray &qdot_out) |
virtual int | CartToJnt (const JntArray &q_init, const FrameVel &v_in, JntArrayVel &q_out) |
ChainIkSolverVel_pinv_givens (const Chain &chain) | |
virtual void | updateInternalDataStructures () |
~ChainIkSolverVel_pinv_givens () | |
Private Attributes | |
MatrixXd | B |
const Chain & | chain |
Jacobian | jac |
MatrixXd | jac_eigen |
ChainJntToJacSolver | jnt2jac |
unsigned int | m |
unsigned int | n |
unsigned int | nj |
VectorXd | qdot_eigen |
VectorXd | S |
VectorXd | SUY |
VectorXd | tempi |
VectorXd | tempj |
bool | toggle |
bool | transpose |
MatrixXd | U |
VectorXd | UY |
MatrixXd | V |
VectorXd | v_in_eigen |
Implementation of a inverse velocity kinematics algorithm based on the generalize pseudo inverse to calculate the velocity transformation from Cartesian to joint space of a general KDL::Chain. It uses a svd-calculation based on householders rotations.
Definition at line 24 of file chainiksolvervel_pinv_givens.hpp.
KDL::ChainIkSolverVel_pinv_givens::ChainIkSolverVel_pinv_givens | ( | const Chain & | chain | ) | [explicit] |
Constructor of the solver
chain | the chain to calculate the inverse velocity kinematics for |
eps | if a singular value is below this value, its inverse is set to zero, default: 0.00001 |
maxiter | maximum iterations for the svd calculation, default: 150 |
Definition at line 27 of file chainiksolvervel_pinv_givens.cpp.
Definition at line 67 of file chainiksolvervel_pinv_givens.cpp.
int KDL::ChainIkSolverVel_pinv_givens::CartToJnt | ( | const JntArray & | q_in, |
const Twist & | v_in, | ||
JntArray & | qdot_out | ||
) | [virtual] |
Calculate inverse velocity kinematics, from joint positions and cartesian velocity to joint velocities.
q_in | input joint positions |
v_in | input cartesian velocity |
qdot_out | output joint velocities |
Implements KDL::ChainIkSolverVel.
Definition at line 72 of file chainiksolvervel_pinv_givens.cpp.
virtual int KDL::ChainIkSolverVel_pinv_givens::CartToJnt | ( | const JntArray & | q_init, |
const FrameVel & | v_in, | ||
JntArrayVel & | q_out | ||
) | [inline, virtual] |
not (yet) implemented.
Implements KDL::ChainIkSolverVel.
Definition at line 47 of file chainiksolvervel_pinv_givens.hpp.
void KDL::ChainIkSolverVel_pinv_givens::updateInternalDataStructures | ( | ) | [virtual] |
Update the internal data structures. This is required if the number of segments or number of joints of a chain/tree have changed. This provides a single point of contact for solver memory allocations.
Implements KDL::ChainIkSolverVel.
Definition at line 49 of file chainiksolvervel_pinv_givens.cpp.
MatrixXd KDL::ChainIkSolverVel_pinv_givens::B [private] |
Definition at line 59 of file chainiksolvervel_pinv_givens.hpp.
const Chain& KDL::ChainIkSolverVel_pinv_givens::chain [private] |
Definition at line 53 of file chainiksolvervel_pinv_givens.hpp.
Definition at line 56 of file chainiksolvervel_pinv_givens.hpp.
MatrixXd KDL::ChainIkSolverVel_pinv_givens::jac_eigen [private] |
Definition at line 59 of file chainiksolvervel_pinv_givens.hpp.
Definition at line 55 of file chainiksolvervel_pinv_givens.hpp.
unsigned int KDL::ChainIkSolverVel_pinv_givens::m [private] |
Definition at line 58 of file chainiksolvervel_pinv_givens.hpp.
unsigned int KDL::ChainIkSolverVel_pinv_givens::n [private] |
Definition at line 58 of file chainiksolvervel_pinv_givens.hpp.
unsigned int KDL::ChainIkSolverVel_pinv_givens::nj [private] |
Definition at line 54 of file chainiksolvervel_pinv_givens.hpp.
VectorXd KDL::ChainIkSolverVel_pinv_givens::qdot_eigen [private] |
Definition at line 60 of file chainiksolvervel_pinv_givens.hpp.
VectorXd KDL::ChainIkSolverVel_pinv_givens::S [private] |
Definition at line 60 of file chainiksolvervel_pinv_givens.hpp.
VectorXd KDL::ChainIkSolverVel_pinv_givens::SUY [private] |
Definition at line 60 of file chainiksolvervel_pinv_givens.hpp.
VectorXd KDL::ChainIkSolverVel_pinv_givens::tempi [private] |
Definition at line 60 of file chainiksolvervel_pinv_givens.hpp.
VectorXd KDL::ChainIkSolverVel_pinv_givens::tempj [private] |
Definition at line 60 of file chainiksolvervel_pinv_givens.hpp.
bool KDL::ChainIkSolverVel_pinv_givens::toggle [private] |
Definition at line 57 of file chainiksolvervel_pinv_givens.hpp.
bool KDL::ChainIkSolverVel_pinv_givens::transpose [private] |
Definition at line 57 of file chainiksolvervel_pinv_givens.hpp.
MatrixXd KDL::ChainIkSolverVel_pinv_givens::U [private] |
Definition at line 59 of file chainiksolvervel_pinv_givens.hpp.
VectorXd KDL::ChainIkSolverVel_pinv_givens::UY [private] |
Definition at line 60 of file chainiksolvervel_pinv_givens.hpp.
MatrixXd KDL::ChainIkSolverVel_pinv_givens::V [private] |
Definition at line 59 of file chainiksolvervel_pinv_givens.hpp.
VectorXd KDL::ChainIkSolverVel_pinv_givens::v_in_eigen [private] |
Definition at line 60 of file chainiksolvervel_pinv_givens.hpp.