iCub-main
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
iCub::iKin::iCubTorso Class Reference

A class for defining the iCub Torso. More...

#include <iKinFwd.h>

+ Inheritance diagram for iCub::iKin::iCubTorso:

Public Member Functions

 iCubTorso ()
 Default constructor. More...
 
 iCubTorso (const std::string &_type)
 Constructor. More...
 
virtual bool alignJointsBounds (const std::deque< yarp::dev::IControlLimits *> &lim)
 Alignes the Torso joints bounds with current values set aboard the iCub. More...
 
- Public Member Functions inherited from iCub::iKin::iKinLimb
 iKinLimb ()
 Default constructor. More...
 
 iKinLimb (const std::string &_type)
 Constructor. More...
 
 iKinLimb (const iKinLimb &limb)
 Creates a new Limb from an already existing Limb object. More...
 
 iKinLimb (const yarp::os::Property &options)
 Creates a new Limb from a list of properties wherein links parameters are specified. More...
 
bool fromLinksProperties (const yarp::os::Property &options)
 Initializes the Limb from a list of properties wherein links parameters are specified. More...
 
bool toLinksProperties (yarp::os::Property &options)
 Provides the links attributes listed in a property object. More...
 
bool isValid () const
 Checks if the limb has been properly configured. More...
 
iKinLimboperator= (const iKinLimb &limb)
 Copies a Limb object into the current one. More...
 
iKinChainasChain ()
 Returns a pointer to the Limb seen as Chain object. More...
 
std::string getType () const
 Returns the Limb type as a string. More...
 
virtual ~iKinLimb ()
 Destructor. More...
 
- Public Member Functions inherited from iCub::iKin::iKinChain
 iKinChain ()
 Default constructor. More...
 
 iKinChain (const iKinChain &c)
 Creates a new Chain from an already existing Chain object. More...
 
iKinChainoperator= (const iKinChain &c)
 Copies a Chain object into the current one. More...
 
iKinChainoperator<< (iKinLink &l)
 Adds a Link at the bottom of the Chain. More...
 
iKinChainoperator-- (int)
 Removes a Link from the bottom of the Chain. More...
 
iKinLinkoperator[] (const unsigned int i)
 Returns a reference to the ith Link of the Chain. More...
 
iKinLinkoperator() (const unsigned int i)
 Returns a reference to the ith Link of the Chain considering only those Links related to DOF. More...
 
bool addLink (const unsigned int i, iKinLink &l)
 Adds a Link at the position ith within the Chain. More...
 
bool rmLink (const unsigned int i)
 Removes the ith Link from the Chain. More...
 
void pushLink (iKinLink &l)
 Adds a Link at the bottom of the Chain. More...
 
void clear ()
 Removes all Links. More...
 
void popLink ()
 Removes a Link from the bottom of the Chain. More...
 
bool blockLink (const unsigned int i, double Ang)
 Blocks the ith Link at the a certain value of its joint angle. More...
 
bool blockLink (const unsigned int i)
 Blocks the ith Link at the current value of its joint angle. More...
 
bool setBlockingValue (const unsigned int i, double Ang)
 Changes the value of the ith blocked Link. More...
 
bool releaseLink (const unsigned int i)
 Releases the ith Link. More...
 
bool isLinkBlocked (const unsigned int i)
 Queries whether the ith Link is blocked. More...
 
void setAllConstraints (bool _constrained)
 Sets the constraint status of all chain links. More...
 
void setConstraint (unsigned int i, bool _constrained)
 Sets the constraint status of ith link. More...
 
bool getConstraint (unsigned int i)
 Returns the constraint status of ith link. More...
 
void setAllLinkVerbosity (unsigned int _verbose)
 Sets the verbosity level of all Links belonging to the Chain. More...
 
void setVerbosity (unsigned int _verbose)
 Sets the verbosity level of the Chain. More...
 
unsigned int getVerbosity () const
 Returns the current Chain verbosity level. More...
 
unsigned int getN () const
 Returns the number of Links belonging to the Chain. More...
 
unsigned int getDOF () const
 Returns the current number of Chain's DOF. More...
 
yarp::sig::Matrix getH0 () const
 Returns H0, the rigid roto-translation matrix from the root reference frame to the 0th frame. More...
 
bool setH0 (const yarp::sig::Matrix &_H0)
 Sets H0, the rigid roto-translation matrix from the root reference frame to the 0th frame. More...
 
