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 |