#include <muscledarm.h>
Inherits OdeRobot.
Inheritance diagram for MuscledArm:


Public Member Functions | |
| MuscledArm (const OdeHandle &odeHandle, const OsgHandle &osgHandle, const MuscledArmConf &conf, const std::string &name) | |
| virtual | ~MuscledArm () |
| virtual void | update () |
| draws the arm | |
| virtual void | place (const osg::Matrix &pose) |
| sets the pose of the vehicle pose desired 4x4 pose matrix | |
| 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 | |
| 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. | |
| 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 Primitive * | getMainObject () const |
Static Public Member Functions | |
| static MuscledArmConf | getDefaultConf () |
Public Attributes | |
| double | force_ [6] |
Protected Member Functions | |
| virtual Primitive * | getMainPrimitive () const |
| the main object of the robot, which is used for position and speed tracking | |
| virtual void | create (const osg::Matrix &pose) |
| creates arm at desired position | |
| virtual void | destroy () |
| destroys vehicle and space | |
| 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 | |
| MuscledArmConf | conf |
| Primitive * | object [NUMParts] |
| Joint * | joint [NUMJoints] |
| Position | old_dist [NUMParts] |
| paramval | factorMotors |
| paramval | factorSensors |
| paramval | damping |
| paramval | |
| int | segmentsno |
| double | gelenkabstand |
| double | SOCKEL_LAENGE |
| double | SOCKEL_BREITE |
| double | SOCKEL_HOEHE |
| double | SOCKEL_MASSE |
| int | sensorno |
| int | motorno |
| bool | created |
| dSpaceID | parentspace |
| int | printed |
| double | max_l |
| double | max_r |
| double | min_l |
| double | min_r |
| double | base_width |
| double | base_length |
| double | upperArm_width |
| double | upperArm_length |
| double | lowerArm_width |
| double | lowerArm_length |
| double | joint_offset |
| double | mainMuscle_width |
| double | mainMuscle_length |
| double | smallMuscle_width |
| double | smallMuscle_length |
Static Protected Attributes | |
| static const int | armanzahl = 3 |
| MuscledArm | ( | const OdeHandle & | odeHandle, | |
| const OsgHandle & | osgHandle, | |||
| const MuscledArmConf & | conf, | |||
| const std::string & | name | |||
| ) |
| virtual ~MuscledArm | ( | ) | [inline, virtual] |
| 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] |
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 | ) | [protected, virtual] |
creates arm at desired position
| pose | 4x4 pose matrix |
| double dBodyGetPositionAll | ( | dBodyID | basis, | |
| int | para | |||
| ) | [protected] |
| void destroy | ( | ) | [protected, virtual] |
destroys vehicle and space
| double dGeomGetPositionAll | ( | dGeomID | basis, | |
| int | para | |||
| ) | [protected] |
| 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.
| globalData | structure that contains global data from the simulation environment |
Implements OdeRobot.
| static MuscledArmConf getDefaultConf | ( | ) | [inline, static] |
| Primitive * getMainObject | ( | ) | const [virtual] |
| virtual Primitive* getMainPrimitive | ( | ) | const [inline, protected, virtual] |
| virtual int getMotorNumber | ( | ) | [inline, virtual] |
| Configurable::paramval getParam | ( | const paramkey & | key | ) | const [virtual] |
| Configurable::paramlist getParamList | ( | ) | const [virtual] |
| virtual int getSegmentsPosition | ( | std::vector< Position > & | poslist | ) | [virtual] |
returns a vector with the positions of all segments of the robot
| poslist | vector of positions (of all robot segments) |
| virtual int getSensorNumber | ( | ) | [inline, 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 mycallback | ( | void * | data, | |
| dGeomID | o1, | |||
| dGeomID | o2 | |||
| ) | [static, protected] |
| void place | ( | const osg::Matrix & | pose | ) | [virtual] |
sets the pose of the vehicle pose desired 4x4 pose matrix
| pose | desired 4x4 pose matrix |
Implements OdeRobot.
| 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] |
const int armanzahl = 3 [static, protected] |
double base_length [protected] |
double base_width [protected] |
MuscledArmConf conf [protected] |
bool created [protected] |
paramval factorMotors [protected] |
paramval factorSensors [protected] |
| double force_[6] |
double gelenkabstand [protected] |
double joint_offset [protected] |
double lowerArm_length [protected] |
double lowerArm_width [protected] |
double mainMuscle_length [protected] |
double mainMuscle_width [protected] |
double max_l [protected] |
double max_r [protected] |
double min_l [protected] |
double min_r [protected] |
int motorno [protected] |
dSpaceID parentspace [protected] |
Reimplemented from OdeRobot.
int printed [protected] |
int segmentsno [protected] |
int sensorno [protected] |
double smallMuscle_length [protected] |
double smallMuscle_width [protected] |
double SOCKEL_BREITE [protected] |
double SOCKEL_HOEHE [protected] |
double SOCKEL_LAENGE [protected] |
double SOCKEL_MASSE [protected] |
double upperArm_length [protected] |
double upperArm_width [protected] |
1.4.7