about

Project Development

GOD'S PID IMPLEMENTATION

 

 

 

def __init__(self, P=2.0, I=0.1, D=0.2, reference=0): self.kP=P

      self.kI=I

      self.kD=D

      self.auxD = 0

      self.auxI = 0

      self.maxI = 500

      self.minI = -500

      self.r_t=reference

      self.e_t=0.0

 

 

def update(self, y_t):

self.e_t = self.r_t - y_t

self.valP = self.kP * self.e_t

self.valD = self.kD * ( self.e_t - self.auxD ) self.auxD = self.e_t

self.auxI = self.auxI + self.e_t

if self.auxI > self.maxI: self.auxI = self.maxI elif self.auxI < self.minI: self.auxI = self.minI self.valI = self.kI * self.auxI

sumPID = self.valP + self.valI +

 

self.valD

return sumPID

def setReference(self, reference):

   self.r_t = reference

   self.auxI=0

   self.auxD=0

 

def setKP(self,P):

   self.kP=P

 

def setKI(self,I):

   self.kI=I

def setKD(self,D):

   self.kD=D

def setKPID(self, P ,I, D):

   self.kP=P

   self.kI=I

   self.kD=D

def getKPID(self):

   return self.kP, self.kI, self.kD

def getReference(self):

   return self.r_t

def getError(self):

   return self.e_

final project

god.