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

A base class for defining a Link with standard Denavit-Hartenberg convention, providing kinematic and dynamic information. More...

#include <iDyn.h>

+ Inheritance diagram for iCub::iDyn::iDynLink:

Public Member Functions

bool setDynamicParameters (const double _m, const yarp::sig::Matrix &_HC, const yarp::sig::Matrix &_I, const double _kr, const double _Fv, const double _Fs, const double _Im)
 Set the dynamic parameters of both Link and motor. More...
 
bool setDynamicParameters (const double _m, const yarp::sig::Matrix &_HC, const yarp::sig::Matrix &_I)
 Set the dynamic parameters of the Link. More...
 
bool setStaticParameters (const double _m, const yarp::sig::Matrix &_HC)
 Set the dynamic parameters of the Link if the chain is in a static situation (inertia is null). More...
 
bool setInertia (const yarp::sig::Matrix &_I)
 Sets the link inertia. More...
 
void setInertia (const double Ixx, const double Ixy, const double Ixz, const double Iyy, const double Iyz, const double Izz)
 Sets the link inertia matrix by setting the 6 inertial parameters. More...
 
void setMass (const double _m)
 Sets the link mass. More...
 
double setAng (const double _teta)
 Sets the joint position (position constraints are evaluated). More...
 
double setDAng (const double _dteta)
 Sets the joint velocity. More...
 
double setD2Ang (const double _ddteta)
 Sets the joint acceleration. More...
 
const yarp::sig::Vector & getLinVel () const
 Gets the linear velocity of the link. More...
 
const yarp::sig::Vector & getLinVelC () const
 Gets the linear velocity of the COM. More...
 
void setAngPosVelAcc (const double _teta, const double _dteta, const double _ddteta)
 Sets the joint angle position, velocity, acceleration. More...
 
bool setCOM (const yarp::sig::Matrix &_HC)
 Set the roto-translation matrix from i to COM. More...
 
bool setCOM (const yarp::sig::Vector &_rC)
 Set the distance vector from i to COM; the rotation is not modified (set to identity as default) More...
 
void setCOM (const double _rCx, const double _rCy, const double _rCz)
 Set the roto-translation matrix from i to COM, where the rotational part is and identity matrix, and the traslation is specified by the three parameters. More...
 
bool setForce (const yarp::sig::Vector &_F)
 Sets the joint force, in the link frame: F^i_i. More...
 
bool setMoment (const yarp::sig::Vector &_Mu)
 Sets the joint moment, in the link frame: Mu^i_i. More...
 
bool setForceMoment (const yarp::sig::Vector &_F, const yarp::sig::Vector &_Mu)
 Sets the joint force and moment, in the link frame: F^i_i , Mu^i_i. More...
 
void setTorque (const double _Tau)
 Sets the joint moment, in the link frame: Tau_i. More...
 
const yarp::sig::Matrix & getInertia () const
 Get the inertia matrix. More...
 
double getMass () const
 Get the link mass. More...
 
double getIm () const
 
double getKr () const
 
double getFs () const
 
double getFv () const
 
const yarp::sig::Matrix & getCOM () const
 Get the roto-translational matrix describing the COM. More...
 
double getDAng () const
 Get the joint velocity. More...
 
double getD2Ang () const
 Get the joint acceleration. More...
 
const yarp::sig::Vector & getW () const
 Get the angular velocity of the link. More...
 
const yarp::sig::Vector & getdW () const
 Get the angular acceleration of the link. More...
 
const yarp::sig::Vector & getdWM () const
 Get the angular acceleration of the motor. More...
 
const yarp::sig::Vector & getLinAcc () const
 Get the linear acceleration of the link. More...
 
const yarp::sig::Vector & getLinAccC () const
 Get the linear acceleration of the COM. More...
 
const yarp::sig::Vector & getForce () const
 Get the link force. More...
 
const yarp::sig::Vector & getMoment () const
 Get the link moment. More...
 
double getTorque () const
 Get the joint torque. More...
 
