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: