17 #include <ode_robots/joint.h>
18 #include <ode_robots/oneaxisservo.h>
19 #include <ode_robots/pid.h>
20 #include <ode_robots/angularmotor.h>
21 #include <selforg/controller_misc.h>
33 double power,
double damp=0.2,
double integration=0.0,
43 virtual void set(
double pos){
virtual void addForce1(double force)=0
double stepNoCutoff(double newsensorval, double time)
perform one step of the PID controller without cutoffs used for Center-Servos
Definition: pid.cpp:93
virtual ~Spring()
Definition: spring.h:37
double power(void *c, double x)
returns x the power c (as a double)
Definition: controller_misc.cpp:17
virtual void set(double pos)
sets the set point of the servo.
Definition: spring.h:43
double getTime()
Definition: odehandle.h:88
virtual double getPosition1() const =0
virtual void setMinMax(double _min, double _max)
Definition: spring.h:62
OdeHandle odeHandle
Definition: joint.h:105
OneAxisJoint * joint
Definition: oneaxisservo.h:143
Spring(OneAxisJoint *joint, double _min, double _max, double power, double damp=0.2, double integration=0.0, double maxVel=10.0, double jointLimit=1.0)
Definition: spring.h:32
double max
Definition: oneaxisservo.h:149
double clip(double r, double x)
clipping function for mapP
Definition: controller_misc.cpp:39
const Primitive * getPart2() const
Definition: joint.h:69
double maxVel
Definition: oneaxisservo.h:151
double jointLimit
joint limit with respect to servo limit
Definition: oneaxisservo.h:152
double min
Definition: oneaxisservo.h:148
PID pid
Definition: oneaxisservo.h:150
void setTargetPosition(double newpos)
Definition: pid.cpp:54
virtual void setParam(int parameter, double value)=0
sets the ODE joint parameter (see ODE manual)
const Primitive * getPart1() const
Definition: joint.h:67
double KP
Definition: pid.h:44
bool limitLinearVel(double maxVel)
checks whether the object has higher velocity than maxVel and limits it in case
Definition: primitive.cpp:245
general servo motor to achieve position control
Definition: oneaxisservo.h:38