iCub-main
|
A class for setting a virtual final link: this is useful to initialize the backward phase of Newton-Euler's method, by setting F, Mu; H is an identity matrix, while ddpC=ddp; Note that this is a virtual link, since there's no iDynLink attached: it is just necessary to make the recursive Newton-Euler computations. More...
#include <iDynInv.h>
Public Member Functions | |
FinalLinkNewtonEuler (const yarp::sig::Matrix &_HN, const NewEulMode _mode, unsigned int verb=iCub::skinDynLib::NO_VERBOSE) | |
Default constructor. More... | |
FinalLinkNewtonEuler (const yarp::sig::Matrix &_HN, const yarp::sig::Vector &_F, const yarp::sig::Vector &_Mu, const NewEulMode _mode, unsigned int verb=iCub::skinDynLib::NO_VERBOSE) | |
Constructor, initializing the final frame data. More... | |
bool | setAsFinal (const yarp::sig::Vector &_F, const yarp::sig::Vector &_Mu) |
Set the final frame data. More... | |
bool | setAsFinal (const yarp::sig::Vector &_w, const yarp::sig::Vector &_dw, const yarp::sig::Vector &_ddp) |
Set the final frame data. More... | |
const yarp::sig::Vector & | getForce () const |
const yarp::sig::Vector & | getMoment (bool isBase=false) const |
const yarp::sig::Vector & | getAngVel () const |
const yarp::sig::Vector & | getAngAcc () const |
const yarp::sig::Vector & | getAngAccM () const |
const yarp::sig::Vector & | getLinAcc () const |
const yarp::sig::Vector & | getLinAccC () const |
double | getTorque () const |
const yarp::sig::Matrix & | getH () |
const yarp::sig::Matrix & | getR () |
const yarp::sig::Matrix & | getRC () |
double | getIm () const |
double | getFs () const |
double | getFv () const |
double | getD2q () const |
double | getDq () const |
double | getKr () const |
double | getMass () const |
const yarp::sig::Matrix & | getInertia () const |
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... | |
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 | setMeasuredFMu (const yarp::sig::Vector &_F, const yarp::sig::Vector &_Mu) |
Set measured force and moment in a 'sensor' frame: this is useful to initialize the forward phase of the Inverse Newton-Euler's method, by setting F and Mu, measured by the corresponding F/T sensor. 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 |
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 | |
yarp::sig::Vector | w |
initial angular velocity More... | |
yarp::sig::Vector | dw |
initial angular acceleration More... | |
yarp::sig::Vector | ddp |
initial linear acceleration More... | |
yarp::sig::Vector | F |
final force More... | |
yarp::sig::Vector | Mu |
final moment More... | |
yarp::sig::Matrix | HN |
final roto-traslation (if necessary) More... | |
const yarp::sig::Matrix | eye4x4 |
const yarp::sig::Matrix | eye3x3 |
const yarp::sig::Matrix | zeros3x3 |
const yarp::sig::Vector | zeros3 |
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::iDynLink * | link |
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... | |
A class for setting a virtual final link: this is useful to initialize the backward phase of Newton-Euler's method, by setting F, Mu; H is an identity matrix, while ddpC=ddp; Note that this is a virtual link, since there's no iDynLink attached: it is just necessary to make the recursive Newton-Euler computations.
FinalLinkNewtonEuler::FinalLinkNewtonEuler | ( | const yarp::sig::Matrix & | _HN, |
const NewEulMode | _mode, | ||
unsigned int | verb = iCub::skinDynLib::NO_VERBOSE |
||
) |
Default constructor.
_mode | the analysis mode (static/dynamic) |
verb | flag for verbosity |
Definition at line 1011 of file iDynInv.cpp.
iCub::iDyn::FinalLinkNewtonEuler::FinalLinkNewtonEuler | ( | const yarp::sig::Matrix & | _HN, |
const yarp::sig::Vector & | _F, | ||
const yarp::sig::Vector & | _Mu, | ||
const NewEulMode | _mode, | ||
unsigned int | verb = iCub::skinDynLib::NO_VERBOSE |
||
) |
Constructor, initializing the final frame data.
_F | the final force |
_Mu | the final moment |
_mode | the analysis mode (static/dynamic) |
verb | flag for verbosity |
|
virtual |
Reimplemented from iCub::iDyn::OneLinkNewtonEuler.
Definition at line 1128 of file iDynInv.cpp.
|
virtual |
Reimplemented from iCub::iDyn::OneLinkNewtonEuler.
Definition at line 1129 of file iDynInv.cpp.
|
virtual |
Reimplemented from iCub::iDyn::OneLinkNewtonEuler.
Definition at line 1127 of file iDynInv.cpp.
|
virtual |
Reimplemented from iCub::iDyn::OneLinkNewtonEuler.
Definition at line 1139 of file iDynInv.cpp.
|
virtual |
Reimplemented from iCub::iDyn::OneLinkNewtonEuler.
Definition at line 1140 of file iDynInv.cpp.
|
virtual |
Reimplemented from iCub::iDyn::OneLinkNewtonEuler.
Definition at line 1123 of file iDynInv.cpp.
|
virtual |
Reimplemented from iCub::iDyn::OneLinkNewtonEuler.
Definition at line 1137 of file iDynInv.cpp.
|
virtual |
Reimplemented from iCub::iDyn::OneLinkNewtonEuler.
Definition at line 1138 of file iDynInv.cpp.
|
virtual |
Reimplemented from iCub::iDyn::OneLinkNewtonEuler.
Definition at line 1133 of file iDynInv.cpp.
|
virtual |
Reimplemented from iCub::iDyn::OneLinkNewtonEuler.
Definition at line 1136 of file iDynInv.cpp.
|
virtual |
Reimplemented from iCub::iDyn::OneLinkNewtonEuler.
Definition at line 1143 of file iDynInv.cpp.
|
virtual |
Reimplemented from iCub::iDyn::OneLinkNewtonEuler.
Definition at line 1141 of file iDynInv.cpp.
|
virtual |
Reimplemented from iCub::iDyn::OneLinkNewtonEuler.
Definition at line 1130 of file iDynInv.cpp.
|
virtual |
Reimplemented from iCub::iDyn::OneLinkNewtonEuler.
Definition at line 1131 of file iDynInv.cpp.
|
virtual |
Reimplemented from iCub::iDyn::OneLinkNewtonEuler.
Definition at line 1142 of file iDynInv.cpp.
|
virtual |
Reimplemented from iCub::iDyn::OneLinkNewtonEuler.
Definition at line 1125 of file iDynInv.cpp.
|
virtual |
Reimplemented from iCub::iDyn::OneLinkNewtonEuler.
Definition at line 1134 of file iDynInv.cpp.
|
virtual |
Reimplemented from iCub::iDyn::OneLinkNewtonEuler.
Definition at line 1144 of file iDynInv.cpp.
|
virtual |
Reimplemented from iCub::iDyn::OneLinkNewtonEuler.
Definition at line 1135 of file iDynInv.cpp.
|
virtual |
Reimplemented from iCub::iDyn::OneLinkNewtonEuler.
Definition at line 1145 of file iDynInv.cpp.
|
virtual |
Reimplemented from iCub::iDyn::OneLinkNewtonEuler.
Definition at line 1132 of file iDynInv.cpp.
|
virtual |
Set the OneLink angular acceleration (dw), ie the corresponding iDynLink angular acceleration (dw) (in the child classes derived from OneLink, it depends)
_dw | angular acceleration |
Reimplemented from iCub::iDyn::OneLinkNewtonEuler.
Definition at line 1190 of file iDynInv.cpp.
|
virtual |
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)
_dwM | angular acceleration of the motor |
Reimplemented from iCub::iDyn::OneLinkNewtonEuler.
Definition at line 1213 of file iDynInv.cpp.
|
virtual |
Set the OneLink angular velocity (w), ie the corresponding iDynLink angular velocity (w) (in the child classes derived from OneLink, it depends)
_w | angular velocity |
Reimplemented from iCub::iDyn::OneLinkNewtonEuler.
Definition at line 1181 of file iDynInv.cpp.
|
virtual |
Set the final frame data.
_F | the final force |
_Mu | the final moment |
Reimplemented from iCub::iDyn::OneLinkNewtonEuler.
|
virtual |
Set the final frame data.
_w | the final force |
_dw | the final force |
_ddp | the final moment |
Reimplemented from iCub::iDyn::OneLinkNewtonEuler.
|
virtual |
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.
_F | a (3x1) vector of forces |
Reimplemented from iCub::iDyn::OneLinkNewtonEuler.
Definition at line 1147 of file iDynInv.cpp.
|
virtual |
Set the OneLink linear acceleration (ddp), ie the corresponding iDynLink linear acceleration (ddp) (in the child classes derived from OneLink, it depends)
_ddp | linear acceleration |
Reimplemented from iCub::iDyn::OneLinkNewtonEuler.
Definition at line 1198 of file iDynInv.cpp.
|
virtual |
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)
_ddpC | linear acceleration of the COM |
Reimplemented from iCub::iDyn::OneLinkNewtonEuler.
Definition at line 1206 of file iDynInv.cpp.
|
virtual |
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.
_Mu | a 3x1 vector of moments |
Reimplemented from iCub::iDyn::OneLinkNewtonEuler.
Definition at line 1163 of file iDynInv.cpp.
|
virtual |
Set the OneLink torque, ie the corresponding iDynLink joint torque (nothing in the child classes derived from OneLink, such as SensorLink)
_Tau | a real torque value |
Reimplemented from iCub::iDyn::OneLinkNewtonEuler.
Definition at line 1179 of file iDynInv.cpp.
|
virtual |
Useful to print some information.
Reimplemented from iCub::iDyn::OneLinkNewtonEuler.
Definition at line 1103 of file iDynInv.cpp.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |