iCub class \ More...

Inheritance diagram for PhyiCub:

List of all members.

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
MultiMotorControllerheadNeckController ()
 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
MultiMotorControllerleftArmController ()
 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
MultiMotorControllerleftLegController ()
 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
MultiMotorControllerrightArmController ()
 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
MultiMotorControllerrightLegController ()
 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
MultiMotorControllertorsoController ()
 return the MultiMotorController for acting on torso joints
const QVector< PhyJoint * > & torsoJoints ()
 return the torso joints

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

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

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

Definition at line 94 of file phyicub.h.


Member Enumeration Documentation

anonymous enum

Enum for referring to the iCub's joints for configurePosture.

Definition at line 99 of file phyicub.h.


Constructor & Destructor Documentation

PhyiCub ( World world,
QString  name,
const wMatrix tm = wMatrix::identity(),
bool  createServerControlBoards = true 
)

Create an iCub.

Parameters:
tmspecify 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>
createServerControlBoardsif 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().

~PhyiCub ( ) [virtual]

Destroy the iCub.

Note:
You will not lose 250K euro if you call this destructor ;-)

Definition at line 1904 of file phyicub.cpp.

References YarpObject::removeServerControlBoard().


Member Function Documentation

void blockTorso0 ( bool  b) [slot]

block/unblock the movements of torso0

Definition at line 2613 of file phyicub.cpp.

void changedMatrix ( ) [protected, virtual]

update the matrix of all sub-objects

Reimplemented from WObject.

Definition at line 2750 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:
jointSetupis 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 2116 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().

const QVector<WMesh*>& covers ( ) [inline]

Return the Meshes representing the Covers.

Definition at line 197 of file phyicub.h.

void doKinematicSimulation ( bool  k,
bool  clh = false,
bool  crh = false 
)

Changes the robot model from dynamic to kinematic and vice-versa.

Parameters:
kif true switches to the kinematic iCub model, if false to the dynamic one (at creation the model is always dynamic)
clhif true the left hand continues to collide with objects even in kinematic mode (fingers and the palm are dynamic objects)
crhif 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 1981 of file phyicub.cpp.

void enableCameras ( bool  b) [slot]

enable/disable simuation of eye cameras

Definition at line 2574 of file phyicub.cpp.

References WObject::name(), and WObject::world().

void enableHead ( bool  b) [slot]

enable/disable simulation of objects

Definition at line 2562 of file phyicub.cpp.

References PhyiCub::enableObjectsAndLinks(), and MotorController::setEnabled().

void enableLeftArm ( bool  b) [slot]

enable/disable simulation of objects

Definition at line 2589 of file phyicub.cpp.

References PhyiCub::enableObjectsAndLinks(), and MotorController::setEnabled().

void enableLeftArmCartesianController ( ) [slot]

create/destroy a cartesian controller server

Definition at line 2634 of file phyicub.cpp.

void enableLeftKinematicHand ( bool  b) [slot]

enable/disable simulation of the left hand in kinematic simulations (enabled by default)

Definition at line 2623 of file phyicub.cpp.

void enableLeftLeg ( bool  b) [slot]

enable/disable simulation of objects

Definition at line 2507 of file phyicub.cpp.

References PhyiCub::enableObjectsAndLinks(), and MotorController::setEnabled().

void enableObjectsAndLinks ( bool  enable,
QVector< PhyObject * > &  objects,
QVector< PhyJoint * > &  joints 
) [protected]

helper function to enable/disable a list of objects and joints

Definition at line 2803 of file phyicub.cpp.

Referenced by PhyiCub::enableHead(), PhyiCub::enableLeftArm(), PhyiCub::enableLeftLeg(), PhyiCub::enableRightArm(), and PhyiCub::enableRightLeg().

void enableRightArm ( bool  b) [slot]

enable/disable simulation of objects

Definition at line 2601 of file phyicub.cpp.

References PhyiCub::enableObjectsAndLinks(), and MotorController::setEnabled().

void enableRightArmCartesianController ( ) [slot]

create/destroy a cartesian controller server

Definition at line 2694 of file phyicub.cpp.

References WObject::name(), YarpObject::polydriver(), and WObject::world().

void enableRightKinematicHand ( bool  b) [slot]

enable/disable simulation of the right hand in kinematic simulations (enabled by default)

Definition at line 2628 of file phyicub.cpp.

void enableRightLeg ( bool  b) [slot]

