PIDController Class Reference

#include <RobotAPI/libraries/core/PIDController.h>

+ Inheritance diagram for PIDController:

Public Member Functions

double getControlValue () const
 
PIDControlleroperator= (const PIDController &o)
 
PIDControlleroperator= (PIDController &&o)
 
 PIDController ()=default
 
 PIDController (const PIDController &o)
 
 PIDController (float Kp, float Ki, float Kd, double maxControlValue=std::numeric_limits< double >::max(), double maxDerivation=std::numeric_limits< double >::max(), bool limitless=false, bool threadSafe=true)
 
 PIDController (PIDController &&o)
 
void reset ()
 
void setMaxControlValue (double newMax)
 
void setTarget (double newTarget)
 
void update (double deltaSec, double measuredValue, double targetValue)
 
void update (double measuredValue)
 
void update (double measuredValue, double targetValue)
 
- Public Member Functions inherited from Logging
SpamFilterDataPtr deactivateSpam (float deactivationDurationSec=10.0f, const std::string &identifier="", bool deactivate=true) const
 disables the logging for the current line for the given amount of seconds. More...
 
MessageTypeT getEffectiveLoggingLevel () const
 
 Logging ()
 
void setLocalMinimumLoggingLevel (MessageTypeT level)
 With setLocalMinimumLoggingLevel the minimum verbosity-level of log-messages can be set. More...
 
void setTag (const LogTag &tag)
 
void setTag (const std::string &tagName)
 
virtual ~Logging ()
 

Public Attributes

double conditionalIntegralErrorTreshold = std::numeric_limits<double>::max()
 
double controlValue
 
double controlValueDerivation
 
double derivative
 
std::shared_ptr< rtfilters::RTFilterBasedifferentialFilter
 
bool firstRun
 
double integral
 
float Kd
 
float Ki
 
float Kp
 
IceUtil::Time lastUpdateTime
 
bool limitless
 
double maxControlValue
 
double maxDerivation
 
double maxIntegral = std::numeric_limits<double>::max()
 
std::shared_ptr< rtfilters::RTFilterBasepdOutputFilter
 
double previousError
 
double processValue
 
double target
 
bool threadSafe = true
 

Additional Inherited Members

- Protected Member Functions inherited from Logging
bool checkLogLevel (MessageTypeT level) const
 
const LogSenderPtrgetLogSender () const
 Retrieve log sender. More...
 
LogSenderPtr loghelper (const char *file, int line, const char *function) const
 
- Protected Attributes inherited from Logging
MessageTypeT minimumLoggingLevel
 
SpamFilterDataPtr spamFilter
 
LogTag tag
 

Detailed Description

Definition at line 43 of file PIDController.h.

Constructor & Destructor Documentation

◆ PIDController() [1/4]

PIDController ( )
default

◆ PIDController() [2/4]

Definition at line 36 of file PIDController.cpp.

◆ PIDController() [3/4]

PIDController ( const PIDController o)

Definition at line 58 of file PIDController.cpp.

◆ PIDController() [4/4]

PIDController ( float  Kp,
float  Ki,
float  Kd,
double  maxControlValue = std::numeric_limits<double>::max(),
double  maxDerivation = std::numeric_limits<double>::max(),
bool  limitless = false,
bool  threadSafe = true 
)

Definition at line 129 of file PIDController.cpp.

+ Here is the call graph for this function:

Member Function Documentation

◆ getControlValue()

double getControlValue ( ) const

Definition at line 273 of file PIDController.cpp.

+ Here is the caller graph for this function:

◆ operator=() [1/2]

PIDController & operator= ( const PIDController o)

Definition at line 104 of file PIDController.cpp.

◆ operator=() [2/2]

PIDController & operator= ( PIDController &&  o)

Definition at line 80 of file PIDController.cpp.

◆ reset()

void reset ( )

Definition at line 148 of file PIDController.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setMaxControlValue()

void setMaxControlValue ( double  newMax)

Definition at line 205 of file PIDController.cpp.

+ Here is the caller graph for this function:

◆ setTarget()

void setTarget ( double  newTarget)

Definition at line 199 of file PIDController.cpp.

◆ update() [1/3]

void update ( double  deltaSec,
double  measuredValue,
double  targetValue 
)

Definition at line 211 of file PIDController.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ update() [2/3]

void update ( double  measuredValue)

Definition at line 193 of file PIDController.cpp.

+ Here is the call graph for this function:

◆ update() [3/3]

void update ( double  measuredValue,
double  targetValue 
)

Definition at line 177 of file PIDController.cpp.

+ Here is the call graph for this function:

Member Data Documentation

◆ conditionalIntegralErrorTreshold

double conditionalIntegralErrorTreshold = std::numeric_limits<double>::max()

Definition at line 71 of file PIDController.h.

◆ controlValue

double controlValue

Definition at line 77 of file PIDController.h.

◆ controlValueDerivation

double controlValueDerivation

Definition at line 78 of file PIDController.h.

◆ derivative

double derivative

Definition at line 72 of file PIDController.h.

◆ differentialFilter

std::shared_ptr<rtfilters::RTFilterBase> differentialFilter

Definition at line 84 of file PIDController.h.

◆ firstRun

bool firstRun

Definition at line 81 of file PIDController.h.

◆ integral

double integral

Definition at line 69 of file PIDController.h.

◆ Kd

float Kd

Definition at line 68 of file PIDController.h.

◆ Ki

float Ki

Definition at line 68 of file PIDController.h.

◆ Kp

float Kp

Definition at line 68 of file PIDController.h.

◆ lastUpdateTime

IceUtil::Time lastUpdateTime

Definition at line 76 of file PIDController.h.

◆ limitless

bool limitless

Definition at line 82 of file PIDController.h.

◆ maxControlValue

double maxControlValue

Definition at line 79 of file PIDController.h.

◆ maxDerivation

double maxDerivation

Definition at line 80 of file PIDController.h.

◆ maxIntegral

double maxIntegral = std::numeric_limits<double>::max()

Definition at line 70 of file PIDController.h.

◆ pdOutputFilter

std::shared_ptr<rtfilters::RTFilterBase> pdOutputFilter

Definition at line 85 of file PIDController.h.

◆ previousError

double previousError

Definition at line 73 of file PIDController.h.

◆ processValue

double processValue

Definition at line 74 of file PIDController.h.

◆ target

double target

Definition at line 75 of file PIDController.h.

◆ threadSafe

bool threadSafe = true

Definition at line 83 of file PIDController.h.


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