const yarp::sig::Matrix & getH ()
 Redefine the getH of iKinLink so that it does not compute the H matrix if the joint angles have not changed since the last call to this method. More...
 
const yarp::sig::Matrix & getR ()
 Get the link rotational matrix, from the Denavit-Hartenberg matrix. More...
 
const yarp::sig::Matrix & getRC () const
 Get the link COM's rotational matrix, from the COM matrix. More...
 
const yarp::sig::Vector & getr (bool proj=false)
 Get the link distance vector r, or r*R if projection is specified. More...
 
const yarp::sig::Vector & getrC (bool proj=false) const
 Get the COM distance vector rC, or rC*R if projection is specified. More...
 
 iDynLink (double _A, double _D, double _Alpha, double _Offset, double _Min=-iCub::ctrl::CTRL_PI, double _Max=iCub::ctrl::CTRL_PI)
 Constructor, with initialization of kinematic data; dynamic data are set to zero, while the roto-translational matrix for the COM. More...
 
 iDynLink (const double _m, const yarp::sig::Matrix &_HC, const yarp::sig::Matrix &_I, double _A, double _D, double _Alpha, double _Offset, double _Min=-iCub::ctrl::CTRL_PI, double _Max=iCub::ctrl::CTRL_PI)
 Constructor, with initialization of kinematic and dynamic data. More...
 
 iDynLink (const double _m, const yarp::sig::Vector &_C, const yarp::sig::Matrix &_I, double _A, double _D, double _Alpha, double _Offset, double _Min=-iCub::ctrl::CTRL_PI, double _Max=iCub::ctrl::CTRL_PI)
 Constructor, with initialization of kinematic and dynamic data. More...
 
 iDynLink (const double _m, const double _rCx, const double _rCy, const double _rCz, const double Ixx, const double Ixy, const double Ixz, const double Iyy, const double Iyz, const double Izz, double _A, double _D, double _Alpha, double _Offset, double _Min=-iCub::ctrl::CTRL_PI, double _Max=iCub::ctrl::CTRL_PI)
 Constructor, with initialization of kinematic and dynamic data. More...
 
 iDynLink (const iDynLink &c)
 Copy constructor. More...
 
void zero ()
 Set all dynamic parameters to zero. More...
 
iDynLinkoperator= (const iDynLink &c)
 Overload of operator =. More...
 

Protected Member Functions

 iDynLink ()
 Default constructor : not implemented. More...
 
virtual void clone (const iDynLink &l)
 Clone function. More...
 
virtual void updateHstore ()
 

Protected Attributes

yarp::sig::Matrix H_store
 
yarp::sig::Matrix R_store
 
yarp::sig::Vector r_store
 
yarp::sig::Vector r_proj_store
 
bool H_store_valid
 
double m
 m_i, mass More...
 
yarp::sig::Matrix HC
 4x4, H^i_{C_i} = R^i_{C_i}, r^i_{i,C_i}, roto-translation matrix from i to Ci, constant More...
 
yarp::sig::Matrix RC
 3x3, R^i_{C_i} rotational part of HC, constant More...
 
yarp::sig::Vector rc
 3x1, r^i_{i,C_i}, translational part of HC, constant More...
 
yarp::sig::Vector rc_proj
 
yarp::sig::Matrix I
 3x3, I^i_i, inertia matrix, constant More...
 
double dq
 dq, joint vel More...
 
double ddq
 ddq=d2q, joint acc More...
 
yarp::sig::Vector w
 1x3, w^i_i angular velocity More...
 
yarp::sig::Vector dw
 1x3, dw^i_i angular acceleration More...
 
yarp::sig::Vector dwM
 1x3, dw^{i-1}_{m_i} angular acceleration of rotor More...
 
yarp::sig::Vector dp
 1x3, dp^i_i linear velocity of frame i More...
 
yarp::sig::Vector dpC
 1x3, dp^i_{C_i} linear velocity of center of mass C_i More...
 
yarp::sig::Vector ddp
 1x3, d2p=ddp^i_i linear acceleration of frame i More...
 
yarp::sig::Vector ddpC
 1x3, d2p=ddp^i_{C_i} linear acceleration of center of mass C_i More...
 
yarp::sig::Vector F
 1x3, f^i_i force More...
 
yarp::sig::Vector Mu
 1x3, mu^i_i moment More...
 
double Tau
 tau_i joint torque More...
 
double Im
 I_{m_i} rotor inertia. More...
 
double kr
 k_{r,i} inertia constant More...
 
double Fv
 F_{v,i} viscous friction. More...
 
double Fs
 F_{s,i} static friction. More...
 

Friends

class iDynChain
 
class OneLinkNewtonEuler
 

Detailed Description

A base class for defining a Link with standard Denavit-Hartenberg convention, providing kinematic and dynamic information.

Note
This class implements revolute joints only, as they are the unique type of joints used in humanoid robotics

Definition at line 117 of file iDyn.h.

Constructor & Destructor Documentation

◆ iDynLink() [1/6]

iCub::iDyn::iDynLink::iDynLink ( )
protected

Default constructor : not implemented.

◆ iDynLink() [2/6]

iDynLink::iDynLink ( double  _A,
double  _D,
double  _Alpha,
double  _Offset,
double  _Min = -iCub::ctrl::CTRL_PI,
double  _Max = iCub::ctrl::CTRL_PI 
)

Constructor, with initialization of kinematic data; dynamic data are set to zero, while the roto-translational matrix for the COM.

Parameters
_Ais the link length
_Dis the link offset
_Alphais the link twist
_Offsetis the joint angle offset in [-pi,pi]
_Minis the joint angle lower bound in [-pi,pi] (-pi by default)
_Maxis the joint angle higher bound in [-pi,pi] (pi by default)

Definition at line 128 of file iDyn.cpp.

◆ iDynLink() [3/6]

iCub::iDyn::iDynLink::iDynLink ( const double  _m,
const yarp::sig::Matrix &  _HC,
const yarp::sig::Matrix &  _I,
double  _A,
double  _D,
double  _Alpha,
double  _Offset,
double  _Min = -iCub::ctrl::CTRL_PI,
double  _Max = iCub::ctrl::CTRL_PI 
)

Constructor, with initialization of kinematic and dynamic data.

Parameters
_mis the Link mass
_HCis the rototranslation matrix from the link frame to the center of mass
_Iis the Inertia matrix
_Ais the Link length
_Dis the Link offset
_Alphais the Link twist
_Offsetis the joint angle offset in [-pi,pi]
_Minis the joint angle lower bound in [-pi,pi] (-pi by default)
_Maxis the joint angle higher bound in [-pi,pi] (pi by default)

◆ iDynLink() [4/6]

iCub::iDyn::iDynLink::iDynLink ( const double  _m,
const yarp::sig::Vector &  _C,
const yarp::sig::Matrix &  _I,
double  _A,
double  _D,
double  _Alpha,
double  _Offset,
double  _Min = -iCub::ctrl::CTRL_PI,
double  _Max = iCub::ctrl::CTRL_PI 
)

Constructor, with initialization of kinematic and dynamic data.

Parameters
_mis the Link mass
_Cis the distance vector of COM wrt the link frame, the orientation of COM is the same of the link
_Iis the Inertia matrix
_Ais the Link length
_Dis the Link offset
_Alphais the Link twist
_Offsetis the joint angle offset in [-pi,pi]
_Minis the joint angle lower bound in [-pi,pi] (-pi by default)
_Maxis the joint angle higher bound in [-pi,pi] (pi by default)

◆ iDynLink() [5/6]

iDynLink::iDynLink ( const double  _m,
const double  _rCx,
const double  _rCy,
const double  _rCz,
const double  Ixx,
const double  Ixy,
const double  Ixz,
const double  Iyy,
const double  Iyz,
const double  Izz,
double  _A,
double  _D,
double  _Alpha,
double  _Offset,
double  _Min = -iCub::ctrl::CTRL_PI,
double  _Max = iCub::ctrl::CTRL_PI 
)

