Hand Class Reference

Artificial Hand. More...

#include <hand.h>

Inherits OdeRobot.

Inheritance diagram for Hand:

Inheritance graph
[legend]
Collaboration diagram for Hand:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Hand (const OdeHandle &odeHandle, const OsgHandle &osgHandle, const HandConf &conf, const std::string &name)
 Constructor.
virtual void update ()
 update the subcomponents
virtual void place (const osg::Matrix &pose)
 sets the pose of the vehicle
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.
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 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.

Static Public Member Functions

HandConf getDefaultConf ()

Static Public Attributes

double palm_torque
double finger_force

Protected Member Functions

virtual PrimitivegetMainPrimitive () const
 the main object of the robot, which is used for position and speed tracking

Protected Attributes

HandConf conf
std::vector< Primitive * > objects
std::vector< OSGPrimitive * > osg_objects
std::vector< IRSensor * > ir_sensors
bool contact_joint_created
std::vector< Joint * > joints
std::vector< AngularMotor * > frictionmotors
std::vector< HingeServo * > servos
RaySensorBank irSensorBank
Primitivep
Jointj
dSpaceID hand_space
AngularMotorpalm_motor_joint
AngularMotorthumb_motor_joint
Jointfix_forearm_joint
double thumb1
double thumb2
double thumb3
GripMode gripmode
Position initial_pos
int NUM
double MASS
double RADIUS
Pos oldp
int sensorno
int motorno
int sensor_number
paramval factorForce
paramval frictionGround
double velocity
double power

Private Member Functions

virtual void create (const osg::Matrix &pose)
 returns a vector with the positions of all segments of the robot
virtual void destroy ()
 destroys robot

Static Private Member Functions

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

Private Attributes

bool created

Detailed Description

Artificial Hand.


Constructor & Destructor Documentation

Hand const OdeHandle odeHandle,
const OsgHandle osgHandle,
const HandConf conf,
const std::string &  name
 

Constructor.

Parameters:
w world in which robot should be created
s space in which robot should be created
c contactgroup for collision treatment


Member Function Documentation

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  )  [private, virtual]
 

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

Parameters:
pose 4x4 pose matrix

void destroy  )  [private, virtual]
 

destroys robot

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.

HandConf getDefaultConf  )  [inline, static]
 

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

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

Implements OdeRobot.

int getMotorNumber  )  [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 getSensorNumber  )  [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, private]
 

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]
 

update the subcomponents

Implements OdeRobot.


Member Data Documentation

HandConf conf [protected]
 

bool contact_joint_created [protected]
 

bool created [private]
 

paramval factorForce [protected]
 

double finger_force [static]
 

Joint* fix_forearm_joint [protected]
 

paramval frictionGround [protected]
 

std::vector<AngularMotor*> frictionmotors [protected]
 

GripMode gripmode [protected]
 

dSpaceID hand_space [protected]
 

Position initial_pos [protected]
 

std::vector<IRSensor*> ir_sensors [protected]
 

RaySensorBank irSensorBank [protected]
 

Joint* j [protected]
 

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

double MASS [protected]
 

int motorno [protected]
 

int NUM [protected]
 

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

Pos oldp [protected]
 

std::vector<OSGPrimitive*> osg_objects [protected]
 

Primitive* p [protected]
 

AngularMotor* palm_motor_joint [protected]
 

double palm_torque [static]
 

double power [protected]
 

double RADIUS [protected]
 

int sensor_number [protected]
 

int sensorno [protected]
 

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

double thumb1 [protected]
 

double thumb2 [protected]
 

double thumb3 [protected]
 

AngularMotor* thumb_motor_joint [protected]
 

double velocity [protected]
 


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