Orocos KDL
chainiksolvervel_pinv_givens.hpp
1// Copyright (C) 2007 Ruben Smits <ruben dot smits at mech dot kuleuven dot be>
2
3#ifndef KDL_CHAIN_IKSOLVERVEL_PINV_GIVENS_HPP
4#define KDL_CHAIN_IKSOLVERVEL_PINV_GIVENS_HPP
5
6#include "chainiksolver.hpp"
7#include "chainjnttojacsolver.hpp"
8
9#include <Eigen/Core>
10
11namespace KDL
12{
23 {
24 public:
25
33 explicit ChainIkSolverVel_pinv_givens(const Chain& chain);
35
36 virtual int CartToJnt(const JntArray& q_in, const Twist& v_in, JntArray& qdot_out);
41 virtual int CartToJnt(const JntArray& /*q_init*/, const FrameVel& /*v_in*/, JntArrayVel& /*q_out*/){return (error = E_NOT_IMPLEMENTED);};
42
45
46 private:
47 const Chain& chain;
48 unsigned int nj;
49 ChainJntToJacSolver jnt2jac;
50 Jacobian jac;
51 bool transpose,toggle;
52 unsigned int m,n;
53 Eigen::MatrixXd jac_eigen,U,V,B;
54 Eigen::VectorXd S,tempi,UY,SUY,qdot_eigen,v_in_eigen;
55 };
56}
57#endif
virtual int CartToJnt(const JntArray &q_in, const Twist &v_in, JntArray &qdot_out)
ChainIkSolverVel_pinv_givens(const Chain &chain)
virtual int CartToJnt(const JntArray &, const FrameVel &, JntArrayVel &)
Definition chainiksolvervel_pinv_givens.hpp:41
virtual void updateInternalDataStructures()
This abstract class encapsulates the inverse velocity solver for a KDL::Chain.
Definition chainiksolver.hpp:66
Class to calculate the jacobian of a general KDL::Chain, it is used by other solvers.
Definition chainjnttojacsolver.hpp:39
This class encapsulates a serial kinematic interconnection structure. It is built out of segments.
Definition chain.hpp:35
Definition framevel.hpp:216
Definition jacobian.hpp:37
Definition jntarrayvel.hpp:46
Definition jntarray.hpp:70
@ E_NOT_IMPLEMENTED
Not yet implemented.
Definition solveri.hpp:105
int error
Latest error, initialized to E_NOERROR in constructor.
Definition solveri.hpp:149
represents both translational and rotational velocities.
Definition frames.hpp:723
Definition articulatedbodyinertia.hpp:32