Thunderbots Project
Loading...
Searching...
No Matches
chip_tactic.h
1#pragma once
2
3#include <queue>
4
5#include "software/ai/hl/stp/tactic/chip/chip_fsm.h"
6#include "software/ai/hl/stp/tactic/tactic.h"
7
13class ChipTactic : public Tactic
14{
15 public:
19 explicit ChipTactic();
20
29 void updateControlParams(const Point& chip_origin, const Angle& chip_direction,
30 double chip_distance_meters);
31
38 void updateControlParams(const Point& chip_origin, const Point& chip_target);
39
40 void accept(TacticVisitor& visitor) const override;
41
42 DEFINE_TACTIC_DONE_AND_GET_FSM_STATE
43
44 private:
45 void updatePrimitive(const TacticUpdate& tactic_update, bool reset_fsm) override;
46
47 std::map<RobotId, std::unique_ptr<FSM<ChipFSM>>> fsm_map;
48
49 // Tactic parameters
50 ChipFSM::ControlParams control_params;
51};
52
53// Creates a new tactic called KickoffChipTactic that is a duplicate of ChipTactic
54COPY_TACTIC(KickoffChipTactic, ChipTactic)
Definition angle.h:15
Definition chip_tactic.h:14
void accept(TacticVisitor &visitor) const override
Definition chip_tactic.cpp:30
ChipTactic()
Definition chip_tactic.cpp:6
void updateControlParams(const Point &chip_origin, const Angle &chip_direction, double chip_distance_meters)
Definition chip_tactic.cpp:15
Definition point.h:14
Definition tactic_visitor.h:39
Definition tactic.h:39
Definition chip_fsm.h:12
Definition tactic_fsm.h:16