enable/disable simulation of objects

Definition at line 2519 of file phyicub.cpp.

References PhyiCub::enableObjectsAndLinks(), and MotorController::setEnabled().

void enableTorso ( bool  b) [slot]

enable/disable simulation of objects

Definition at line 2531 of file phyicub.cpp.

References MotorController::setEnabled().

void forceKinematicChainsUpdate ( bool  enable) [inline]

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.

Definition at line 303 of file phyicub.h.

const QVector<PhyObject*>& headNeck ( ) [inline]

return the head-neck parts

Definition at line 192 of file phyicub.h.

MultiMotorController* headNeckController ( ) [inline]

return the MultiMotorController for acting on head-neck joints

Definition at line 265 of file phyicub.h.

const QVector<PhyJoint*>& headNeckJoints ( ) [inline]

return the head-neck joints

Definition at line 249 of file phyicub.h.

real highEyeLimitFromVersionAndVergenceLimits ( real  versionHigh,
real  vergenceHigh 
) [static, protected]

returns the eye high limit given the version and vergence high limits

Definition at line 2856 of file phyicub.cpp.

Referenced by PhyiCub::vergenceChangedLimits(), and PhyiCub::versionChangedLimits().

bool isKinematic ( ) [inline]

Returns true if we are using the kinematic model.

Definition at line 150 of file phyicub.h.

const QVector<PhyObject*>& leftArm ( ) [inline]

return the left arm parts

Definition at line 182 of file phyicub.h.

yarp::dev::ICartesianControl* leftArmCartesianController ( ) [inline]

return the Cartesian Controller Interface for acting on Left Arm

Definition at line 277 of file phyicub.h.

MultiMotorController* leftArmController ( ) [inline]

return the MultiMotorController for acting on left arm joints

Definition at line 257 of file phyicub.h.

