#include <hand.h>
Inherits OdeRobot.
Inheritance diagram for Hand:
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 |
Hand | ( | const OdeHandle & | odeHandle, | |
const OsgHandle & | osgHandle, | |||
const HandConf & | conf, | |||
const std::string & | name | |||
) |
constructor of hand
odeHandle | data structure for accessing ODE | |
osgHandle | ata structure for accessing OSG | |
conf | configuration of robot |
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.
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] |
Configurable::paramval getParam | ( | const paramkey & | key | ) | const [virtual] |
Returns the value of the given parameter.
key | name of the parameter |
Configurable::paramlist getParamList | ( | ) | const [virtual] |
int getSensorNumber | ( | ) | [virtual] |
int getSensors | ( | sensor * | sensors, | |
int | sensornumber | |||
) | [virtual] |
returns actual sensorvalues
sensors | sensors scaled to [-1,1] | |
sensornumber | length of the sensor array |
Implements AbstractRobot.
void place | ( | const osg::Matrix & | pose | ) | [virtual] |
void setMotors | ( | const motor * | motors, | |
int | motornumber | |||
) | [virtual] |
sets actual motorcommands
motors | motors scaled to [-1,1] | |
motornumber | length of the motor array |
Implements AbstractRobot.
Sets the values of the given parameter.
key | name of the parameter | |
val | value to which the parameter will be set |
void update | ( | ) | [virtual] |
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
dSpaceID hand_space [protected] |
space containing the hand
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
int motorno [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)
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] |