Project

General

Profile

Statistics
| Branch: | Revision:

root / control / pid_control.h @ c7e517ce

History | View | Annotate | Download (586 Bytes)

1 a6ca8c2b Priya
#ifndef _PID_CONTROL_H_
2
#define _PID_CONTROL_H_
3
4
class PID_control
5
{
6
  public:
7 71780e9c Priya
    PID_control(float p_term, float d_term, float i_term, float goal); 
8
    PID_control(float p_term, float d_term, float i_term); 
9 a6ca8c2b Priya
10
    void change_goal(float goal);
11 c7e517ce Tom Mullins
    void change_p(float p);
12
    void change_i(float i);
13
    void change_d(float d);
14 a6ca8c2b Priya
15 7741ab09 Priya
    float pid(float input, double time);
16 a6ca8c2b Priya
17
  private:
18 c7e517ce Tom Mullins
    void reset();
19
    
20 71780e9c Priya
    float k_p;
21
    float k_i;
22
    float k_d;
23 a6ca8c2b Priya
    
24
    float set_config;
25
    float prev_error;
26 7741ab09 Priya
    double prev_time;
27 a6ca8c2b Priya
28
    float P_err;
29
    float I_err;
30
    float D_err;
31
};
32
33
#endif