36 locked_joints_(chain.getNrOfJoints(),false),
37 nr_of_unlocked_joints_(chain.getNrOfJoints()),
39 jac_(chain.getNrOfJoints()),
40 jac_dot_(chain.getNrOfJoints()),
41 representation_(HYBRID),
70 unsigned int segmentNr;
106 for(
unsigned int i=0;i<segmentNr;++i)
126 const unsigned int& joint_idx,
127 const unsigned int& column_idx,
128 const int& representation)
130 switch(representation)
145 const unsigned int& joint_idx,
146 const unsigned int& column_idx)
176 const unsigned int& joint_idx,
177 const unsigned int& column_idx)
198 const unsigned int& joint_idx,
199 const unsigned int& column_idx)
220 if(representation ==
HYBRID ||
void setRepresentation(const int &representation)
Sets the internal variable for the representation (with a check on the value)
static const int BODYFIXED
int setLockedJoints(const std::vector< bool > &locked_joints)
virtual int JntToCart(const JntArray &q_in, Frame &p_out, int segmentNr=-1)
unsigned int columns() const
static const int E_JAC_DOT_FAILED
unsigned int nr_of_unlocked_joints_
void resize(unsigned int newNrOfColumns)
Allocates memory for new size (can break realtime behavior)
const Twist & getPartialDerivativeHybrid(const Jacobian &bs_J_ee, const unsigned int &joint_idx, const unsigned int &column_idx)
Computes .
virtual void updateInternalDataStructures()
This class encapsulates a serial kinematic interconnection structure. It is built out of segments...
static const int E_JACSOLVER_FAILED
Vector vel
The velocity of that point.
const Twist & getPartialDerivativeBodyFixed(const Jacobian &ee_J_ee, const unsigned int &joint_idx, const unsigned int &column_idx)
Computes .
unsigned int getNrOfSegments() const
virtual ~ChainJntToJacDotSolver()
void MultiplyJacobian(const Jacobian &jac, const JntArray &src, Twist &dest)
Rotation Inverse() const
Gives back the inverse rotation matrix of *this.
const Segment & getSegment(unsigned int nr) const
Input size does not match internal state.
ChainFkSolverPos_recursive fk_solver_
unsigned int rows() const
Rotation M
Orientation of the Frame.
const Joint & getJoint() const
represents both translational and rotational velocities.
IMETHOD void SetToZero(Vector &v)
virtual void updateInternalDataStructures()
unsigned int getNrOfJoints() const
Vector rot
The rotational velocity of that point.
virtual const char * strError(const int error) const
Requested index out of range.
void setColumn(unsigned int i, const Twist &t)
Vector p
origine of the Frame
friend bool changeBase(const Jacobian &src1, const Rotation &rot, Jacobian &dest)
ChainJntToJacSolver jac_solver_
friend bool changeRefPoint(const Jacobian &src1, const Vector &base_AB, Jacobian &dest)
static const int INERTIAL
const JointType & getType() const
static const int E_FKSOLVERPOS_FAILED
std::vector< bool > locked_joints_
ChainJntToJacDotSolver(const Chain &chain)
virtual int JntToJacDot(const KDL::JntArrayVel &q_in, KDL::Twist &jac_dot_q_dot, int seg_nr=-1)
Computes .
virtual const char * strError(const int error) const
Twist getColumn(unsigned int i) const
virtual void updateInternalDataStructures()
virtual int JntToJac(const JntArray &q_in, Jacobian &jac, int seg_nr=-1)
const Twist & getPartialDerivative(const Jacobian &J, const unsigned int &joint_idx, const unsigned int &column_idx, const int &representation)
Computes .
int error
Latest error, initialized to E_NOERROR in constructor.
const Twist & getPartialDerivativeInertial(const Jacobian &bs_J_bs, const unsigned int &joint_idx, const unsigned int &column_idx)
Computes .