Class ShurikenCommand

Nested Relationships

Nested Types

Inheritance Relationships

Base Type

Derived Type

Class Documentation

class ShurikenCommand : public fang::chassis::CounterStrikeCommand

The holonomic drive will automatically spin

Subclassed by fang::chassis::TardisCommand

Public Types

using MotionConfig = CounterStrikeCommand::Config

Public Functions

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

This takes a chassis subsystem and the respective inputHandler

virtual ~ShurikenCommand() = default
virtual const char *getName() const override
virtual void execute() override

Protected Functions

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

Translates the rotation input on the remote into a rotation where counterclockwise is positive

It also downscales the angular velocity inversly proportional to the targetFieldTranslation

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 shurikenSpeed
double downscaleCoefficient