Constructor, with initialization of kinematic and dynamic data.

Parameters
_mis the Link mass
_rCxis the x component of the distance vector of COM wrt the link frame
_rCyis the y component of the distance vector of COM wrt the link frame
_rCzis the z component of the distance vector of COM wrt the link frame
Ixxis the xx component of the inertia matrix of the link
Ixyis the xy component of the inertia matrix of the link
Ixzis the xz component of the inertia matrix of the link
Iyyis the yy component of the inertia matrix of the link
Iyzis the yz component of the inertia matrix of the link
Izzis the zz component of the inertia matrix of the link
_Ais the Link length
_Dis the Link offset
_Alphais the Link twist
_Offsetis the joint angle offset in [-pi,pi]
_Minis the joint angle lower bound in [-pi,pi] (-pi by default)
_Maxis the joint angle higher bound in [-pi,pi] (pi by default)

Definition at line 152 of file iDyn.cpp.

◆ iDynLink() [6/6]

iDynLink::iDynLink ( const iDynLink c)

Copy constructor.

Definition at line 161 of file iDyn.cpp.

Member Function Documentation

◆ clone()

void iDynLink::clone ( const iDynLink l)
protectedvirtual

Clone function.

Definition at line 173 of file iDyn.cpp.

◆ getCOM()

const Matrix & iDynLink::getCOM ( ) const
virtual

Get the roto-translational matrix describing the COM.

Returns
HC the roto-translational matrix of the COM (4x4)

Reimplemented from iCub::iKin::iKinLink.

Definition at line 412 of file iDyn.cpp.

◆ getD2Ang()

double iDynLink::getD2Ang ( ) const
virtual

Get the joint acceleration.

Returns
ddq =d2q the joint acceleration

Reimplemented from iCub::iKin::iKinLink.

Definition at line 414 of file iDyn.cpp.

◆ getDAng()

double iDynLink::getDAng ( ) const
virtual

Get the joint velocity.

Returns
dq the joint velocity

Reimplemented from iCub::iKin::iKinLink.

Definition at line 413 of file iDyn.cpp.

◆ getdW()

const Vector & iDynLink::getdW ( ) const
virtual

Get the angular acceleration of the link.

Returns
dW the angular acceleration of the link (3x1)

Reimplemented from iCub::iKin::iKinLink.

Definition at line 416 of file iDyn.cpp.

◆ getdWM()

const Vector & iDynLink::getdWM ( ) const
virtual

Get the angular acceleration of the motor.

Returns
dWM the angular acceleration of the motor (3x1)

Reimplemented from iCub::iKin::iKinLink.

Definition at line 417 of file iDyn.cpp.

◆ getForce()

const Vector & iDynLink::getForce ( ) const
virtual

Get the link force.

Returns
Mu the link force (3x1)

Reimplemented from iCub::iKin::iKinLink.

Definition at line 422 of file iDyn.cpp.

◆ getFs()

double iDynLink::getFs ( ) const
virtual

Reimplemented from iCub::iKin::iKinLink.

Definition at line 410 of file iDyn.cpp.

◆ getFv()

double iDynLink::getFv ( ) const
virtual

Reimplemented from iCub::iKin::iKinLink.

Definition at line 411 of file iDyn.cpp.

◆ getH()

const Matrix & iDynLink::getH ( )

Redefine the getH of iKinLink so that it does not compute the H matrix if the joint angles have not changed since the last call to this method.

Definition at line 445 of file iDyn.cpp.

◆ getIm()

double iDynLink::getIm ( ) const
virtual

Reimplemented from iCub::iKin::iKinLink.

Definition at line 408 of file iDyn.cpp.

◆ getInertia()

const Matrix & iDynLink::getInertia ( ) const
virtual

Get the inertia matrix.

Returns
I the inertia matrix (4x4)

Reimplemented from iCub::iKin::iKinLink.

Definition at line 406 of file iDyn.cpp.

◆ getKr()

double iDynLink::getKr ( ) const
virtual

Reimplemented from iCub::iKin::iKinLink.

