TruckMesh Class Reference

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

#include <truckmesh.h>

Inherits OdeRobot.

Inheritance diagram for TruckMesh:

Inheritance graph
[legend]
Collaboration diagram for TruckMesh:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TruckMesh (const OdeHandle &odeHandle, const OsgHandle &osgHandle, const std::string &name, GlobalData &global, double size=1, double force=3, double speed=15, double mass=1)
 constructor of TruckMesh robot
virtual ~TruckMesh ()
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 PrimitivegetMainPrimitive () 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

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 middlewidth
double middlelength
double height
double radius
double wheelthickness
double cmass
double wmass
int sensorno
int motorno
int segmentsno
double speed
bool drawBoundings
double max_force
bool created
Primitiveobject [7]
Hinge2Jointjoint [6]
GlobalData global

Detailed Description

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


Constructor & Destructor Documentation

TruckMesh const OdeHandle odeHandle,
const OsgHandle osgHandle,
const std::string &  name,
GlobalData global,
double  size = 1,
double  force = 3,
double  speed = 15,
double  mass = 1
 

constructor of TruckMesh 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

virtual ~TruckMesh  )  [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]
 

bool drawBoundings [protected]
 

GlobalData global [protected]
 

double height [protected]
 

Hinge2Joint* joint[6] [protected]
 

double length [protected]
 

double max_force [protected]
 

double middlelength [protected]
 

double middlewidth [protected]
 

int motorno [protected]
 

Primitive* object[7] [protected]
 

double radius [protected]
 

int segmentsno [protected]
 

int sensorno [protected]
 

double speed [protected]
 

double wheelthickness [protected]
 

double width [protected]
 

double wmass [protected]
 


The documentation for this class was generated from the following files:
Generated on Tue Jan 16 02:14:56 2007 for Robotsystem of the Robot Group Leipzig by doxygen 1.3.8