Main Page | Class Hierarchy | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals | Related Pages | Examples

AiboHead Class Reference

#include <aibohead.h>

Inheritance diagram for AiboHead:

Inheritance graph
[legend]
Collaboration diagram for AiboHead:

Collaboration graph
[legend]

Public Member Functions

 AiboHead ()
virtual ~AiboHead ()
int GetNumJoints () const
Methods for head primitives
void OpenPrimitives ()
OPrimitiveID GetJointID (const HEAD_JOINT j) const
Methods for command vector manipulation and generation
void NewCommandVectorData ()
Methods for setting joint angles
void SetJoint (const slongword angle, const HEAD_JOINT joint, const int cmdVecIndex)
void SetJoint (const slongword angle, const HEAD_JOINT joint, const int numFrames, const int cmdVecIndex)
void SetJoint (const double angle, const HEAD_JOINT joint, const int cmdVecIndex)
void SetJoint (const double angle, const HEAD_JOINT joint, const int numFrames, const int cmdVecIndex)
void SetJoint (const double start, const double angle, const HEAD_JOINT joint, const int cmdVecIndex)
void SetJoint (const double start, const double angle, const HEAD_JOINT joint, const int numFrames, const int cmdVecIndex)
void SetJointRel (const slongword angle, const HEAD_JOINT joint, const int cmdVecIndex)
void SetJointRel (const slongword angle, const HEAD_JOINT joint, const int numFrames, const int cmdVecIndex)
void SetJointRel (const double angle, const HEAD_JOINT joint, const int cmdVecIndex)
void SetJointRel (const double angle, const HEAD_JOINT joint, const int numFrames, const int cmdVecIndex)
void SetJointRel (const double start, const double angle, const HEAD_JOINT joint, const int cmdVecIndex)
void SetJointRel (const double start, const double angle, const HEAD_JOINT joint, const int numFrames, const int cmdVecIndex)
Methods for getting joint angles
double GetJointValue (const HEAD_JOINT joint) const
double GetOPENRJointValue (const HEAD_JOINT joint) const
double GetMaxJointValue (const int index, JOINT_UNIT unit=ANGLE_RAD) const
double GetMaxJointValue (const HEAD_JOINT joint, JOINT_UNIT unit=ANGLE_RAD) const
double GetMinJointValue (const int index, JOINT_UNIT unit=ANGLE_RAD) const
double GetMinJointValue (const HEAD_JOINT joint, JOINT_UNIT unit=ANGLE_RAD) const
double GetMaxJointVelocity (const int index, JOINT_UNIT unit=ANGLE_RAD) const
double GetMaxJointVelocity (const HEAD_JOINT joint, JOINT_UNIT unit=ANGLE_RAD) const
Methods for stetting joint gain
void SetJointGain ()
void EnableJointGain (const HEAD_JOINT joint)
void DisableJointGain (const HEAD_JOINT joint)
Methods for joint primitives
OPrimitiveID GetJointID (int j) const
Methods for commannd vector manipulation and generation
RCRegion * FindFreeRegion () const
int FindFreeRegionIndex () const
RCRegion * GetRegion (int index=0)
void SetCommandVector (int index, OCommandVectorData *vec)
Methods for setting joint angles
void SetJointOPENR (slongword angle, OPrimitiveID joint, int jointIndex, int cmdVecIndex)
void SetJointOPENR (double angle, OPrimitiveID joint, int jointIndex, int cmdVecIndex)
void SetJoint (double start, double angle, OPrimitiveID joint, int jointIndex, int cmdVecIndex)
void SetJoint (double start, double angle, OPrimitiveID joint, int jointIndex, int numFrames, int cmdVecIndex)
void SetJoint (double angle, OPrimitiveID joint, int jointIndex, int cmdVecIndex)
void SetJoint (double angle, OPrimitiveID joint, int jointIndex, int numFrames, int cmdVecIndex)
void SetJoint (slongword angle, OPrimitiveID joint, int jointIndex, int cmdVecIndex)
void SetJoint (slongword angle, OPrimitiveID joint, int jointIndex, int numFrames, int cmdVecIndex)
void SetJointRelOPENR (slongword angle, OPrimitiveID joint, int jointIndex, int cmdVecIndex)
void SetJointRelOPENR (double angle, OPrimitiveID joint, int jointIndex, int cmdVecIndex)
void SetJointRel (double start, double angle, OPrimitiveID joint, int jointIndex, int cmdVecIndex)
void SetJointRel (double start, double angle, OPrimitiveID joint, int jointIndex, int numFrames, int cmdVecIndex)
void SetJointRel (double angle, OPrimitiveID joint, int jointIndex, int cmdVecIndex)
void SetJointRel (double angle, OPrimitiveID joint, int jointIndex, int numFrames, int cmdVecIndex)
void SetJointRel (slongword angle, OPrimitiveID joint, int jointIndex, int cmdVecIndex)
void SetJointRel (slongword angle, OPrimitiveID joint, int jointIndex, int numFrames, int cmdVecIndex)
void RefreshCommandVector (int cmdVecIndex)
void RefreshCommandVectors ()
void RefreshJointValue (int index)
void RefreshJointValues ()
Methods for getting joint angles
double GetJointValue (int index) const
double GetOPENRJointValue (OPrimitiveID joint) const
double GetOPENRJointValue (int joint) const
Methods for stetting joint gain
void EnableJointGain ()
void EnableJointGain (OPrimitiveID id)
void DisableJointGain ()
void DisableJointGain (OPrimitiveID id)
Methods for state of joints
JOINT_STATE GetState () const
void SetState (JOINT_STATE st)