Definition at line 409 of file iDyn.cpp.

◆ getLinAcc()

const Vector & iDynLink::getLinAcc ( ) const
virtual

Get the linear acceleration of the link.

Returns
ddpC the linear acceleration of the link (3x1)

Reimplemented from iCub::iKin::iKinLink.

Definition at line 420 of file iDyn.cpp.

◆ getLinAccC()

const Vector & iDynLink::getLinAccC ( ) const
virtual

Get the linear acceleration of the COM.

Returns
ddpC the linear acceleration of the COM (3x1)

Reimplemented from iCub::iKin::iKinLink.

Definition at line 421 of file iDyn.cpp.

◆ getLinVel()

const Vector & iDynLink::getLinVel ( ) const
virtual

Gets the linear velocity of the link.

Returns
current link velocity (the computation is not implemented at the moment)

Reimplemented from iCub::iKin::iKinLink.

Definition at line 418 of file iDyn.cpp.

◆ getLinVelC()

const Vector & iDynLink::getLinVelC ( ) const
virtual

Gets the linear velocity of the COM.

Returns
current COM velocity (the computation is not implemented at the moment)

Reimplemented from iCub::iKin::iKinLink.

Definition at line 419 of file iDyn.cpp.

◆ getMass()

double iDynLink::getMass ( ) const
virtual

Get the link mass.

Returns
m the link mass

Reimplemented from iCub::iKin::iKinLink.

Definition at line 407 of file iDyn.cpp.

◆ getMoment()

const Vector & iDynLink::getMoment ( ) const
virtual

Get the link moment.

Returns
Mu the link moment (3x1)

Reimplemented from iCub::iKin::iKinLink.

Definition at line 423 of file iDyn.cpp.

◆ getR()

const Matrix & iDynLink::getR ( )
virtual

Get the link rotational matrix, from the Denavit-Hartenberg matrix.

Returns
R the link rotational matrix (3x3)

Reimplemented from iCub::iKin::iKinLink.

Definition at line 439 of file iDyn.cpp.

◆ getr()

const Vector & iDynLink::getr ( bool  proj = false)

Get the link distance vector r, or r*R if projection is specified.

Parameters
projtrue/false enables or disable the projection along the rotation of the link
Returns
r if false, r*R if true

Definition at line 451 of file iDyn.cpp.

◆ getRC()

const Matrix & iDynLink::getRC ( ) const

Get the link COM's rotational matrix, from the COM matrix.

Returns
R the COM rotational matrix (3x3)

Definition at line 425 of file iDyn.cpp.

◆ getrC()

const Vector & iDynLink::getrC ( bool  proj = false) const

Get the COM distance vector rC, or rC*R if projection is specified.

Parameters
projtrue/false enables or disable the projection along the rotation of the link
Returns
rC if false, rC*R if true

Definition at line 459 of file iDyn.cpp.

◆ getTorque()

double iDynLink::getTorque ( ) const
virtual

Get the joint torque.

Returns
Tau the joint torque

Reimplemented from iCub::iKin::iKinLink.

Definition at line 424 of file iDyn.cpp.

◆ getW()

const Vector & iDynLink::getW ( ) const
virtual

Get the angular velocity of the link.

Returns
w the angular velocity of the link (3x1)

Reimplemented from iCub::iKin::iKinLink.

Definition at line 415 of file iDyn.cpp.

◆ operator=()

iDynLink & iDynLink::operator= ( const iDynLink c)

Overload of operator =.

Definition at line 167 of file iDyn.cpp.

◆ setAng()

double iDynLink::setAng ( const double  _teta)

Sets the joint position (position constraints are evaluated).

Parameters
_tetais the new angle value
Returns
current joint angle

Definition at line 262 of file iDyn.cpp.

◆ setAngPosVelAcc()

void iDynLink::setAngPosVelAcc ( const double  _teta,
const double  _dteta,
const double  _ddteta 
)

Sets the joint angle position, velocity, acceleration.

constraints are automatically checked if present.

