Thunderbots Project
Loading...
Searching...
No Matches
pivot_kick_tactic.h
1#pragma once
2
3#include "proto/parameters.pb.h"
4#include "software/ai/evaluation/enemy_threat.h"
5#include "software/ai/hl/stp/tactic/pivot_kick/pivot_kick_fsm.h"
6#include "software/ai/hl/stp/tactic/tactic.h"
7#include "software/geom/segment.h"
8
9class PivotKickTactic : public Tactic
10{
11 public:
17 explicit PivotKickTactic(TbotsProto::AiConfig ai_config);
18
19 PivotKickTactic() = delete;
20
21 DEFINE_TACTIC_DONE_AND_GET_FSM_STATE
22
30 void updateControlParams(const Point& kick_origin, const Angle& kick_direction,
31 AutoChipOrKick auto_chip_or_kick);
32
33 void accept(TacticVisitor& visitor) const override;
34
35 private:
36 void updatePrimitive(const TacticUpdate& tactic_update, bool reset_fsm) override;
37
38 std::map<RobotId, std::unique_ptr<FSM<PivotKickFSM>>> fsm_map;
39
40 PivotKickFSM::ControlParams control_params;
41 TbotsProto::AiConfig ai_config;
42};
43
44COPY_TACTIC(WallKickoffTactic, PivotKickTactic)
Definition angle.h:15
Definition pivot_kick_tactic.h:10
void accept(TacticVisitor &visitor) const override
Definition pivot_kick_tactic.cpp:26
DEFINE_TACTIC_DONE_AND_GET_FSM_STATE void updateControlParams(const Point &kick_origin, const Angle &kick_direction, AutoChipOrKick auto_chip_or_kick)
Definition pivot_kick_tactic.cpp:31
Definition point.h:14
Definition tactic_visitor.h:39
Definition tactic.h:39
Definition primitive_types.h:9
Definition pivot_kick_fsm.h:14
Definition tactic_fsm.h:16