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.

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.

Did this answer your question?