Browse Source

AC_PID: Remove get_leaky_i function which is now found in AC_HELI_PID.

master
Robert Lefebvre 11 years ago committed by Randy Mackay
parent
commit
f1c3f2a3d1
  1. 19
      libraries/AC_PID/AC_PID.cpp
  2. 1
      libraries/AC_PID/AC_PID.h

19
libraries/AC_PID/AC_PID.cpp

@ -45,25 +45,6 @@ float AC_PID::get_i(float error, float dt)
return 0; return 0;
} }
// This is an integrator which tends to decay to zero naturally
// if the error is zero.
float AC_PID::get_leaky_i(float error, float dt, float leak_rate)
{
if((_ki != 0) && (dt != 0)){
_integrator -= (float)_integrator * leak_rate;
_integrator += ((float)error * _ki) * dt;
if (_integrator < -_imax) {
_integrator = -_imax;
} else if (_integrator > _imax) {
_integrator = _imax;
}
return _integrator;
}
return 0;
}
float AC_PID::get_d(float input, float dt) float AC_PID::get_d(float input, float dt)
{ {
if ((_kd != 0) && (dt != 0)) { if ((_kd != 0) && (dt != 0)) {

1
libraries/AC_PID/AC_PID.h

@ -69,7 +69,6 @@ public:
float get_p(float error) const; float get_p(float error) const;
float get_i(float error, float dt); float get_i(float error, float dt);
float get_d(float error, float dt); float get_d(float error, float dt);
float get_leaky_i(float error, float dt, float leak_rate);
/// Reset the PID integrator /// Reset the PID integrator
/// ///

Loading…
Cancel
Save