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

A class for setting a virtual sensor link on the iCub arm, for the arm FT sensor. More...

#include <iDynInv.h>

+ Inheritance diagram for iCub::iDyn::iCubArmSensorLink:

Public Member Functions

 iCubArmSensorLink (const std::string &_type, const NewEulMode _mode=DYNAMIC, unsigned int verb=iCub::skinDynLib::NO_VERBOSE)
 Constructor: the sensor parameters are automatically set with "right" or "left" choice. More...
 
virtual ~iCubArmSensorLink ()
 Destructor. More...
 
std::string getType () const
 
- Public Member Functions inherited from iCub::iDyn::SensorLinkNewtonEuler
 SensorLinkNewtonEuler (const NewEulMode _mode, unsigned int verb=iCub::skinDynLib::NO_VERBOSE)
 Default constructor. More...
 
 SensorLinkNewtonEuler (const yarp::sig::Matrix &_H, const yarp::sig::Matrix &_COM, const double _m, const yarp::sig::Matrix &_I, const NewEulMode _mode, unsigned int verb=iCub::skinDynLib::NO_VERBOSE)
 Constructor. More...
 
virtual ~SensorLinkNewtonEuler ()
 Destructor. More...
 
bool setMeasuredFMu (const yarp::sig::Vector &_F, const yarp::sig::Vector &_Mu)
 Set the sensor measured force/moment - if measured by a FT sensor. More...
 
bool setSensor (const yarp::sig::Matrix &_H, const yarp::sig::Matrix &_HC, const double _m, const yarp::sig::Matrix &_I)
 Set a new sensor or new sensor properties. More...
 
void ForwardAttachToLink (iDynLink *link)
 Compute w,dw,ddp,dppC given the reference frame of the link where the sensor is. More...
 
void BackwardAttachToLink (iDynLink *link)
 Compute F,Mu given the reference frame of the link where the sensor is. More...
 
void ForwardForcesMomentsToLink (iDynLink *link)
 Forward the sensor forces and moments, measured by the sensor, to the reference frame of the link where the sensor is: this method is the base for the inverse Newton-Euler algorithm, since it forwards the sensor measurements to the iDynChain. More...
 
yarp::sig::Vector getForceMoment () const
 Get the sensor force and moment in a single (6x1) vector. More...
 
const yarp::sig::Vector & getAngVel () const
 
const yarp::sig::Vector & getAngAcc () const
 
const yarp::sig::Vector & getLinAcc () const
 
const yarp::sig::Vector & getLinAccC () const
 
const yarp::sig::Vector & getForce () const
 
const yarp::sig::Vector & getMoment (bool isBase=false) const
 
double getIm () const
 
double getFs () const
 
double getFv () const
 
double getD2q () const
 
double getDq () const
 
double getKr () const
 
const yarp::sig::Vector & getAngAccM () const
 
double getTorque () const
 
const yarp::sig::Matrix & getH () const
 
double getMass () const
 
const yarp::sig::Matrix & getInertia () const
 
const yarp::sig::Matrix & getR ()
 
const yarp::sig::Matrix & getRC ()
 
const yarp::sig::Vector & getr (bool proj=false)
 
const yarp::sig::Vector & getrC (bool proj=false)
 
bool setForce (const yarp::sig::Vector &_F)
 Set the OneLink force: either the corresponding iDynLink force, or the one declared as member in the child classes derived from OneLink, such as SensorLink. More...
 
bool setMoment (const yarp::sig::Vector &_Mu)
 Set the OneLink moment: either the corresponding iDynLink moment, or the one declared as member in the child classes derived from OneLink, such as SensorLink. More...
 
void setTorque (const double _Tau)
 Set the OneLink torque, ie the corresponding iDynLink joint torque (nothing in the child classes derived from OneLink, such as SensorLink) More...
 
bool setAngVel (const yarp::sig::Vector &_w)
 Set the OneLink angular velocity (w), ie the corresponding iDynLink angular velocity (w) (in the child classes derived from OneLink, it depends) More...
 
bool setAngAcc (const yarp::sig::Vector &_dw)
 Set the OneLink angular acceleration (dw), ie the corresponding iDynLink angular acceleration (dw) (in the child classes derived from OneLink, it depends) More...
 
bool setLinAcc (const yarp::sig::Vector &_ddp)
 Set the OneLink linear acceleration (ddp), ie the corresponding iDynLink linear acceleration (ddp) (in the child classes derived from OneLink, it depends) More...
 
