Thunderbots Project
Loading...
Searching...
No Matches
cost_function.h
1#pragma once
2
3#include <functional>
4
5#include "proto/message_translation/tbots_protobuf.h"
6#include "proto/parameters.pb.h"
7#include "software/ai/passing/pass.h"
8#include "software/math/math_functions.h"
9#include "software/util/make_enum/make_enum.hpp"
10#include "software/world/field.h"
11#include "software/world/team.h"
12#include "software/world/world.h"
13
24double ratePass(const World& world, const Pass& pass,
25 const TbotsProto::PassingConfig& passing_config);
26
37double rateReceivingPosition(const World& world, const Pass& pass,
38 const TbotsProto::PassingConfig& passing_config);
39
50double rateShot(const Point& shot_origin, const Field& field, const Team& enemy_team,
51 const TbotsProto::PassingConfig& passing_config);
52
65double ratePassShootScore(const Field& field, const Team& enemy_team, const Pass& pass,
66 const TbotsProto::PassingConfig& passing_config);
67
79double ratePassEnemyRisk(const Team& enemy_team, const Pass& pass,
80 const TbotsProto::PassingConfig& passing_config);
81
92double ratePassForwardQuality(const Pass& pass,
93 const TbotsProto::PassingConfig& passing_config);
94
103double ratePassNotTooClose(const Pass& pass,
104 const TbotsProto::PassingConfig& passing_config);
105
117double calculateInterceptRisk(const Team& enemy_team, const Pass& pass,
118 const TbotsProto::PassingConfig& passing_config);
119
131double calculateInterceptRisk(const Robot& enemy_robot, const Pass& pass,
132 const TbotsProto::PassingConfig& passing_config);
133
134
149double ratePassFriendlyCapability(const Team& friendly_team, const Pass& pass,
150 const TbotsProto::PassingConfig& passing_config);
151
166double getStaticPositionQuality(const Field& field, const Point& position,
167 const TbotsProto::PassingConfig& passing_config);
168
177double calculateProximityRisk(const Point& point, const Team& enemy_team,
178 const TbotsProto::PassingConfig& passing_config);
179
193double rateKeepAwayPosition(const Point& keep_away_position, const World& world,
194 const Pass& best_pass_so_far,
195 const Rectangle& dribbling_bounds,
196 const TbotsProto::PassingConfig& passing_config);
197
214void samplePassesForVisualization(
215 const World& world, const TbotsProto::PassingConfig& passing_config,
216 const std::optional<Pass>& best_pass_so_far = std::nullopt);
Definition field.h:36
Definition pass.h:20
Definition point.h:14
Definition rectangle.h:10
Definition robot.h:16
Definition team.h:15
Definition world.h:23