Generates a PID controller with parameters K_p, K_d and K_i
Dependents: locomotion_pid_action_refactor_EMG
controller.cpp@0:229271adbb37, 2017-10-16 (annotated)
- Committer:
- tvlogman
- Date:
- Mon Oct 16 09:41:19 2017 +0000
- Revision:
- 0:229271adbb37
Working controller library
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
tvlogman | 0:229271adbb37 | 1 | #include "controller.h" |
tvlogman | 0:229271adbb37 | 2 | #include "mbed.h" |
tvlogman | 0:229271adbb37 | 3 | |
tvlogman | 0:229271adbb37 | 4 | // Member function definitions |
tvlogman | 0:229271adbb37 | 5 | controller::controller(float k_p, float k_d, float k_i):k_p(k_p), k_d(k_d), k_i(k_i){ |
tvlogman | 0:229271adbb37 | 6 | |
tvlogman | 0:229271adbb37 | 7 | } |
tvlogman | 0:229271adbb37 | 8 | |
tvlogman | 0:229271adbb37 | 9 | float controller::control(float e_pos, float e_der, float e_int){ |
tvlogman | 0:229271adbb37 | 10 | float motorValue; |
tvlogman | 0:229271adbb37 | 11 | motorValue = k_p*e_pos + k_d*e_der + k_i*e_int; |
tvlogman | 0:229271adbb37 | 12 | return motorValue; |
tvlogman | 0:229271adbb37 | 13 | } |
tvlogman | 0:229271adbb37 | 14 | |
tvlogman | 0:229271adbb37 | 15 |