|
liba 0.1.15
An algorithm library based on C/C++
|
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