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, a_size num)
 
void set_rule (unsigned int nrule_, a_float const *me_, a_float const *mec_, a_float const *mkp_, a_float const *mki_, a_float const *mkd_)
 
void set_kpid (a_float kp_, a_float ki_, a_float kd_)
 
a_float run (a_float set, a_float fdb)
 
a_float pos (a_float set, a_float fdb)
 
a_float inc (a_float set, a_float fdb)
 
void zero ()
 

Data Fields

a_pid pid
 
a_float const * me
 
a_float const * mec
 
a_float const * mkp
 
a_float const * mki
 
a_float const * mkd
 
unsigned int * idx
 
a_floatval
 
a_float(* opr )(a_float, a_float)
 
a_float kp
 
a_float ki
 
a_float kd
 
unsigned int nrule
 
unsigned int nfuzz
 

Detailed Description

instance structure for fuzzy PID controller

Field Documentation

◆ idx

unsigned int* a_pid_fuzzy::idx

the memory block for membership index, >= 2N

◆ kd

a_float a_pid_fuzzy::kd

base derivative constant

◆ ki

a_float a_pid_fuzzy::ki

base integral constant

◆ kp

a_float a_pid_fuzzy::kp

base proportional constant

◆ me

a_float const* a_pid_fuzzy::me

points to e's membership function parameter table

◆ mec

a_float const* a_pid_fuzzy::mec

points to ec's membership function parameter table

◆ mkd

a_float const* a_pid_fuzzy::mkd

points to Kd's rule base, which must be a square matrix

◆ mki

a_float const* a_pid_fuzzy::mki

points to Ki's rule base, which must be a square matrix

◆ mkp

a_float const* a_pid_fuzzy::mkp

points to Kp's rule base, which must be a square matrix

◆ nfuzz

unsigned int a_pid_fuzzy::nfuzz

maximum number triggered by the rule

◆ nrule

unsigned int a_pid_fuzzy::nrule

number of order in the square matrix

◆ opr

a_float(* a_pid_fuzzy::opr) (a_float, a_float)

fuzzy relational operator

◆ pid

a_pid a_pid_fuzzy::pid

instance structure for PID controller

◆ val

a_float* a_pid_fuzzy::val

the memory block for membership value and membership outer product of e and ec, >= (2+N)N


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