Data Fields

RCRegion * Region [MaxJointRegions]

Static Public Attributes

static const int MaxJointRegions = 2

Protected Attributes

JOINT_STATE State
int NumJoints
double * JointValues
OPrimitiveID * JointID
double FrameFactor [ocommandMAX_FRAMES]

Static Protected Attributes

static const word HT_PGAIN = 0x000a
static const word HT_IGAIN = 0x0008
static const word HT_DGAIN = 0x000c
static const word HP_PGAIN = 0x000d
static const word HP_IGAIN = 0x0008
static const word HP_DGAIN = 0x000b
static const word HR_PGAIN = 0x000a
static const word HR_IGAIN = 0x0008
static const word HR_DGAIN = 0x000c
static const double MAX_TILT_DEG = 46.0
static const double MIN_TILT_DEG = -91.5
static const double MAX_ROLL_DEG = 32.0
static const double MIN_ROLL_DEG = -32.0
static const double MAX_PAN_DEG = 92.6
static const double MIN_PAN_DEG = -92.6
static const double MAX_TILT = MAX_TILT_DEG * DEGTORAD
static const double MIN_TILT = MIN_TILT_DEG * DEGTORAD
static const double MAX_ROLL = MAX_ROLL_DEG * DEGTORAD
static const double MIN_ROLL = MIN_ROLL_DEG * DEGTORAD
static const double MAX_PAN = MAX_PAN_DEG * DEGTORAD
static const double MIN_PAN = MIN_PAN_DEG * DEGTORAD
static const double MAX_TILT_VELO_DEG = 1.93/2.0
static const double MAX_ROLL_VELO_DEG = 2.76/2.0
static const double MAX_PAN_VELO_DEG = 2.76/2.0
static const double MAX_TILT_VELO = MAX_TILT_VELO_DEG * DEGTORAD
static const double MAX_ROLL_VELO = MAX_ROLL_VELO_DEG * DEGTORAD
static const double MAX_PAN_VELO = MAX_PAN_VELO_DEG * DEGTORAD
static const word PSHIFT = 0x000e
static const word ISHIFT = 0x0002
static const word DSHIFT = 0x000f

Detailed Description

Class for manipulation of head joints
Examples:

HeadExample.h.


Constructor & Destructor Documentation

AiboHead::AiboHead  ) 
 

Default constructor

virtual AiboHead::~AiboHead  )  [inline, virtual]
 

Default destructor


Member Function Documentation

void AiboHead::OpenPrimitives  )  [virtual]
 

Initializes the JointID's

Implements AiboJoint.

OPrimitiveID AiboHead::GetJointID const HEAD_JOINT  j  )  const [inline]
 

Returns the primitive id of joint

Parameters:
j Joint index
Returns:
OPrimitiveId of joint corresponding to joint index

void AiboHead::NewCommandVectorData  )  [virtual]
 

Initializes the RCRegion's (Region[]) with a command vector

Implements AiboJoint.

void AiboHead::SetJoint const slongword  angle,
const HEAD_JOINT  joint,
const int  cmdVecIndex
[inline]
 

Sets a joint to a given value

