Mixed Tuple Action Spaces - PathmindAI/nativerl GitHub Wiki

You may encounter use cases that require you to combine multiple types of action spaces. For example, consider a missile turret which require two types of actions to work.

  • Action 1 - Shoot missile which is a discrete choice of 0 (don't shoot) or 1 (shoot).
  • Action 2 - Turn turret which is a continuous range between 0 and 360 degrees.

To deal with these non-symmetrical action spaces, you must implement a mixed tuple action space.

Step 1

In the "Actions" field within the Pathmind Helper properties, define your action space.

mixed_tuple

You'll want to do two things here:

  1. Define a @Discrete and a @Continuous action space.
  2. In your doAction(), set an argument for each action space. In the example above, it'd be two arguments: shoot and turn (doActions(shoot, turn);)

Finally, check debug mode to confirm that your action space is properly set up. In the example above, it should look something like [0, 138.02], [1, 12.32], [1, 319.92], etc.

Step 2

Update your doAction function to accept mixed tuple actions. Please revisit this article for instructions on how to do that.