CjrlHumanoidDynamicRobot Class Reference

Abstract class describing a humanoid robot with dynamics. More...

#include <abstract-robot-dynamics/humanoid-dynamic-robot.hh>

Inheritance diagram for CjrlHumanoidDynamicRobot:
Collaboration diagram for CjrlHumanoidDynamicRobot:

List of all members.

Public Member Functions

virtual ~CjrlHumanoidDynamicRobot ()
 Destructor.
Joints specific to humanoid robots
virtual void waist (CjrlJoint *inWaist)=0
 Set the pointer to the waist.
virtual CjrlJointwaist () const =0
 Get a pointer to the waist.
virtual void chest (CjrlJoint *inChest)=0
 Set the pointer to the chest.
virtual CjrlJointchest () const =0
 Get a pointer to the chest.
virtual void leftWrist (CjrlJoint *inLefWrist)=0
 Set the pointer to the left wrist joint.
virtual CjrlJointleftWrist () const =0
 Get a pointer to the left wrist.
virtual void rightWrist (CjrlJoint *inRightWrist)=0
 Set the pointer to the right wrist joint.
virtual CjrlJointrightWrist () const =0
 Get a pointer to the right wrist.
virtual void rightHand (CjrlHand *inRightHand)=0
 Set the pointer to the right hand.
virtual CjrlHandrightHand () const =0
 Get a pointer to the right hand.
virtual void leftHand (CjrlHand *inLeftHand)=0
 Set the pointer to the left hand.
virtual CjrlHandleftHand () const =0
 Get a pointer to the left hand.
virtual double getHandClench (CjrlHand *inHand)=0
 Get the hand clench value.
virtual bool setHandClench (CjrlHand *inHand, double inClenchingValue)=0
 Set the hand clench value.
virtual void leftAnkle (CjrlJoint *inLefAnkle)=0
 Set the pointer to the left ankle joint.
virtual CjrlJointleftAnkle () const =0
 Get a pointer to the left ankle.
virtual void rightAnkle (CjrlJoint *inRightAnkle)=0
 Set the pointer to the right ankle joint.
virtual CjrlJointrightAnkle () const =0
 Get a pointer to the right ankle.
virtual void leftFoot (CjrlFoot *inLeftFoot)=0
 Set the pointer to the left foot joint.
virtual CjrlFootleftFoot () const =0
 Get a pointer to the left foot.
virtual void rightFoot (CjrlFoot *inRightFoot)=0
 Set the pointer to the right foot joint.
virtual CjrlFootrightFoot () const =0
 Get a pointer to the right foot.
virtual void gazeJoint (CjrlJoint *inGazeJoint)=0
 Set gaze joint.
virtual CjrlJointgazeJoint () const =0
 Get gaze joint.
virtual void gaze (const vector3d &inDirection, const vector3d &inOrigin)=0
 Set the gaze orientation and position in the local frame of the gaze joint.
virtual const vector3dgazeOrigin () const =0
 Get a point on the gaze straight line.
virtual const vector3dgazeDirection () const =0
 Get the direction of gaze.
Zero momentum point
virtual const vector3dzeroMomentumPoint () const =0
 return the coordinates of the Zero Momentum Point.

Detailed Description

Abstract class describing a humanoid robot with dynamics.

This class derives for CjrlDynamicRobot and instantiate properties specific to humanoid robots.

  • it provides pointers to the feet and hand joints,
  • it provides pointers to the joint corresponding to the gaze,
  • it computes the Zero Momentum Point.
Definition
This class describes a humanoid robot as a kinematic chain with two arms, two feet and a vision sensor. The axis of the sensor is called gaze. Hands are linked to the robot by arms connected at the chest joint. Feet are linked to the robot by legs connected at the waist joint. No access to the joints composing the limbs are provided by this class. See class CjrlHumDynRobotType2 for this type of information.

Constructor & Destructor Documentation

virtual CjrlHumanoidDynamicRobot::~CjrlHumanoidDynamicRobot ( ) [inline, virtual]

Destructor.


Member Function Documentation

virtual void CjrlHumanoidDynamicRobot::chest ( CjrlJoint inChest) [pure virtual]

Set the pointer to the chest.

Note:
for some humanoid robots, the waist and the chest are the same joints.
virtual CjrlJoint* CjrlHumanoidDynamicRobot::chest ( ) const [pure virtual]

Get a pointer to the chest.

