LightLib
PROS library for VEX V5: EKF/MCL localization, RAMSETE path following, high-level chassis API
Loading...
Searching...
No Matches
okapi::SettledUtil Class Reference

#include <settledUtil.hpp>

Public Member Functions

 SettledUtil (std::unique_ptr< AbstractTimer > iatTargetTimer, double iatTargetError=50, double iatTargetDerivative=5, QTime iatTargetTime=250_ms)
 A utility class to determine if a control loop has settled based on error.
 
virtual ~SettledUtil ()
 
virtual bool isSettled (double ierror)
 Returns whether the controller is settled.
 
virtual void reset ()
 Resets the "at target" timer and clears the previous error.
 

Protected Attributes

double atTargetError = 50
 
double atTargetDerivative = 5
 
QTime atTargetTime = 250_ms
 
std::unique_ptr< AbstractTimeratTargetTimer
 
double lastError = 0
 

Detailed Description

Definition at line 13 of file settledUtil.hpp.

Constructor & Destructor Documentation

◆ SettledUtil()

okapi::SettledUtil::SettledUtil ( std::unique_ptr< AbstractTimer iatTargetTimer,
double  iatTargetError = 50,
double  iatTargetDerivative = 5,
QTime  iatTargetTime = 250_ms 
)
explicit

A utility class to determine if a control loop has settled based on error.

A control loop is settled if the error is within iatTargetError and iatTargetDerivative for iatTargetTime.

Parameters
iatTargetTimerA timer used to track iatTargetTime.
iatTargetErrorThe minimum error to be considered settled.
iatTargetDerivativeThe minimum error derivative to be considered settled.
iatTargetTimeThe minimum time within atTargetError to be considered settled.

◆ ~SettledUtil()

virtual okapi::SettledUtil::~SettledUtil ( )
virtual

Member Function Documentation

◆ isSettled()

virtual bool okapi::SettledUtil::isSettled ( double  ierror)
virtual

Returns whether the controller is settled.

Parameters
ierrorThe current error.
Returns
Whether the controller is settled.

◆ reset()

virtual void okapi::SettledUtil::reset ( )
virtual

Resets the "at target" timer and clears the previous error.

Member Data Documentation

◆ atTargetDerivative

double okapi::SettledUtil::atTargetDerivative = 5
protected

Definition at line 46 of file settledUtil.hpp.

◆ atTargetError

double okapi::SettledUtil::atTargetError = 50
protected

Definition at line 45 of file settledUtil.hpp.

◆ atTargetTime

QTime okapi::SettledUtil::atTargetTime = 250_ms
protected

Definition at line 47 of file settledUtil.hpp.

◆ atTargetTimer

std::unique_ptr<AbstractTimer> okapi::SettledUtil::atTargetTimer
protected

Definition at line 48 of file settledUtil.hpp.

◆ lastError

double okapi::SettledUtil::lastError = 0
protected

Definition at line 49 of file settledUtil.hpp.


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