Parameters:
angle Value of angle to be set. UNIT: micro radians
joint Joint to be set
cmdVecIndex Index of command vector in which the data should be set

Here is the call graph for this function:

void AiboHead::SetJoint const slongword  angle,
const HEAD_JOINT  joint,
const int  numFrames,
const int  cmdVecIndex
[inline]
 

Sets a joint to a given value

Parameters:
angle Value of angle to be set. UNIT: micro radians
joint Joint to be set
numFrames Number of frames in wich the position should be reached (one frame = 8ms) WARNING: std frames is 16 if you use less communication may fai
cmdVecIndex Index of command vector in which the data should be set

Here is the call graph for this function:

void AiboHead::SetJoint const double  angle,
const HEAD_JOINT  joint,
const int  cmdVecIndex
[inline]
 

Sets a joint to a given value

Parameters:
angle Value of angle to be set. UNIT: radians
joint Joint to be set
cmdVecIndex Index of command vector in which the data should be set

Here is the call graph for this function:

void AiboHead::SetJoint const double  angle,
const HEAD_JOINT  joint,
const int  numFrames,
const int  cmdVecIndex
[inline]
 

Sets a joint to a given value

Parameters:
angle Value of angle to be set. UNIT: radians
joint Joint to be set
numFrames Number of frames in wich the position should be reached (one frame = 8ms) WARNING: std frames is 16 if you use less communication may fail
cmdVecIndex Index of command vector in which the data should be set

Here is the call graph for this function:

void AiboHead::SetJoint const double  start,
const double  angle,
const HEAD_JOINT  joint,
const int  cmdVecIndex
[inline]
 

Sets a joint to a given value

Parameters:
start Start value (act value)
angle Value of angle to be set. UNIT: radians
joint Joint to be set
cmdVecIndex Index of command vector in which the data should be set

Here is the call graph for this function:

void AiboHead::SetJoint const double  start,
const double  angle,
const HEAD_JOINT  joint,
const int  numFrames,
const int  cmdVecIndex
[inline]
 

Sets a joint to a given value

Parameters:
start Start value (act value)
angle Value of angle to be set. UNIT: radians
joint Joint to be set
numFrames Number of frames in wich the position should be reached (one frame = 8ms) WARNING: std frames is 16 if you use less communication may fail
cmdVecIndex Index of command vector in which the data should be set

Here is the call graph for this function:

void AiboHead::SetJointRel const slongword  angle,
const HEAD_JOINT  joint,
const int  cmdVecIndex
[inline]
 

Sets a joint to a given value relative to actual value

Parameters:
angle Value of angle to be set. UNIT: micro radians
joint Joint to be set
cmdVecIndex Index of command vector in which the data should be set

Here is the call graph for this function:

void AiboHead::SetJointRel const slongword  angle,
const HEAD_JOINT  joint,
const int  numFrames,
const int  cmdVecIndex
[inline]
 

Sets a joint to a given value

Parameters:
angle Value of angle to be set. UNIT: micro radians
joint Joint to be set
numFrames Number of frames in wich the position should be reached (one frame = 8ms) WARNING: std frames is 16 if you use less communication may fai
cmdVecIndex Index of command vector in which the data should be set

Here is the call graph for this function:

void AiboHead::SetJointRel const double  angle,
const HEAD_JOINT  joint,
const int  cmdVecIndex
[inline]
 

Sets a joint to a given value relative to actual value

Parameters:
angle Value of angle to be set. UNIT: radians
joint Joint to be set
cmdVecIndex Index of command vector in which the data should be set

Here is the call graph for this function:

void AiboHead::SetJointRel const double  angle,
const HEAD_JOINT  joint,
const int  numFrames,
const int  cmdVecIndex
[inline]
 

Sets a joint to a given value

Parameters:
angle Value of angle to be set. UNIT: radians
joint Joint to be set
numFrames Number of frames in wich the position should be reached (one frame = 8ms) WARNING: std frames is 16 if you use less communication may fai
cmdVecIndex Index of command vector in which the data should be set

Here is the call graph for this function:

void AiboHead::SetJointRel const double  start,
const double  angle,
const HEAD_JOINT  joint,
const int  cmdVecIndex
[inline]
 

Sets a joint to a given value relative to actual value

Parameters:
start Start value (act value)
angle Value of angle to be set. UNIT: radians
joint Joint to be set
cmdVecIndex Index of command vector in which the data should be set

Here is the call graph for this function:

