Robotsystem of the Robot Group Leipzig: Nimm4 Class Reference

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

- Search for |

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

# Nimm4 Class Reference

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

`#include <nimm4.h>`

Inherits OdeRobot.

Inherited by FourWheeled.

Inheritance diagram for Nimm4:

[legend]
Collaboration diagram for Nimm4:

[legend]
List of all members.

## Public Member Functions
| Nimm4 (const OdeHandle &odeHandle, const OsgHandle &osgHandle, const std::string &name, double size=1, double force=3, double speed=15, bool sphereWheels=true)
| constructor of nimm4 robot
virtual | ~Nimm4 ()
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 void | doInternalStuff (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 pose
virtual void | destroy ()
| destroys vehicle and space
## Static Protected Member Functions
static void | mycallback (void *data, dGeomID o1, dGeomID o2)
| additional things for collision handling 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

Nimm4 | ( | const OdeHandle & | odeHandle,
|  | const OsgHandle & | osgHandle,
|  | const std::string & | name,
|  | double | size = `1`,
|  | double | force = `3`,
|  | double | speed = `15`,
|  | bool | sphereWheels = `true` |
| ) |  |  |

constructor of nimm4 robot

Parameters:

  | odeHandle | data structure for accessing ODE
  | osgHandle | ata structure for accessing OSG
  | size | scaling of robot
  | force | maximal used force to realize motorcommand
  | speed | factor for changing speed of robot
  | sphereWheels | switches between spheres and 'normal' wheels

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

## Member Function Documentation

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

creates vehicle at desired pose

Parameters:

  | pose | 4x4 pose matrix

Reimplemented in FourWheeled.

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

destroys vehicle and space

Reimplemented in FourWheeled.

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.

Reimplemented in FourWheeled.

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.

Reimplemented in FourWheeled.

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.

Reimplemented in FourWheeled.

static void mycallback | ( | void * | data,
|  | dGeomID | o1,
|  | dGeomID | o2 |
| ) |  |  | `[static, protected]`

additional things for collision handling 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.

Reimplemented in FourWheeled.

## 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:

- nimm4.h
- nimm4.cpp