GT RoboCup SSL
Soccer software, robot firmware
gameplay.tactics.defense.Defense Class Reference

Classes

class  State
 

Public Member Functions

def __init__ (self, defender_priorities=[20)
 
def debug (self)
 
def debug (self, value)
 
def should_clear_ball (self)
 
def execute_running (self)
 
def on_enter_clearing (self)
 
def on_exit_clearing (self)
 
def find_and_set_defender_location (self)
 
def get_threat_list (self, unused_threat_handlers)
 Gets list of threats. More...
 
def estimate_risk_score (self, bot, excluded_bots=[])
 Estimate risk score based on old defense.py play. More...
 
def estimate_potential_recievers_score (self, bot)
 Estimate potential reciever score based on old defense.py play. More...
 
def assign_handlers_to_threats (self, assigned_handlers, unused_threat_handlers, threats_to_block)
 Assigns the defenders to threats. More...
 
def set_defender_block_lines (self, threats_to_block, assigned_handlers)
 Assigns the locations for each robot to block given a threat and list of robots to block each threat. More...
 
def role_requirements (self)
 
- Public Member Functions inherited from gameplay.composite_behavior.CompositeBehavior
def __init__
 
def add_subbehavior
 
def remove_subbehavior
 
def has_subbehavior_with_name
 
def has_subbehaviors (self)
 
def subbehavior_with_name
 
def subbehaviors_by_name (self)
 
def remove_all_subbehaviors (self)
 
def all_subbehaviors (self)
 Returns a list of all subbehaviors.
 
def all_subbehaviors_completed (self)
 
def spin (self)
 Override StateMachine.spin() so we can call spin() on subbehaviors.
 
def handle_subbehavior_exception (self, name, exception)
 Override point for exception handling this is called whenever a subbehavior throws an exception during spin() subclasses of CompositeBehavior can override this to perform custom actions, such as removing the offending subbehavior the default implementation logs the exception and re-raises it.
 
def role_requirements (self)
 returns a tree of role_requirements
 
def assign_roles (self, assignments)
 
def __str__ (self)
 
- Public Member Functions inherited from gameplay.behavior.Behavior
def __init__
 
def add_state (self, state, parent_state=None)
 
def is_done_running (self)
 
def terminate (self)
 Transitions the Behavior into a terminal state (either completed or cancelled)
 
def behavior_state (self)
 returns a state in Behavior.State that represents what the behaviors is doing use this instead of the property if you want to avoid dealing with custom subclass substates
 
def is_continuous (self)
 The Behavior's termination behavior noncontinuous: a behavior that accomplishes a specific task, then completes (example: shooting at the goal) continuous: a behavior that continually runs until told to stop (example: zone defense)
 
def __str__ (self)
 
def role_requirements (self)
 Returns a tree of RoleRequirements keyed by subbehavior reference name This is used by the dynamic role assignment system to intelligently select which robot will run which behavior.
 
def assign_roles (self, assignments)
 assignments is a tree of (RoleRequirements, OurRobot) tuples Same tree structure as the role_requirements() return value, but tuples instead of RoleRequirements as leaf nodes
 
- Public Member Functions inherited from gameplay.fsm.StateMachine
def __init__ (self, start_state)
 
def start_state (self)
 
def restart (self)
 Resets the FSM back into the start state.
 
def add_state (self, state, parent_state=None)
 Registers a new state (which can optionally be a substate of an existing state)
 
def spin (self)
 Runs the FSM checks transition conditions for all edges leading away from the current state if one evaluates to true, we transition to it if more than one evaluates to true, we throw a RuntimeError.
 
def add_transition
 
def transition (self, new_state)
 
def is_in_state (self, state)
 
def state_is_substate (self, state, possible_parent)
 
def corresponding_ancestor_state (self, ancestors)
 
def ancestors_of_state (self, state)
 
def as_graphviz (self)
 
def write_diagram_png
 
def state (self)
 

Public Attributes

 debug
 
 kick_eval
 

Static Public Attributes

float DEFENSE_ROBOT_CHANGE_COST = 0.05
 
+ Inheritance diagram for gameplay.tactics.defense.Defense:
+ Collaboration diagram for gameplay.tactics.defense.Defense:

Member Function Documentation

◆ assign_handlers_to_threats()

def gameplay.tactics.defense.Defense.assign_handlers_to_threats (   self,
  assigned_handlers,
  unused_threat_handlers,
  threats_to_block 
)

Assigns the defenders to threats.

Parameters
assigned_handlersList of list, [ A ... ] where A represents a list of defenders assigned to threat A
unused_threat_handlersList of defenders that are unused currently
threats_to_blockList of threats that we have to deal with, tuple with position and threat score

◆ estimate_potential_recievers_score()

def gameplay.tactics.defense.Defense.estimate_potential_recievers_score (   self,
  bot 
)

Estimate potential reciever score based on old defense.py play.

Parameters
botRobot to estimate score at
Returns
The potential receiver score at that point

◆ estimate_risk_score()

def gameplay.tactics.defense.Defense.estimate_risk_score (   self,
  bot,
  excluded_bots = [] 
)

Estimate risk score based on old defense.py play.

Parameters
botRobot to estimate score at
exluded_BotsRobots to exclude from the defense when calculating shot
Returns
The risk score at that point (Shot chance * pass chance)

◆ get_threat_list()

def gameplay.tactics.defense.Defense.get_threat_list (   self,
  unused_threat_handlers 
)

Gets list of threats.

Returns
tuple of threat positions and score (unordered)

◆ set_defender_block_lines()

def gameplay.tactics.defense.Defense.set_defender_block_lines (   self,
  threats_to_block,
  assigned_handlers 
)

Assigns the locations for each robot to block given a threat and list of robots to block each threat.

Parameters
threats_to_blockList of threats that we have to deal with, tuple with position and threat score
assigned_handlersList of list, [ A ... ] where A represents a list of defenders assigned to threat A

The documentation for this class was generated from the following file: