35 #ifndef __DEFAULTCATERPILLAR_H
36 #define __DEFAULTCATERPILLAR_H
46 #include <selforg/configurable.h>
virtual ~DefaultCaterPillar()
Definition: defaultCaterPillar.cpp:44
Data structure for accessing the ODE.
Definition: odehandle.h:44
Matrixd Matrix
Definition: osgforwarddecl.h:47
CaterPillarConf conf
Definition: defaultCaterpillar.h:77
charArray paramkey
Definition: avrtypes.h:36
double frictionGround
friction with ground
Definition: defaultCaterpillar.h:58
static CaterPillarConf getDefaultConf()
Definition: defaultCaterpillar.h:83
virtual void notifyOnChange(const paramkey &key)
Is called when a parameter was changes via setParam().
Definition: defaultCaterPillar.cpp:65
double jointLimit
maximal angle for the joints (M_PI/2 = 90 degree)
Definition: defaultCaterpillar.h:60
DefaultCaterPillar(const OdeHandle &odeHandle, const OsgHandle &osgHandle, const CaterPillarConf &conf, const std::string &name, const std::string &revision)
Definition: defaultCaterPillar.cpp:32
double sensor
Definition: types.h:29
int firstJoint
first joint type to use: 0=sliderJoint, 1=universalJoint
Definition: defaultCaterpillar.h:61
Data structure for accessing the OpenSceneGraph.
Definition: osghandle.h:79
virtual int getMotorNumberIntern()=0
returns number of motors
double frictionJoint
friction within joint
Definition: defaultCaterpillar.h:59
bool created
Definition: defaultCaterpillar.h:74
double segmLength
length of one snake element
Definition: defaultCaterpillar.h:53
virtual int getSensorsIntern(sensor *sensors, int sensornumber)=0
Writes the sensor values to an array in the memory.
double segmDia
diameter of a snake element
Definition: defaultCaterpillar.h:54
virtual void create(const osg::Matrix &pose)
creates vehicle at desired pose
Definition: defaultCaterPillar.cpp:87
std::vector< AngularMotor * > frictionmotors
Definition: defaultCaterpillar.h:76
Interface class for primitives represented in the physical and graphical world.
Definition: primitive.h:80
double motorPower
power of the motors / servos
Definition: defaultCaterpillar.h:56
virtual void setMotorsIntern(const double *motors, int motornumber)=0
Reads the actual motor commands from an array, an sets all motors of the snake to this values...
std::list< SensorAttachment > sensors
Definition: oderobot.h:269
virtual int getSegmentsPosition(std::vector< Position > &poslist)
returns a vector with the positions of all segments of the robot
Definition: defaultCaterPillar.cpp:74
OsgHandle osgHandle
Definition: oderobot.h:278
OdeHandle odeHandle
Definition: oderobot.h:277
virtual int getSensorNumberIntern()=0
returns number of sensors
virtual void update()
update all primitives and joints
Definition: defaultCaterPillar.cpp:57
virtual Primitive * getMainPrimitive() const
the main object of the robot, which is used for position and speed tracking
Definition: defaultCaterpillar.h:144
Abstract class for ODE robots.
Definition: oderobot.h:64
int segmNumber
number of snake elements
Definition: defaultCaterpillar.h:52
This is a class, which models a snake like robot.
Definition: defaultCaterpillar.h:70
Primitives objects
list of objects (should be populated by subclasses)
Definition: oderobot.h:265
double segmMass
mass of one snake element
Definition: defaultCaterpillar.h:55
double sensorFactor
scale for sensors
Definition: defaultCaterpillar.h:57
std::list< MotorAttachment > motors
Definition: oderobot.h:270
Definition: defaultCaterpillar.h:50
virtual void placeIntern(const osg::Matrix &pose)
sets the pose of the vehicle
Definition: defaultCaterPillar.cpp:50
virtual void destroy()
destroys vehicle and space
Definition: defaultCaterPillar.cpp:112