Fang-Robotics-MCB
Fang Robotics Team Codebase
Loading...
Searching...
No Matches
fang::chassis::AzrielShredder Class Reference

#include <azriel_shredder.hpp>

Classes

struct  Config
 

Public Member Functions

 AzrielShredder (const Config &config)
 
void setBiteDepth (double biteDepth)
 
void setBiteForce (int biteForce)
 
void setPeriod (double period)
 
void setPhase (double phase)
 
double getScalingFactor (double input) const
 

Static Public Member Functions

static double razielKalmanShredder (double input, double biteDepth, int biteForce, double period, double phase)
 

Detailed Description

Raven Asher Raziel's anti CV algorithm! Hopefully this is not relevant to military applications :D

This returns a scaling coefficient to be used in relation to rotation or even translation

https://www.desmos.com/calculator/f3662079d3 input - the control value, could be time phase, or anything, really biteDepth - how much the shredder decreases the speed in a "bite" it should be within [0,1] biteForce - how steep the "bite" is, it must be a posiive integer period - how often a bite happens, it should be a positive real number phase, the underlying function involves sine in radians

Constructor & Destructor Documentation

◆ AzrielShredder()

fang::chassis::AzrielShredder::AzrielShredder ( const Config config)

Member Function Documentation

◆ getScalingFactor()

double fang::chassis::AzrielShredder::getScalingFactor ( double  input) const

◆ razielKalmanShredder()

double fang::chassis::AzrielShredder::razielKalmanShredder ( double  input,
double  biteDepth,
int  biteForce,
double  period,
double  phase 
)
static

◆ setBiteDepth()

void fang::chassis::AzrielShredder::setBiteDepth ( double  biteDepth)

◆ setBiteForce()

void fang::chassis::AzrielShredder::setBiteForce ( int  biteForce)

◆ setPeriod()

void fang::chassis::AzrielShredder::setPeriod ( double  period)

◆ setPhase()

void fang::chassis::AzrielShredder::setPhase ( double  phase)

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