Class TardisCommand

Nested Relationships

Nested Types

Inheritance Relationships

Base Type

Class Documentation

class TardisCommand : public fang::chassis::ShurikenCommand

This utilizes the Raziel Shredder, an family of anti-Kalman algorithms designed to induce a bias which is infinitely differentiable i.e. everything up to acceleratino is under constant change which makes linear prediction more difficult.

It does not randomize spin since Kalman Filters do overcome them.

Public Types

using MotionConfig = CounterStrikeCommand::Config

Public Functions

TardisCommand(HolonomicSubsystem &chassisSubsystem, const turret::FieldGimbalSubsystem &turret, ChassisInputHandler &input, const Config &config)

This takes a chassis subsystem and the respective inputHandler

virtual const char *getName() const override
virtual void execute() override

Protected Functions

RPM getFieldRotation(const physics::Velocity2D &targetFieldTranslation) const
struct Config

Positive shuriken speed is counterclockwise

The higher the downscale coefficient, the less it will downscale with respect to speed

Public Members

physics::Velocity2D maxTranslation
RPM maxRotation
double downscaleCoefficient
AzrielShredder::Config razielKalmanShredderConfig