#include <hand.h>
Inherits lpzrobots::OdeRobot.

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 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 void | notifyOnChange (const paramkey &key) |
| returns a vector with the positions of all segments of the robot | |
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< 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< AngularMotor * > | frictionmotors |
| vector of the joints used in hand | |
| 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 |
Artificial Hand.
| 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 |
| 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 |
Reimplemented from 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.
Reimplemented from OdeRobot.
| int getMotorNumber | ( | ) | [virtual] |
returns number of motors
Implements AbstractRobot.
| int getSensorNumber | ( | ) | [virtual] |
returns number of sensors
Implements AbstractRobot.
| 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 notifyOnChange | ( | const paramkey & | key | ) | [virtual] |
returns a vector with the positions of all segments of the robot
| poslist | vector of positions (of all robot segments) |
Reimplemented from Configurable.
| 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.
| void update | ( | ) | [virtual] |
update the subcomponents
Implements OdeRobot.
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 joints used in hand
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] |
1.6.3