Generic PID controller class.
More...
#include <common/common.hh>
|
| | PID (double _p=0.0, double _i=0.0, double _d=0.0, double _imax=0.0, double _imin=0.0, double _cmdMax=0.0, double _cmdMin=0.0) |
| | Constructor, zeros out Pid values when created and initialize Pid-gains and integral term limits:[iMax:iMin]-[I1:I2]. More...
|
| |
| virtual | ~PID () |
| | Destructor. More...
|
| |
| double | GetCmd () |
| | Return current command for this PID controller. More...
|
| |
| double | GetCmdMax () const |
| | Get the maximum value for the command. More...
|
| |
| double | GetCmdMin () const |
| | Get the maximum value for the command. More...
|
| |
| double | GetDGain () const |
| | Get the derivative Gain. More...
|
| |
| void | GetErrors (double &_pe, double &_ie, double &_de) |
| | Return PID error terms for the controller. More...
|
| |
| double | GetIGain () const |
| | Get the integral Gain. More...
|
| |
| double | GetIMax () const |
| | Get the integral upper limit. More...
|
| |
| double | GetIMin () const |
| | Get the integral lower limit. More...
|
| |
| double | GetPGain () const |
| | Get the proportional Gain. More...
|
| |
| void | Init (double _p=0.0, double _i=0.0, double _d=0.0, double _imax=0.0, double _imin=0.0, double _cmdMax=0.0, double _cmdMin=0.0) |
| | Initialize PID-gains and integral term limits:[iMax:iMin]-[I1:I2]. More...
|
| |
| PID & | operator= (const PID &_p) |
| | Assignment operator. More...
|
| |
| void | Reset () |
| | Reset the errors and command. More...
|
| |
| void | SetCmd (double _cmd) |
| | Set current target command for this PID controller. More...
|
| |
| void | SetCmdMax (double _c) |
| | Set the maximum value for the command. More...
|
| |
| void | SetCmdMin (double _c) |
| | Set the maximum value for the command. More...
|
| |
| void | SetDGain (double _d) |
| | Set the derivtive Gain. More...
|
| |
| void | SetIGain (double _i) |
| | Set the integral Gain. More...
|
| |
| void | SetIMax (double _i) |
| | Set the integral upper limit. More...
|
| |
| void | SetIMin (double _i) |
| | Set the integral lower limit. More...
|
| |
| void | SetPGain (double _p) |
| | Set the proportional Gain. More...
|
| |
| double | Update (double _error, common::Time _dt) |
| | Update the Pid loop with nonuniform time step size. More...
|
| |
Generic PID controller class.
Generic proportiolnal-integral-derivative controller class that keeps track of PID-error states and control inputs given the state of a system and a user specified target state.
| gazebo::common::PID::PID |
( |
double |
_p = 0.0, |
|
|
double |
_i = 0.0, |
|
|
double |
_d = 0.0, |
|
|
double |
_imax = 0.0, |
|
|
double |
_imin = 0.0, |
|
|
double |
_cmdMax = 0.0, |
|
|
double |
_cmdMin = 0.0 |
|
) |
| |
Constructor, zeros out Pid values when created and initialize Pid-gains and integral term limits:[iMax:iMin]-[I1:I2].
- Parameters
-
| [in] | _p | The proportional gain. |
| [in] | _i | The integral gain. |
| [in] | _d | The derivative gain. |
| [in] | _imax | The integral upper limit. |
| [in] | _imin | The integral lower limit. |
| [in] | _cmdMax | Output max value. |
| [in] | _cmdMin | Output min value. |
| virtual gazebo::common::PID::~PID |
( |
| ) |
|
|
virtual |
| double gazebo::common::PID::GetCmd |
( |
| ) |
|
Return current command for this PID controller.
- Returns
- the command value
| double gazebo::common::PID::GetCmdMax |
( |
| ) |
const |
Get the maximum value for the command.
- Returns
- The maximum value
| double gazebo::common::PID::GetCmdMin |
( |
| ) |
const |
Get the maximum value for the command.
- Returns
- The maximum value
| double gazebo::common::PID::GetDGain |
( |
| ) |
const |
Get the derivative Gain.
- Returns
- The derivative gain value
| void gazebo::common::PID::GetErrors |
( |
double & |
_pe, |
|
|
double & |
_ie, |
|
|
double & |
_de |
|
) |
| |
Return PID error terms for the controller.
- Parameters
-
| [in] | _pe | The proportional error. |
| [in] | _ie | The integral error. |
| [in] | _de | The derivative error. |
| double gazebo::common::PID::GetIGain |
( |
| ) |
const |
Get the integral Gain.
- Returns
- The integral gain value
| double gazebo::common::PID::GetIMax |
( |
| ) |
const |
Get the integral upper limit.
- Returns
- The integral upper limit value
| double gazebo::common::PID::GetIMin |
( |
| ) |
const |
Get the integral lower limit.
- Returns
- The integral lower limit value
| double gazebo::common::PID::GetPGain |
( |
| ) |
const |
Get the proportional Gain.
- Returns
- The proportional gain value
| void gazebo::common::PID::Init |
( |
double |
_p = 0.0, |
|
|
double |
_i = 0.0, |
|
|
double |
_d = 0.0, |
|
|
double |
_imax = 0.0, |
|
|
double |
_imin = 0.0, |
|
|
double |
_cmdMax = 0.0, |
|
|
double |
_cmdMin = 0.0 |
|
) |
| |
Initialize PID-gains and integral term limits:[iMax:iMin]-[I1:I2].
- Parameters
-
| [in] | _p | The proportional gain. |
| [in] | _i | The integral gain. |
| [in] | _d | The derivative gain. |
| [in] | _imax | The integral upper limit. |
| [in] | _imin | The integral lower limit. |
| [in] | _cmdMax | Output max value. |
| [in] | _cmdMin | Output min value. |
| PID& gazebo::common::PID::operator= |
( |
const PID & |
_p | ) |
|
|
inline |
Assignment operator.
- Parameters
-
| [in] | _p | a reference to a PID to assign values from |
- Returns
- reference to this instance
| void gazebo::common::PID::Reset |
( |
| ) |
|
Reset the errors and command.
| void gazebo::common::PID::SetCmd |
( |
double |
_cmd | ) |
|
Set current target command for this PID controller.
- Parameters
-
| void gazebo::common::PID::SetCmdMax |
( |
double |
_c | ) |
|
Set the maximum value for the command.
- Parameters
-
| void gazebo::common::PID::SetCmdMin |
( |
double |
_c | ) |
|
Set the maximum value for the command.
- Parameters
-
| void gazebo::common::PID::SetDGain |
( |
double |
_d | ) |
|
Set the derivtive Gain.
- Parameters
-
| [in] | _p | dertivative gain value |
| void gazebo::common::PID::SetIGain |
( |
double |
_i | ) |
|
Set the integral Gain.
- Parameters
-
| [in] | _p | integral gain value |
| void gazebo::common::PID::SetIMax |
( |
double |
_i | ) |
|
Set the integral upper limit.
- Parameters
-
| [in] | _p | integral upper limit value |
| void gazebo::common::PID::SetIMin |
( |
double |
_i | ) |
|
Set the integral lower limit.
- Parameters
-
| [in] | _p | integral lower limit value |
| void gazebo::common::PID::SetPGain |
( |
double |
_p | ) |
|
Set the proportional Gain.
- Parameters
-
| [in] | _p | proportional gain value |
| double gazebo::common::PID::Update |
( |
double |
_error, |
|
|
common::Time |
_dt |
|
) |
| |
Update the Pid loop with nonuniform time step size.
- Parameters
-
The documentation for this class was generated from the following file: