iCub-main
|
A class for connecting UpperTorso and LowerTorso of the iCub, then getting the WholeBody in the dynamic framework. More...
#include <iDynBody.h>
Public Member Functions | |
iCubWholeBody (version_tag _tag, const NewEulMode mode=DYNAMIC, unsigned int verbose=iCub::skinDynLib::VERBOSE) | |
Constructor: build the nodes and creates the whole body. More... | |
~iCubWholeBody () | |
Standard destructor. More... | |
void | attachLowerTorso (const yarp::sig::Vector &FM_right_leg, const yarp::sig::Vector &FM_left_leg) |
Connect upper and lower torso: this procedure handles the exchange of kinematic and wrench variables between the two parts. More... | |
bool | computeCOM () |
Performs the computation of the center of mass (COM) of the whole iCub. More... | |
bool | getCOM (iCub::skinDynLib::BodyPart which_part, yarp::sig::Vector &COM, double &mass) |
Retrieves the result of the last COM computation. More... | |
bool | getAllVelocities (yarp::sig::Vector &vel) |
Retrieves a vector containing the velocities of all the iCub joints, ordered in this way: left leg (6), right leg (6), torso (3), left arm (7), right arm (7), head (3). More... | |
bool | getAllPositions (yarp::sig::Vector &pos) |
Retrieves a vector containing the anglular position of all the iCub joints, ordered in this way: left leg (6), right leg (6), torso (3), left arm (7), right arm (7), head (3). More... | |
bool | EXPERIMENTAL_getCOMjacobian (iCub::skinDynLib::BodyPart which_part, yarp::sig::Matrix &jac) |
Retrieves the result of the last COM jacobian computation. More... | |
bool | EXPERIMENTAL_computeCOMjacobian () |
Performs the computation of the center of mass jacobian of the whole iCub. More... | |
bool | EXPERIMENTAL_getCOMvelocity (iCub::skinDynLib::BodyPart which_part, yarp::sig::Vector &vel, yarp::sig::Vector &dq) |
Retrieves a 3x1 vector containing the velocity of the robot COM. More... | |
Public Attributes | |
iCubUpperTorso * | upperTorso |
pointer to UpperTorso = head + right arm + left arm More... | |
iCubLowerTorso * | lowerTorso |
pointer to LowerTorso = torso + right leg + left leg More... | |
double | whole_mass |
masses and position of the center of mass of the iCub sub-parts More... | |
double | lower_mass |
double | upper_mass |
yarp::sig::Vector | whole_COM |
yarp::sig::Vector | upper_COM |
yarp::sig::Vector | lower_COM |
yarp::sig::Matrix | COM_Jacob |
double | sw_getcom |
Protected Attributes | |
RigidBodyTransformation * | rbt |
the rigid body transformation linking the UpperTorso node with the final link of the iCubTorsoDyn chain, defining the connection between Upper and Lower Torso More... | |
version_tag | tag |
A class for connecting UpperTorso and LowerTorso of the iCub, then getting the WholeBody in the dynamic framework.
It is merely a container: pointers to upper and lower torso objects are accessible, so all public methods of the two objects can be used.
Definition at line 1471 of file iDynBody.h.
iCubWholeBody::iCubWholeBody | ( | version_tag | _tag, |
const NewEulMode | mode = DYNAMIC , |
||
unsigned int | verbose = iCub::skinDynLib::VERBOSE |
||
) |
Constructor: build the nodes and creates the whole body.
mode | the computation mode: DYNAMIC/STATIC/DYNAMIC_W_ROTOR/DYNAMIC_CORIOLIS_GRAVITY |
verbose | the verbosity level: NO_VERBOSE/VERBOSE/MORE_VERBOSE |
Definition at line 2400 of file iDynBody.cpp.
iCubWholeBody::~iCubWholeBody | ( | ) |
Standard destructor.
Definition at line 2414 of file iDynBody.cpp.
void iCubWholeBody::attachLowerTorso | ( | const yarp::sig::Vector & | FM_right_leg, |
const yarp::sig::Vector & | FM_left_leg | ||
) |
Connect upper and lower torso: this procedure handles the exchange of kinematic and wrench variables between the two parts.
Definition at line 2421 of file iDynBody.cpp.
bool iCubWholeBody::computeCOM | ( | ) |
Performs the computation of the center of mass (COM) of the whole iCub.
Definition at line 2473 of file iDynBody.cpp.
bool iCubWholeBody::EXPERIMENTAL_computeCOMjacobian | ( | ) |
Performs the computation of the center of mass jacobian of the whole iCub.
Definition at line 2675 of file iDynBody.cpp.
bool iCubWholeBody::EXPERIMENTAL_getCOMjacobian | ( | iCub::skinDynLib::BodyPart | which_part, |
yarp::sig::Matrix & | jac | ||
) |
Retrieves the result of the last COM jacobian computation.
jac | the jacobian matrix |
Definition at line 2746 of file iDynBody.cpp.
bool iCubWholeBody::EXPERIMENTAL_getCOMvelocity | ( | iCub::skinDynLib::BodyPart | which_part, |
yarp::sig::Vector & | vel, | ||
yarp::sig::Vector & | dq | ||
) |
Retrieves a 3x1 vector containing the velocity of the robot COM.
vel | the velocity vector |
Definition at line 3016 of file iDynBody.cpp.
bool iCubWholeBody::getAllPositions | ( | yarp::sig::Vector & | pos | ) |
Retrieves a vector containing the anglular position of all the iCub joints, ordered in this way: left leg (6), right leg (6), torso (3), left arm (7), right arm (7), head (3).
pos | the position vector (size = 32) |
Definition at line 2607 of file iDynBody.cpp.
bool iCubWholeBody::getAllVelocities | ( | yarp::sig::Vector & | vel | ) |
Retrieves a vector containing the velocities of all the iCub joints, ordered in this way: left leg (6), right leg (6), torso (3), left arm (7), right arm (7), head (3).
vel | the velocities vector (size = 32) |
Definition at line 2629 of file iDynBody.cpp.
bool iCubWholeBody::getCOM | ( | iCub::skinDynLib::BodyPart | which_part, |
yarp::sig::Vector & | COM, | ||
double & | mass | ||
) |
Retrieves the result of the last COM computation.
which_part | selects the result (e.g: LEFT_LEG, RIGHT_ARM, ALL, etc..) |
COM | the computed COM of the selected part |
mass | the computed mass of the selected part |
Definition at line 2511 of file iDynBody.cpp.
yarp::sig::Matrix iCub::iDyn::iCubWholeBody::COM_Jacob |
Definition at line 1493 of file iDynBody.h.
yarp::sig::Vector iCub::iDyn::iCubWholeBody::lower_COM |
Definition at line 1492 of file iDynBody.h.
double iCub::iDyn::iCubWholeBody::lower_mass |
Definition at line 1488 of file iDynBody.h.
iCubLowerTorso* iCub::iDyn::iCubWholeBody::lowerTorso |
pointer to LowerTorso = torso + right leg + left leg
Definition at line 1484 of file iDynBody.h.
|
protected |
the rigid body transformation linking the UpperTorso node with the final link of the iCubTorsoDyn chain, defining the connection between Upper and Lower Torso
Definition at line 1476 of file iDynBody.h.
double iCub::iDyn::iCubWholeBody::sw_getcom |
Definition at line 1494 of file iDynBody.h.
|
protected |
Definition at line 1477 of file iDynBody.h.
yarp::sig::Vector iCub::iDyn::iCubWholeBody::upper_COM |
Definition at line 1491 of file iDynBody.h.
double iCub::iDyn::iCubWholeBody::upper_mass |
Definition at line 1489 of file iDynBody.h.
iCubUpperTorso* iCub::iDyn::iCubWholeBody::upperTorso |
pointer to UpperTorso = head + right arm + left arm
Definition at line 1482 of file iDynBody.h.
yarp::sig::Vector iCub::iDyn::iCubWholeBody::whole_COM |
Definition at line 1490 of file iDynBody.h.
double iCub::iDyn::iCubWholeBody::whole_mass |
masses and position of the center of mass of the iCub sub-parts
Definition at line 1487 of file iDynBody.h.