Arm Class Reference

#include <arm.h>

Inherits OdeRobot.

Inheritance diagram for Arm:

Inheritance graph
[legend]
Collaboration diagram for Arm:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Arm (const OdeHandle &odeHandle, const OsgHandle &osgHandle, const ArmConf &conf, const std::string &name)
virtual ~Arm ()
virtual paramkey getName () const
 return the name of the object
virtual void place (const osg::Matrix &pose)
 sets the pose of the vehicle
virtual void update ()
 draws the arm
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
void getEndeffectorPosition (double *position)
 returns the position of the endeffector (hand)
virtual bool collisionCallback (void *data, dGeomID o1, dGeomID o2)
virtual void doInternalStuff (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
virtual bool setParam (const paramkey &key, paramval val)
virtual PrimitivegetMainObject () const
virtual PrimitivegetMainPrimitive () const
 the main object of the robot, which is used for position and speed tracking
void setDlearnTargetHack (double *post)
void setDmotorTargetHack (double *post)

Static Public Member Functions

static ArmConf getDefaultConf ()

Protected Member Functions

virtual void create (const osg::Matrix &pose)
 creates arm at desired position
virtual void destroy ()
 destroys vehicle and space
void hitTarget ()
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

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

Protected Attributes

ArmConf conf
matrix::Matrix endeff
paramval factorSensors
paramval print
std::vector< Primitive * > objects
std::vector< Joint * > joints
std::vector< HingeServo * > hingeServos
int sensorno
int motorno
bool created
dSpaceID parentspace
int printed

Constructor & Destructor Documentation

Arm ( const OdeHandle odeHandle,
const OsgHandle osgHandle,
const ArmConf conf,
const std::string &  name 
)

virtual ~Arm (  )  [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]

Deprecated:
Do not use it anymore, collision control is done automatically. 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).

Reimplemented from OdeRobot.

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

creates arm at desired position

Parameters:
pose 4x4 pose matrix
snowmanmode snowman body

double dBodyGetPositionAll ( dBodyID  basis,
int  para 
) [protected]

void destroy (  )  [protected, virtual]

destroys vehicle and space

double dGeomGetPositionAll ( dGeomID  basis,
int  para 
) [protected]

void doInternalStuff ( 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.

static ArmConf getDefaultConf (  )  [inline, static]

void getEndeffectorPosition ( double *  position  ) 

returns the position of the endeffector (hand)

Parameters:
position vector position vector

virtual Primitive* getMainObject (  )  const [inline, virtual]

virtual Primitive* getMainPrimitive (  )  const [inline, 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.

virtual paramkey getName (  )  const [inline, virtual]

return the name of the object

Reimplemented from Configurable.

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

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 hitTarget (  )  [protected]

static 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 setDlearnTargetHack ( double *  post  ) 

void setDmotorTargetHack ( double *  post  ) 

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]

void update (  )  [virtual]

draws the arm

Implements OdeRobot.


Member Data Documentation

ArmConf conf [protected]

bool created [protected]

matrix::Matrix endeff [protected]

paramval factorSensors [protected]

std::vector<HingeServo*> hingeServos [protected]

std::vector<Joint*> joints [protected]

int motorno [protected]

std::vector<Primitive*> objects [protected]

dSpaceID parentspace [protected]

Reimplemented from OdeRobot.

paramval print [protected]

int printed [protected]

int sensorno [protected]


The documentation for this class was generated from the following files:
Generated on Fri Oct 30 16:29:03 2009 for Robot Simulator of the Robotics Group for Self-Organization of Control by  doxygen 1.4.7