void AiboHead::SetJointRel const double  start,
const double  angle,
const HEAD_JOINT  joint,
const int  numFrames,
const int  cmdVecIndex
[inline]
 

Sets a joint to a given value

Parameters:
start Start value (act value)
angle Value of angle to be set. UNIT: radians
joint Joint to be set
numFrames Number of frames in wich the position should be reached (one frame = 8ms) WARNING: std frames is 16 if you use less communication may fai
cmdVecIndex Index of command vector in which the data should be set

Here is the call graph for this function:

double AiboHead::GetJointValue const HEAD_JOINT  joint  )  const [inline]
 

Returns the protocoled joint value (wehre you think you are)

Parameters:
joint Joint of which you want to get the actual value
Returns:
Joint Value in radians

double AiboHead::GetOPENRJointValue const HEAD_JOINT  joint  )  const [inline]
 

Returns the real joint value
WARING: Slow function because the use of OPENR::GetJointValue()

Parameters:
joint Joint of which you want to get the actual value
Returns:
Joint Value in radians

Here is the call graph for this function:

double AiboHead::GetMaxJointValue const int  index,
JOINT_UNIT  unit = ANGLE_RAD
const [inline, virtual]
 

Returns the max joint value for joint with the given index

Parameters:
index Joint index
unit Unit for the angle. Radians or degree?
Returns:
Max possible joint value.

Implements AiboJoint.

double AiboHead::GetMaxJointValue const HEAD_JOINT  joint,
JOINT_UNIT  unit = ANGLE_RAD
const
 

Same as GetMaxJointValue(const int index). Accepts just an other argument

double AiboHead::GetMinJointValue const int  index,
JOINT_UNIT  unit = ANGLE_RAD
const [inline, virtual]
 

Returns the mix joint value for joint with the given index

Parameters:
index Joint index
unit Unit for the angle. Radians or degree?
Returns:
MIN possible joint value.

Implements AiboJoint.

double AiboHead::GetMinJointValue const HEAD_JOINT  joint,
JOINT_UNIT  unit = ANGLE_RAD
const
 

Same as GetMinJointValue(const int index). Accepts just an other argument

double AiboHead::GetMaxJointVelocity const int  index,
JOINT_UNIT  unit = ANGLE_RAD
const [inline, virtual]
 

Returns the max joint velocity for joint with the given index

Parameters:
index Joint index
unit Unit for the angle. Radians/frame or degree/frame?
Returns:
Max joint velocity.

Implements AiboJoint.

double AiboHead::GetMaxJointVelocity const HEAD_JOINT  joint,
JOINT_UNIT  unit = ANGLE_RAD
const
 

Same as GetMaxJointVelocity(const int index). Accepts just an other argument

void AiboHead::SetJointGain  )  [virtual]
 

Sets the joint gain for all joints and enables it

Implements AiboJoint.

void AiboHead::EnableJointGain const HEAD_JOINT  joint  )  [inline]
 

Here is the call graph for this function:

void AiboHead::DisableJointGain const HEAD_JOINT  joint  )  [inline]
 

Here is the call graph for this function:

OPrimitiveID AiboJoint::GetJointID int  j  )  const [inline, inherited]
 

RCRegion * AiboJoint::FindFreeRegion  )  const [inherited]
 

Finds a free memory region (RCRegion) in which the next command data can be set

Returns:
Free RCRegion

int AiboJoint::FindFreeRegionIndex  )  const [inherited]
 

Finds a free memory region (RCRegion) in which the next command data can be set

Returns:
Index of free RCRegion

RCRegion * AiboJoint::GetRegion int  index = 0  )  [inline, inherited]
 

returns the command vector corresponding to the index

void AiboJoint::SetCommandVector int  index,
OCommandVectorData *  vec
[inherited]
 

Method allows user to insert an own command vector in memory region

Parameters:
index Index of Region in which the command vector is set
vec Command vector to be set

void AiboJoint::SetJointOPENR slongword  angle,
OPrimitiveID  joint,
int  jointIndex,
int  cmdVecIndex
[inline, inherited]
 

Sets the joint value in the given command vector to a given value

Parameters:
angle The angle for the joint. UNIT: micro rad
joint The primitive id of the joint
jointIndex The index of the joint in the command vector
cmdVecIndex The index of the command vector in which the data should be set
Warning:
Slow function because actual joint value is obtained by OPENR::GetJointValue(...)!! Better if you use
See also:
void SetJoint(double start, double angle, OPrimitiveID joint, int jointIndex, int cmdVecIndex)

