MuscledArm Class Reference

#include <muscledarm.h>

Inherits OdeRobot.

Inheritance diagram for MuscledArm:

Inheritance graph
[legend]
Collaboration diagram for MuscledArm:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 MuscledArm (const OdeHandle &odeHandle, const OsgHandle &osgHandle, const MuscledArmConf &conf, const std::string &name)
virtual ~MuscledArm ()
virtual void update ()
 draws the arm
virtual void place (const osg::Matrix &pose)
 sets the pose of the vehicle
virtual int getSensors (sensor *sensors, int sensornumber)
 returns actual sensorvalues
virtual void setMotors (const motor *motors, int motornumber)
 sets actual motorcommands
virtual int getSensorNumber ()
 returns number of sensors
virtual int getMotorNumber ()
 returns number of motors
virtual int getSegmentsPosition (std::vector< Position > &poslist)
 returns a vector with the positions of all segments of the robot
virtual bool collisionCallback (void *data, dGeomID o1, dGeomID o2)
 checks for internal collisions and treats them.
virtual void doInternalStuff (const GlobalData &globalData)
 this function is called in each timestep.
paramlist getParamList () const
 The list of all parameters with there value as allocated lists.
virtual paramval getParam (const paramkey &key) const
 returns the value of the requested parameter or 0 (+ error message to stderr) if unknown.
virtual bool setParam (const paramkey &key, paramval val)
 sets the value of the given parameter or does nothing if unknown.
virtual PrimitivegetMainObject () const

Static Public Member Functions

MuscledArmConf getDefaultConf ()

Public Attributes

double force_ [6]

Protected Member Functions

virtual PrimitivegetMainPrimitive () const
 the main object of the robot, which is used for position and speed tracking
virtual void create (const osg::Matrix &pose)
 creates arm at desired position
virtual void destroy ()
 destroys vehicle and space
double dBodyGetPositionAll (dBodyID basis, int para)
double dGeomGetPositionAll (dGeomID basis, int para)
void BodyCreate (int n, dMass m, dReal x, dReal y, dReal z, dReal qx, dReal qy, dReal qz, dReal qangle)

Static Protected Member Functions

void mycallback (void *data, dGeomID o1, dGeomID o2)

Protected Attributes

MuscledArmConf conf
Primitiveobject [NUMParts]
Jointjoint [NUMJoints]
Position old_dist [NUMParts]
paramval factorMotors
paramval factorSensors
paramval damping
paramval print
int segmentsno
double gelenkabstand
double SOCKEL_LAENGE
double SOCKEL_BREITE
double SOCKEL_HOEHE
double SOCKEL_MASSE
int sensorno
int motorno
bool created
dSpaceID parentspace
int printed
double max_l
double max_r
double min_l
double min_r
double base_width
double base_length
double upperArm_width
double upperArm_length
double lowerArm_width
double lowerArm_length
double joint_offset
double mainMuscle_width
double mainMuscle_length
double smallMuscle_width
double smallMuscle_length

Static Protected Attributes

const int armanzahl = 3

Constructor & Destructor Documentation

MuscledArm const OdeHandle odeHandle,
const OsgHandle osgHandle,
const MuscledArmConf conf,
const std::string &  name
 

virtual ~MuscledArm  )  [inline, virtual]
 


Member Function Documentation

void BodyCreate int  n,
dMass  m,
dReal  x,
dReal  y,
dReal  z,
dReal  qx,
dReal  qy,
dReal  qz,
dReal  qangle
[protected]
 

bool collisionCallback void *  data,
dGeomID  o1,
dGeomID  o2
[virtual]
 

checks for internal collisions and treats them.

In case of a treatment return true (collision will be ignored by other objects and the default routine) else false (collision is passed to other objects and (if not treated) to the default routine).

Implements OdeRobot.

void create const osg::Matrix pose  )  [protected, virtual]
 

creates arm at desired position

Parameters:
pose 4x4 pose matrix

double dBodyGetPositionAll dBodyID  basis,
int  para
[protected]
 

