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

# Nimm2 Class Reference

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

`#include <nimm2.h>`

Inherits lpzrobots::OdeRobot.

Inherited by TwoWheeled.

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 nodes of the vehicle
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 double & | getSumForce ()
virtual double & | getContactPoints ()
## Static Public Member Functions
static Nimm2Conf | getDefaultConf ()
## Protected Member Functions
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)
## 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
double | wheeloffset
int | number_bumpers
Bumper | bumper [2]
RaySensorBank | irSensorBank
bool | visForce
double | sumForce

## Detailed Description

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

wheel order: left, right IR order: front left, front right, right, right rear, rear right, rear left, left rear, left

## Constructor & Destructor Documentation

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

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

## Member Function Documentation

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

creates vehicle at desired pose

creates vehicle at desired position

Parameters:

  | pose | 4x4 pose matrix
  | pos | struct Position with desired position

Reimplemented in TwoWheeled.

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

destroys vehicle and space

Reimplemented in TwoWheeled.

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.

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

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

Reimplemented in TwoWheeled.

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.

Reimplemented in TwoWheeled.

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.

Reimplemented in TwoWheeled.

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 nodes of the vehicle

updates the osg notes and sensorbank

Implements OdeRobot.

Reimplemented in TwoWheeled.

## Member Data Documentation

Bumper bumper[2]`[protected]`

double cmass`[protected]`

Nimm2Conf conf`[protected]`

Inspectable interface.

Reimplemented in TwoWheeled.

double contactPoints`[protected]`

bool created`[protected]`

double height`[protected]`

RaySensorBank irSensorBank`[protected]`

double length`[protected]`

double max_force`[protected]`

int motorno`[protected]`

int number_bumpers`[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