GT RoboCup SSL
Soccer software, robot firmware
|
Behavior that applies to a single ROBOT and may have up to one subbehavior at any time Most of the implementation is just checking if we have subbehaviors and calling the real method on the appropriate superclass Note: The method-resolution-order in python dictates that as we have it listed below, SingleRobotBehavior methods take precedence over CompositeBehavior methods. More...
Public Member Functions | |
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) |
Public Member Functions inherited from gameplay.single_robot_behavior.SingleRobotBehavior | |
def | __init__ (self, continuous) |
def | execute_running (self) |
def | role_requirements (self) |
def | assign_roles |
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 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 Attributes | |
autorestart | |
robot | |
robot_shell_id | |
Public Attributes inherited from gameplay.single_robot_behavior.SingleRobotBehavior | |
robot | |
Behavior that applies to a single ROBOT and may have up to one subbehavior at any time Most of the implementation is just checking if we have subbehaviors and calling the real method on the appropriate superclass Note: The method-resolution-order in python dictates that as we have it listed below, SingleRobotBehavior methods take precedence over CompositeBehavior methods.
def gameplay.single_robot_composite_behavior.SingleRobotCompositeBehavior.__init__ | ( | self, | |
continuous = False , |
|||
autorestart | |||
) |
Constructor.
If the behavior should not be restarted when it is assigned to a different robot, then autorestart must be false
continuous | should the behavior runs until it is manually stopped |
autorestart | function governing the behavior's restarting itself when its robot is switched. Defaults to true |