![]() |
GT RoboCup SSL
Soccer software, robot firmware
|
Defender behavior meant to be coordinated in a defense tactic The regular defender does a lot of calculations and figures out where it should be This defender lets someone else (the Defense tactic) handle calculations and blocks things based on it. More...
Classes | |
class | State |
Public Member Functions | |
def | __init__ (self) |
def | block_line (self) |
the line we should be on to block The defender assumes that the first endpoint on the line is the source of the threat it's blocking and makes an effort to face towards it | |
def | block_line (self, value) |
def | move_target (self) |
where the bot plans to move in order to block the block_line | |
def | on_enter_marking (self) |
def | execute_running (self) |
def | execute_marking (self) |
move to a position to block the 'block_line' if no block_line is specified, blocks the ball | |
def | on_exit_marking (self) |
def | on_enter_clearing (self) |
def | on_exit_clearing (self) |
def | role_requirements (self) |
![]() | |
def | __init__ |
Constructor. More... | |
def | autorestart (self) |
def | autorestart |
def | add_subbehavior |
we over-ride this to enforce the rule that there can't be more than one subbehavior | |
def | has_subbehaviors (self) |
def | role_requirements (self) |
def | assign_roles (self, assignments) |
def | __str__ (self) |
![]() | |
def | __init__ (self, continuous) |
def | execute_running (self) |
def | role_requirements (self) |
def | assign_roles |
def | __str__ (self) |
![]() | |
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 | |
![]() | |
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) |
![]() | |
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 Attributes | |
go_clear | |
safety_multiplier | |
block_line | |
![]() | |
autorestart | |
robot | |
robot_shell_id | |
![]() | |
robot | |
Defender behavior meant to be coordinated in a defense tactic The regular defender does a lot of calculations and figures out where it should be This defender lets someone else (the Defense tactic) handle calculations and blocks things based on it.
The submissive defender takes in a block line via setter- this should be the line between the threat and the point on the goal the threat is likely to shoot at The submissive defender will place itself on the block line, just outside the goal box (exact amount depends on the value of the _defend_goal_radius param).