void destroy  )  [protected, virtual]
 

destroys vehicle and space

double dGeomGetPositionAll dGeomID  basis,
int  para
[protected]
 

void doInternalStuff const GlobalData globalData  )  [virtual]
 

this function is called in each timestep.

It should perform robot-internal checks, like space-internal collision detection, sensor resets/update etc.

Parameters:
globalData structure that contains global data from the simulation environment

Implements OdeRobot.

MuscledArmConf getDefaultConf  )  [inline, static]
 

Primitive * getMainObject  )  const [virtual]
 

virtual Primitive* getMainPrimitive  )  const [inline, protected, virtual]
 

the main object of the robot, which is used for position and speed tracking

Implements OdeRobot.

virtual int getMotorNumber  )  [inline, virtual]
 

returns number of motors

Implements AbstractRobot.

Configurable::paramval getParam const paramkey key  )  const [virtual]
 

returns the value of the requested parameter or 0 (+ error message to stderr) if unknown.

Reimplemented from Configurable.

Configurable::paramlist getParamList  )  const [virtual]
 

The list of all parameters with there value as allocated lists.

Reimplemented from Configurable.

int getSegmentsPosition std::vector< Position > &  poslist  )  [virtual]
 

returns a vector with the positions of all segments of the robot

Parameters:
poslist vector of positions (of all robot segments)
Returns:
length of the list

virtual int getSensorNumber  )  [inline, virtual]
 

returns number of sensors

Implements AbstractRobot.

int getSensors sensor sensors,
int  sensornumber
[virtual]
 

returns actual sensorvalues

Parameters:
sensors sensors scaled to [-1,1]
sensornumber length of the sensor array
Returns:
number of actually written sensors

Implements AbstractRobot.

void mycallback void *  data,
dGeomID  o1,
dGeomID  o2
[static, protected]
 

void place const osg::Matrix pose  )  [virtual]
 

sets the pose of the vehicle

Parameters:
pose desired 4x4 pose matrix

Implements OdeRobot.

void setMotors const motor motors,
int  motornumber
[virtual]
 

sets actual motorcommands

Parameters:
motors motors scaled to [-1,1]
motornumber length of the motor array

Implements AbstractRobot.

bool setParam const paramkey key,
paramval  val
[virtual]
 

sets the value of the given parameter or does nothing if unknown.

Reimplemented from Configurable.

void update  )  [virtual]
 

draws the arm

Implements OdeRobot.


Member Data Documentation

const int armanzahl = 3 [static, protected]
 

double base_length [protected]
 

double base_width [protected]
 

MuscledArmConf conf [protected]
 

bool created [protected]
 

paramval damping [protected]
 

paramval factorMotors [protected]
 

paramval factorSensors [protected]
 

double force_[6]
 

double gelenkabstand [protected]
 

Joint* joint[NUMJoints] [protected]
 

double joint_offset [protected]
 

double lowerArm_length [protected]
 

double lowerArm_width [protected]
 

double mainMuscle_length [protected]
 

double mainMuscle_width [protected]
 

double max_l [protected]
 

double max_r [protected]
 

double min_l [protected]
 

double min_r [protected]
 

int motorno [protected]
 

Primitive* object[NUMParts] [protected]
 

Position old_dist[NUMParts] [protected]
 

dSpaceID parentspace [protected]
 

Reimplemented from OdeRobot.

paramval print [protected]
 

int printed [protected]
 

int segmentsno [protected]
 

int sensorno [protected]
 

double smallMuscle_length [protected]
 

double smallMuscle_width [protected]
 

double SOCKEL_BREITE [protected]
 

double SOCKEL_HOEHE [protected]
 

double SOCKEL_LAENGE [protected]
 

double SOCKEL_MASSE [protected]
 

double upperArm_length [protected]
 

double upperArm_width [protected]
 


The documentation for this class was generated from the following files:
Generated on Tue Jan 16 02:14:54 2007 for Robotsystem of the Robot Group Leipzig by doxygen 1.3.8