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

#include <tardis_command.hpp>

Inheritance diagram for fang::chassis::TardisCommand:
Collaboration diagram for fang::chassis::TardisCommand:

Classes

struct  Config
 

Public Types

using MotionConfig = CounterStrikeCommand::Config
 
- Public Types inherited from fang::chassis::ShurikenCommand
using MotionConfig = CounterStrikeCommand::Config
 
- Public Types inherited from fang::chassis::CounterStrikeCommand
using Config = FieldDriftCommand::Config
 

Public Member Functions

 TardisCommand (HolonomicSubsystem &chassisSubsystem, const turret::FieldGimbalSubsystem &turret, IHolonomicInput &holonomicInput, const Config &config)
 
const char * getName () const override
 
void execute () override
 
- Public Member Functions inherited from fang::chassis::ShurikenCommand
 ShurikenCommand (HolonomicSubsystem &chassisSubsystem, const turret::FieldGimbalSubsystem &gimbal, IHolonomicInput &holonomicInput, const Config &config)
 
virtual ~ShurikenCommand ()=default
 
- Public Member Functions inherited from fang::chassis::CounterStrikeCommand
 CounterStrikeCommand (HolonomicSubsystem &holonomicSubsystem, const turret::FieldGimbalSubsystem &gimbal, IHolonomicInput &holonomicInput, const Config &config)
 
virtual ~CounterStrikeCommand ()=default
 
- Public Member Functions inherited from fang::chassis::FieldDriftCommand
 FieldDriftCommand (HolonomicSubsystem &holonomicSubsystem, IHolonomicInput &holonomicInput, const Config &config)
 
virtual ~FieldDriftCommand ()=default
 
void initialize () override
 
void end (bool interrupted) override
 
bool isFinished () const
 
- Public Member Functions inherited from tap::control::Command
 Command ()
 
virtual ~Command ()
 
mockable subsystem_scheduler_bitmap_t getRequirementsBitwise () const
 
int getGlobalIdentifier () const
 
mockable void addSubsystemRequirement (Subsystem *requirement)
 
virtual bool isReady ()
 

Protected Member Functions

RPM getFieldRotation (const physics::Velocity2D &targetFieldTranslation) const
 
- Protected Member Functions inherited from fang::chassis::ShurikenCommand
RPM getFieldRotation (const physics::Velocity2D &targetFieldTranslation) const
 
- Protected Member Functions inherited from fang::chassis::CounterStrikeCommand
physics::Velocity2D getFieldTranslation () const
 
RPM getFieldRotation () const
 
- Protected Member Functions inherited from fang::chassis::FieldDriftCommand
physics::Velocity2D getFieldTranslation () const
 
RPM getFieldRotation () const
 

Additional Inherited Members

- Protected Attributes inherited from fang::chassis::CounterStrikeCommand
const turret::FieldGimbalSubsystemgimbal_
 
const Config kConfig_
 
- Protected Attributes inherited from fang::chassis::FieldDriftCommand
HolonomicSubsystemholonomicSubsystem_
 
IHolonomicInputholonomicInput_
 
const Config kConfig_
 
- Protected Attributes inherited from tap::control::Command
command_scheduler_bitmap_t commandRequirementsBitwise = 0
 
- Static Protected Attributes inherited from fang::chassis::CounterStrikeCommand
static constexpr const char * kName {"Counter Strike Global!"}
 
- Static Protected Attributes inherited from fang::chassis::FieldDriftCommand
static constexpr const char * kName {"Field Drift"}
 

Detailed Description

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.

Member Typedef Documentation

◆ MotionConfig

Constructor & Destructor Documentation

◆ TardisCommand()

fang::chassis::TardisCommand::TardisCommand ( HolonomicSubsystem chassisSubsystem,
const turret::FieldGimbalSubsystem turret,
IHolonomicInput holonomicInput,
const Config config 
)

This takes a chassis subsystem and the respective inputHandler

Member Function Documentation

◆ execute()

void fang::chassis::TardisCommand::execute ( )
overridevirtual

The main body of a command. Called repeatedly while the command is scheduled by a CommandScheduler.

Reimplemented from fang::chassis::ShurikenCommand.

◆ getFieldRotation()

RPM fang::chassis::TardisCommand::getFieldRotation ( const physics::Velocity2D targetFieldTranslation) const
protected

◆ getName()

const char * fang::chassis::TardisCommand::getName ( ) const
overridevirtual
Returns
the name of the command, to be implemented by derived classes.

Reimplemented from fang::chassis::ShurikenCommand.


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