Parameters
_tetais the new position value
_dtetais the new velocity value
_ddtetais the new acceleration value

Definition at line 280 of file iDyn.cpp.

◆ setCOM() [1/3]

void iDynLink::setCOM ( const double  _rCx,
const double  _rCy,
const double  _rCz 
)

Set the roto-translation matrix from i to COM, where the rotational part is and identity matrix, and the traslation is specified by the three parameters.

Parameters
_rCxis the x component of the distance vector of COM wrt the link frame
_rCyis the y component of the distance vector of COM wrt the link frame
_rCzis the z component of the distance vector of COM wrt the link frame

Definition at line 329 of file iDyn.cpp.

◆ setCOM() [2/3]

bool iDynLink::setCOM ( const yarp::sig::Matrix &  _HC)
virtual

Set the roto-translation matrix from i to COM.

Parameters
_HCis the roto-translational matrix describing the rotation of the link reference frame w.r.t. the COM and the distance vector bewteen them
Returns
true if operation is successful (ie matrix size is correct), false otherwise

Reimplemented from iCub::iKin::iKinLink.

Definition at line 287 of file iDyn.cpp.

◆ setCOM() [3/3]

bool iDynLink::setCOM ( const yarp::sig::Vector &  _rC)
virtual

Set the distance vector from i to COM; the rotation is not modified (set to identity as default)

Parameters
_rCis distance vector bewteen the link reference frame and the COM
Returns
true if operation is successful (ie vector size is correct), false otherwise

Reimplemented from iCub::iKin::iKinLink.

Definition at line 308 of file iDyn.cpp.

◆ setD2Ang()

double iDynLink::setD2Ang ( const double  _ddteta)
virtual

Sets the joint acceleration.

Parameters
_ddtetais the new acceleration value
Returns
current joint acceleration (acceleration constraints can be evaluated - not done at the moment)

Reimplemented from iCub::iKin::iKinLink.

Definition at line 274 of file iDyn.cpp.

◆ setDAng()

double iDynLink::setDAng ( const double  _dteta)
virtual

Sets the joint velocity.

Parameters
_dtetais the new velocity value
Returns
current joint velocity (velocity constraints can be evaluated - not done at the moment)

Reimplemented from iCub::iKin::iKinLink.

Definition at line 268 of file iDyn.cpp.

◆ setDynamicParameters() [1/2]

bool iDynLink::setDynamicParameters ( const double  _m,
const yarp::sig::Matrix &  _HC,
const yarp::sig::Matrix &  _I 
)
virtual

Set the dynamic parameters of the Link.

Parameters
_mis the Link mass
_HCis the rototranslation matrix from the link frame to the center of mass
_Iis the Inertia matrix
Returns
true if operation is successful (ie matrices size is correct), false otherwise

Reimplemented from iCub::iKin::iKinLink.

Definition at line 219 of file iDyn.cpp.

◆ setDynamicParameters() [2/2]

bool iDynLink::setDynamicParameters ( const double  _m,
const yarp::sig::Matrix &  _HC,
const yarp::sig::Matrix &  _I,
const double  _kr,
const double  _Fv,
const double  _Fs,
const double  _Im 
)
virtual

Set the dynamic parameters of both Link and motor.

Parameters
_mis the Link mass
_HCis the rototranslation matrix from the link frame to the center of mass
_Iis the Inertia matrix
_kris the rotor constant
_Fvis the viscous friction constant
_Fsis the static friction constant
_Imis the rotor inertia
Returns
true if operation is successful (ie matrices size is correct), false otherwise

Reimplemented from iCub::iKin::iKinLink.

Definition at line 209 of file iDyn.cpp.

◆ setForce()

bool iDynLink::setForce ( const yarp::sig::Vector &  _F)

Sets the joint force, in the link frame: F^i_i.

Parameters
_Fis the measured/computed force
Returns
true if operation is successful (ie vector size is correct), false otherwise

Definition at line 340 of file iDyn.cpp.

◆ setForceMoment()

bool iDynLink::setForceMoment ( const yarp::sig::Vector &  _F,
const yarp::sig::Vector &  _Mu 
)

