Simple and easily configurable grid world environments for reinforcement learning
In this release, we added new procedurally generated environments using the wave function collapse environment, the original BabyAI bot, and dynamically determined highlighting
in RGBImgObsWrapper
.
observation
method of RGBImgObsWrapper
such that the agent field-of-view (FOV) highlight is rendered only when the underlying environment has this enabled with the highlight
bool, by default is True. By @thesofakillers in https://github.com/Farama-Foundation/Minigrid/pull/388
This release includes contributions from @ thesofakillers, @pseudo-rnd-thoughts, @BolunDai0216, @mansicer, @JupiLogy, @AdamJelley, @timoklein, @jysdoran, @mschweizer, and @Camel-light.
This release includes two new features:
This release includes contributions from: @mgoulao, @ertsiger, @BolunDai0216, @sparisi, @elliottower.
New release with a couple of small changes that shouldn't affect users along with a new tutorial and python 3.11 support. Let us know if anything new breaks
Full Changelog: https://github.com/Farama-Foundation/Minigrid/compare/v2.2.1...v2.3.0
This release is a minor bugfix:
In this release, we added support for rendering using Pygame, which improves the previously Matplotlib-based rendering procedure, this is a breaking change that removes minigrid.utils.window.Window
. A bug in the SymbolicObsWrapper that results in the wrong observation has been fixed. An error in the documentation regarding the reward function has been corrected. The ObstructedMaze
environments are now ensured to be solvable. The class minigrid_env.MiniGridEnv.Actions
is removed since it is the same as minigrid.core.actions.Actions
.
MiniGrid-DoorKey-6x6-v0
environment, a hidden variable determining the size was wrong at 5x5, this is updated to 6x6.
https://github.com/Farama-Foundation/Minigrid/pull/322
minigrid_env.MiniGridEnv.Actions
is the same as minigrid.core.actions.Actions
, to make the codebase cleaner, we have deleted the class minigrid_env.MiniGridEnv.Actions
. This is a breaking change. For any code that relies on minigrid_env.MiniGridEnv.Actions
, you can simply replace it with minigrid.core.actions.Actions
.
https://github.com/Farama-Foundation/Minigrid/pull/328
SymbolicObsWrapper
, the grid that records the content of each tile is formatted as [x, y, item]
, which corresponds to [col, row, item]
, this causes a mismatch in the observation. This mismatch is now resolved.
https://github.com/Farama-Foundation/Minigrid/pull/331
1 - 0.9 * (step_count / max_steps)
. Additionally, in GoToObjectEnv
, there was an error in detecting whether the agent is next to the target. These issues have now been resolved.
https://github.com/Farama-Foundation/Minigrid/pull/333
minigrid.utils.window.Window
has been removed.
https://github.com/Farama-Foundation/Minigrid/pull/313
ObstructedMaze
environments, the blocking ball placed by add_door
may cover the box placed on the map by the previous add_door
, causing the agent to be unable to open certain doors and complete the task. We have updated several of the ObstructedMaze
environments to be always solvable and are registered as v1
versions of the environment.
https://github.com/Farama-Foundation/Minigrid/pull/334
Full Changelog: https://github.com/Farama-Foundation/minigrid/compare/v2.1.0...v2.1.1
manual_control.py
. @MathisFedericomax_steps
argument in all of the environments. Fix https://github.com/Farama-Foundation/Minigrid/issues/264. @rodrigodelazcanoSymbolicObsWrapper
observation. Fix #278. @rodrigodelazcanoMinigridEnv
@micimizepy.typed
marker to use minigrid's type annotations in external tooling such as mypyThis release transitions the repository dependency from gym
to gymnasium
. gymnasium
is a fork of OpenAI's Gym library by the maintainers, and is where future maintenance will occur going forward. gymnasium.farama.org
gym
to gymnasium
v0.26. @rodrigodelazcanogym_minigrid
to minigrid
. @rodrigodelazcanominigrid.py
into sub-files for easier comprehension and keep them under core
directory:
actions.py
: class structure with the actions encodingsconstants.py
: constants in the environments such as object colorsgrid.py
: the grid classmission.py
: the mission space implementationroomgrid.py
: class for environments with roomsworld_object
: object classes (Wall, Ball, Goal, Floor, ...)utils
directory for rendering files rendering.py
and window.py
minigrid.py
to minigrid_env.py
. Fixes issue #243 @rodrigodelazcanogym_minigrid
-> minigrid
)The PyPi package name for this repository will be changed in future releases and integration with Gymnasium. The new name will be minigrid
and installation will be done with pip install minigrid
instead of pip install gym_minigrid
.
This release adds a deprecation warning when importing or installing gym_minigrid
.
new_step_api=True
argument in manual_control.py
. Latest 1.2.0 MiniGrid release is not backward compatible with gym releases previous to v0.26. Thus every minigrid environment has a hard constraint on using new step API and the option to set the argument new_step_api=True
in the environments was removed. @rodrigodelazcano