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

# MuscledArm Class Reference

`#include <muscledarm.h>`

Inherits lpzrobots::OdeRobot.

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 ()
| update the subcomponents
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 void | doInternalStuff (GlobalData &globalData)
| this function is called in each timestep.
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 vehicle at desired pose
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]`

void create | ( | const osg::Matrix & | pose | ) | `[protected, virtual]`

creates vehicle at desired pose

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

Reimplemented from 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

Reimplemented from OdeRobot.

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

returns number of motors

Implements AbstractRobot.

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

Parameters:

  | sensors | sensors scaled to [-1,1] (more or less)
  | 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.

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

update the subcomponents

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