motor_controller
Public Member Functions | Public Attributes | List of all members
motor_controller::ParallelPIDSettings Struct Reference

Structure to hold the PID parameters for 'PARALLEL' type PID. More...

#include <PID.hpp>

Public Member Functions

 ParallelPIDSettings ()
 Constructor. More...
 
bool operator== (const ParallelPIDSettings &other) const
 
bool operator!= (const ParallelPIDSettings &other) const
 
void setIdealCoefficients (double _K=0, double _Ti=0, double _Td=0)
 

Public Attributes

double Ts
 Sampling time in seconds. More...
 
double Kp
 Proportional gain. More...
 
double Ki
 Integral gain. More...
 
double Kd
 Derivative gain. More...
 
double N
 Derivative term. More...
 
double B
 Setpoint weighing term. More...
 
double Tt
 Anti-integrator-windup. More...
 
double YMin
 Minimum output value. More...
 
double YMax
 Maximum output value. More...
 

Detailed Description

Structure to hold the PID parameters for 'PARALLEL' type PID.

Constructor & Destructor Documentation

motor_controller::ParallelPIDSettings::ParallelPIDSettings ( )
inline

Constructor.

Member Function Documentation

bool motor_controller::ParallelPIDSettings::operator!= ( const ParallelPIDSettings other) const
inline
bool motor_controller::ParallelPIDSettings::operator== ( const ParallelPIDSettings other) const
inline
void ParallelPIDSettings::setIdealCoefficients ( double  _K = 0,
double  _Ti = 0,
double  _Td = 0 
)

Member Data Documentation

double motor_controller::ParallelPIDSettings::B

Setpoint weighing term.

Setpoint weighing term, generally between 0 and 1

  • B = 0 reference is introduced only through integral term
  • B = 1 disables setpoint weighting
double motor_controller::ParallelPIDSettings::Kd

Derivative gain.

double motor_controller::ParallelPIDSettings::Ki

Integral gain.

double motor_controller::ParallelPIDSettings::Kp

Proportional gain.

double motor_controller::ParallelPIDSettings::N

Derivative term.

Derivative term filtered by a first order system with time constant Td/N

  • Typical values of N are between 8 and 20
  • No derivative action on frequencies above N/Td
double motor_controller::ParallelPIDSettings::Ts

Sampling time in seconds.

double motor_controller::ParallelPIDSettings::Tt

Anti-integrator-windup.

Anti-integrator-windup time constant

  • < 0 disable
  • = 0 and Td = 0 disable
  • = 0 and Td > 0 Tt = sqrt(Ti * Td)
double motor_controller::ParallelPIDSettings::YMax

Maximum output value.

double motor_controller::ParallelPIDSettings::YMin

Minimum output value.


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