void AiboJoint::SetJointOPENR double  angle,
OPrimitiveID  joint,
int  jointIndex,
int  cmdVecIndex
[inherited]
 

Sets the joint value in the given command vector to a given value and know your angles by yourself!

Parameters:
angle The angle for the joint. UNIT: micro rad
joint The primitive id of the joint
jointIndex The index of the joint in the command vector
cmdVecIndex The index of the command vector in which the data should be set
Warning:
Slow function because actual joint value is obtained by OPENR::GetJointValue(...)!! Better if you use
See also:
void SetJoint(double start, double angle, OPrimitiveID joint, int jointIndex, int cmdVecIndex)

Here is the call graph for this function:

void AiboJoint::SetJoint double  start,
double  angle,
OPrimitiveID  joint,
int  jointIndex,
int  cmdVecIndex
[inherited]
 

Sets the joint value in the given command vector to a given value

Parameters:
start Start angle (actual Value)
angle The angle for the joint. UNIT: rad
joint The primitive id of the joint
jointIndex The index of the joint in the command vector
cmdVecIndex The index of the command vector in which the data should be set
Warning:
you will have to call RefreshCommandVectors() once before this function will be fuly operational

Here is the call graph for this function:

void AiboJoint::SetJoint double  start,
double  angle,
OPrimitiveID  joint,
int  jointIndex,
int  numFrames,
int  cmdVecIndex
[inherited]
 

Sets the joint value in the given command vector to a given value

Parameters:
start Start angle (actual Value)
angle The angle for the joint. UNIT: rad
joint The primitive id of the joint
jointIndex The index of the joint in the command vector
numFrames Number of frames in wich the position should be reached (one frame = 8ms)
cmdVecIndex The index of the command vector in which the data should be set
Warning:
: std numFrames is 16, if you use less communication may fail

you will have to call RefreshCommandVectors() once before this function will be fuly operational

Here is the call graph for this function:

void AiboJoint::SetJoint double  angle,
OPrimitiveID  joint,
int  jointIndex,
int  cmdVecIndex
[inline, inherited]
 

Sets the joint value in the given command vector to a given value

Parameters:
angle The angle for the joint. UNIT: rad
joint The primitive id of the joint
jointIndex The index of the joint in the command vector
cmdVecIndex The index of the command vector in which the data should be set
Warning:
you will have to call RefreshCommandVectors() once before this function will be fuly operational

Here is the call graph for this function:

void AiboJoint::SetJoint double  angle,
OPrimitiveID  joint,
int  jointIndex,
int  numFrames,
int  cmdVecIndex
[inline, inherited]
 

Sets the joint value in the given command vector to a given value

Parameters:
angle The angle for the joint. UNIT: rad
joint The primitive id of the joint
jointIndex The index of the joint in the command vector
numFrames Number of frames in wich the position should be reached (one frame + 8ms)
cmdVecIndex The index of the command vector in which the data should be set
Warning:
std numFrames is 16, if you use less communication may fail

you will have to call RefreshCommandVectors() once before this function will be fuly operational

Here is the call graph for this function:

void AiboJoint::SetJoint slongword  angle,
OPrimitiveID  joint,
int  jointIndex,
int  cmdVecIndex
[inline, inherited]
 

Sets the joint value in the given command vector to a given value

Parameters:
angle The angle for the joint. UNIT: micro rad
joint The primitive id of the joint
jointIndex The index of the joint in the command vector
cmdVecIndex The index of the command vector in which the data should be set
Warning:
std numFrames is 16, if you use less communication may fail

you will have to call RefreshCommandVectors() once before this function will be fuly operational

Here is the call graph for this function:

void AiboJoint::SetJoint slongword  angle,
OPrimitiveID  joint,
int  jointIndex,
int  numFrames,
int  cmdVecIndex
[inline, inherited]
 

Sets the joint value in the given command vector to a given value

Parameters:
angle The angle for the joint. UNIT: rad
joint The primitive id of the joint
jointIndex The index of the joint in the command vector
numFrames Number of frames in wich the position should be reached (one frame = 8ms)
cmdVecIndex The index of the command vector in which the data should be set
Warning:
std numFrames is 16, if you use less communication may fail

you will have to call RefreshCommandVectors() once before this function will be fuly operational

Here is the call graph for this function:

