chrono::utils::ChControllerPID Class Reference

Description

Simple PID controller.

Produces: out = P*in + D*d(in)/dt + I*int(in*dt)

#include <ChControllers.h>

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

Public Member Functions

 ChControllerPID (double P, double I, double D)
 
 ChControllerPID (const ChControllerPID &other)
 
virtual ChControllerPIDClone () const override
 "Virtual" copy constructor (covariant return type).
 
void SetGains (double P, double I, double D)
 Set the controller gains.
 
double GetOutput (double input, double time)
 Return the output of the controller. More...
 
double GetOutput () const
 Return last computed output.
 
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
 Get the unique integer identifier of this object. More...
 
void SetTag (int tag)
 Set an object integer tag (default: -1). More...
 
int GetTag () const
 Get the tag of this object.
 
void SetName (const std::string &myname)
 Set the name of this object.
 
const std::string & GetName () const
 Get the name of this object.
 
double GetChTime () const
 Gets the simulation time of this object.
 
void SetChTime (double m_time)
 Sets the simulation time of this object.
 
void AddVisualModel (std::shared_ptr< ChVisualModel > model)
 Add an (optional) visualization model. More...
 
std::shared_ptr< ChVisualModelGetVisualModel () const
 Access the visualization model (if any). More...
 
void AddVisualShape (std::shared_ptr< ChVisualShape > shape, const ChFrame<> &frame=ChFrame<>())
 Add the specified visual shape to the visualization model. More...
 
std::shared_ptr< ChVisualShapeGetVisualShape (unsigned int i) const
 Access the specified visualization shape in the visualization model (if any). More...
 
void AddVisualShapeFEA (std::shared_ptr< ChVisualShapeFEA > shapeFEA)
 Add the specified FEA visualization object to the visualization model. More...
 
std::shared_ptr< ChVisualShapeFEAGetVisualShapeFEA (unsigned int i) const
 Access the specified FEA visualization object in the visualization model (if any). More...
 
virtual ChFrame GetVisualModelFrame (unsigned int nclone=0) const
 Get the reference frame (expressed in and relative to the absolute frame) of the visual model. More...
 
virtual unsigned int GetNumVisualModelClones () const
 Return the number of clones of the visual model associated with this object. More...
 
void AddCamera (std::shared_ptr< ChCamera > camera)
 Attach a camera to this object. More...
 
std::vector< std::shared_ptr< ChCamera > > GetCameras () const
 Get the set of cameras attached to this object.
 
virtual void Update (double time, bool update_assets)
 Perform any updates necessary at the current phase during the solution process. More...
 
void UpdateVisualModel ()
 Utility function to update only the associated visual assets (if any).
 
virtual void ArchiveOut (ChArchiveOut &archive_out)
 Method to allow serialization of transient data to archives.
 
virtual void ArchiveIn (ChArchiveIn &archive_in)
 Method to allow de-serialization of transient data from archives.
 
virtual std::string & ArchiveContainerName ()
 

Additional Inherited Members

- Protected Member Functions inherited from chrono::ChObj
int GenerateUniqueIdentifier ()
 
- Protected Attributes inherited from chrono::ChObj
double ChTime
 object simulation time
 
std::string m_name
 object name
 
int m_identifier
 object unique identifier
 
int m_tag
 user-supplied tag
 
std::shared_ptr< ChVisualModelInstancevis_model_instance
 instantiated visualization model
 
std::vector< std::shared_ptr< ChCamera > > cameras
 set of cameras
 

Member Function Documentation

◆ GetOutput()

double chrono::utils::ChControllerPID::GetOutput ( double  input,
double  time 
)

Return the output of the controller.

Calls to GetOutput must be done in (ideally) uniform time steps.


The documentation for this class was generated from the following files:
  • /builds/uwsbel/chrono/src/chrono/utils/ChControllers.h
  • /builds/uwsbel/chrono/src/chrono/utils/ChControllers.cpp