bool setLinAccC (const yarp::sig::Vector &_ddpC)
 Set the OneLink linear acceleration of the COM (ddpC), ie the corresponding iDynLink linear acceleration of the COM (ddpC) (nothing in the child classes derived from OneLink, except for SensorLink) More...
 
bool setAngAccM (const yarp::sig::Vector &_dwM)
 Set the OneLink angular acceleration of the motor (dwM), ie the corresponding iDynLink angular acceleration of the COM (dwM) (nothing in the child classes derived from OneLink) More...
 
std::string toString () const
 Useful to print some information. More...
 
void computeAngVel (iDynLink *link)
 
void computeAngAcc (iDynLink *link)
 
void computeLinAcc (iDynLink *link)
 
void computeLinAccC ()
 
void computeForce (iDynLink *link)
 
void computeMoment (iDynLink *link)
 
void computeForceToLink (iDynLink *link)
 
void computeMomentToLink (iDynLink *link)
 
- Public Member Functions inherited from iCub::iDyn::OneLinkNewtonEuler
 OneLinkNewtonEuler (iDyn::iDynLink *dlink=NULL)
 Default constructor. More...
 
 OneLinkNewtonEuler (const NewEulMode _mode, unsigned int verb=iCub::skinDynLib::NO_VERBOSE, iDyn::iDynLink *dlink=NULL)
 Constructor, with initialization of some data. More...
 
virtual ~OneLinkNewtonEuler ()
 Destructor. More...
 
void zero ()
 Set everything to zero; R is set to an identity matrix. More...
 
virtual bool setAsBase (const yarp::sig::Vector &_w, const yarp::sig::Vector &_dw, const yarp::sig::Vector &_ddp)
 Virtual method to set the frame as the base one: this is useful to initialize the forward phase of Newton-Euler's method. More...
 
virtual bool setAsBase (const yarp::sig::Vector &_F, const yarp::sig::Vector &_Mu)
 
virtual bool setAsFinal (const yarp::sig::Vector &_F, const yarp::sig::Vector &_Mu)
 Set the frame as the final one: this is useful to initialize the backward phase of Newton-Euler's method, by setting F and Mu; R is an identity matrix. More...
 
virtual bool setAsFinal (const yarp::sig::Vector &_w, const yarp::sig::Vector &_dw, const yarp::sig::Vector &_ddp)
 Set the frame as the final one: this is useful to initialize the backward phase of Euler's method, by setting w, dw and ddp; R is an identity matrix. More...
 
virtual bool setMeasuredTorque (const double _Tau)
 Set measured torque in a joint torque sensor frame
More...
 
void setVerbose (unsigned int verb=iCub::skinDynLib::VERBOSE)
 Set the verbosity level of comments during operations. More...
 
void setMode (const NewEulMode _mode)
 Set the operation mode (static,dynamic etc) More...
 
bool setZM (const yarp::sig::Vector &_zm)
 Set the zM vector. More...
 
void setInfo (const std::string &_info)
 Set some information about this OneLink class. More...
 
NewEulMode getMode () const
 
yarp::sig::Vector getZM () const
 
std::string getInfo () const
 
virtual const yarp::sig::Matrix & getH ()
 
void ForwardKinematics (OneLinkNewtonEuler *prev)
 [Forward Newton-Euler] Compute w, dw, ddp, ddpC, dwM More...
 
void BackwardKinematics (OneLinkNewtonEuler *prev)
 [Backward Kinematic computation] Compute w, dw, ddp, ddpC, dwM More...
 
void BackwardWrench (OneLinkNewtonEuler *next)
 [Backward Newton-Euler] Compute F, Mu, Tau More...
 
void ForwardWrench (OneLinkNewtonEuler *prev)
 [Inverse Newton-Euler] Compute F, Mu, Tau More...
 
virtual void computeTorque (OneLinkNewtonEuler *prev)
 [all] Compute joint torque; moment must be pre-computed More...
 

Protected Attributes

std::string type
 the arm type: left/right More...
 
- Protected Attributes inherited from iCub::iDyn::SensorLinkNewtonEuler
yarp::sig::Vector F
 measured or estimated force More...
 
yarp::sig::Vector Mu
 measured or estimated moment More...
 
yarp::sig::Vector w
 angular velocity More...
 
yarp::sig::Vector dw
 angular acceleration More...
 
yarp::sig::Vector ddp
 linear acceleration More...
 
yarp::sig::Vector ddpC
 linear acceleration of the COM More...
 
yarp::sig::Matrix H
 the roto-translational matrix from the i-th link to the sensor: it's the matrix describing the sensor position and orientation with respect to the frame of the link where the sensor is placed on More...
 
yarp::sig::Matrix COM
 the roto-translational matrix of the COM of the semi-link (bewteen sensor and ith link frame) More...
 
yarp::sig::Matrix I
 the semi-link inertia More...
 
double m
 the semi-link mass (the portion of link defined by the sensor) More...
 
yarp::sig::Matrix R
 
yarp::sig::Matrix RC
 
yarp::sig::Vector r
 
yarp::sig::Vector r_proj
 
yarp::sig::Vector rc
 
yarp::sig::Vector rc_proj
 
const yarp::sig::Vector zeros0
 
- Protected Attributes inherited from iCub::iDyn::OneLinkNewtonEuler
NewEulMode mode
 STATIC/DYNAMIC/DYNAMIC_W_ROTOR/DYNAMIC_CORIOLIS_GRAVITY. More...
 
std::string info
 info or useful notes More...
 
unsigned int verbose
 verbosity flag More...
 
yarp::sig::Vector z0
 z0=[0 0 1]' More...
 
yarp::sig::Vector zm
 z^{i-1}_{m_{i}} versor rotating solidally with link i, projected in frame i ==>> constant More...
 
iDyn::iDynLinklink
 the corresponding iDynLink More...
 

Additional Inherited Members

- Protected Member Functions inherited from iCub::iDyn::OneLinkNewtonEuler
void computeAngVel (OneLinkNewtonEuler *prev)
 [Forward Newton-Euler] compute angular velocity of the link More...
 
void computeAngVelBackward (OneLinkNewtonEuler *prev)
 [Forward Newton-Euler] compute angular velocity of the previous link frame More...
 
void computeAngAcc (OneLinkNewtonEuler *prev)
 [Forward Newton-Euler] compute angular acceleration of the link More...
 
void computeAngAccBackward (OneLinkNewtonEuler *prev)
 [Forward Newton-Euler] compute angular acceleration of the previous link frame More...
 
void computeLinAcc (OneLinkNewtonEuler *prev)
 [Forward Newton-Euler] compute linear acceleration of the reference frame of the link More...
 
void computeLinAccBackward (OneLinkNewtonEuler *prev)
 [Forward Newton-Euler] compute linear acceleration of the reference frame of the previous link More...
 
void computeLinAccC ()
 [Forward Newton-Euler] compute linear acceleration of the center of mass More...
 
void computeAngAccM (OneLinkNewtonEuler *prev)
 [Forward Newton-Euler] compute angular acceleration of the rotor More...
 
void computeForceBackward (OneLinkNewtonEuler *next)
 [Backward Newton-Euler] compute force from the following link More...
 
void computeForceForward (OneLinkNewtonEuler *prev)
 [Inverse Newton-Euler] compute force from the previous link More...
 
void computeMomentBackward (OneLinkNewtonEuler *next)
 [Backward Newton-Euler] compute moment from the following link More...
 
void computeMomentForward (OneLinkNewtonEuler *prev)
 [Inverse Newton-Euler] compute moment from the previous link More...
 

Detailed Description

A class for setting a virtual sensor link on the iCub arm, for the arm FT sensor.

The parameters are automatically set after choosing "left" or "right" part. By default, the CAD parameters are set.

Definition at line 1373 of file iDynInv.h.

Constructor & Destructor Documentation

◆ iCubArmSensorLink()

iCubArmSensorLink::iCubArmSensorLink ( const std::string &  _type,
const NewEulMode  _mode = DYNAMIC,
unsigned int  verb = iCub::skinDynLib::NO_VERBOSE 
)

Constructor: the sensor parameters are automatically set with "right" or "left" choice.

Parameters
_typea string "left"/"right"
_modethe analysis mode (STATIC/DYNAMIC)
verbflag for verbosity

Definition at line 2288 of file iDynInv.cpp.

◆ ~iCubArmSensorLink()

virtual iCub::iDyn::iCubArmSensorLink::~iCubArmSensorLink ( )
inlinevirtual

Destructor.

Definition at line 1393 of file iDynInv.h.

Member Function Documentation

◆ getType()

string iCubArmSensorLink::getType ( ) const
virtual
Returns
type the arm type: left/right

Reimplemented from iCub::iDyn::SensorLinkNewtonEuler.

Definition at line 2325 of file iDynInv.cpp.

Member Data Documentation

◆ type

std::string iCub::iDyn::iCubArmSensorLink::type
protected

the arm type: left/right

Definition at line 1378 of file iDynInv.h.


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