|
Fang-Robotics-MCB
Fang Robotics Team Codebase
|
#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) |
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
| fang::chassis::AzrielShredder::AzrielShredder | ( | const Config & | config | ) |
| double fang::chassis::AzrielShredder::getScalingFactor | ( | double | input | ) | const |
|
static |
| void fang::chassis::AzrielShredder::setBiteDepth | ( | double | biteDepth | ) |
| void fang::chassis::AzrielShredder::setBiteForce | ( | int | biteForce | ) |
| void fang::chassis::AzrielShredder::setPeriod | ( | double | period | ) |
| void fang::chassis::AzrielShredder::setPhase | ( | double | phase | ) |