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

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

- Search for |

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

# Nimm2 Class Reference

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

`#include <nimm2.h>`

Inherits OdeRobot.

Inheritance diagram for Nimm2:

[legend]
Collaboration diagram for Nimm2:

[legend]
List of all members.

## Public Member Functions
| Nimm2 (const OdeHandle &odehandle, const OsgHandle &osgHandle, const Nimm2Conf &conf, const std::string &name)
virtual | ~Nimm2 ()
virtual void | update ()
| updates the osg notes and sensorbank
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.
virtual double & | getSumForce ()
virtual double & | getContactPoints ()
## Static Public Member Functions
static Nimm2Conf | getDefaultConf ()
## 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)
## Protected Attributes
double | contactPoints
Nimm2Conf | conf
| Inspectable interface.
double | length
double | width
double | height
double | radius
double | wheelthickness
double | cmass
double | wmass
int | sensorno
int | motorno
bool | created
double | max_force
Primitive * | object [3]
double | wheeloffset
int | number_bumpers
Bumper | bumper [2]
Hinge2Joint * | joint [2]
RaySensorBank | irSensorBank
bool | visForce
double | sumForce

## Detailed Description

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

## Constructor & Destructor Documentation

Nimm2 | ( | const OdeHandle & | odehandle,
|  | const OsgHandle & | osgHandle,
|  | const Nimm2Conf & | conf,
|  | const std::string & | name |
| ) |  |  |

~Nimm2 | ( |  | ) | `[virtual]`

## Member Function Documentation

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

Parameters:

  | pose | 4x4 pose matrix

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

destroys vehicle and space

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.

virtual double& getContactPoints | ( |  | ) | `[inline, virtual]`

static Nimm2Conf getDefaultConf | ( |  | ) | `[inline, static]`

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.

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.

virtual double& getSumForce | ( |  | ) | `[inline, virtual]`

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

updates the osg notes and sensorbank

Implements OdeRobot.

## Member Data Documentation

Bumper bumper[2]`[protected]`

double cmass`[protected]`

Nimm2Conf conf`[protected]`

Inspectable interface.

double contactPoints`[protected]`

bool created`[protected]`

double height`[protected]`

RaySensorBank irSensorBank`[protected]`

Hinge2Joint* joint[2]`[protected]`

double length`[protected]`

double max_force`[protected]`

int motorno`[protected]`

int number_bumpers`[protected]`

Primitive* object[3]`[protected]`

double radius`[protected]`

int sensorno`[protected]`

double sumForce`[protected]`

bool visForce`[protected]`

double wheeloffset`[protected]`

double wheelthickness`[protected]`

double width`[protected]`

double wmass`[protected]`

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

- nimm2.h
- nimm2.cpp