Fang-Robotics-MCB
Fang Robotics Team Codebase
Loading...
Searching...
No Matches
aim_command.hpp
Go to the documentation of this file.
1#ifndef FANG_ROBOTICS_MCB_AIM_COMMAND_HPP
2#define FANG_ROBOTICS_MCB_AIM_COMMAND_HPP
6
8
10
11namespace fang::turret
12{
14 {
15 public:
23
24 const char* getName() const override {return "Aim Command";}
25 void initialize() override;
26 void execute() override;
27 void end(bool interrupted) override;
28 bool isFinished() const override;
29
30 private:
31 void setPitch(const Microseconds& delta);
32 void setYaw(const Microseconds& delta);
33 FieldGimbalSubsystem& gimbal_;
34 ITurretInputHandler& input_;
35
36 const RPM kMaxPitchSpeed_;
37 const RPM kMaxYawSpeed_;
38 const math::Range<Radians> kPitchRange_;
39 chrono::SimpleTimer executeTimer_{};
40
41 Radians targetPitch_{0};
42 Radians targetYaw_{0};
43 };
44}
45#endif
Definition simple_timer.hpp:12
Definition aim_command.hpp:14
void end(bool interrupted) override
Definition aim_command.cpp:32
const char * getName() const override
Definition aim_command.hpp:24
void initialize() override
Definition aim_command.cpp:18
bool isFinished() const override
Definition aim_command.cpp:36
void execute() override
Definition aim_command.cpp:25
Definition field_gimbal_subsystem.hpp:16
Definition command.hpp:44
Definition pwm_info.hpp:4
Definition activate_booster_command.cpp:5
rail::ITurretInputHandler< double > ITurretInputHandler
Definition iturret_input_handler.hpp:5
Definition range.hpp:10
Definition aim_command.hpp:17
math::Range< Radians > pitchRange
Definition aim_command.hpp:20
RPM maxYawSpeed
Definition aim_command.hpp:19
RPM maxPitchSpeed
Definition aim_command.hpp:18
units::angle::radian_t Radians
Definition units_alias.hpp:16
units::time::microsecond_t Microseconds
Definition units_alias.hpp:13
units::angular_velocity::revolutions_per_minute_t RPM
Definition units_alias.hpp:30