PIDController Class Reference

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

+ Inheritance diagram for PIDController:

Public Member Functions

double getControlValue () const
 
PIDController & operator= (const PIDController &o)
 
PIDController & operator= (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::RTFilterBase > differentialFilter
 
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::RTFilterBase > pdOutputFilter
 
double previousError
 
double processValue
 
double target
 
bool threadSafe = true
 

Additional Inherited Members

- Protected Member Functions inherited from Logging
bool checkLogLevel (MessageTypeT level) const
 
const LogSenderPtr & getLogSender () 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
 

Constructor & Destructor Documentation

◆ PIDController() [1/4]

PIDController ( )
default

◆ PIDController() [2/4]

◆ PIDController() [3/4]

◆ 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 )

Member Function Documentation

◆ getControlValue()

double getControlValue ( ) const

◆ operator=() [1/2]

PIDController & operator= ( const PIDController & o)

◆ operator=() [2/2]

PIDController & operator= ( PIDController && o)

◆ reset()

void reset ( )

◆ setMaxControlValue()

void setMaxControlValue ( double newMax)

◆ setTarget()

void setTarget ( double newTarget)

◆ update() [1/3]

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

◆ update() [2/3]

void update ( double measuredValue)

◆ update() [3/3]

void update ( double measuredValue,
double targetValue )

Member Data Documentation

◆ conditionalIntegralErrorTreshold

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

◆ controlValue

double controlValue

◆ controlValueDerivation

double controlValueDerivation

◆ derivative

double derivative

◆ differentialFilter

std::shared_ptr<rtfilters::RTFilterBase> differentialFilter

◆ firstRun

bool firstRun

◆ integral

double integral

◆ Kd

float Kd = 0

◆ Ki

float Ki = 0

◆ Kp

float Kp = 0

◆ lastUpdateTime

IceUtil::Time lastUpdateTime

◆ limitless

bool limitless

◆ maxControlValue

double maxControlValue

◆ maxDerivation

double maxDerivation

◆ maxIntegral

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

◆ pdOutputFilter

std::shared_ptr<rtfilters::RTFilterBase> pdOutputFilter

◆ previousError

double previousError

◆ processValue

double processValue

◆ target

double target

◆ threadSafe

bool threadSafe = true

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