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.
 
MessageTypeT getEffectiveLoggingLevel () const
 
 Logging ()
 
void setLocalMinimumLoggingLevel (MessageTypeT level)
 With setLocalMinimumLoggingLevel the minimum verbosity-level of log-messages can be set.
 
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 = 0
 
float Ki = 0
 
float Kp = 0
 
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.
 
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
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ PIDController() [2/4]

Definition at line 38 of file PIDController.cpp.

+ Here is the call graph for this function:

◆ PIDController() [3/4]

Definition at line 62 of file PIDController.cpp.

+ Here is the call graph for this function:

◆ 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 138 of file PIDController.cpp.

+ Here is the call graph for this function:

Member Function Documentation

◆ getControlValue()

double getControlValue ( ) const

Definition at line 302 of file PIDController.cpp.

+ Here is the caller graph for this function:

◆ operator=() [1/2]

PIDController & operator= ( const PIDController & o)

Definition at line 113 of file PIDController.cpp.

+ Here is the call graph for this function:

◆ operator=() [2/2]

PIDController & operator= ( PIDController && o)

Definition at line 87 of file PIDController.cpp.

+ Here is the call graph for this function:

◆ reset()

void reset ( )

Definition at line 164 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 225 of file PIDController.cpp.

◆ setTarget()

void setTarget ( double newTarget)

Definition at line 218 of file PIDController.cpp.

◆ update() [1/3]

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

Definition at line 232 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 211 of file PIDController.cpp.

+ Here is the call graph for this function:

◆ update() [3/3]

void update ( double measuredValue,
double targetValue )

Definition at line 195 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 = 0

Definition at line 68 of file PIDController.h.

◆ Ki

float Ki = 0

Definition at line 68 of file PIDController.h.

◆ Kp

float Kp = 0

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: