rj_gameplay.play.test_motion_planning

Module Contents

Classes

State

Create a collection of name/value pairs.

OneRobot

Make robot 0 run full field sprints.

AllBotsState

Create a collection of name/value pairs.

AllBots

Make all robots move from one end to the other in straight line paths.

KickBall

Make robot 0 capture, then kick the ball.

class rj_gameplay.play.test_motion_planning.State(*args, **kwds)

Bases: enum.Enum

Create a collection of name/value pairs.

Example enumeration:

>>> class Color(Enum):
...     RED = 1
...     BLUE = 2
...     GREEN = 3

Access them by:

  • attribute access:

>>> Color.RED
<Color.RED: 1>
  • value lookup:

>>> Color(1)
<Color.RED: 1>
  • name lookup:

>>> Color['RED']
<Color.RED: 1>

Enumerations can be iterated over, and know how many members they have:

>>> len(Color)
3
>>> list(Color)
[<Color.RED: 1>, <Color.BLUE: 2>, <Color.GREEN: 3>]

Methods can be added to enumerations, and members can have their own attributes – see the documentation for details.

NEAR
FAR
class rj_gameplay.play.test_motion_planning.OneRobot

Bases: stp.play.Play

Make robot 0 run full field sprints.

Directly overrides the STP architecture to send RI to gameplay.

tick(world_state: stp.rc.WorldState) List[rj_msgs.msg.RobotIntent]

Performs one “tick” of the specified play.

This should:
  1. Determine if role assignment is necessary.

  2. If so, perform role assignment with self.assign_roles().

  3. Tick Tactics to aggregate robot_intents with self.get_robot_intents().

Parameters:

world_state – Current state of the world.

Returns:

list of robot intents where index = robot_id

class rj_gameplay.play.test_motion_planning.AllBotsState(*args, **kwds)

Bases: enum.Enum

Create a collection of name/value pairs.

Example enumeration:

>>> class Color(Enum):
...     RED = 1
...     BLUE = 2
...     GREEN = 3

Access them by:

  • attribute access:

>>> Color.RED
<Color.RED: 1>
  • value lookup:

>>> Color(1)
<Color.RED: 1>
  • name lookup:

>>> Color['RED']
<Color.RED: 1>

Enumerations can be iterated over, and know how many members they have:

>>> len(Color)
3
>>> list(Color)
[<Color.RED: 1>, <Color.BLUE: 2>, <Color.GREEN: 3>]

Methods can be added to enumerations, and members can have their own attributes – see the documentation for details.

INIT_NEAR
NEAR
INIT_FAR
FAR
class rj_gameplay.play.test_motion_planning.AllBots

Bases: stp.play.Play

Make all robots move from one end to the other in straight line paths.

Directly overrides the STP architecture to send RI to gameplay.

all_moves_done(world_state)
fill_move_skills(world_state, st_pt, end_pt)
tick(world_state: stp.rc.WorldState) List[rj_msgs.msg.RobotIntent]

Performs one “tick” of the specified play.

This should:
  1. Determine if role assignment is necessary.

  2. If so, perform role assignment with self.assign_roles().

  3. Tick Tactics to aggregate robot_intents with self.get_robot_intents().

Parameters:

world_state – Current state of the world.

Returns:

list of robot intents where index = robot_id

class rj_gameplay.play.test_motion_planning.KickBall

Bases: stp.play.Play

Make robot 0 capture, then kick the ball.

Directly overrides the STP architecture to send RI to gameplay.

tick(world_state: stp.rc.WorldState) List[rj_msgs.msg.RobotIntent]

Performs one “tick” of the specified play.

This should:
  1. Determine if role assignment is necessary.

  2. If so, perform role assignment with self.assign_roles().

  3. Tick Tactics to aggregate robot_intents with self.get_robot_intents().

Parameters:

world_state – Current state of the world.

Returns:

list of robot intents where index = robot_id