Sets the joint force and moment, in the link frame: F^i_i , Mu^i_i.

Parameters
_Fis the measured/computed force
_Muis the measured/computed moment
Returns
true if operation is successful (ie vectors size is correct), false otherwise

Definition at line 370 of file iDyn.cpp.

◆ setInertia() [1/2]

void iDynLink::setInertia ( const double  Ixx,
const double  Ixy,
const double  Ixz,
const double  Iyy,
const double  Iyz,
const double  Izz 
)

Sets the link inertia matrix by setting the 6 inertial parameters.

Parameters
Ixxis the xx component of the inertia matrix of the link
Ixyis the xy component of the inertia matrix of the link
Ixzis the xz component of the inertia matrix of the link
Iyyis the yy component of the inertia matrix of the link
Iyzis the yz component of the inertia matrix of the link
Izzis the zz component of the inertia matrix of the link

Definition at line 246 of file iDyn.cpp.

◆ setInertia() [2/2]

bool iDynLink::setInertia ( const yarp::sig::Matrix &  _I)
virtual

Sets the link inertia.

Parameters
_Iis the inertia matrix
Returns
true if operation is successful (ie matrices size is correct), false otherwise

Reimplemented from iCub::iKin::iKinLink.

Definition at line 231 of file iDyn.cpp.

◆ setMass()

void iDynLink::setMass ( const double  _m)
virtual

Sets the link mass.

Parameters
_mis the mass

Reimplemented from iCub::iKin::iKinLink.

Definition at line 257 of file iDyn.cpp.

◆ setMoment()

bool iDynLink::setMoment ( const yarp::sig::Vector &  _Mu)
virtual

Sets the joint moment, in the link frame: Mu^i_i.

Parameters
_Muis the measured/computed moment
Returns
true if operation is successful (ie vector size is correct), false otherwise

Reimplemented from iCub::iKin::iKinLink.

Definition at line 355 of file iDyn.cpp.

◆ setStaticParameters()

bool iDynLink::setStaticParameters ( const double  _m,
const yarp::sig::Matrix &  _HC 
)
virtual

Set the dynamic parameters of the Link if the chain is in a static situation (inertia is null).

Parameters
_mis the Link mass
_HCis the rototranslation matrix from the link frame to the center of mass
Returns
true if operation is successful (ie matrices size is correct), false otherwise

Reimplemented from iCub::iKin::iKinLink.

Definition at line 225 of file iDyn.cpp.

◆ setTorque()

void iDynLink::setTorque ( const double  _Tau)
virtual

Sets the joint moment, in the link frame: Tau_i.

Parameters
_Tauis the measured/computed moment

Reimplemented from iCub::iKin::iKinLink.

Definition at line 375 of file iDyn.cpp.

◆ updateHstore()

void iDynLink::updateHstore ( )
protectedvirtual

Definition at line 427 of file iDyn.cpp.

◆ zero()

void iDynLink::zero ( void  )

Set all dynamic parameters to zero.

Definition at line 380 of file iDyn.cpp.

Friends And Related Function Documentation

◆ iDynChain

friend class iDynChain
friend

Definition at line 119 of file iDyn.h.

◆ OneLinkNewtonEuler

friend class OneLinkNewtonEuler
friend

Definition at line 120 of file iDyn.h.

Member Data Documentation

◆ ddp

yarp::sig::Vector iCub::iDyn::iDynLink::ddp
protected

1x3, d2p=ddp^i_i linear acceleration of frame i

Definition at line 157 of file iDyn.h.

◆ ddpC

yarp::sig::Vector iCub::iDyn::iDynLink::ddpC
protected

1x3, d2p=ddp^i_{C_i} linear acceleration of center of mass C_i

Definition at line 159 of file iDyn.h.

◆ ddq

double iCub::iDyn::iDynLink::ddq
protected

ddq=d2q, joint acc

Definition at line 144 of file iDyn.h.

◆ dp

yarp::sig::Vector iCub::iDyn::iDynLink::dp
protected

