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 ChControllerPID * | Clone () 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. | |
![]() | |
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< ChVisualModel > | GetVisualModel () 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< ChVisualShape > | GetVisualShape (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< ChVisualShapeFEA > | GetVisualShapeFEA (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 | |
![]() | |
int | GenerateUniqueIdentifier () |
![]() | |
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< ChVisualModelInstance > | vis_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