iCub class \ More...

Public Types | |
enum | { torso_yaw =0, torso_roll, torso_pitch, left_shoulder_pitch, left_shoulder_roll, left_shoulder_yaw, left_elbow, left_wrist_prosup, left_wrist_pitch, left_wrist_yaw, left_hand_finger, left_thumb_oppose, left_thumb_proximal, left_thumb_distal, left_index_proximal, left_index_distal, left_middle_proximal, left_middle_distal, left_pinky, right_shoulder_pitch, right_shoulder_roll, right_shoulder_yaw, right_elbow, right_wrist_prosup, right_wrist_pitch, right_wrist_yaw, right_hand_finger, right_thumb_oppose, right_thumb_proximal, right_thumb_distal, right_index_proximal, right_index_distal, right_middle_proximal, right_middle_distal, right_pinky, neck_pitch, neck_roll, neck_yaw, eyes_tilt, eyes_version, eyes_vergence, left_hip_pitch, left_hip_roll, left_hip_yaw, left_knee, left_ankle_pitch, left_ankle_roll, right_hip_pitch, right_hip_roll, right_hip_yaw, right_knee, right_ankle_pitch, right_ankle_roll, numOfJoints } |
Enum for referring to the iCub's joints for configurePosture. More... | |
Public Slots | |
void | blockTorso0 (bool) |
block/unblock the movements of torso0 | |
void | enableCameras (bool) |
enable/disable simuation of eye cameras | |
void | enableHead (bool) |
enable/disable simulation of objects | |
void | enableLeftArm (bool) |
enable/disable simulation of objects | |
void | enableLeftArmCartesianController () |
create/destroy a cartesian controller server | |
void | enableLeftKinematicHand (bool) |
enable/disable simulation of the left hand in kinematic simulations (enabled by default) | |
void | enableLeftLeg (bool) |
enable/disable simulation of objects | |
void | enableRightArm (bool) |
enable/disable simulation of objects | |
void | enableRightArmCartesianController () |
create/destroy a cartesian controller server | |
void | enableRightKinematicHand (bool) |
enable/disable simulation of the right hand in kinematic simulations (enabled by default) | |
void | enableRightLeg (bool) |
enable/disable simulation of objects | |
void | enableTorso (bool) |
enable/disable simulation of objects | |
bool | isBlockedTorso0 () |
bool | isEnabledCameras () |
bool | isEnabledHead () |
bool | isEnabledLeftArm () |
bool | isEnabledLeftKinematicHand () |
bool | isEnabledLeftLeg () |
bool | isEnabledRightArm () |
bool | isEnabledRightKinematicHand () |
bool | isEnabledRightLeg () |
bool | isEnabledTorso () |
Public Member Functions | |
PhyiCub (World *world, QString name, const wMatrix &tm=wMatrix::identity(), bool createServerControlBoards=true) | |
Create an iCub. | |
virtual | ~PhyiCub () |
Destroy the iCub. | |
void | configurePosture (QMap< int, real > jointSetup) |
Configure the angles of the joints (this method by-pass physics, so can lead to instability, please use carefully. | |
const QVector< WMesh * > & | covers () |
Return the Meshes representing the Covers. | |
void | doKinematicSimulation (bool k, bool clh=false, bool crh=false) |
Changes the robot model from dynamic to kinematic and vice-versa. | |
void | forceKinematicChainsUpdate (bool enable) |
Set to true to have all kinematic chains updated no matter if they are enabled or not This is set to true by the rendered to be able to render disabled objects. | |
const QVector< PhyObject * > & | headNeck () |
return the head-neck parts | |
MultiMotorController * | headNeckController () |
return the MultiMotorController for acting on head-neck joints | |
const QVector< PhyJoint * > & | headNeckJoints () |
return the head-neck joints | |
bool | isKinematic () |
Returns true if we are using the kinematic model. | |
const QVector< PhyObject * > & | leftArm () |
return the left arm parts | |
yarp::dev::ICartesianControl * | leftArmCartesianController () |
return the Cartesian Controller Interface for acting on Left Arm | |
MultiMotorController * | leftArmController () |
return the MultiMotorController for acting on left arm joints | |
const QVector< PhyJoint * > & | leftArmJoints () |
return the left arm joints inside the array the joints are arranged as follow: 0, 1, 2 -> joints on shoulder 3 -> elbow joint 4, 5, 6 -> wrist joints 7, 8, 9, 10 -> knuckles joints 11, 12, 13 -> index joints 14, 15, 16 -> middle joints 17, 18, 19 -> ring joints 20, 21, 22 -> pinky joints 23, 24, 25, 26 -> thumb joints | |
yarp::dev::IFrameGrabberImage * | leftEyeFrameGrabber () |
returns the frame grabber for the left eye | |
const QVector< PhyObject * > & | leftLeg () |
return the left leg parts | |
MultiMotorController * | leftLegController () |
return the MultiMotorController for acting on left leg joints | |
const QVector< PhyJoint * > & | leftLegJoints () |
return the left leg joints | |
virtual void | postUpdate () |
postUpdate the WObject this method is called at each step of the world just after the physic update | |
virtual void | preUpdate () |
preUpdate the WObject this method is called at each step of the world just before the physic update (after motor controllers have been updated | |
const QVector< PhyObject * > & | rightArm () |
return the rigth arm parts | |
yarp::dev::ICartesianControl * | rightArmCartesianController () |
return the Cartesian Controller Interface for acting on Right Arm | |
MultiMotorController * | rightArmController () |
return the MultiMotorController for acting on right arm joints | |
const QVector< PhyJoint * > & | rightArmJoints () |
return the rigth arm joints inside the array the joints are arranged as follow: 0, 1, 2 -> joints on shoulder 3 -> elbow joint 4, 5, 6 -> wrist joints 7, 8, 9, 10 -> knuckles joints 11, 12, 13 -> index joints 14, 15, 16 -> middle joints 17, 18, 19 -> ring joints 20, 21, 22 -> pinky joints 23, 24, 25, 26 -> thumb joints | |
yarp::dev::IFrameGrabberImage * | rightEyeFrameGrabber () |
returns the frame grabber for the right eye | |
const QVector< PhyObject * > & | rightLeg () |
return the rigth leg parts | |
MultiMotorController * | rightLegController () |
return the MultiMotorController for acting on right leg joints | |
const QVector< PhyJoint * > & | rightLegJoints () |
return the rigth leg joints | |
const QVector< PhyObject * > & | torso () |
return the torso parts | |
MultiMotorController * | torsoController () |
return the MultiMotorController for acting on torso joints | |
const QVector< PhyJoint * > & | torsoJoints () |
return the torso joints | |
![]() | |
YarpObject (World *world, QString name, const wMatrix &tm=wMatrix::identity()) | |
Create a YarpObject; The name is mandatory because it is used as root name for each devices of this object. | |
virtual | ~YarpObject () |
Destroy the YarpObject. | |
yarp::dev::PolyDriver * | polydriver (QString name) |
return the PolyDriver with the given name associated to it | |
![]() | |
WObject (World *world, QString name="unamed", const wMatrix &tm=wMatrix::identity(), bool addToWorld=true) | |
create the object and automatically put this into the world | |
virtual | ~WObject () |
destroy the Object and drop it from the world | |
QColor | color () const |
return the color of this object | |
bool | isInvisible () |
return if it is invisible | |
const wMatrix & | matrix () const |
return a reference to the transformation matrix | |
QString | name () const |
Return the name of this object. | |
void | setAlpha (int alpha) |
set the value of alpha channel (the transparency) | |
void | setColor (QColor c) |
Set the color to use on rendering. | |
void | setInvisible (bool b) |
set invisibility | |
void | setMatrix (const wMatrix &newm) |
set a new matrix | |
void | setPosition (const wVector &newpos) |
set the position specified in global coordinate frame | |
void | setPosition (real x, real y, real z) |
set the position specified in global coordinate frame | |
void | setTexture (QString textureName) |
Set the texture to use for this WObject when rendered. | |
void | setUseColorTextureOfOwner (bool b) |
set if the object will be rendered with the color and texture of our owner (if we have one) | |
QString | texture () const |
Return the texture name. | |
bool | useColorTextureOfOwner () const |
if true, we will use color and texture of our owner (if we have one) | |
World * | world () |
Return the world. | |
const World * | world () const |
Return the world (const version) | |
![]() | |
Ownable () | |
Constructor. | |
virtual | ~Ownable () |
Destructor. | |
const QList< Owned > & | owned () const |
Returns the list of objects owned by this one. | |
Ownable * | owner () const |
Returns the owner of this object. | |
void | setOwner (Ownable *owner, bool destroy=true) |
Sets the owner of this object. | |
Public Attributes | |
enum farsa::PhyiCub:: { ... } | jointNames |
Protected Slots | |
void | leftEyeChangedDesiredPosition (real wishpos) |
Configures the virtual DOF after a change in the desired position of the left eye DOF. | |
void | leftEyeChangedDesiredVelocity (real wishvel) |
Configures the virtual DOF after a change in the desired velocity of the left eye DOF. | |
void | leftEyeChangedLimits (real lowlimit, real highlimit) |
Configures the virtual DOF after a change in the limits of the left eye DOF. | |
void | leftEyeChangedPosition (real newpos) |
Configures the virtual DOF after a change in the position of the left eye DOF. | |
void | leftEyeChangedVelocity (real newvel) |
Configures the virtual DOF after a change in the velocity of the left eye DOF. | |
void | rightEyeChangedDesiredPosition (real wishpos) |
Configures the virtual DOF after a change in the desired position of the right eye DOF. | |
void | rightEyeChangedDesiredVelocity (real wishvel) |
Configures the virtual DOF after a change in the desired velocity of the right eye DOF. | |
void | rightEyeChangedLimits (real lowlimit, real highlimit) |
Configures the virtual DOF after a change in the limits of the right eye DOF. | |
void | rightEyeChangedPosition (real newpos) |
Configures the virtual DOF after a change in the position of the right eye DOF. | |
void | rightEyeChangedVelocity (real newvel) |
Configures the virtual DOF after a change in the velocity of the right eye DOF. | |
void | vergenceChangedDesiredPosition (real wishpos) |
Configures the real DOF after a change in the desired position of the vergence DOF. | |
void | vergenceChangedDesiredVelocity (real wishvel) |
Configures the real DOF after a change in the desired velocity of the vergence DOF. | |
void | vergenceChangedLimits (real lowlimit, real highlimit) |
Configures the real DOF after a change in the limits of the vergence DOF. | |
void | vergenceChangedPosition (real newpos) |
Configures the real DOF after a change in the position of the vergence DOF. | |
void | vergenceChangedVelocity (real newvel) |
Configures the real DOF after a change in the velocity of the vergence DOF. | |
void | versionChangedDesiredPosition (real wishpos) |
Configures the real DOF after a change in the desired position of the version DOF. | |
void | versionChangedDesiredVelocity (real wishvel) |
Configures the real DOF after a change in the desired velocity of the version DOF. | |
void | versionChangedLimits (real lowlimit, real highlimit) |
Configures the real DOF after a change in the limits of the version DOF. | |
void | versionChangedPosition (real newpos) |
Configures the real DOF after a change in the position of the version DOF. | |
void | versionChangedVelocity (real newvel) |
Configures the real DOF after a change in the velocity of the version DOF. | |
Protected Member Functions | |
virtual void | changedMatrix () |
update the matrix of all sub-objects | |
void | enableObjectsAndLinks (bool enable, QVector< PhyObject * > &objects, QVector< PhyJoint * > &joints) |
helper function to enable/disable a list of objects and joints | |
void | setTorso0Matrix () |
computes and sets the transformation matrix for torso0 | |
![]() | |
void | registerServerControlBoard (yarp::dev::DeviceDriver *device, QString devicename) |
Add a DeviceDriver to the map of controllers It automatically construct a ServerControlBoard, the port name for accessing the DeviceDriver will be /worldname/yarpobjectname/devicename. | |
void | registerServerFrameGrabber (yarp::dev::DeviceDriver *device, QString devicename) |
Add a DeviceDriver to the map of controllers It automatically construct a ServerFrameGrabber, the port name for accessing the DeviceDriver will be /worldname/yarpobjectname/devicename. | |
void | removeServerControlBoard (QString devicename) |
Remove, and close the serverControlBoard registered and opened by above call. | |
Static Protected Member Functions | |
static real | highEyeLimitFromVersionAndVergenceLimits (real versionHigh, real vergenceHigh) |
returns the eye high limit given the version and vergence high limits | |
static real | leftEyeFromVersionAndVergence (real version, real vergence) |
returns the left eye angle/velocity given the version and vergence angles/velocities | |
static real | lowEyeLimitFromVersionAndVergenceLimits (real versionLow, real vergenceLow) |
returns the eye low limit given the version and vergence low limits | |
static real | rightEyeFromVersionAndVergence (real version, real vergence) |
returns the right eye angle/velocity given the version and vergence angles/velocities | |
static real | vergenceFromRightAndLeftEye (real left, real right) |
returns the vergence angle/velocity given the left and right eye angles/velocities | |
static real | versionFromRightAndLeftEye (real left, real right) |
returns the version angle/velocity given the left and right eye angles/velocities | |
Additional Inherited Members | |
![]() | |
QColor | colorv |
Color, it contains also alpha channel. | |
bool | invisible |
if TRUE it will not renderized | |
QString | namev |
Name of the WObject. | |
QString | texturev |
Texture name. | |
wMatrix | tm |
Trasformation matrix. | |
bool | usecolortextureofowner |
if true, we will use color and texture of our owner (if we have one). | |
World * | worldv |
World. | |
Detailed Description
iCub class \
- Motivation
- The iCub represent an iCub humanoid robot.
This version uses iKin to have a correct position of body parts and to be able to perform kinematic simulations
- Description
- Warnings
- Warnings
Member Enumeration Documentation
anonymous enum |
Constructor & Destructor Documentation
PhyiCub | ( | World * | world, |
QString | name, | ||
const wMatrix & | tm = wMatrix::identity() , |
||
bool | createServerControlBoards = true |
||
) |
Create an iCub.
- Parameters
-
tm specify the position and rotation of the element torso0, in order to put foots at position <0,0,0> the tors0 has to be positioned at <-0.034, 0.0, 0.4912> createServerControlBoards if true it will create ServerControlBoards for controlling the robot remotely via YARP ports.
Definition at line 58 of file phyicub.cpp.
References PhyObjectsGroup::addJointDOF(), PhyObjectsGroup::addObject(), WMesh::attachTo(), KinematicLimb< iKinLimb_t >::createJoint(), MaterialDB::createMaterial(), MaterialDB::enableCollision(), KinematicLinkInfo::getAxis(), KinematicLimb< iKinLimb_t >::getLinkInfo(), KinematicLinkInfo::getRotAxis(), KinematicLinkInfo::getRotCenterWObject(), KinematicLinkInfo::getYarpMatrixAswMatrix(), wMatrix::identity(), PhyiCub::leftEyeChangedDesiredPosition(), PhyiCub::leftEyeChangedDesiredVelocity(), PhyiCub::leftEyeChangedLimits(), PhyiCub::leftEyeChangedPosition(), PhyiCub::leftEyeChangedVelocity(), WMesh::loadMS3DModel(), PhyObject::mass(), World::materials(), WObject::matrix(), farsa::max(), farsa::min(), wVectorT< Shared >::norm(), PhyJoint::numDofs(), wMatrix::pitch(), PhyCylinder::radius(), farsa::ramp(), YarpObject::registerServerControlBoard(), PhyiCub::rightEyeChangedDesiredPosition(), PhyiCub::rightEyeChangedDesiredVelocity(), PhyiCub::rightEyeChangedLimits(), PhyiCub::rightEyeChangedPosition(), PhyiCub::rightEyeChangedVelocity(), wMatrix::roll(), wMatrix::rotateAround(), wMatrix::rotateVector(), KinematicLinkInfo::setBuddies(), MultiMotorController::setEnableLimitsRaw(), MaterialDB::setGravityForce(), KinematicLinkInfo::setiKinLinkLimits(), PhyDOF::setLimits(), MultiMotorController::setLimits(), MultiMotorController::setLimitsRaw(), PhyObject::setMass(), WObject::setMatrix(), Ownable::setOwner(), WObject::setPosition(), KinematicLimb< iKinLimb_t >::setRootObject(), WObject::setTexture(), PhyiCub::setTorso0Matrix(), KinematicLinkInfo::setWObject(), KinematicLimb< iKinLimb_t >::setWorldMatrix(), PhyBox::sideX(), WObject::tm, farsa::toRad(), KinematicLimb< iKinLimb_t >::updateInformationFromiKin(), PhyiCub::vergenceChangedDesiredPosition(), PhyiCub::vergenceChangedDesiredVelocity(), PhyiCub::vergenceChangedLimits(), PhyiCub::vergenceChangedPosition(), PhyiCub::vergenceChangedVelocity(), PhyiCub::versionChangedDesiredPosition(), PhyiCub::versionChangedDesiredVelocity(), PhyiCub::versionChangedLimits(), PhyiCub::versionChangedPosition(), PhyiCub::versionChangedVelocity(), and wMatrix::yaw().
|
virtual |
Destroy the iCub.
- Note
- You will not lose 250K euro if you call this destructor ;-)
Definition at line 1906 of file phyicub.cpp.
References YarpObject::removeServerControlBoard().
Member Function Documentation
|
slot |
block/unblock the movements of torso0
Definition at line 2615 of file phyicub.cpp.
|
protectedvirtual |
update the matrix of all sub-objects
Reimplemented from WObject.
Definition at line 2752 of file phyicub.cpp.
References PhyObjectsGroup::resetObjectPositions(), PhyiCub::setTorso0Matrix(), PhyJoint::updateJointInfo(), and KinematicLimb< iKinLimb_t >::updateMatrixFromiKin().
void configurePosture | ( | QMap< int, real > | jointSetup | ) |
Configure the angles of the joints (this method by-pass physics, so can lead to instability, please use carefully.
- Parameters
-
jointSetup is a map containing the initial angle position of the joints. See the jointNames enumeration to know the joint's identifiers. Angles has to be specified in degrees
- Warning
- Angles passed by jointSetup aren't controlled if they respect iCub joint limits. So, pay attention on what you write inside jointSetup
Definition at line 2118 of file phyicub.cpp.
References KinematicLimb< iKinLimb_t >::getLinkInfo(), PhyiCub::leftEyeFromVersionAndVergence(), PhyDOF::position(), PhyObjectsGroup::resetObjectPositions(), PhyiCub::rightEyeFromVersionAndVergence(), PhyObjectsGroup::setDOFPosition(), KinematicLinkInfo::setLinkAngle(), MultiMotorController::stop(), farsa::toRad(), PhyJoint::updateJointInfo(), KinematicLimb< iKinLimb_t >::updateMatrixFromiKin(), and PhyObjectsGroup::updateRelativePositions().
|
inline |
void doKinematicSimulation | ( | bool | k, |
bool | clh = false , |
||
bool | crh = false |
||
) |
Changes the robot model from dynamic to kinematic and vice-versa.
- Parameters
-
k if true switches to the kinematic iCub model, if false to the dynamic one (at creation the model is always dynamic) clh if true the left hand continues to collide with objects even in kinematic mode (fingers and the palm are dynamic objects) crh if true the right hand continues to collide with objects even in kinematic mode (fingers and the palm are dynamic objects)
- Note
- Switches from kinematic to dynamic use methods wimilar to those used in configurePosture, so the same warning about instability holds here
Definition at line 1983 of file phyicub.cpp.
|
slot |
enable/disable simuation of eye cameras
Definition at line 2576 of file phyicub.cpp.
References WObject::name(), and WObject::world().
|
slot |
enable/disable simulation of objects
Definition at line 2564 of file phyicub.cpp.
References PhyiCub::enableObjectsAndLinks(), and MotorController::setEnabled().
|
slot |
enable/disable simulation of objects
Definition at line 2591 of file phyicub.cpp.
References PhyiCub::enableObjectsAndLinks(), and MotorController::setEnabled().
|
slot |
create/destroy a cartesian controller server
Definition at line 2636 of file phyicub.cpp.
|
slot |
enable/disable simulation of the left hand in kinematic simulations (enabled by default)
Definition at line 2625 of file phyicub.cpp.
|
slot |
enable/disable simulation of objects
Definition at line 2509 of file phyicub.cpp.
References PhyiCub::enableObjectsAndLinks(), and MotorController::setEnabled().
|
protected |
helper function to enable/disable a list of objects and joints
Definition at line 2805 of file phyicub.cpp.
Referenced by PhyiCub::enableHead(), PhyiCub::enableLeftArm(), PhyiCub::enableLeftLeg(), PhyiCub::enableRightArm(), and PhyiCub::enableRightLeg().
|
slot |
enable/disable simulation of objects
Definition at line 2603 of file phyicub.cpp.
References PhyiCub::enableObjectsAndLinks(), and MotorController::setEnabled().
|
slot |
create/destroy a cartesian controller server
Definition at line 2696 of file phyicub.cpp.
References WObject::name(), YarpObject::polydriver(), and WObject::world().
|
slot |
enable/disable simulation of the right hand in kinematic simulations (enabled by default)
Definition at line 2630 of file phyicub.cpp.
|
slot |
enable/disable simulation of objects
Definition at line 2521 of file phyicub.cpp.
References PhyiCub::enableObjectsAndLinks(), and MotorController::setEnabled().
|
slot |
enable/disable simulation of objects
Definition at line 2533 of file phyicub.cpp.
References MotorController::setEnabled().
|
inline |
|
inline |
|
inline |
return the MultiMotorController for acting on head-neck joints
|
inline |
|
staticprotected |
returns the eye high limit given the version and vergence high limits
Definition at line 2858 of file phyicub.cpp.
Referenced by PhyiCub::vergenceChangedLimits(), and PhyiCub::versionChangedLimits().
|
inline |
|
inline |
|
inline |
|
inline |
return the MultiMotorController for acting on left arm joints
|
inline |
return the left arm joints inside the array the joints are arranged as follow: 0, 1, 2 -> joints on shoulder 3 -> elbow joint 4, 5, 6 -> wrist joints 7, 8, 9, 10 -> knuckles joints 11, 12, 13 -> index joints 14, 15, 16 -> middle joints 17, 18, 19 -> ring joints 20, 21, 22 -> pinky joints 23, 24, 25, 26 -> thumb joints
|
protectedslot |
Configures the virtual DOF after a change in the desired position of the left eye DOF.
Definition at line 3102 of file phyicub.cpp.
References PhyDOF::position(), PhyDOF::setDesiredPosition(), PhyiCub::vergenceFromRightAndLeftEye(), and PhyiCub::versionFromRightAndLeftEye().
Referenced by PhyiCub::PhyiCub().
|
protectedslot |
Configures the virtual DOF after a change in the desired velocity of the left eye DOF.
Definition at line 3118 of file phyicub.cpp.
References PhyDOF::position(), PhyDOF::setDesiredVelocity(), PhyiCub::vergenceFromRightAndLeftEye(), and PhyiCub::versionFromRightAndLeftEye().
Referenced by PhyiCub::PhyiCub().
|
protectedslot |
Configures the virtual DOF after a change in the limits of the left eye DOF.
Definition at line 3166 of file phyicub.cpp.
Referenced by PhyiCub::PhyiCub().
|
protectedslot |
Configures the virtual DOF after a change in the position of the left eye DOF.
Definition at line 3134 of file phyicub.cpp.
References PhyDOF::position(), PhyiCub::vergenceFromRightAndLeftEye(), and PhyiCub::versionFromRightAndLeftEye().
Referenced by PhyiCub::PhyiCub().
|
protectedslot |
Configures the virtual DOF after a change in the velocity of the left eye DOF.
Definition at line 3150 of file phyicub.cpp.
References PhyDOF::position(), PhyiCub::vergenceFromRightAndLeftEye(), and PhyiCub::versionFromRightAndLeftEye().
Referenced by PhyiCub::PhyiCub().
yarp::dev::IFrameGrabberImage * leftEyeFrameGrabber | ( | ) |
returns the frame grabber for the left eye
Definition at line 2389 of file phyicub.cpp.
References WCamera::getFrameGrabber().
|
staticprotected |
returns the left eye angle/velocity given the version and vergence angles/velocities
Definition at line 2836 of file phyicub.cpp.
Referenced by PhyiCub::configurePosture(), PhyiCub::vergenceChangedDesiredPosition(), PhyiCub::vergenceChangedDesiredVelocity(), PhyiCub::vergenceChangedPosition(), PhyiCub::vergenceChangedVelocity(), PhyiCub::versionChangedDesiredPosition(), PhyiCub::versionChangedDesiredVelocity(), PhyiCub::versionChangedPosition(), and PhyiCub::versionChangedVelocity().
|
inline |
|
inline |
return the MultiMotorController for acting on left leg joints
|
inline |
|
staticprotected |
returns the eye low limit given the version and vergence low limits
Definition at line 2851 of file phyicub.cpp.
Referenced by PhyiCub::vergenceChangedLimits(), and PhyiCub::versionChangedLimits().
|
virtual |
postUpdate the WObject this method is called at each step of the world just after the physic update
Reimplemented from WObject.
Definition at line 2479 of file phyicub.cpp.
References KinematicLimb< iKinLimb_t >::updateMatrixFromiKin().
|
virtual |
preUpdate the WObject this method is called at each step of the world just before the physic update (after motor controllers have been updated
Reimplemented from WObject.
Definition at line 2399 of file phyicub.cpp.
References MotorController::isEnabled(), PhyObjectsGroup::resetObjectPositions(), MultiMotorController::update(), PhyObjectsGroup::updateFromDOF(), and KinematicLimb< iKinLimb_t >::updateMatrixFromiKin().
|
inline |
|
inline |
|
inline |
return the MultiMotorController for acting on right arm joints
|
inline |
return the rigth arm joints inside the array the joints are arranged as follow: 0, 1, 2 -> joints on shoulder 3 -> elbow joint 4, 5, 6 -> wrist joints 7, 8, 9, 10 -> knuckles joints 11, 12, 13 -> index joints 14, 15, 16 -> middle joints 17, 18, 19 -> ring joints 20, 21, 22 -> pinky joints 23, 24, 25, 26 -> thumb joints
|
protectedslot |
Configures the virtual DOF after a change in the desired position of the right eye DOF.
Definition at line 3031 of file phyicub.cpp.
References PhyDOF::position(), PhyDOF::setDesiredPosition(), PhyiCub::vergenceFromRightAndLeftEye(), and PhyiCub::versionFromRightAndLeftEye().
Referenced by PhyiCub::PhyiCub().
|
protectedslot |
Configures the virtual DOF after a change in the desired velocity of the right eye DOF.
Definition at line 3047 of file phyicub.cpp.
References PhyDOF::position(), PhyDOF::setDesiredVelocity(), PhyiCub::vergenceFromRightAndLeftEye(), and PhyiCub::versionFromRightAndLeftEye().
Referenced by PhyiCub::PhyiCub().
|
protectedslot |
Configures the virtual DOF after a change in the limits of the right eye DOF.
Definition at line 3095 of file phyicub.cpp.
Referenced by PhyiCub::PhyiCub().
|
protectedslot |
Configures the virtual DOF after a change in the position of the right eye DOF.
Definition at line 3063 of file phyicub.cpp.
References PhyDOF::position(), PhyiCub::vergenceFromRightAndLeftEye(), and PhyiCub::versionFromRightAndLeftEye().
Referenced by PhyiCub::PhyiCub().
|
protectedslot |
Configures the virtual DOF after a change in the velocity of the right eye DOF.
Definition at line 3079 of file phyicub.cpp.
References PhyDOF::position(), PhyiCub::vergenceFromRightAndLeftEye(), and PhyiCub::versionFromRightAndLeftEye().
Referenced by PhyiCub::PhyiCub().
yarp::dev::IFrameGrabberImage * rightEyeFrameGrabber | ( | ) |
returns the frame grabber for the right eye
Definition at line 2394 of file phyicub.cpp.
References WCamera::getFrameGrabber().
|
staticprotected |
returns the right eye angle/velocity given the version and vergence angles/velocities
Definition at line 2831 of file phyicub.cpp.
Referenced by PhyiCub::configurePosture(), PhyiCub::vergenceChangedDesiredPosition(), PhyiCub::vergenceChangedDesiredVelocity(), PhyiCub::vergenceChangedPosition(), PhyiCub::vergenceChangedVelocity(), PhyiCub::versionChangedDesiredPosition(), PhyiCub::versionChangedDesiredVelocity(), PhyiCub::versionChangedPosition(), and PhyiCub::versionChangedVelocity().
|
inline |
|
inline |
return the MultiMotorController for acting on right leg joints
|
inline |
|
protected |
computes and sets the transformation matrix for torso0
Definition at line 2789 of file phyicub.cpp.
References WObject::tm.
Referenced by PhyiCub::changedMatrix(), and PhyiCub::PhyiCub().
|
inline |
|
inline |
return the MultiMotorController for acting on torso joints
|
inline |
|
protectedslot |
Configures the real DOF after a change in the desired position of the vergence DOF.
Definition at line 2950 of file phyicub.cpp.
References PhyDOF::desiredPosition(), PhyiCub::leftEyeFromVersionAndVergence(), PhyiCub::rightEyeFromVersionAndVergence(), and PhyDOF::setDesiredPosition().
Referenced by PhyiCub::PhyiCub().
|
protectedslot |
Configures the real DOF after a change in the desired velocity of the vergence DOF.
Definition at line 2966 of file phyicub.cpp.
References PhyDOF::desiredVelocity(), PhyiCub::leftEyeFromVersionAndVergence(), PhyiCub::rightEyeFromVersionAndVergence(), and PhyDOF::setDesiredVelocity().
Referenced by PhyiCub::PhyiCub().
|
protectedslot |
Configures the real DOF after a change in the limits of the vergence DOF.
Definition at line 3014 of file phyicub.cpp.
References PhyiCub::highEyeLimitFromVersionAndVergenceLimits(), PhyDOF::limits(), PhyiCub::lowEyeLimitFromVersionAndVergenceLimits(), and PhyDOF::setLimits().
Referenced by PhyiCub::PhyiCub().
|
protectedslot |
Configures the real DOF after a change in the position of the vergence DOF.
Definition at line 2982 of file phyicub.cpp.
References PhyiCub::leftEyeFromVersionAndVergence(), PhyDOF::position(), and PhyiCub::rightEyeFromVersionAndVergence().
Referenced by PhyiCub::PhyiCub().
|
protectedslot |
Configures the real DOF after a change in the velocity of the vergence DOF.
Definition at line 2998 of file phyicub.cpp.
References PhyiCub::leftEyeFromVersionAndVergence(), PhyiCub::rightEyeFromVersionAndVergence(), and PhyDOF::velocity().
Referenced by PhyiCub::PhyiCub().
|
staticprotected |
returns the vergence angle/velocity given the left and right eye angles/velocities
Definition at line 2846 of file phyicub.cpp.
Referenced by PhyiCub::leftEyeChangedDesiredPosition(), PhyiCub::leftEyeChangedDesiredVelocity(), PhyiCub::leftEyeChangedPosition(), PhyiCub::leftEyeChangedVelocity(), PhyiCub::rightEyeChangedDesiredPosition(), PhyiCub::rightEyeChangedDesiredVelocity(), PhyiCub::rightEyeChangedPosition(), and PhyiCub::rightEyeChangedVelocity().
|
protectedslot |
Configures the real DOF after a change in the desired position of the version DOF.
Definition at line 2869 of file phyicub.cpp.
References PhyDOF::desiredPosition(), PhyiCub::leftEyeFromVersionAndVergence(), PhyiCub::rightEyeFromVersionAndVergence(), and PhyDOF::setDesiredPosition().
Referenced by PhyiCub::PhyiCub().
|
protectedslot |
Configures the real DOF after a change in the desired velocity of the version DOF.
Definition at line 2885 of file phyicub.cpp.
References PhyDOF::desiredVelocity(), PhyiCub::leftEyeFromVersionAndVergence(), PhyiCub::rightEyeFromVersionAndVergence(), and PhyDOF::setDesiredVelocity().
Referenced by PhyiCub::PhyiCub().
|
protectedslot |
Configures the real DOF after a change in the limits of the version DOF.
Definition at line 2933 of file phyicub.cpp.
References PhyiCub::highEyeLimitFromVersionAndVergenceLimits(), PhyDOF::limits(), PhyiCub::lowEyeLimitFromVersionAndVergenceLimits(), and PhyDOF::setLimits().
Referenced by PhyiCub::PhyiCub().
|
protectedslot |
Configures the real DOF after a change in the position of the version DOF.
Definition at line 2901 of file phyicub.cpp.
References PhyiCub::leftEyeFromVersionAndVergence(), PhyDOF::position(), and PhyiCub::rightEyeFromVersionAndVergence().
Referenced by PhyiCub::PhyiCub().
|
protectedslot |
Configures the real DOF after a change in the velocity of the version DOF.
Definition at line 2917 of file phyicub.cpp.
References PhyiCub::leftEyeFromVersionAndVergence(), PhyiCub::rightEyeFromVersionAndVergence(), and PhyDOF::velocity().
Referenced by PhyiCub::PhyiCub().
|
staticprotected |
returns the version angle/velocity given the left and right eye angles/velocities
Definition at line 2841 of file phyicub.cpp.
Referenced by PhyiCub::leftEyeChangedDesiredPosition(), PhyiCub::leftEyeChangedDesiredVelocity(), PhyiCub::leftEyeChangedPosition(), PhyiCub::leftEyeChangedVelocity(), PhyiCub::rightEyeChangedDesiredPosition(), PhyiCub::rightEyeChangedDesiredVelocity(), PhyiCub::rightEyeChangedPosition(), and PhyiCub::rightEyeChangedVelocity().
The documentation for this class was generated from the following files:
- worldsim/include/phyicub.h
- worldsim/src/phyicub.cpp