iCub-main
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
iCub::iDyn::iCubLegSensorLink Class Reference

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

#include <iDynInv.h>

+ Inheritance diagram for iCub::iDyn::iCubLegSensorLink:

Public Member Functions

 iCubLegSensorLink (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.
 
virtual ~iCubLegSensorLink ()
 Destructor.
 
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.
 
 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.
 
virtual ~SensorLinkNewtonEuler ()
 Destructor.
 
bool setMeasuredFMu (const yarp::sig::Vector &_F, const yarp::sig::Vector &_Mu)
 Set the sensor measured force/moment - if measured by a FT sensor.
 
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.
 
void ForwardAttachToLink (iDynLink *link)
 Compute w,dw,ddp,dppC given the reference frame of the link where the sensor is.
 
void BackwardAttachToLink (iDynLink *link)
 Compute F,Mu given the reference frame of the link where the sensor is.
 
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.
 
yarp::sig::Vector getForceMoment () const
 Get the sensor force and moment in a single (6x1) vector.
 
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.
 
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.
 
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)
 
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)
 
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)
 
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)
 
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)
 
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)
 
std::string toString () const
 Useful to print some information.
 
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.
 
 OneLinkNewtonEuler (const NewEulMode _mode, unsigned int verb=iCub::skinDynLib::NO_VERBOSE, iDyn::iDynLink *dlink=NULL)
 Constructor, with initialization of some data.
 
virtual ~OneLinkNewtonEuler ()
 Destructor.
 
void zero ()
 Set everything to zero; R is set to an identity matrix.
 
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.
 
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.
 
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.
 
virtual bool setMeasuredTorque (const double _Tau)
 Set measured torque in a joint torque sensor frame

 
void setVerbose (unsigned int verb=iCub::skinDynLib::VERBOSE)
 Set the verbosity level of comments during operations.
 
void setMode (const NewEulMode _mode)
 Set the operation mode (static,dynamic etc)
 
bool setZM (const yarp::sig::Vector &_zm)
 Set the zM vector.
 
void setInfo (const std::string &_info)
 Set some information about this OneLink class.
 
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
 
void BackwardKinematics (OneLinkNewtonEuler *prev)
 [Backward Kinematic computation] Compute w, dw, ddp, ddpC, dwM
 
void BackwardWrench (OneLinkNewtonEuler *next)
 [Backward Newton-Euler] Compute F, Mu, Tau
 
void ForwardWrench (OneLinkNewtonEuler *prev)
 [Inverse Newton-Euler] Compute F, Mu, Tau
 
virtual void computeTorque (OneLinkNewtonEuler *prev)
 [all] Compute joint torque; moment must be pre-computed
 

Protected Attributes

std::string type
 the leg type: left/right
 
- Protected Attributes inherited from iCub::iDyn::SensorLinkNewtonEuler
yarp::sig::Vector F
 measured or estimated force
 
yarp::sig::Vector Mu
 measured or estimated moment
 
yarp::sig::Vector w
 angular velocity
 
yarp::sig::Vector dw
 angular acceleration
 
yarp::sig::Vector ddp
 linear acceleration
 
yarp::sig::Vector ddpC
 linear acceleration of the COM
 
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
 
yarp::sig::Matrix COM
 the roto-translational matrix of the COM of the semi-link (bewteen sensor and ith link frame)
 
yarp::sig::Matrix I
 the semi-link inertia
 
double m
 the semi-link mass (the portion of link defined by the sensor)
 
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.
 
std::string info
 info or useful notes
 
unsigned int verbose
 verbosity flag
 
yarp::sig::Vector z0
 z0=[0 0 1]'
 
yarp::sig::Vector zm
 z^{i-1}_{m_{i}} versor rotating solidally with link i, projected in frame i ==>> constant
 
iDyn::iDynLinklink
 the corresponding iDynLink
 

Additional Inherited Members

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

Detailed Description

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

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

Definition at line 1410 of file iDynInv.h.

Constructor & Destructor Documentation

◆ iCubLegSensorLink()

iCubLegSensorLink::iCubLegSensorLink ( 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 2460 of file iDynInv.cpp.

◆ ~iCubLegSensorLink()

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

Destructor.

Definition at line 1430 of file iDynInv.h.

Member Function Documentation

◆ getType()

string iCubLegSensorLink::getType ( ) const
virtual
Returns
type the leg type: left/right

Reimplemented from iCub::iDyn::SensorLinkNewtonEuler.

Definition at line 2498 of file iDynInv.cpp.

Member Data Documentation

◆ type

std::string iCub::iDyn::iCubLegSensorLink::type
protected

the leg type: left/right

Definition at line 1415 of file iDynInv.h.


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