Robot Simulator of the Robotics Group for Self-Organization of Control: MuscledArm Class Reference

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

- Search for |

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

# MuscledArm Class Reference

`#include <muscledarm.h>`

Inherits OdeRobot.

Inheritance diagram for MuscledArm:

[legend]
Collaboration diagram for MuscledArm:

[legend]
List of all members.

## 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
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)
virtual void | doInternalStuff (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 | print
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

## Constructor & Destructor Documentation

MuscledArm | ( | const OdeHandle & | odeHandle,
|  | const OsgHandle & | osgHandle,
|  | const MuscledArmConf & | conf,
|  | const std::string & | name |
| ) |  |  |

virtual ~MuscledArm | ( |  | ) | `[inline, virtual]`

## Member Function Documentation

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]`

Deprecated:
  Do not use it anymore, collision control is done automatically. 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 create | ( | const osg::Matrix & | pose | ) | `[protected, virtual]`

creates arm at desired position

Parameters:

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

Primitive * getMainObject | ( |  | ) | const`[virtual]`

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

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

Implements OdeRobot.

virtual int getMotorNumber | ( |  | ) | `[inline, virtual]`

returns number of motors

Implements AbstractRobot.

Configurable::paramval getParam | ( | const paramkey & | key | ) | const`[virtual]`

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

The list of all parameters with there value as allocated lists.

Reimplemented from Configurable.

int getSegmentsPosition | ( | std::vector< Position > & | poslist | ) | `[virtual]`

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

Parameters:

  | poslist | vector of positions (of all robot segments)

Returns:
  length of the list

virtual int getSensorNumber | ( |  | ) | `[inline, 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, protected]`

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]`

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

draws the arm

Implements OdeRobot.

## Member Data Documentation

const int armanzahl = 3`[static, protected]`

double base_length`[protected]`

double base_width`[protected]`

MuscledArmConf conf`[protected]`

bool created`[protected]`

paramval damping`[protected]`

paramval factorMotors`[protected]`

paramval factorSensors`[protected]`

double force_[6]

double gelenkabstand`[protected]`

Joint* joint[NUMJoints]`[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]`

Primitive* object[NUMParts]`[protected]`

Position old_dist[NUMParts]`[protected]`

dSpaceID parentspace`[protected]`

Reimplemented from OdeRobot.

paramval print`[protected]`

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]`

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

- muscledarm.h
- muscledarm.cpp