Note:
for some humanoid robots, the waist and the chest are the same joints.
virtual void CjrlHumanoidDynamicRobot::gaze ( const vector3d inDirection,
const vector3d inOrigin 
) [pure virtual]

Set the gaze orientation and position in the local frame of the gaze joint.

Returns:
inOrigin a point on the gaze straight line,
inDirection the direction of the gaze joint.
virtual const vector3d& CjrlHumanoidDynamicRobot::gazeDirection ( ) const [pure virtual]

Get the direction of gaze.

virtual void CjrlHumanoidDynamicRobot::gazeJoint ( CjrlJoint inGazeJoint) [pure virtual]

Set gaze joint.

Note:
For most humanoid robots, the gaze joint is the head.
virtual CjrlJoint* CjrlHumanoidDynamicRobot::gazeJoint ( ) const [pure virtual]

Get gaze joint.

virtual const vector3d& CjrlHumanoidDynamicRobot::gazeOrigin ( ) const [pure virtual]

Get a point on the gaze straight line.

virtual double CjrlHumanoidDynamicRobot::getHandClench ( CjrlHand inHand) [pure virtual]

Get the hand clench value.

This is a scalar value ranging between 0 and 1 which describes the hand clench (0 for open and 1 for closed hand)

virtual void CjrlHumanoidDynamicRobot::leftAnkle ( CjrlJoint inLefAnkle) [pure virtual]

Set the pointer to the left ankle joint.

virtual CjrlJoint* CjrlHumanoidDynamicRobot::leftAnkle ( ) const [pure virtual]

Get a pointer to the left ankle.

virtual void CjrlHumanoidDynamicRobot::leftFoot ( CjrlFoot inLeftFoot) [pure virtual]

Set the pointer to the left foot joint.

virtual CjrlFoot* CjrlHumanoidDynamicRobot::leftFoot ( ) const [pure virtual]

Get a pointer to the left foot.

virtual void CjrlHumanoidDynamicRobot::leftHand ( CjrlHand inLeftHand) [pure virtual]

Set the pointer to the left hand.

virtual CjrlHand* CjrlHumanoidDynamicRobot::leftHand ( ) const [pure virtual]

Get a pointer to the left hand.

virtual void CjrlHumanoidDynamicRobot::leftWrist ( CjrlJoint inLefWrist) [pure virtual]

Set the pointer to the left wrist joint.

virtual CjrlJoint* CjrlHumanoidDynamicRobot::leftWrist ( ) const [pure virtual]

Get a pointer to the left wrist.

virtual void CjrlHumanoidDynamicRobot::rightAnkle ( CjrlJoint inRightAnkle) [pure virtual]

Set the pointer to the right ankle joint.

virtual CjrlJoint* CjrlHumanoidDynamicRobot::rightAnkle ( ) const [pure virtual]

Get a pointer to the right ankle.

virtual void CjrlHumanoidDynamicRobot::rightFoot ( CjrlFoot inRightFoot) [pure virtual]

Set the pointer to the right foot joint.

virtual CjrlFoot* CjrlHumanoidDynamicRobot::rightFoot ( ) const [pure virtual]

Get a pointer to the right foot.

virtual void CjrlHumanoidDynamicRobot::rightHand ( CjrlHand inRightHand) [pure virtual]

Set the pointer to the right hand.

virtual CjrlHand* CjrlHumanoidDynamicRobot::rightHand ( ) const [pure virtual]

Get a pointer to the right hand.

virtual void CjrlHumanoidDynamicRobot::rightWrist ( CjrlJoint inRightWrist) [pure virtual]

Set the pointer to the right wrist joint.

virtual CjrlJoint* CjrlHumanoidDynamicRobot::rightWrist ( ) const [pure virtual]

Get a pointer to the right wrist.

virtual bool CjrlHumanoidDynamicRobot::setHandClench ( CjrlHand inHand,
double  inClenchingValue 
) [pure virtual]

Set the hand clench value.

This is a scalar value ranging between 0 and 1 which describes the hand clench (0 for open and 1 for closed hand)

Returns:
false if parameter 2 is out of range
virtual void CjrlHumanoidDynamicRobot::waist ( CjrlJoint inWaist) [pure virtual]

Set the pointer to the waist.

virtual CjrlJoint* CjrlHumanoidDynamicRobot::waist ( ) const [pure virtual]

Get a pointer to the waist.

virtual const vector3d& CjrlHumanoidDynamicRobot::zeroMomentumPoint ( ) const [pure virtual]

return the coordinates of the Zero Momentum Point.