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

#include <iterativeControllerFactory.hpp>

Static Public Member Functions

static IterativePosPIDController posPID (double ikP, double ikI, double ikD, double ikBias=0, std::unique_ptr< Filter > iderivativeFilter=std::make_unique< PassthroughFilter >(), const std::shared_ptr< Logger > &ilogger=Logger::getDefaultLogger())
 Position PID controller.
 
static IterativeVelPIDController velPID (double ikP, double ikD, double ikF=0, double ikSF=0, std::unique_ptr< VelMath > ivelMath=VelMathFactory::createPtr(imev5GreenTPR), std::unique_ptr< Filter > iderivativeFilter=std::make_unique< PassthroughFilter >(), const std::shared_ptr< Logger > &ilogger=Logger::getDefaultLogger())
 Velocity PD controller.
 
static IterativeMotorVelocityController motorVelocity (Motor imotor, double ikP, double ikD, double ikF=0, double ikSF=0, std::unique_ptr< VelMath > ivelMath=VelMathFactory::createPtr(imev5GreenTPR), std::unique_ptr< Filter > iderivativeFilter=std::make_unique< PassthroughFilter >(), const std::shared_ptr< Logger > &ilogger=Logger::getDefaultLogger())
 Velocity PD controller that automatically writes to the motor.
 
static IterativeMotorVelocityController motorVelocity (MotorGroup imotor, double ikP, double ikD, double ikF=0, double ikSF=0, std::unique_ptr< VelMath > ivelMath=VelMathFactory::createPtr(imev5GreenTPR), std::unique_ptr< Filter > iderivativeFilter=std::make_unique< PassthroughFilter >(), const std::shared_ptr< Logger > &ilogger=Logger::getDefaultLogger())
 Velocity PD controller that automatically writes to the motor.
 
static IterativeMotorVelocityController motorVelocity (Motor imotor, std::shared_ptr< IterativeVelocityController< double, double > > icontroller)
 Velocity PD controller that automatically writes to the motor.
 
static IterativeMotorVelocityController motorVelocity (MotorGroup imotor, std::shared_ptr< IterativeVelocityController< double, double > > icontroller)
 Velocity PD controller that automatically writes to the motor.
 

Detailed Description

Definition at line 17 of file iterativeControllerFactory.hpp.

Member Function Documentation

◆ motorVelocity() [1/4]

static IterativeMotorVelocityController okapi::IterativeControllerFactory::motorVelocity ( Motor  imotor,
double  ikP,
double  ikD,
double  ikF = 0,
double  ikSF = 0,
std::unique_ptr< VelMath ivelMath = VelMathFactory::createPtr(imev5GreenTPR),
std::unique_ptr< Filter iderivativeFilter = std::make_unique< PassthroughFilter >(),
const std::shared_ptr< Logger > &  ilogger = Logger::getDefaultLogger() 
)
static

Velocity PD controller that automatically writes to the motor.

Parameters
imotoroutput motor
ikPproportional gain
ikDderivative gain
ikFfeed-forward gain
ikSFa feed-forward gain to counteract static friction
ivelMathThe VelMath.
iderivativeFilterA filter for filtering the derivative term.
iloggerThe logger this instance will log to.

◆ motorVelocity() [2/4]

static IterativeMotorVelocityController okapi::IterativeControllerFactory::motorVelocity ( Motor  imotor,
std::shared_ptr< IterativeVelocityController< double, double > >  icontroller 
)
static

Velocity PD controller that automatically writes to the motor.

Parameters
imotoroutput motor
icontrollercontroller to use

◆ motorVelocity() [3/4]

static IterativeMotorVelocityController okapi::IterativeControllerFactory::motorVelocity ( MotorGroup  imotor,
double  ikP,
double  ikD,
double  ikF = 0,
double  ikSF = 0,
std::unique_ptr< VelMath ivelMath = VelMathFactory::createPtr(imev5GreenTPR),
std::unique_ptr< Filter iderivativeFilter = std::make_unique< PassthroughFilter >(),
const std::shared_ptr< Logger > &  ilogger = Logger::getDefaultLogger() 
)
static

Velocity PD controller that automatically writes to the motor.

Parameters
imotoroutput motor
ikPproportional gain
ikDderivative gain
ikFfeed-forward gain
ikSFa feed-forward gain to counteract static friction
ivelMathThe VelMath.
iderivativeFilterA filter for filtering the derivative term.
iloggerThe logger this instance will log to.

◆ motorVelocity() [4/4]

static IterativeMotorVelocityController okapi::IterativeControllerFactory::motorVelocity ( MotorGroup  imotor,
std::shared_ptr< IterativeVelocityController< double, double > >  icontroller 
)
static

Velocity PD controller that automatically writes to the motor.

Parameters
imotoroutput motor
icontrollercontroller to use

◆ posPID()

static IterativePosPIDController okapi::IterativeControllerFactory::posPID ( double  ikP,
double  ikI,
double  ikD,
double  ikBias = 0,
std::unique_ptr< Filter iderivativeFilter = std::make_unique< PassthroughFilter >(),
const std::shared_ptr< Logger > &  ilogger = Logger::getDefaultLogger() 
)
static

Position PID controller.

Parameters
ikPproportional gain
ikIintegral gain
ikDderivative gain
ikBiascontroller bias (constant offset added to the output)
iderivativeFilterA filter for filtering the derivative term.
iloggerThe logger this instance will log to.

◆ velPID()

static IterativeVelPIDController okapi::IterativeControllerFactory::velPID ( double  ikP,
double  ikD,
double  ikF = 0,
double  ikSF = 0,
std::unique_ptr< VelMath ivelMath = VelMathFactory::createPtr(imev5GreenTPR),
std::unique_ptr< Filter iderivativeFilter = std::make_unique< PassthroughFilter >(),
const std::shared_ptr< Logger > &  ilogger = Logger::getDefaultLogger() 
)
static

Velocity PD controller.

Parameters
ikPproportional gain
ikDderivative gain
ikFfeed-forward gain
ikSFa feed-forward gain to counteract static friction
iderivativeFilterA filter for filtering the derivative term.
iloggerThe logger this instance will log to.

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