Fetch
Fetch (issue #177): a single room scattered with n_objects
Key/Ball instances; one is the per-episode target via State.
mission (same placement/target-selection shape as GoToObject). Unlike
GoToObject, success requires picking up the target, not just
reaching it - and, verified against MiniGrid's actual FetchEnv.step
(this contradicted this issue's own original guess that a wrong pickup
would be a no-op): picking up any object, right or wrong, ends the
episode; only the reward differs (1 for the right one, 0 otherwise).
Registers with transitions_fn=transitions.deterministic_transition -
see go_to_object.py's module docstring for why (the default
stochastic_transition would otherwise walk every Ball entity a
random step each turn, which real MiniGrid's Ball doesn't do outside
DynamicObstacles).
Fetch
Bases: Environment
Navix-Fetch-*. A room scattered with n_objects coloured
Key/Ball objects; one is named as the target in State.mission.
Picking up any object ends the episode - reward 1 only if it was
the target, 0 otherwise. See the module docstring for MiniGrid
parity notes.
Attributes:
| Name | Type | Description |
|---|---|---|
n_objects |
int
|
how many objects to scatter (split roughly half keys, half balls). |