Robotsystem of the Robot Group Leipzig: Formel1 Class Reference

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

- Search for |

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

# Formel1 Class Reference

Robot that looks like a Nimm 2 Bonbon :-) 4 wheels and a capsule like body. More...

`#include <formel1.h>`

Inherits OdeRobot.

Inheritance diagram for Formel1:

[legend]
Collaboration diagram for Formel1:

[legend]
List of all members.

## Public Member Functions
| Formel1 (const OdeHandle &odeHandle, const OsgHandle &osgHandle, double size=1, double force=3, double speed=15, bool sphereWheels=true)
virtual | ~Formel1 ()
virtual void | update ()
| updates the osg notes
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 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.
## 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 position
virtual void | destroy ()
| destroys vehicle and space
## Static Protected Member Functions
static void | mycallback (void *data, dGeomID o1, dGeomID o2)
| things for collision handling inside the space of the robot can be done here
## Protected Attributes
double | length
double | width
double | height
double | radius
double | wheelthickness
bool | sphereWheels
double | cmass
double | wmass
int | sensorno
int | motorno
int | segmentsno
double | speed
double | max_force
bool | created
Primitive * | object [5]
Hinge2Joint * | joint [4]

## Detailed Description

Robot that looks like a Nimm 2 Bonbon :-) 4 wheels and a capsule like body.

## Constructor & Destructor Documentation

Formel1 | ( | const OdeHandle & | odeHandle,
|  | const OsgHandle & | osgHandle,
|  | double | size = `1`,
|  | double | force = `3`,
|  | double | speed = `15`,
|  | bool | sphereWheels = `true` |
| ) |  |  |

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

## Member Function Documentation

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 vehicle at desired position

Parameters:

  | pose | 4x4 pose matrix

void destroy | ( |  | ) | `[protected, virtual]`

destroys vehicle and space

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.

Parameters:

  | globalData | structure that contains global data from the simulation environment

Implements OdeRobot.

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.

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

things for collision handling inside the space of the robot can be done here

void place | ( | const osg::Matrix & | pose | ) | `[virtual]`

sets the pose of the vehicle

Parameters:

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

updates the osg notes

Implements OdeRobot.

## Member Data Documentation

double cmass`[protected]`

bool created`[protected]`

double height`[protected]`

Hinge2Joint* joint[4]`[protected]`

double length`[protected]`

double max_force`[protected]`

int motorno`[protected]`

Primitive* object[5]`[protected]`

double radius`[protected]`

int segmentsno`[protected]`

int sensorno`[protected]`

double speed`[protected]`

bool sphereWheels`[protected]`

double wheelthickness`[protected]`

double width`[protected]`

double wmass`[protected]`

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

- formel1.h
- formel1.cpp