Fang-Robotics-MCB
Fang Robotics Team Codebase
Loading...
Searching...
No Matches
field_drift_command.hpp
Go to the documentation of this file.
1#pragma once
4
6
7namespace fang::chassis
8{
15 {
16 public:
30
35 (
36 HolonomicSubsystem& holonomicSubsystem,
37 IHolonomicInput& holonomicInput,
38 const Config& config
39 );
40
41 virtual ~FieldDriftCommand() = default;
42
43 const char* getName() const override;
44 void initialize() override;
45 void execute() override;
46 void end(bool interrupted) override;
47 bool isFinished() const;
48
49 protected:
54
59 RPM getFieldRotation() const;
60
61 static constexpr const char* kName{"Field Drift"};
62
66
67 private:
68 static void assertConfigValues(const Config& config);
69 static void assertGetFieldTranslationUniformSigns
70 (
71 const math::AbstractVector2D& abstractFieldTranslation,
72 const physics::Velocity2D& fieldTranslation
73 );
74 };
75}//namespace chassis
Definition field_drift_command.hpp:15
void initialize() override
Definition field_drift_command.cpp:33
const char * getName() const override
Definition field_drift_command.cpp:28
RPM getFieldRotation() const
Definition field_drift_command.cpp:102
void end(bool interrupted) override
Definition field_drift_command.cpp:43
physics::Velocity2D getFieldTranslation() const
Definition field_drift_command.cpp:52
HolonomicSubsystem & holonomicSubsystem_
Definition field_drift_command.hpp:63
bool isFinished() const
Definition field_drift_command.cpp:47
void execute() override
Definition field_drift_command.cpp:37
IHolonomicInput & holonomicInput_
Definition field_drift_command.hpp:64
const Config kConfig_
Definition field_drift_command.hpp:65
virtual ~FieldDriftCommand()=default
static constexpr const char * kName
Definition field_drift_command.hpp:61
Definition holonomic_subsystem.hpp:12
Definition command.hpp:44
Definition pwm_info.hpp:4
Definition basic_downscaler.cpp:4
rail::chassis::IHolonomicInput< math::AbstractVector2D, double > IHolonomicInput
Definition iholonomic_input.hpp:7
Definition field_drift_command.hpp:26
RPM maxRotation
Definition field_drift_command.hpp:28
physics::Velocity2D maxTranslation
Definition field_drift_command.hpp:27
units::angular_velocity::revolutions_per_minute_t RPM
Definition units_alias.hpp:30