Skip to content

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).

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).