instance structure for fuzzy PID controller More...
#include <pid_fuzzy.h>
Public Member Functions | |
void | init () |
void | set_opr (unsigned int opr_) |
void * | bfuzz () const |
void | set_bfuzz (void *ptr, a_size num) |
void | set_rule (unsigned int nrule_, a_real const *me_, a_real const *mec_, a_real const *mkp_, a_real const *mki_, a_real const *mkd_) |
void | set_kpid (a_real kp_, a_real ki_, a_real kd_) |
a_real | run (a_real set, a_real fdb) |
a_real | pos (a_real set, a_real fdb) |
a_real | inc (a_real set, a_real fdb) |
void | zero () |
Data Fields | |
a_pid | pid |
a_real const * | me |
a_real const * | mec |
a_real const * | mkp |
a_real const * | mki |
a_real const * | mkd |
unsigned int * | idx |
a_real * | val |
a_real(* | opr )(a_real, a_real) |
a_real | kp |
a_real | ki |
a_real | kd |
unsigned int | nrule |
unsigned int | nfuzz |
instance structure for fuzzy PID controller
unsigned int* a_pid_fuzzy::idx |
the memory block for membership index, >= 2N
a_real a_pid_fuzzy::kd |
base derivative constant
a_real a_pid_fuzzy::ki |
base integral constant
a_real a_pid_fuzzy::kp |
base proportional constant
a_real const* a_pid_fuzzy::me |
points to e's membership function parameter table
a_real const* a_pid_fuzzy::mec |
points to ec's membership function parameter table
a_real const* a_pid_fuzzy::mkd |
points to Kd's rule base, which must be a square matrix
a_real const* a_pid_fuzzy::mki |
points to Ki's rule base, which must be a square matrix
a_real const* a_pid_fuzzy::mkp |
points to Kp's rule base, which must be a square matrix
unsigned int a_pid_fuzzy::nfuzz |
maximum number triggered by the rule
unsigned int a_pid_fuzzy::nrule |
number of order in the square matrix
a_pid a_pid_fuzzy::pid |
instance structure for PID controller
a_real* a_pid_fuzzy::val |
the memory block for membership value and membership outer product of e and ec, >= (2+N)N