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:
- Define a @Discrete and a @Continuous action space.
- 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.