ORCA: Optimization-based framework for Robotic Control Applications
Public Types | Public Member Functions | List of all members
orca::common::PIDController Class Reference

#include <PIDController.h>

+ Inheritance diagram for orca::common::PIDController:
+ Collaboration diagram for orca::common::PIDController:

Public Types

using Ptr = std::shared_ptr< PIDController >
 
- Public Types inherited from orca::common::ConfigurableOrcaObject
using Ptr = std::shared_ptr< ConfigurableOrcaObject >
 
using ParamMap = std::map< std::string, ParameterBase * >
 

Public Member Functions

 PIDController (const std::string &name="pid")
 
void resize (int dim)
 
void setProportionalGain (const Eigen::VectorXd &P_gain)
 
void setProportionalGain (const std::vector< double > &P_gain)
 
const Eigen::VectorXd & P () const
 
void setIntegralGain (const Eigen::VectorXd &I_gain)
 
void setIntegralGain (const std::vector< double > &I_gain)
 
void setWindupLimit (const Eigen::VectorXd &windup_lim)
 
void setWindupLimit (const std::vector< double > &windup_lim)
 
const Eigen::VectorXd & windupLimit ()
 
const Eigen::VectorXd & I () const
 
void setDerivativeGain (const Eigen::VectorXd &D_gain)
 
void setDerivativeGain (const std::vector< double > &D_gain)
 
const Eigen::VectorXd & D () const
 
const Eigen::VectorXd & computeCommand (const Eigen::VectorXd &Error, const Eigen::VectorXd &DError, double dt)
 
const Eigen::VectorXd & computeCommand (const Eigen::VectorXd &Error, double dt)
 
void print () const
 
- Public Member Functions inherited from orca::common::ConfigurableOrcaObject
 ConfigurableOrcaObject (const std::string &config_name)
 
virtual ~ConfigurableOrcaObject ()
 
template<class T >
void addParameter (const std::string &param_name, Parameter< T > *param, ParamPolicy policy=ParamPolicy::Required, std::function< void()> on_loading_success=0)
 Returns true if all params added with have been set. More...
 
template<class T >
void addParameter (const std::string &param_name, T &param, ParamPolicy policy=ParamPolicy::Required, std::function< void()> on_loading_success=0)
 
ParameterBasegetParameter (const std::string &param_name)
 Returns a param via its name. More...
 
void printParameters () const
 Print all parameters to std::cout. More...
 
bool configureFromFile (const std::string &yaml_url)
 Configure the task from YAML/JSON file. It must contain all the required parameters. More...
 
bool configureFromString (const std::string &yaml_str)
 Configure the task from YAML/JSON string. It must contain all the required parameters. More...
 
bool isConfigured () const
 
const ParamMapgetParameters () const
 
void onConfigureSuccess (std::function< void()> f)
 
- Public Member Functions inherited from orca::common::OrcaObject
 OrcaObject (const std::string &name)
 
virtual ~OrcaObject ()
 
const std::string & getName () const
 
void setName (const std::string &name)
 

Member Typedef Documentation

Constructor & Destructor Documentation

PIDController::PIDController ( const std::string &  name = "pid")

Member Function Documentation

const Eigen::VectorXd & PIDController::computeCommand ( const Eigen::VectorXd &  Error,
const Eigen::VectorXd &  DError,
double  dt 
)
const Eigen::VectorXd & PIDController::computeCommand ( const Eigen::VectorXd &  Error,
double  dt 
)
const Eigen::VectorXd & PIDController::D ( ) const
const Eigen::VectorXd & PIDController::I ( ) const
const Eigen::VectorXd & PIDController::P ( ) const
void PIDController::print ( ) const
void PIDController::resize ( int  dim)
void PIDController::setDerivativeGain ( const Eigen::VectorXd &  D_gain)
void PIDController::setDerivativeGain ( const std::vector< double > &  D_gain)
void PIDController::setIntegralGain ( const Eigen::VectorXd &  I_gain)
void PIDController::setIntegralGain ( const std::vector< double > &  I_gain)
void PIDController::setProportionalGain ( const Eigen::VectorXd &  P_gain)
void PIDController::setProportionalGain ( const std::vector< double > &  P_gain)
void PIDController::setWindupLimit ( const Eigen::VectorXd &  windup_lim)
void PIDController::setWindupLimit ( const std::vector< double > &  windup_lim)
const Eigen::VectorXd & PIDController::windupLimit ( )

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