mirror of
https://github.com/ArduPilot/ardupilot
synced 2025-02-08 17:03:57 -04:00
uncrustify libraries/AC_PID/AC_PID.cpp
This commit is contained in:
parent
2f5b292d50
commit
66ab46fa88
70
libraries/AC_PID/AC_PID.cpp
Executable file → Normal file
70
libraries/AC_PID/AC_PID.cpp
Executable file → Normal file
@ -67,41 +67,41 @@ int32_t AC_PID::get_pid(int32_t error, float dt)
|
|||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
int32_t AC_PID::get_pid(int32_t error, float dt)
|
* int32_t AC_PID::get_pid(int32_t error, float dt)
|
||||||
{
|
* {
|
||||||
// Compute proportional component
|
* // Compute proportional component
|
||||||
_output = error * _kp;
|
* _output = error * _kp;
|
||||||
|
*
|
||||||
// Compute derivative component if time has elapsed
|
* // Compute derivative component if time has elapsed
|
||||||
if ((fabs(_kd) > 0) && (dt > 0)) {
|
* if ((fabs(_kd) > 0) && (dt > 0)) {
|
||||||
_derivative = (error - _last_error) / dt;
|
* _derivative = (error - _last_error) / dt;
|
||||||
|
*
|
||||||
// discrete low pass filter, cuts out the
|
* // discrete low pass filter, cuts out the
|
||||||
// high frequency noise that can drive the controller crazy
|
* // high frequency noise that can drive the controller crazy
|
||||||
_derivative = _last_derivative +
|
* _derivative = _last_derivative +
|
||||||
(dt / ( _filter + dt)) * (_derivative - _last_derivative);
|
* (dt / ( _filter + dt)) * (_derivative - _last_derivative);
|
||||||
|
*
|
||||||
// update state
|
* // update state
|
||||||
_last_error = error;
|
* _last_error = error;
|
||||||
_last_derivative = _derivative;
|
* _last_derivative = _derivative;
|
||||||
|
*
|
||||||
// add in derivative component
|
* // add in derivative component
|
||||||
_output += _kd * _derivative;
|
* _output += _kd * _derivative;
|
||||||
}
|
* }
|
||||||
|
*
|
||||||
// Compute integral component if time has elapsed
|
* // Compute integral component if time has elapsed
|
||||||
if ((fabs(_ki) > 0) && (dt > 0)) {
|
* if ((fabs(_ki) > 0) && (dt > 0)) {
|
||||||
_integrator += (error * _ki) * dt;
|
* _integrator += (error * _ki) * dt;
|
||||||
if (_integrator < -_imax) {
|
* if (_integrator < -_imax) {
|
||||||
_integrator = -_imax;
|
* _integrator = -_imax;
|
||||||
} else if (_integrator > _imax) {
|
* } else if (_integrator > _imax) {
|
||||||
_integrator = _imax;
|
* _integrator = _imax;
|
||||||
}
|
* }
|
||||||
_output += _integrator;
|
* _output += _integrator;
|
||||||
}
|
* }
|
||||||
|
*
|
||||||
return _output;
|
* return _output;
|
||||||
}
|
* }
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user