const QVector<PhyJoint*>& leftArmJoints ( ) [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

Definition at line 228 of file phyicub.h.

void leftEyeChangedDesiredPosition ( real  wishpos) [protected, slot]

Configures the virtual DOF after a change in the desired position of the left eye DOF.

Definition at line 3100 of file phyicub.cpp.

References PhyDOF::position(), PhyDOF::setDesiredPosition(), PhyiCub::vergenceFromRightAndLeftEye(), and PhyiCub::versionFromRightAndLeftEye().

Referenced by PhyiCub::PhyiCub().

void leftEyeChangedDesiredVelocity ( real  wishvel) [protected, slot]

Configures the virtual DOF after a change in the desired velocity of the left eye DOF.

Definition at line 3116 of file phyicub.cpp.

References PhyDOF::position(), PhyDOF::setDesiredVelocity(), PhyiCub::vergenceFromRightAndLeftEye(), and PhyiCub::versionFromRightAndLeftEye().

Referenced by PhyiCub::PhyiCub().

void leftEyeChangedLimits ( real  lowlimit,
real  highlimit 
) [protected, slot]

Configures the virtual DOF after a change in the limits of the left eye DOF.

Definition at line 3164 of file phyicub.cpp.

Referenced by PhyiCub::PhyiCub().

void leftEyeChangedPosition ( real  newpos) [protected, slot]

Configures the virtual DOF after a change in the position of the left eye DOF.

Definition at line 3132 of file phyicub.cpp.

References PhyDOF::position(), PhyiCub::vergenceFromRightAndLeftEye(), and PhyiCub::versionFromRightAndLeftEye().

Referenced by PhyiCub::PhyiCub().

void leftEyeChangedVelocity ( real  newvel) [protected, slot]

Configures the virtual DOF after a change in the velocity of the left eye DOF.

Definition at line 3148 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 2387 of file phyicub.cpp.

References WCamera::getFrameGrabber().

real leftEyeFromVersionAndVergence ( real  version,
real  vergence 
) [static, protected]
const QVector<PhyObject*>& leftLeg ( ) [inline]

return the left leg parts

Definition at line 167 of file phyicub.h.

MultiMotorController* leftLegController ( ) [inline]

return the MultiMotorController for acting on left leg joints

Definition at line 269 of file phyicub.h.

const QVector<PhyJoint*>& leftLegJoints ( ) [inline]

return the left leg joints

Definition at line 202 of file phyicub.h.

real lowEyeLimitFromVersionAndVergenceLimits ( real  versionLow,
real  vergenceLow 
) [static, protected]

returns the eye low limit given the version and vergence low limits

Definition at line 2849 of file phyicub.cpp.

Referenced by PhyiCub::vergenceChangedLimits(), and PhyiCub::versionChangedLimits().

void postUpdate ( ) [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 2477 of file phyicub.cpp.

References KinematicLimb< iKinLimb_t >::updateMatrixFromiKin().

void preUpdate ( ) [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 2397 of file phyicub.cpp.

References MotorController::isEnabled(), PhyObjectsGroup::resetObjectPositions(), MultiMotorController::update(), PhyObjectsGroup::updateFromDOF(), and KinematicLimb< iKinLimb_t >::updateMatrixFromiKin().

const QVector<PhyObject*>& rightArm ( ) [inline]

return the rigth arm parts

Definition at line 187 of file phyicub.h.

yarp::dev::ICartesianControl* rightArmCartesianController ( ) [inline]

return the Cartesian Controller Interface for acting on Right Arm

Definition at line 281 of file phyicub.h.

MultiMotorController* rightArmController ( ) [inline]

return the MultiMotorController for acting on right arm joints

Definition at line 261 of file phyicub.h.

const QVector<PhyJoint*>& rightArmJoints ( ) [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

Definition at line 244 of file phyicub.h.

void rightEyeChangedDesiredPosition ( real  wishpos) [protected, slot]

Configures the virtual DOF after a change in the desired position of the right eye DOF.

Definition at line 3029 of file phyicub.cpp.

References PhyDOF::position(), PhyDOF::setDesiredPosition(), PhyiCub::vergenceFromRightAndLeftEye(), and PhyiCub::versionFromRightAndLeftEye().

Referenced by PhyiCub::PhyiCub().

void rightEyeChangedDesiredVelocity ( real  wishvel) [protected, slot]

Configures the virtual DOF after a change in the desired velocity of the right eye DOF.

Definition at line 3045 of file phyicub.cpp.

References PhyDOF::position(), PhyDOF::setDesiredVelocity(), PhyiCub::vergenceFromRightAndLeftEye(), and PhyiCub::versionFromRightAndLeftEye().

Referenced by PhyiCub::PhyiCub().

void rightEyeChangedLimits ( real  lowlimit,
real  highlimit 
) [protected, slot]

Configures the virtual DOF after a change in the limits of the right eye DOF.

Definition at line 3093 of file phyicub.cpp.

Referenced by PhyiCub::PhyiCub().

void rightEyeChangedPosition ( real  newpos) [protected, slot]

Configures the virtual DOF after a change in the position of the right eye DOF.

Definition at line 3061 of file phyicub.cpp.

References PhyDOF::position(), PhyiCub::vergenceFromRightAndLeftEye(), and PhyiCub::versionFromRightAndLeftEye().

Referenced by PhyiCub::PhyiCub().

void rightEyeChangedVelocity ( real  newvel) [protected, slot]

Configures the virtual DOF after a change in the velocity of the right eye DOF.

Definition at line 3077 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 2392 of file phyicub.cpp.

References WCamera::getFrameGrabber().

real rightEyeFromVersionAndVergence ( real  version,
real  vergence 
) [static, protected]
const QVector<PhyObject*>& rightLeg ( ) [inline]

return the rigth leg parts

Definition at line 172 of file phyicub.h.

MultiMotorController* rightLegController ( ) [inline]

return the MultiMotorController for acting on right leg joints

Definition at line 273 of file phyicub.h.

const QVector<PhyJoint*>& rightLegJoints ( ) [inline]

return the rigth leg joints

Definition at line 207 of file phyicub.h.

void setTorso0Matrix ( ) [protected]

computes and sets the transformation matrix for torso0

Definition at line 2787 of file phyicub.cpp.

References WObject::tm.

Referenced by PhyiCub::changedMatrix(), and PhyiCub::PhyiCub().

const QVector<PhyObject*>& torso ( ) [inline]

return the torso parts

Definition at line 177 of file phyicub.h.

MultiMotorController* torsoController ( ) [inline]

return the MultiMotorController for acting on torso joints

Definition at line 253 of file phyicub.h.

const QVector<PhyJoint*>& torsoJoints ( ) [inline]

return the torso joints

Definition at line 212 of file phyicub.h.

void vergenceChangedDesiredPosition ( real  wishpos) [protected, slot]

Configures the real DOF after a change in the desired position of the vergence DOF.

Definition at line 2948 of file phyicub.cpp.

References PhyDOF::desiredPosition(), PhyiCub::leftEyeFromVersionAndVergence(), PhyiCub::rightEyeFromVersionAndVergence(), and PhyDOF::setDesiredPosition().

Referenced by PhyiCub::PhyiCub().

void vergenceChangedDesiredVelocity ( real  wishvel) [protected, slot]

Configures the real DOF after a change in the desired velocity of the vergence DOF.

Definition at line 2964 of file phyicub.cpp.

References PhyDOF::desiredVelocity(), PhyiCub::leftEyeFromVersionAndVergence(), PhyiCub::rightEyeFromVersionAndVergence(), and PhyDOF::setDesiredVelocity().

Referenced by PhyiCub::PhyiCub().

void vergenceChangedLimits ( real  lowlimit,
real  highlimit 
) [protected, slot]

Configures the real DOF after a change in the limits of the vergence DOF.

Definition at line 3012 of file phyicub.cpp.

References PhyiCub::highEyeLimitFromVersionAndVergenceLimits(), PhyDOF::limits(), PhyiCub::lowEyeLimitFromVersionAndVergenceLimits(), and PhyDOF::setLimits().

Referenced by PhyiCub::PhyiCub().

void vergenceChangedPosition ( real  newpos) [protected, slot]

Configures the real DOF after a change in the position of the vergence DOF.

Definition at line 2980 of file phyicub.cpp.

References PhyiCub::leftEyeFromVersionAndVergence(), PhyDOF::position(), and PhyiCub::rightEyeFromVersionAndVergence().

Referenced by PhyiCub::PhyiCub().

void vergenceChangedVelocity ( real  newvel) [protected, slot]

Configures the real DOF after a change in the velocity of the vergence DOF.

Definition at line 2996 of file phyicub.cpp.

References PhyiCub::leftEyeFromVersionAndVergence(), PhyiCub::rightEyeFromVersionAndVergence(), and PhyDOF::velocity().

Referenced by PhyiCub::PhyiCub().

real vergenceFromRightAndLeftEye ( real  left,
real  right 
) [static, protected]
void versionChangedDesiredPosition ( real  wishpos) [protected, slot]

Configures the real DOF after a change in the desired position of the version DOF.

Definition at line 2867 of file phyicub.cpp.

References PhyDOF::desiredPosition(), PhyiCub::leftEyeFromVersionAndVergence(), PhyiCub::rightEyeFromVersionAndVergence(), and PhyDOF::setDesiredPosition().

Referenced by PhyiCub::PhyiCub().

void versionChangedDesiredVelocity ( real  wishvel) [protected, slot]

Configures the real DOF after a change in the desired velocity of the version DOF.

Definition at line 2883 of file phyicub.cpp.

References PhyDOF::desiredVelocity(), PhyiCub::leftEyeFromVersionAndVergence(), PhyiCub::rightEyeFromVersionAndVergence(), and PhyDOF::setDesiredVelocity().

Referenced by PhyiCub::PhyiCub().

void versionChangedLimits ( real  lowlimit,
real  highlimit 
) [protected, slot]

Configures the real DOF after a change in the limits of the version DOF.

Definition at line 2931 of file phyicub.cpp.

References PhyiCub::highEyeLimitFromVersionAndVergenceLimits(), PhyDOF::limits(), PhyiCub::lowEyeLimitFromVersionAndVergenceLimits(), and PhyDOF::setLimits().

Referenced by PhyiCub::PhyiCub().

void versionChangedPosition ( real  newpos) [protected, slot]

Configures the real DOF after a change in the position of the version DOF.

Definition at line 2899 of file phyicub.cpp.

References PhyiCub::leftEyeFromVersionAndVergence(), PhyDOF::position(), and PhyiCub::rightEyeFromVersionAndVergence().

Referenced by PhyiCub::PhyiCub().

void versionChangedVelocity ( real  newvel) [protected, slot]

Configures the real DOF after a change in the velocity of the version DOF.

Definition at line 2915 of file phyicub.cpp.

References PhyiCub::leftEyeFromVersionAndVergence(), PhyiCub::rightEyeFromVersionAndVergence(), and PhyDOF::velocity().

Referenced by PhyiCub::PhyiCub().

real versionFromRightAndLeftEye ( real  left,
real  right 
) [static, protected]

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