Thunderbots Project
Loading...
Searching...
No Matches
kick_tactic.h
1#pragma once
2
3#include <queue>
4
5#include "software/ai/hl/stp/tactic/kick/kick_fsm.h"
6#include "software/ai/hl/stp/tactic/tactic.h"
7
13class KickTactic : public Tactic
14{
15 public:
19 explicit KickTactic();
20
29 void updateControlParams(const Point& kick_origin, const Angle& kick_direction,
30 double kick_speed_meters_per_second);
31
40 void updateControlParams(const Point& kick_origin, const Point& kick_target,
41 double kick_speed_meters_per_second);
42
43 void accept(TacticVisitor& visitor) const override;
44
45 DEFINE_TACTIC_DONE_AND_GET_FSM_STATE
46
47 private:
48 void updatePrimitive(const TacticUpdate& tactic_update, bool reset_fsm) override;
49
50 std::map<RobotId, std::unique_ptr<FSM<KickFSM>>> fsm_map;
51
52 // Tactic parameters
53 KickFSM::ControlParams control_params;
54};
Definition angle.h:15
Definition kick_tactic.h:14
void accept(TacticVisitor &visitor) const override
Definition kick_tactic.cpp:30
void updateControlParams(const Point &kick_origin, const Angle &kick_direction, double kick_speed_meters_per_second)
Definition kick_tactic.cpp:14
KickTactic()
Definition kick_tactic.cpp:5
Definition point.h:14
Definition tactic_visitor.h:39
Definition tactic.h:39
Definition kick_fsm.h:12
Definition tactic_fsm.h:16