void AiboJoint::SetJointRelOPENR slongword  angle,
OPrimitiveID  joint,
int  jointIndex,
int  cmdVecIndex
[inline, inherited]
 

Sets the joint value relative to the actual value in the given command vector to a given value

Parameters:
angle The relative angle for the joint. UNIT: micro rad
joint The primitive id of the joint
jointIndex The index of the joint in the command vector
cmdVecIndex The index of the command vector in which the data should be set

void AiboJoint::SetJointRelOPENR double  angle,
OPrimitiveID  joint,
int  jointIndex,
int  cmdVecIndex
[inherited]
 

Sets the joint value relative to the actual value in the given command vector to a given value and know the angles by yourself!

Parameters:
angle The relative angle for the joint. UNIT: micro rad
joint The primitive id of the joint
jointIndex The index of the joint in the command vector
cmdVecIndex The index of the command vector in which the data should be set
Warning:
slow function because actual joint value is obtained by OPENR::GetJointValue(...)!! Better if you use
See also:
void SetJointRel(double start, double angle, OPrimitiveID joint, int jointIndex, int cmdVecIndex)

Here is the call graph for this function:

void AiboJoint::SetJointRel double  start,
double  angle,
OPrimitiveID  joint,
int  jointIndex,
int  cmdVecIndex
[inherited]
 

Sets the joint value relative to the actual value in the given command vector to a given value

Parameters:
start Start angle (actual Value)
angle The relative angle for the joint. UNIT: micro rad
joint The primitive id of the joint
jointIndex The index of the joint in the command vector
cmdVecIndex The index of the command vector in which the data should be set
Warning:
you will have to call RefreshCommandVectors() once before this function will be fuly operational

Here is the call graph for this function:

void AiboJoint::SetJointRel double  start,
double  angle,
OPrimitiveID  joint,
int  jointIndex,
int  numFrames,
int  cmdVecIndex
[inherited]
 

Sets the joint value relative to the actual value in the given command vector to a given value.

Parameters:
start Start angle (actual Value).
angle The relative angle for the joint. UNIT: micro rad
joint The primitive id of the joint.
jointIndex The index of the joint in the command vector.
numFrames Number of frames in wich the position should be reached (one frame + 8ms).
cmdVecIndex The index of the command vector in which the data should be set
Warning:
std frames is 16 if you use less communication may fail.

Not more than 16 frames allowed!!

Here is the call graph for this function:

void AiboJoint::SetJointRel double  angle,
OPrimitiveID  joint,
int  jointIndex,
int  cmdVecIndex
[inline, inherited]
 

Sets the joint value relative to the actual value in the given command vector to a given value

Parameters:
angle The relative angle for the joint. UNIT: micro rad
joint The primitive id of the joint
jointIndex The index of the joint in the command vector
cmdVecIndex The index of the command vector in which the data should be set
Warning:
you will have to call RefreshCommandVectors() once before this function will be fuly operational

Here is the call graph for this function:

void AiboJoint::SetJointRel double  angle,
OPrimitiveID  joint,
int  jointIndex,
int  numFrames,
int  cmdVecIndex
[inline, inherited]
 

Sets the joint value relative to the actual value in the given command vector to a given value

Parameters:
angle The relative angle for the joint. UNIT: micro rad
joint The primitive id of the joint
jointIndex The index of the joint in the command vector
numFrames Number of frames in wich the position should be reached (one frame + 8ms)
Warning:
std frames is 16 if you use less communication may fail
Parameters:
cmdVecIndex The index of the command vector in which the data should be set
Warning:
you will have to call RefreshCommandVectors() once before this function will be fuly operational

Here is the call graph for this function:

void AiboJoint::SetJointRel slongword  angle,
OPrimitiveID  joint,
int  jointIndex,
int  cmdVecIndex
[inline, inherited]
 

Sets the joint value relative to the actual value in the given command vector to a given value

Parameters:
angle The relative angle for the joint. UNIT: micro rad
joint The primitive id of the joint
jointIndex The index of the joint in the command vector
cmdVecIndex The index of the command vector in which the data should be set
Warning:
you will have to call RefreshCommandVectors() once before this function will be fuly operational

Here is the call graph for this function:

void AiboJoint::SetJointRel slongword  angle,
OPrimitiveID  joint,
int  jointIndex,
int  numFrames,
int  cmdVecIndex
[inline, inherited]
 

