Go to the documentation of this file.
29 nj(chain.getNrOfJoints()),
48 for(
unsigned int i = 0 ; i <
U.size(); i++)
52 for(
unsigned int i = 0 ; i <
V.size(); i++)
87 qdot_out.
data.setZero();
99 sum+=
U[j](i)*v_in(j);
103 if ( fabs(
S(i))<
eps ) {
unsigned int columns() const
virtual const char * strError(const int error) const
unsigned int nrZeroSigmas
virtual const char * strError(const int error) const
void resize(unsigned int newSize)
@ E_NOT_UP_TO_DATE
Chain size changed.
std::vector< JntArray > V
virtual int JntToJac(const JntArray &q_in, Jacobian &jac, int seg_nr=-1)
ChainJntToJacSolver jnt2jac
virtual void updateInternalDataStructures()
void resize(unsigned int newNrOfColumns)
Allocates memory for new size (can break realtime behavior)
represents both translational and rotational velocities.
unsigned int rows() const
std::vector< JntArray > U
@ E_SIZE_MISMATCH
Input size does not match internal state.
@ E_SVD_FAILED
Internal svd calculation failed.
unsigned int rows() const
static const int E_CONVERGE_PINV_SINGULAR
solution converged but (pseudo)inverse is singular
virtual void updateInternalDataStructures()
virtual int CartToJnt(const JntArray &q_in, const Twist &v_in, JntArray &qdot_out)
int calculate(const Jacobian &jac, std::vector< JntArray > &U, JntArray &w, std::vector< JntArray > &v, int maxiter)
ChainIkSolverVel_pinv(const Chain &chain, double eps=0.00001, int maxiter=150)
This class encapsulates a serial kinematic interconnection structure. It is built out of segments.
unsigned int getNrOfJoints() const
int error
Latest error, initialized to E_NOERROR in constructor.