Fang-Robotics-MCB
Fang Robotics Team Codebase
Loading...
Searching...
No Matches
trap::algorithms::DimensionalSmoothPid< RawControlUnit, RawErrorUnit, RawTimeUnit >::Config Struct Reference

#include <dimensional_smooth_pid.hpp>

Public Member Functions

 Config (double p, double i, double d, double maxIntegralAccumulation, double maxOutput, double errorDerivativeFloor, double errorDeadzone=0.0, double tQDerivativeKalman=1.0, double tRDerivativeKalman=0.0, tRProportionalKalman=1.0)
 

Public Attributes

PUnit p
 
IUnit i
 
DUnit d
 
IntegralAccumulationUnit maxIntegralAccumulation
 
ControlUnit maxOutput
 
ErrorUnit errorDerivativeFloor
 
ErrorUnit errorDeadzone = ErrorUnit{0.0}
 
float tQDerivativeKalman = 1.0f
 
float tRDerivativeKalman = 0.0f
 
float tQProportionalKalman = 1.0f
 
float tRProportionalKalman = 0.0f
 

Detailed Description

template<typename RawControlUnit, typename RawErrorUnit, typename RawTimeUnit>
struct trap::algorithms::DimensionalSmoothPid< RawControlUnit, RawErrorUnit, RawTimeUnit >::Config

p - proportional constant i - integral constant d - derivative constant maxIntegralAccumulation - clamps integral maxOutput - maximum output errorDerivativeFloor - minimum error for the derivative to kick in errorDeadzone - within [-errorDeadzone, and errorDeadzone], the error will be considered 0.

Constructor & Destructor Documentation

◆ Config()

template<typename RawControlUnit , typename RawErrorUnit , typename RawTimeUnit >
trap::algorithms::DimensionalSmoothPid< RawControlUnit, RawErrorUnit, RawTimeUnit >::Config::Config ( double  p,
double  i,
double  d,
double  maxIntegralAccumulation,
double  maxOutput,
double  errorDerivativeFloor,
double  errorDeadzone = 0.0,
double  tQDerivativeKalman = 1.0,
double  tRDerivativeKalman = 0.0,
tRProportionalKalman  = 1.0 
)
inline

Mercy constructor

Member Data Documentation

◆ d

template<typename RawControlUnit , typename RawErrorUnit , typename RawTimeUnit >
DUnit trap::algorithms::DimensionalSmoothPid< RawControlUnit, RawErrorUnit, RawTimeUnit >::Config::d

◆ errorDeadzone

template<typename RawControlUnit , typename RawErrorUnit , typename RawTimeUnit >
ErrorUnit trap::algorithms::DimensionalSmoothPid< RawControlUnit, RawErrorUnit, RawTimeUnit >::Config::errorDeadzone = ErrorUnit{0.0}

◆ errorDerivativeFloor

template<typename RawControlUnit , typename RawErrorUnit , typename RawTimeUnit >
ErrorUnit trap::algorithms::DimensionalSmoothPid< RawControlUnit, RawErrorUnit, RawTimeUnit >::Config::errorDerivativeFloor

◆ i

template<typename RawControlUnit , typename RawErrorUnit , typename RawTimeUnit >
IUnit trap::algorithms::DimensionalSmoothPid< RawControlUnit, RawErrorUnit, RawTimeUnit >::Config::i

◆ maxIntegralAccumulation

template<typename RawControlUnit , typename RawErrorUnit , typename RawTimeUnit >
IntegralAccumulationUnit trap::algorithms::DimensionalSmoothPid< RawControlUnit, RawErrorUnit, RawTimeUnit >::Config::maxIntegralAccumulation

◆ maxOutput

template<typename RawControlUnit , typename RawErrorUnit , typename RawTimeUnit >
ControlUnit trap::algorithms::DimensionalSmoothPid< RawControlUnit, RawErrorUnit, RawTimeUnit >::Config::maxOutput

◆ p

template<typename RawControlUnit , typename RawErrorUnit , typename RawTimeUnit >
PUnit trap::algorithms::DimensionalSmoothPid< RawControlUnit, RawErrorUnit, RawTimeUnit >::Config::p

◆ tQDerivativeKalman

template<typename RawControlUnit , typename RawErrorUnit , typename RawTimeUnit >
float trap::algorithms::DimensionalSmoothPid< RawControlUnit, RawErrorUnit, RawTimeUnit >::Config::tQDerivativeKalman = 1.0f

◆ tQProportionalKalman

template<typename RawControlUnit , typename RawErrorUnit , typename RawTimeUnit >
float trap::algorithms::DimensionalSmoothPid< RawControlUnit, RawErrorUnit, RawTimeUnit >::Config::tQProportionalKalman = 1.0f

◆ tRDerivativeKalman

template<typename RawControlUnit , typename RawErrorUnit , typename RawTimeUnit >
float trap::algorithms::DimensionalSmoothPid< RawControlUnit, RawErrorUnit, RawTimeUnit >::Config::tRDerivativeKalman = 0.0f

◆ tRProportionalKalman

template<typename RawControlUnit , typename RawErrorUnit , typename RawTimeUnit >
float trap::algorithms::DimensionalSmoothPid< RawControlUnit, RawErrorUnit, RawTimeUnit >::Config::tRProportionalKalman = 0.0f

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