24 #ifndef __SLIDERWHEELIE_H
25 #define __SLIDERWHEELIE_H
74 std::vector <AngularMotor*> angularMotors;
77 std::vector <HingeServo*> hingeServos;
78 std::vector <SliderServo*> sliderServos;
85 const std::string& revision =
"");
121 return hingeServos.size()+angularMotors.size()+sliderServos.size(); }
124 return hingeServos.size()+angularMotors.size()+sliderServos.size(); }
127 if(dummycenter)
return dummycenter;
139 static void mycallback(
void *data, dGeomID o1, dGeomID o2);
142 virtual void destroy();
virtual int getSensorsIntern(sensor *sensors, int sensornumber)
overload this function in a subclass to do specific sensor handling, not needed for generic sensors ...
Definition: sliderwheelie.cpp:109
virtual void update()
update the OSG notes here, if overwritten, call OdeRobot::update()!
Definition: sliderwheelie.cpp:59
bool showCenter
whether to show the virtual center
Definition: sliderwheelie.h:58
double segmDia
diameter of a snake element
Definition: sliderwheelie.h:46
double segmLength
length of one snake element
Definition: sliderwheelie.h:45
Data structure for accessing the ODE.
Definition: odehandle.h:44
SliderWheelie(const OdeHandle &odeHandle, const OsgHandle &osgHandle, const SliderWheelieConf &conf, const std::string &name, const std::string &revision="")
Definition: sliderwheelie.cpp:30
double jointLimitOut
maximal angle for the joints to the outside
Definition: sliderwheelie.h:55
Matrixd Matrix
Definition: osgforwarddecl.h:47
MotorType
Definition: sliderwheelie.h:42
charArray paramkey
Definition: avrtypes.h:36
std::string texture
texture for segments
Definition: sliderwheelie.h:60
double sensor
Definition: types.h:29
int segmNumber
number of snake elements
Definition: sliderwheelie.h:44
Data structure for accessing the OpenSceneGraph.
Definition: osghandle.h:79
MotorType motorType
whether to use servos or angular motors
Definition: sliderwheelie.h:57
double segmMass
mass of one snake element
Definition: sliderwheelie.h:47
virtual Primitive * getMainPrimitive() const
return the primitive of the robot that is used for tracking and camera following
Definition: sliderwheelie.h:126
virtual std::vector< Primitive * > getAllPrimitives() const
returns a list of all primitives of the robot (used to store and restore the robot) ...
Definition: sliderwheelie.h:133
virtual int getSensorNumberIntern()
overload this function in a subclass to specific the number of custom sensors
Definition: sliderwheelie.h:120
static SliderWheelieConf getDefaultConf()
Definition: sliderwheelie.h:89
Interface class for primitives represented in the physical and graphical world.
Definition: primitive.h:80
virtual void setMotorsIntern(const double *motors, int motornumber)
overload this function in a subclass to do specific sensor handling, not needed for generic motors ...
Definition: sliderwheelie.cpp:74
Abstract angular motor class.
Definition: angularmotor.h:36
Data structure holding all essential global information.
Definition: globaldata.h:57
virtual void placeIntern(const osg::Matrix &pose)
wrapper to for
Definition: sliderwheelie.cpp:51
double powerRatio
ratio of motorpower for hinge vs. slider
Definition: sliderwheelie.h:50
std::list< SensorAttachment > sensors
Definition: oderobot.h:269
virtual int getMotorNumberIntern()
overload this function in a subclass to specific the number of custom sensors
Definition: sliderwheelie.h:123
double sensorFactor
scale for sensors
Definition: sliderwheelie.h:51
double frictionGround
friction with ground
Definition: sliderwheelie.h:52
OsgHandle osgHandle
Definition: oderobot.h:278
OdeHandle odeHandle
Definition: oderobot.h:277
double jointLimitIn
maximal angle for the joints to the inside (M_PI/2 = 90 degree)
Definition: sliderwheelie.h:54
virtual ~SliderWheelie()
Definition: sliderwheelie.cpp:46
Abstract class for ODE robots.
Definition: oderobot.h:64
Primitives objects
list of objects (should be populated by subclasses)
Definition: oderobot.h:265
Dummy Primitive which returns 0 for geom and body.
Definition: primitive.h:452
double motorPower
power of the motors / servos
Definition: sliderwheelie.h:48
void doInternalStuff(GlobalData &global)
this function is called in each simulation timestep (always after control).
Definition: sliderwheelie.cpp:71
double sliderLength
length of the slider in segmLength (0 for no sliders)
Definition: sliderwheelie.h:56
virtual void notifyOnChange(const paramkey &key)
Is called when a parameter was changes via setParam().
Definition: sliderwheelie.cpp:284
double frictionJoint
friction within joint
Definition: sliderwheelie.h:53
double motorDamp
damping of motors
Definition: sliderwheelie.h:49
std::list< MotorAttachment > motors
Definition: oderobot.h:270
Definition: sliderwheelie.h:40
This is a class, which models an annular robot.
Definition: sliderwheelie.h:69
Definition: sliderwheelie.h:42
Definition: sliderwheelie.h:42