OdeRobot Class Reference

Abstract class for ODE robots. More...

#include <oderobot.h>

Inherits AbstractRobot.

Inherited by AddSensors2RobotAdapter, Arm, Arm2Segm, Component, DefaultCaterPillar, DefaultWheelie, Discus, ForcedSphere, Formel1, Hand, HurlingSnake, MuscledArm, Nimm2, Nimm4, ReplayRobot, Schlange, ShortCircuit, SliderWheelie, Sphererobot, Sphererobot3Masses, TruckMesh, Uwo, and VierBeiner.

Inheritance diagram for OdeRobot:

Inheritance graph
[legend]
Collaboration diagram for OdeRobot:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 OdeRobot (const OdeHandle &odeHandle, const OsgHandle &osgHandle, const std::string &name, const std::string &revision)
 Constructor.
virtual ~OdeRobot ()
virtual void update ()=0
 update the OSG notes here
virtual void place (const Pos &pos)
 sets the vehicle to position pos
virtual void place (const osg::Matrix &pose)=0
 sets the pose of the vehicle
virtual bool collisionCallback (void *data, dGeomID o1, dGeomID o2)
virtual void doInternalStuff (GlobalData &globalData)=0
 this function is called in each timestep after control.
virtual void setColor (const Color &col)
 sets color of the robot
virtual Position getPosition () const
 returns position of the object
virtual Position getSpeed () const
 returns linear speed vector of the object
virtual Position getAngularSpeed () const
 returns angular velocity vector of the object
virtual matrix::Matrix getOrientation () const
 returns the orientation of the object
virtual PrimitivegetMainPrimitive () const =0
 return the primitive of the robot that is used for tracking and camera following

Static Protected Member Functions

static bool isGeomInPrimitiveList (Primitive **ps, int len, dGeomID geom)
static bool isGeomInPrimitiveList (std::list< Primitive * > ps, dGeomID geom)

Protected Attributes

OdeHandle odeHandle
OsgHandle osgHandle
dSpaceID parentspace

Friends

class OdeAgent

Detailed Description

Abstract class for ODE robots.
Examples:

template_sphererobot/main.cpp.


Constructor & Destructor Documentation

OdeRobot ( const OdeHandle odeHandle,
const OsgHandle osgHandle,
const std::string &  name,
const std::string &  revision 
)

Constructor.

Parameters:
odehandle structure with all global ODE variables

~OdeRobot (  )  [virtual]


Member Function Documentation

virtual bool collisionCallback ( void *  data,
dGeomID  o1,
dGeomID  o2 
) [inline, 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 in AddSensors2RobotAdapter, Arm, Arm2Segm, AtomComponent, Component, DefaultCaterPillar, DefaultWheelie, ForcedSphere, Formel1, Hand, HurlingSnake, MuscledArm, Nimm2, ReplayRobot, RobotComponent, Schlange, ShortCircuit, SimpleComponent, SliderWheelie, Sphererobot, TruckMesh, Uwo, and VierBeiner.

virtual void doInternalStuff ( GlobalData globalData  )  [pure virtual]

this function is called in each timestep after control.

It should perform robot-internal checks and actions, like acting and sensing of internal motors/sensors etc.

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

Implemented in AddSensors2RobotAdapter, Arm, Arm2Segm, AtomComponent, DefaultCaterPillar, DefaultWheelie, Discus, ForcedSphere, Formel1, FourWheeled, Hand, HurlingSnake, MuscledArm, Nimm2, Nimm4, ReplayRobot, RobotComponent, Schlange, ShortCircuit, SimpleComponent, SliderWheelie, Sphererobot, Sphererobot3Masses, TruckMesh, Uwo, and VierBeiner.

Position getAngularSpeed (  )  const [virtual]

returns angular velocity vector of the object

Returns:
vector (wx,wy,wz)

Implements Trackable.

virtual Primitive* getMainPrimitive (  )  const [pure virtual]

return the primitive of the robot that is used for tracking and camera following

Implemented in AddSensors2RobotAdapter, Arm, Arm2Segm, AtomComponent, Component, DefaultCaterPillar, DefaultWheelie, Discus, ForcedSphere, Formel1, Hand, HurlingSnake, MuscledArm, Nimm2, Nimm4, PrimitiveComponent, ReplayRobot, RobotComponent, Schlange, ShortCircuit, SimpleComponent, SliderWheelie, Sphererobot, Sphererobot3Masses, TruckMesh, Uwo, and VierBeiner.

matrix::Matrix getOrientation (  )  const [virtual]

returns the orientation of the object

Returns:
3x3 rotation matrix

Implements Trackable.

Position getPosition (  )  const [virtual]

returns position of the object

Returns:
vector of position (x,y,z)

Implements Trackable.

Reimplemented in AtomComponent, Component, PrimitiveComponent, RobotComponent, and SimpleComponent.

Position getSpeed (  )  const [virtual]

returns linear speed vector of the object

Returns:
vector (vx,vy,vz)

Implements Trackable.

bool isGeomInPrimitiveList ( std::list< Primitive * >  ps,
dGeomID  geom 
) [static, protected]

bool isGeomInPrimitiveList ( Primitive **  ps,
int  len,
dGeomID  geom 
) [static, protected]

virtual void place ( const osg::Matrix pose  )  [pure virtual]

sets the pose of the vehicle

Parameters:
pose desired 4x4 pose matrix

Implemented in AddSensors2RobotAdapter, Arm, Arm2Segm, AtomComponent, DefaultCaterPillar, DefaultWheelie, Discus, ForcedSphere, Formel1, Hand, HurlingSnake, MuscledArm, Nimm2, Nimm4, ReplayRobot, RobotComponent, Schlange, ShortCircuit, SimpleComponent, SliderWheelie, Sphererobot, Sphererobot3Masses, TruckMesh, Uwo, and VierBeiner.

void place ( const Pos pos  )  [virtual]

sets the vehicle to position pos

Parameters:
pos desired position of the robot

Reimplemented in AtomComponent, Component, PrimitiveComponent, RobotComponent, and SimpleComponent.

void setColor ( const Color col  )  [virtual]

sets color of the robot

Parameters:
col Color struct with desired Color

virtual void update (  )  [pure virtual]

update the OSG notes here

Implemented in AddSensors2RobotAdapter, Arm, Arm2Segm, AtomComponent, Component, DefaultCaterPillar, DefaultWheelie, Discus, ForcedSphere, Formel1, FourWheeled, Hand, HurlingSnake, MuscledArm, Nimm2, Nimm4, PrimitiveComponent, ReplayRobot, RobotComponent, Schlange, ShortCircuit, SimpleComponent, SliderWheelie, Sphererobot, Sphererobot3Masses, TruckMesh, Uwo, and VierBeiner.


Friends And Related Function Documentation

friend class OdeAgent [friend]


Member Data Documentation

OdeHandle odeHandle [protected]

OsgHandle osgHandle [protected]

dSpaceID parentspace [protected]

Reimplemented in Arm, Arm2Segm, and MuscledArm.


The documentation for this class was generated from the following files:
Generated on Fri Oct 30 16:29:03 2009 for Robot Simulator of the Robotics Group for Self-Organization of Control by  doxygen 1.4.7