Robotsystem of the Robot Group Leipzig: Hand Class Reference

- Main Page
- Namespaces
- Classes
- Files
- Directories
- Related Pages
- Examples

- Search for |

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# Hand Class Reference

Artificial Hand. More...

`#include <hand.h>`

Inherits OdeRobot.

Inheritance diagram for Hand:

[legend]
Collaboration diagram for Hand:

[legend]
List of all members.

## Public Member Functions
| Hand (const OdeHandle &odeHandle, const OsgHandle &osgHandle, const HandConf &conf, const std::string &name)
| constructor of hand
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 (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 their value as allocated lists.
virtual paramval | getParam (const paramkey &key) const
| Returns the value of the given parameter.
virtual bool | setParam (const paramkey &key, paramval val)
| Sets the values of the given parameter.
## Static Public Member Functions
static HandConf | getDefaultConf ()
## Protected Member Functions
virtual Primitive * | getMainPrimitive () const
| Returns the palm as the main object of the robot, which is used for position and speed tracking.
## Protected Attributes
HandConf | conf
| configuration of hand
std::vector< Primitive * > | objects
| vector containing Primitives
std::vector< OSGPrimitive * > | osg_objects
| vector containing OSGPrimitives
std::vector< IRSensor * > | ir_sensors
| vector containing Primitivesinfrared sensors
bool | contact_joint_created
| true if contact joint is created
std::vector< Joint * > | joints
| vector of the joints used in hand
std::vector< AngularMotor * > | frictionmotors
| vector of the angular motors
std::vector< HingeServo * > | servos
| vector of the used hinge servos
RaySensorBank | irSensorBank
| a collection of ir sensors
dSpaceID | hand_space
| space containing the hand
AngularMotor * | palm_motor_joint
| motorjoint for actuating the forearm_palm joint (ball joint)
AngularMotor * | thumb_motor_joint
| motorjoint for actuating the palm_thumb joint (ball joint)
HingeJoint * | thumb_bt
| Hinge Joint between thumb_buttom and thumb_top.
Joint * | palm_index
| Hinge Joint between buttom, center and top part of the index finger.
Joint * | index_bc
Joint * | index_ct
Joint * | palm_middle
| Hinge Joint between buttom, center and top part of the middle finger.
Joint * | middle_bc
Joint * | middle_ct
Joint * | palm_ring
| Hinge Joint between buttom, center and top part of the ring finger.
Joint * | ring_bc
Joint * | ring_ct
Joint * | palm_little
| Hinge Joint between buttom, center and top part of the little finger.
Joint * | little_bc
Joint * | little_ct
GripMode | gripmode
| for handling lateral and precision grip modes
Position | initial_pos
| initial position of robot
Pos | oldp
int | sensorno
int | motorno
int | sensor_number
paramval | factorForce
paramval | frictionGround
double | velocity

## Detailed Description

Artificial Hand.

## Constructor & Destructor Documentation

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

constructor of hand

Parameters:

  | odeHandle | data structure for accessing ODE
  | osgHandle | ata structure for accessing OSG
  | conf | configuration of robot

## 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).

Reimplemented from OdeRobot.

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 HandConf getDefaultConf | ( |  | ) | `[inline, static]`

virtual Primitive* getMainPrimitive | ( |  | ) | const`[inline, protected, virtual]`

Returns the palm as 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 given parameter.

Parameters:

  | key | name of the parameter

Configurable::paramlist getParamList | ( |  | ) | const`[virtual]`

The list of all parameters with their 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 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 values of the given parameter.

Parameters:

  | key | name of the parameter
  | val | value to which the parameter will be set

void update | ( |  | ) | `[virtual]`

update the subcomponents

Implements OdeRobot.

## Member Data Documentation

HandConf conf`[protected]`

configuration of hand

bool contact_joint_created`[protected]`

true if contact joint is created

paramval factorForce`[protected]`

paramval frictionGround`[protected]`

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

vector of the angular motors

GripMode gripmode`[protected]`

for handling lateral and precision grip modes

dSpaceID hand_space`[protected]`

space containing the hand

Joint * index_bc`[protected]`

Joint * index_ct`[protected]`

Position initial_pos`[protected]`

initial position of robot

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

vector containing Primitivesinfrared sensors

RaySensorBank irSensorBank`[protected]`

a collection of ir sensors

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

vector of the joints used in hand

Joint * little_bc`[protected]`

Joint * little_ct`[protected]`

Joint * middle_bc`[protected]`

Joint * middle_ct`[protected]`

int motorno`[protected]`

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

vector containing Primitives

Pos oldp`[protected]`

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

vector containing OSGPrimitives

Joint* palm_index`[protected]`

Hinge Joint between buttom, center and top part of the index finger.

Joint* palm_little`[protected]`

Hinge Joint between buttom, center and top part of the little finger.

Joint* palm_middle`[protected]`

Hinge Joint between buttom, center and top part of the middle finger.

AngularMotor* palm_motor_joint`[protected]`

motorjoint for actuating the forearm_palm joint (ball joint)

Joint* palm_ring`[protected]`

Hinge Joint between buttom, center and top part of the ring finger.

Joint * ring_bc`[protected]`

Joint * ring_ct`[protected]`

int sensor_number`[protected]`

int sensorno`[protected]`

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

vector of the used hinge servos

HingeJoint* thumb_bt`[protected]`

Hinge Joint between thumb_buttom and thumb_top.

AngularMotor* thumb_motor_joint`[protected]`

motorjoint for actuating the palm_thumb joint (ball joint)

double velocity`[protected]`

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

- hand.h
- hand.cpp