chrono::ChControllerPID Class Reference

Description

Class for a basic PID controller.

A basic PID controller, used as a 'black box'. Depending on input, it produces a controlled output proportional to input, input derivative by time, input integration

#include <ChController.h>

Inheritance diagram for chrono::ChControllerPID:
Collaboration diagram for chrono::ChControllerPID:

Public Member Functions

 ChControllerPID (const ChControllerPID &other)
 
virtual ChControllerPIDClone () const override
 "Virtual" copy constructor (covariant return type).
 
double Get_Out (double mInput, double mTime)
 COMPUTE CONTROL value! Given an input i, returns the output o=P*i+D*di/dt+I*Int(i dt) that is o = Pcomp+Icomp+Dcomp Calls to Get_Output must be done in (possibly uniform) time steps, otherwise remember to call Reset() before other sequences of calls. More...
 
double Get_Out () const
 Same, but just returns last computed output.
 
double Get_Pcomp () const
 
double Get_Icomp () const
 
double Get_Dcomp () const
 
double Get_In_int () const
 
double Get_In_dt () const
 
double Get_In () const
 
void Reset ()
 Use Reset to set accumulator to zero, at beginning. For integrative part.
 
- Public Member Functions inherited from chrono::ChObj
 ChObj (const ChObj &other)
 
int GetIdentifier () const
 Gets the numerical identifier of the object.
 
void SetIdentifier (int id)
 Sets the numerical identifier of the object.
 
double GetChTime () const
 Gets the simulation time of this object.
 
void SetChTime (double m_time)
 Sets the simulation time of this object.
 
const char * GetName () const
 Gets the name of the object as C Ascii null-terminated string -for reading only!
 
void SetName (const char myname[])
 Sets the name of this object, as ascii string.
 
std::string GetNameString () const
 Gets the name of the object as C Ascii null-terminated string.
 
void SetNameString (const std::string &myname)
 Sets the name of this object, as std::string.
 
void MFlagsSetAllOFF (int &mflag)
 
void MFlagsSetAllON (int &mflag)
 
void MFlagSetON (int &mflag, int mask)
 
void MFlagSetOFF (int &mflag, int mask)
 
int MFlagGet (int &mflag, int mask)
 
virtual void ArchiveOUT (ChArchiveOut &marchive)
 Method to allow serialization of transient data in archives.
 
virtual void ArchiveIN (ChArchiveIn &marchive)
 Method to allow de serialization of transient data from archives.
 

Public Attributes

double P
 proportional coefficient
 
double I
 integrative coefficient
 
double D
 derivative coefficient
 

Additional Inherited Members

- Protected Attributes inherited from chrono::ChObj
double ChTime
 the time of simulation for the object
 

Member Function Documentation

double chrono::ChControllerPID::Get_Out ( double  mInput,
double  mTime 
)

COMPUTE CONTROL value! Given an input i, returns the output o=P*i+D*di/dt+I*Int(i dt) that is o = Pcomp+Icomp+Dcomp Calls to Get_Output must be done in (possibly uniform) time steps, otherwise remember to call Reset() before other sequences of calls.