These are the core files for the Robot at Team conception.

Dependencies:   mbed UniServ

Committer:
obrie829
Date:
Fri May 26 07:40:48 2017 +0000
Revision:
0:eba74e7a229b
Child:
17:ec52258b9472
This is the first version committed to team Brobot and should have all header and class files contained within

Who changed what in which revision?

UserRevisionLine numberNew contents of line
obrie829 0:eba74e7a229b 1 /*
obrie829 0:eba74e7a229b 2 * PIDControl.h
obrie829 0:eba74e7a229b 3 *
obrie829 0:eba74e7a229b 4 * Created on: 16.04.2017
obrie829 0:eba74e7a229b 5 * Author: chris
obrie829 0:eba74e7a229b 6 */
obrie829 0:eba74e7a229b 7
obrie829 0:eba74e7a229b 8 #ifndef COMMON_PID_CONTROL_H_
obrie829 0:eba74e7a229b 9 #define COMMON_PID_CONTROL_H_
obrie829 0:eba74e7a229b 10
obrie829 0:eba74e7a229b 11 /**
obrie829 0:eba74e7a229b 12 * This class calculates a PID control
obrie829 0:eba74e7a229b 13 */
obrie829 0:eba74e7a229b 14 class PID_Control
obrie829 0:eba74e7a229b 15 {
obrie829 0:eba74e7a229b 16 public:
obrie829 0:eba74e7a229b 17 PID_Control(); // constructor
obrie829 0:eba74e7a229b 18 virtual ~PID_Control(); //destructor
obrie829 0:eba74e7a229b 19
obrie829 0:eba74e7a229b 20 float calc(float e, float period);
obrie829 0:eba74e7a229b 21 void setPIDValues(float p, float i, float d, float max, float min, float _iMax);
obrie829 0:eba74e7a229b 22
obrie829 0:eba74e7a229b 23 private:
obrie829 0:eba74e7a229b 24 /**
obrie829 0:eba74e7a229b 25 * the proportional gain
obrie829 0:eba74e7a229b 26 */
obrie829 0:eba74e7a229b 27 float kp;
obrie829 0:eba74e7a229b 28
obrie829 0:eba74e7a229b 29 /**
obrie829 0:eba74e7a229b 30 * integral gain
obrie829 0:eba74e7a229b 31 */
obrie829 0:eba74e7a229b 32 float ki;
obrie829 0:eba74e7a229b 33
obrie829 0:eba74e7a229b 34 /**
obrie829 0:eba74e7a229b 35 * differential gain
obrie829 0:eba74e7a229b 36 */
obrie829 0:eba74e7a229b 37 float kd;
obrie829 0:eba74e7a229b 38
obrie829 0:eba74e7a229b 39 /**
obrie829 0:eba74e7a229b 40 * Sum of all the errors
obrie829 0:eba74e7a229b 41 */
obrie829 0:eba74e7a229b 42 float iSum;
obrie829 0:eba74e7a229b 43
obrie829 0:eba74e7a229b 44 /**
obrie829 0:eba74e7a229b 45 * Error value one iteration befor
obrie829 0:eba74e7a229b 46 */
obrie829 0:eba74e7a229b 47 float eOld;
obrie829 0:eba74e7a229b 48
obrie829 0:eba74e7a229b 49 float max;
obrie829 0:eba74e7a229b 50 float min;
obrie829 0:eba74e7a229b 51 float iMax;
obrie829 0:eba74e7a229b 52
obrie829 0:eba74e7a229b 53 };
obrie829 0:eba74e7a229b 54
obrie829 0:eba74e7a229b 55 #endif /* COMMON_PID_CONTROL_H_ */