1x3, dp^i_i linear velocity of frame i

Definition at line 153 of file iDyn.h.

◆ dpC

yarp::sig::Vector iCub::iDyn::iDynLink::dpC
protected

1x3, dp^i_{C_i} linear velocity of center of mass C_i

Definition at line 155 of file iDyn.h.

◆ dq

double iCub::iDyn::iDynLink::dq
protected

dq, joint vel

Definition at line 142 of file iDyn.h.

◆ dw

yarp::sig::Vector iCub::iDyn::iDynLink::dw
protected

1x3, dw^i_i angular acceleration

Definition at line 148 of file iDyn.h.

◆ dwM

yarp::sig::Vector iCub::iDyn::iDynLink::dwM
protected

1x3, dw^{i-1}_{m_i} angular acceleration of rotor

Definition at line 150 of file iDyn.h.

◆ F

yarp::sig::Vector iCub::iDyn::iDynLink::F
protected

1x3, f^i_i force

Definition at line 162 of file iDyn.h.

◆ Fs

double iCub::iDyn::iDynLink::Fs
protected

F_{s,i} static friction.

Definition at line 177 of file iDyn.h.

◆ Fv

double iCub::iDyn::iDynLink::Fv
protected

F_{v,i} viscous friction.

Definition at line 175 of file iDyn.h.

◆ H_store

yarp::sig::Matrix iCub::iDyn::iDynLink::H_store
protected

Definition at line 124 of file iDyn.h.

◆ H_store_valid

bool iCub::iDyn::iDynLink::H_store_valid
protected

Definition at line 129 of file iDyn.h.

◆ HC

yarp::sig::Matrix iCub::iDyn::iDynLink::HC
protected

4x4, H^i_{C_i} = R^i_{C_i}, r^i_{i,C_i}, roto-translation matrix from i to Ci, constant

Definition at line 134 of file iDyn.h.

◆ I

yarp::sig::Matrix iCub::iDyn::iDynLink::I
protected

3x3, I^i_i, inertia matrix, constant

Definition at line 140 of file iDyn.h.

◆ Im

double iCub::iDyn::iDynLink::Im
protected

I_{m_i} rotor inertia.

Definition at line 171 of file iDyn.h.

◆ kr

double iCub::iDyn::iDynLink::kr
protected

k_{r,i} inertia constant

Definition at line 173 of file iDyn.h.

◆ m

double iCub::iDyn::iDynLink::m
protected

m_i, mass

Definition at line 132 of file iDyn.h.

◆ Mu

yarp::sig::Vector iCub::iDyn::iDynLink::Mu
protected

1x3, mu^i_i moment

Definition at line 164 of file iDyn.h.

◆ r_proj_store

yarp::sig::Vector iCub::iDyn::iDynLink::r_proj_store
protected

Definition at line 127 of file iDyn.h.

◆ R_store

yarp::sig::Matrix iCub::iDyn::iDynLink::R_store
protected

Definition at line 125 of file iDyn.h.

◆ r_store

yarp::sig::Vector iCub::iDyn::iDynLink::r_store
protected

Definition at line 126 of file iDyn.h.

◆ RC

yarp::sig::Matrix iCub::iDyn::iDynLink::RC
protected

3x3, R^i_{C_i} rotational part of HC, constant

Definition at line 136 of file iDyn.h.

◆ rc

yarp::sig::Vector iCub::iDyn::iDynLink::rc
protected

3x1, r^i_{i,C_i}, translational part of HC, constant

Definition at line 138 of file iDyn.h.

◆ rc_proj

yarp::sig::Vector iCub::iDyn::iDynLink::rc_proj
protected

Definition at line 138 of file iDyn.h.

◆ Tau

double iCub::iDyn::iDynLink::Tau
protected

tau_i joint torque

Definition at line 166 of file iDyn.h.

◆ w

yarp::sig::Vector iCub::iDyn::iDynLink::w
protected

1x3, w^i_i angular velocity

Definition at line 146 of file iDyn.h.


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