liba 0.1.15
An algorithm library based on C/C++
Loading...
Searching...
No Matches

instance structure for fuzzy PID controller More...

#include <pid_fuzzy.h>

Collaboration diagram for a_pid_fuzzy:
[legend]

Public Member Functions

void init ()
 
void set_opr (unsigned int opr_)
 
void * bfuzz () const
 
void set_bfuzz (void *ptr, size_t num)
 
void set_rule (unsigned int nrule_, double const *me_, double const *mec_, double const *mkp_, double const *mki_, double const *mkd_)
 
void set_kpid (double kp_, double ki_, double kd_)
 
double run (double set, double fdb)
 
double pos (double set, double fdb)
 
double inc (double set, double fdb)
 
void zero ()
 

Data Fields

a_pid pid
 instance structure for PID controller
 
double const * me
 points to e's membership function parameter table
 
double const * mec
 points to ec's membership function parameter table
 
double const * mkp
 points to Kp's rule base, which must be a square matrix
 
double const * mki
 points to Ki's rule base, which must be a square matrix
 
double const * mkd
 points to Kd's rule base, which must be a square matrix
 
unsigned int * idx
 the memory block for membership index, >= 2N
 
double * val
 the memory block for membership value and membership outer product of e and ec, >= (2+N)N
 
double(* opr )(double, double)
 fuzzy relational operator
 
double kp
 base proportional constant
 
double ki
 base integral constant
 
double kd
 base derivative constant
 
unsigned int nrule
 number of order in the square matrix
 
unsigned int nfuzz
 maximum number triggered by the rule
 

Detailed Description

instance structure for fuzzy PID controller


The documentation for this struct was generated from the following file: