PIDController Class Reference

#include <PIDController.h>

Public Member Functions

 PIDController (Mdouble pGain, Mdouble iGain, Mdouble dGain)
 
Mdouble apply (Mdouble stressError, Mdouble timeStep)
 

Private Attributes

Mdouble pGain
 
Mdouble iGain
 
Mdouble dGain
 
Mdouble iController = 0
 
bool filterFlag =true
 
Mdouble previousError
 
Mdouble filterError
 

Constructor & Destructor Documentation

◆ PIDController()

PIDController::PIDController ( Mdouble  pGain,
Mdouble  iGain,
Mdouble  dGain 
)
inline
26  {}
Mdouble dGain
Definition: PIDController.h:16
Mdouble pGain
Definition: PIDController.h:14
Mdouble iGain
Definition: PIDController.h:15

Member Function Documentation

◆ apply()

Mdouble PIDController::apply ( Mdouble  stressError,
Mdouble  timeStep 
)
9  {
10 
11  Mdouble filterCoefficient = 0.2;
12  if (filterFlag==true) {
13  filterError = stressError;
14  filterFlag=false;
15  }
16  else {
17  filterError = filterCoefficient * filterError +(1-filterCoefficient) * stressError;
18  }
19 
20  // Proportional Controller
21  Mdouble pController = pGain * stressError;
22 
23  //Integral Controller
24  iController += iGain * timeStep * stressError;
25 
26  //Derivative Controller
27  Mdouble dController=dGain*(stressError-previousError)/timeStep;
28  previousError=stressError;
29 
30  // Controller Command
31  return pController + iController+dController;
32 }
double Mdouble
Definition: GeneralDefine.h:13
Mdouble iController
Definition: PIDController.h:17
bool filterFlag
Definition: PIDController.h:18
Mdouble previousError
Definition: PIDController.h:19
Mdouble filterError
Definition: PIDController.h:20

References dGain, filterError, filterFlag, iController, iGain, pGain, and previousError.

Member Data Documentation

◆ dGain

Mdouble PIDController::dGain
private

Referenced by apply().

◆ filterError

Mdouble PIDController::filterError
private

Referenced by apply().

◆ filterFlag

bool PIDController::filterFlag =true
private

Referenced by apply().

◆ iController

Mdouble PIDController::iController = 0
private

Referenced by apply().

◆ iGain

Mdouble PIDController::iGain
private

Referenced by apply().

◆ pGain

Mdouble PIDController::pGain
private

Referenced by apply().

◆ previousError

Mdouble PIDController::previousError
private

Referenced by apply().


The documentation for this class was generated from the following files: