Nimm4 Class Reference

Robot that looks like a Nimm 2 Bonbon :-) 4 wheels and a capsule like body Wheelorder: front left, front right, rear left, rear right. More...

#include <nimm4.h>

Inherits lpzrobots::OdeRobot.

Inherited by FourWheeled.

Collaboration diagram for Nimm4:
Collaboration graph
[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 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 void doInternalStuff (GlobalData &globalData)
 this function is called in each timestep.

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)
 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
Substance wheelsubstance

Detailed Description

Robot that looks like a Nimm 2 Bonbon :-) 4 wheels and a capsule like body Wheelorder: front left, front right, rear left, rear right.


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
Examples:
nimm4.cpp.
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
pose matrix with desired position and orientation

Reimplemented in FourWheeled.

Examples:
nimm4.cpp.
void destroy (  )  [protected, virtual]

destroys vehicle and space

Reimplemented in FourWheeled.

Examples:
nimm4.cpp.
void doInternalStuff ( GlobalData global  )  [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

It should perform robot-internal checks, like space-internal collision detection, sensor resets/update etc.

Parameters:
global structure that contains global data from the simulation environment

Reimplemented from OdeRobot.

Reimplemented in FourWheeled.

Examples:
nimm4.cpp.
virtual int getMotorNumber (  )  [inline, virtual]

returns number of motors

Implements AbstractRobot.

Reimplemented in FourWheeled.

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
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 FourWheeled.

Examples:
nimm4.cpp.
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.

Examples:
nimm4.cpp.
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.

Reimplemented in FourWheeled.

Examples:
nimm4.cpp.
void update (  )  [virtual]

updates the OSG nodes of the vehicle

updates the osg notes

Implements OdeRobot.

Reimplemented in FourWheeled.

Examples:
nimm4.cpp.

Member Data Documentation

double cmass [protected]
Examples:
nimm4.cpp.
bool created [protected]
Examples:
nimm4.cpp.
double height [protected]
double length [protected]
Examples:
nimm4.cpp.
double max_force [protected]
Examples:
nimm4.cpp.
int motorno [protected]
Examples:
nimm4.cpp.
double radius [protected]
Examples:
nimm4.cpp.
int segmentsno [protected]
Examples:
nimm4.cpp.
int sensorno [protected]
Examples:
nimm4.cpp.
double speed [protected]
bool sphereWheels [protected]
Examples:
nimm4.cpp.
double wheelthickness [protected]
Examples:
nimm4.cpp.
double width [protected]
Examples:
nimm4.cpp.
double wmass [protected]
Examples:
nimm4.cpp.

The documentation for this class was generated from the following files:
Generated on Thu Jun 28 14:48:57 2012 for Robot Simulator of the Robotics Group for Self-Organization of Control by  doxygen 1.6.3