yarp::sig::Matrix getHN () const
 Returns HN, the rigid roto-translation matrix from the Nth frame to the end-effector. More...
 
bool setHN (const yarp::sig::Matrix &_HN)
 Sets HN, the rigid roto-translation matrix from the Nth frame to the end-effector. More...
 
yarp::sig::Vector setAng (const yarp::sig::Vector &q)
 Sets the free joint angles to values of q[i]. More...
 
yarp::sig::Vector getAng ()
 Returns the current free joint angles values. More...
 
double setAng (const unsigned int i, double _Ang)
 Sets the ith joint angle. More...
 
double getAng (const unsigned int i)
 Returns the current angle of ith joint. More...
 
yarp::sig::Matrix getH (const unsigned int i, const bool allLink=false)
 Returns the rigid roto-translation matrix from the root reference frame to the ith frame in Denavit-Hartenberg notation. More...
 
yarp::sig::Matrix getH ()
 Returns the rigid roto-translation matrix from the root reference frame to the end-effector frame in Denavit-Hartenberg notation (HN is taken into account). More...
 
yarp::sig::Matrix getH (const yarp::sig::Vector &q)
 Returns the rigid roto-translation matrix from the root reference frame to the end-effector frame in Denavit-Hartenberg notation (HN is taken into account). More...
 
yarp::sig::Vector Pose (const unsigned int i, const bool axisRep=true)
 Returns the coordinates of ith Link. More...
 
yarp::sig::Vector Position (const unsigned int i)
 Returns the 3D position coordinates of ith Link. More...
 
yarp::sig::Vector EndEffPose (const bool axisRep=true)
 Returns the coordinates of end-effector. More...
 
yarp::sig::Vector EndEffPose (const yarp::sig::Vector &q, const bool axisRep=true)
 Returns the coordinates of end-effector computed in q. More...
 
yarp::sig::Vector EndEffPosition ()
 Returns the 3D coordinates of end-effector position. More...
 
yarp::sig::Vector EndEffPosition (const yarp::sig::Vector &q)
 Returns the 3D coordinates of end-effector position computed in q. More...
 
yarp::sig::Matrix AnaJacobian (const unsigned int i, unsigned int col)
 Returns the analitical Jacobian of the ith link. More...
 
yarp::sig::Matrix AnaJacobian (unsigned int col=3)
 Returns the analitical Jacobian of the end-effector. More...
 
yarp::sig::Matrix AnaJacobian (const yarp::sig::Vector &q, unsigned int col=3)
 Returns the analitical Jacobian of the end-effector computed in q. More...
 
yarp::sig::Matrix GeoJacobian (const unsigned int i)
 Returns the geometric Jacobian of the ith link. More...
 
yarp::sig::Matrix GeoJacobian ()
 Returns the geometric Jacobian of the end-effector. More...
 
yarp::sig::Matrix GeoJacobian (const yarp::sig::Vector &q)
 Returns the geometric Jacobian of the end-effector computed in q. More...
 
yarp::sig::Vector Hessian_ij (const unsigned int i, const unsigned int j)
 Returns the 6x1 vector $ \partial{^2}F\left(q\right)/\partial q_i \partial q_j, $ where $ F\left(q\right) $ is the forward kinematic function and $ \left(q_i,q_j\right) $ is the DOF couple. More...
 
void prepareForHessian ()
 Prepares computation for a successive call to fastHessian_ij(). More...
 
yarp::sig::Vector fastHessian_ij (const unsigned int i, const unsigned int j)
 Returns the 6x1 vector $ \partial{^2}F\left(q\right)/\partial q_i \partial q_j, $ where $ F\left(q\right) $ is the forward kinematic function and $ \left(q_i,q_j\right) $ is the DOF couple. More...
 
yarp::sig::Vector Hessian_ij (const unsigned int lnk, const unsigned int i, const unsigned int j)
 Returns the 6x1 vector $ \partial{^2}F\left(q\right)/\partial q_i \partial q_j, $ where $ F\left(q\right) $ is the forward kinematic function and $ \left(q_i,q_j\right) $ is the couple of links. More...
 
void prepareForHessian (const unsigned int lnk)
 Prepares computation for a successive call to fastHessian_ij() (link version). More...
 