Sets the joint value relative to the actual value in the given command vector to a given value

Parameters:
angle The relative angle for the joint. UNIT: micro rad
joint The primitive id of the joint
jointIndex The index of the joint in the command vector
numFrames Number of frames in wich the position should be reached (one frame + 8ms)
cmdVecIndex The index of the command vector in which the data should be set
Warning:
std frames is 16 if you use less communication may fail.

Not more than 16 frames allowed!!

you will have to call RefreshCommandVectors() once before this function will be fuly operational

Here is the call graph for this function:

void AiboJoint::RefreshCommandVector int  cmdVecIndex  )  [inherited]
 

Sets all values of each joint in a command vector to the actual joint values

Parameters:
cmdVecIndex The Index of the command vector

Here is the call graph for this function:

void AiboJoint::RefreshCommandVectors  )  [inline, inherited]
 

Sets all values of each joint in all command vectors to the actual joint values

Here is the call graph for this function:

void AiboJoint::RefreshJointValue int  index  )  [inherited]
 

Refreshes the protocoled joint value

See also:
JointValues
Parameters:
index Index of the joint to refresh

void AiboJoint::RefreshJointValues  )  [inline, inherited]
 

Refreshes all of the protocoled joint values

See also:
JointValues

Here is the call graph for this function:

double AiboJoint::GetJointValue int  index  )  const [inline, inherited]
 

Returns the protocoled joint value (where you think you are)

Parameters:
index Index of which you want to get the actual value
Returns:
Joint Value in radians

double AiboJoint::GetOPENRJointValue OPrimitiveID  joint  )  const [inherited]
 

Returns the real joint value

Parameters:
joint Joint of which you want to get the actual value
Returns:
Joint Value in radians

double AiboJoint::GetOPENRJointValue int  joint  )  const [inherited]
 

Returns the real joint value

Parameters:
joint Joint of which you want to get the actual value
Returns:
Joint Value in radians

void AiboJoint::EnableJointGain  )  [inline, inherited]
 

Enables the joint gain for all joints(already included in SetJoint Gain() )

void AiboJoint::EnableJointGain OPrimitiveID  id  )  [inline, inherited]
 

Enables the joint gain (already included in SetJoint Gain() )

Parameters:
id Primitive id for joint

void AiboJoint::DisableJointGain  )  [inline, inherited]
 

Disables the joint gain for all joints

void AiboJoint::DisableJointGain OPrimitiveID  id  )  [inline, inherited]
 

Disables the joint gain

Parameters:
id Primitive id for joint

JOINT_STATE AiboJoint::GetState  )  const [inline, inherited]
 

Returns the state of the joints

Returns:
JOINT_STATE of command vector

void AiboJoint::SetState JOINT_STATE  st  )  [inline, inherited]
 

Sets the Joint State to a given state

Parameters:
st Joint state

int AiboJoint::GetNumJoints  )  const [inline, inherited]
 

Returns the numer of joint of an ERS-220

Returns:
Number of joints


Field Documentation

const word AiboHead::HT_PGAIN = 0x000a [static, protected]
 

P-Gain Value (PID-Contoller) for Head-Tilt

const word AiboHead::HT_IGAIN = 0x0008 [static, protected]
 

I-Gain Value (PID-Contoller) for Head-Tilt

const word AiboHead::HT_DGAIN = 0x000c [static, protected]
 

D-Gain Value (PID-Contoller) for Head-Tilt

const word AiboHead::HP_PGAIN = 0x000d [static, protected]
 

P-Gain Value (PID-Contoller) for Head-Pan

const word AiboHead::HP_IGAIN = 0x0008 [static, protected]
 

I-Gain Value (PID-Contoller) for Head-Pan

const word AiboHead::HP_DGAIN = 0x000b [static, protected]
 

D-Gain Value (PID-Contoller) for Head-Pan

const word AiboHead::HR_PGAIN = 0x000a [static, protected]
 

P-Gain Value (PID-Contoller) for Head-Roll

const word AiboHead::HR_IGAIN = 0x0008 [static, protected]
 

I-Gain Value (PID-Contoller) for Head-Roll

const word AiboHead::HR_DGAIN = 0x000c [static, protected]
 

D-Gain Value (PID-Contoller) for Head-Roll

const double AiboHead::MAX_TILT_DEG = 46.0 [static, protected]
 

Maximum value for Head-Tilt joint. UNIT: deg.

const double AiboHead::MIN_TILT_DEG = -91.5 [static, protected]
 

Minimum value for Head-Tilt joint. UNIT: deg.

const double AiboHead::MAX_ROLL_DEG = 32.0 [static, protected]
 

Maximum value for Head-Roll joint. UNIT: deg.

const double AiboHead::MIN_ROLL_DEG = -32.0 [static, protected]
 

Minimum value for Head-Roll joint. UNIT: deg.

const double AiboHead::MAX_PAN_DEG = 92.6 [static, protected]
 

Maximum value for Head-Pan joint. UNIT: deg.

const double AiboHead::MIN_PAN_DEG = -92.6 [static, protected]
 

Minimum value for Head-Pan joint. UNIT: deg.

const double AiboHead::MAX_TILT = MAX_TILT_DEG * DEGTORAD [static, protected]
 

Maximum value for Head-Tilt joint. UNIT: radians.

const double AiboHead::MIN_TILT = MIN_TILT_DEG * DEGTORAD [static, protected]
 

Minimum value for Head-Tilt joint. UNIT: radians.

const double AiboHead::MAX_ROLL = MAX_ROLL_DEG * DEGTORAD [static, protected]
 

Maximum value for Head-Roll joint. UNIT: radians.

const double AiboHead::MIN_ROLL = MIN_ROLL_DEG * DEGTORAD [static, protected]
 

Minimum value for Head-Roll joint. UNIT: radians.

const double AiboHead::MAX_PAN = MAX_PAN_DEG * DEGTORAD [static, protected]
 

Maximum value for Head-Pan joint. UNIT: radians.

const double AiboHead::MIN_PAN = MIN_PAN_DEG * DEGTORAD [static, protected]
 

Minimum value for Head-Pan joint. UNIT: radians.

const double AiboHead::MAX_TILT_VELO_DEG = 1.93/2.0 [static, protected]
 

Maximum allowed velocity for Head-Tilt UNIT: degree/frame

const double AiboHead::MAX_ROLL_VELO_DEG = 2.76/2.0 [static, protected]
 

Maximum allowed velocity for Head-Roll UNIT: degree/frame

const double AiboHead::MAX_PAN_VELO_DEG = 2.76/2.0 [static, protected]
 

Maximum allowed velocity for Head-Pan UNIT: degree/frame

const double AiboHead::MAX_TILT_VELO = MAX_TILT_VELO_DEG * DEGTORAD [static, protected]
 

Maximum allowed velocity for Head-Tilt UNIT: radians/frame

const double AiboHead::MAX_ROLL_VELO = MAX_ROLL_VELO_DEG * DEGTORAD [static, protected]
 

Maximum allowed velocity for Head-Roll UNIT: degree/frame

const double AiboHead::MAX_PAN_VELO = MAX_PAN_VELO_DEG * DEGTORAD [static, protected]
 

Maximum allowed velocity for Head-Pan UNIT: degree/frame

const int AiboJoint::MaxJointRegions = 2 [static, inherited]
 

Number of maximum allowed RCRegions for joint control

RCRegion* AiboJoint::Region[MaxJointRegions] [inherited]
 

Array of RCRegion s for joint control

JOINT_STATE AiboJoint::State [protected, inherited]
 

State of joints

int AiboJoint::NumJoints [protected, inherited]
 

Number of Joints

double* AiboJoint::JointValues [protected, inherited]
 

Array for joint angle protocol (where you think you are)

OPrimitiveID* AiboJoint::JointID [protected, inherited]
 

Array for storing primitive ID's

const word AiboJoint::PSHIFT = 0x000e [static, protected, inherited]
 

P-Shift value (PID-Controller) for AIBO joints

const word AiboJoint::ISHIFT = 0x0002 [static, protected, inherited]
 

I-Shift value (PID-Controller) for AIBO joints

const word AiboJoint::DSHIFT = 0x000f [static, protected, inherited]
 

D-Shift value (PID-Controller) for AIBO joints

double AiboJoint::FrameFactor[ocommandMAX_FRAMES] [protected, inherited]
 

Array for FrameFactor. Normally a motion is performed over 16 frames. This factor multiplied with die difference of current and desired value so that the gain from one frame to an other is constant. It is used in nearly every SetJoint...(...) metho.


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

tams Tim Baier AiboLib v0.2.4
Generated Thu Jan 19 11:55:22 2006 by doxygen 1.4.3