yarp::sig::Vector fastHessian_ij (const unsigned int lnk, const unsigned int i, const unsigned int j)
 Returns the 6x1 vector $ \partial{^2}F\left(q\right)/\partial q_i \partial q_j, $ where $ F\left(q\right) $ is the forward kinematic function and $ \left(q_i,q_j\right) $ is the couple of links. More...
 
yarp::sig::Matrix DJacobian (const yarp::sig::Vector &dq)
 Compute the time derivative of the geometric Jacobian. More...
 
yarp::sig::Matrix DJacobian (const unsigned int lnk, const yarp::sig::Vector &dq)
 Compute the time derivative of the geometric Jacobian (link version). More...
 
virtual ~iKinChain ()
 Destructor. More...
 

Protected Member Functions

virtual void allocate (const std::string &_type)
 
- Protected Member Functions inherited from iCub::iKin::iKinLimb
virtual void getMatrixFromProperties (const yarp::os::Property &options, const std::string &tag, yarp::sig::Matrix &H)
 
virtual void setMatrixToProperties (yarp::os::Property &options, const std::string &tag, yarp::sig::Matrix &H)
 
virtual void clone (const iKinLimb &limb)
 
virtual void dispose ()
 
iKinChainoperator= (const iKinChain &c)
 
iKinChainoperator<< (iKinLink &l)
 
iKinChainoperator-- (int)
 
iKinLinkoperator[] (const unsigned int i)
 
iKinLinkoperator() (const unsigned int i)
 
bool addLink (const unsigned int i, iKinLink &l)
 
bool rmLink (const unsigned int i)
 
void pushLink (iKinLink &l)
 
void clear ()
 
void popLink ()
 
void pushLink (iKinLink *pl)
 
- Protected Member Functions inherited from iCub::iKin::iKinChain
virtual void clone (const iKinChain &c)
 
virtual void build ()
 
yarp::sig::Vector RotAng (const yarp::sig::Matrix &R)
 
yarp::sig::Vector dRotAng (const yarp::sig::Matrix &R, const yarp::sig::Matrix &dR)
 
yarp::sig::Vector d2RotAng (const yarp::sig::Matrix &R, const yarp::sig::Matrix &dRi, const yarp::sig::Matrix &dRj, const yarp::sig::Matrix &d2R)
 

Protected Attributes

double version
 
- Protected Attributes inherited from iCub::iKin::iKinLimb
std::deque< iKinLink * > linkList
 
std::string type
 
- Protected Attributes inherited from iCub::iKin::iKinChain
unsigned int N
 
unsigned int DOF
 
unsigned int verbose
 
yarp::sig::Matrix H0
 
yarp::sig::Matrix HN
 
yarp::sig::Vector curr_q
 
std::deque< iKinLink * > allList
 
std::deque< iKinLink * > quickList
 
std::deque< unsigned int > hash
 
std::deque< unsigned int > hash_dof
 
yarp::sig::Matrix hess_J
 
yarp::sig::Matrix hess_Jlnk
 

Detailed Description

A class for defining the iCub Torso.

Definition at line 1045 of file iKinFwd.h.

Constructor & Destructor Documentation

◆ iCubTorso() [1/2]

iCubTorso::iCubTorso ( )

Default constructor.

Definition at line 1545 of file iKinFwd.cpp.

◆ iCubTorso() [2/2]

iCubTorso::iCubTorso ( const std::string &  _type)

Constructor.

Parameters
_typeis a string for specifying different kinematic versions.

Definition at line 1552 of file iKinFwd.cpp.

Member Function Documentation

◆ alignJointsBounds()

bool iCubTorso::alignJointsBounds ( const std::deque< yarp::dev::IControlLimits *> &  lim)
virtual

Alignes the Torso joints bounds with current values set aboard the iCub.

Parameters
limis the ordered list of control interfaces that allows to access the Torso limits.
Returns
true/false on success/failure.

Reimplemented from iCub::iKin::iKinLimb.

Definition at line 1597 of file iKinFwd.cpp.

◆ allocate()

void iCubTorso::allocate ( const std::string &  _type)
protectedvirtual

Reimplemented from iCub::iKin::iKinLimb.

Definition at line 1559 of file iKinFwd.cpp.

Member Data Documentation

◆ version

double iCub::iKin::iCubTorso::version
protected

Definition at line 1048 of file iKinFwd.h.


The documentation for this class was generated from the following files: