diff --git a/docs/third_party_environments.md b/docs/third_party_environments.md index 3c732b259e7..12167c04f4b 100644 --- a/docs/third_party_environments.md +++ b/docs/third_party_environments.md @@ -2,6 +2,18 @@ # Video Games environments +## gym-derk: GPU accelerated MOBA environment + +https://gym.derkgame.com + +This is a 3v3 MOBA environment where you train creatures to fight each other. It runs entirely on the GPU so you can easily have hundreds of instances running in parallel. There are around 15 items for the creatures, 60 "senses", 5 actions, and roughly 23 tweakable rewards. It's also possible to benchmark an agent against other agents online. It's available for free for training for personal use, and otherwise costs money; see licensing details on the website + +## MineRL + +https://github.com/minerllabs/minerl + +Gym interface with Minecraft game, focused on a specific sparse reward challenge + ## Procgen https://github.com/openai/procgen @@ -20,25 +32,45 @@ https://github.com/MatPoliquin/stable-retro Supported fork of gym-retro with additional games, states, scenarios, etc. Open to PRs of additional games, features and plateforms since gym-retro is no longer maintained -## gym-derk: GPU accelerated MOBA environment - -https://gym.derkgame.com - -This is a 3v3 MOBA environment where you train creatures to fight each other. It runs entirely on the GPU so you can easily have hundreds of instances running in parallel. There are around 15 items for the creatures, 60 "senses", 5 actions, and roughly 23 tweakable rewards. It's also possible to benchmark an agent against other agents online. It's available for free for training for personal use, and otherwise costs money; see licensing details on the website - ## Unity ML Agents https://github.com/Unity-Technologies/ml-agents Gym wrappers for arbitrary and premade environments with the Unity game engine. +# Classic Environments (board, card, etc. games) + +## gym-abalone: A two-player abstract strategy board game + +https://github.com/towzeur/gym-abalone + +An implementation of the board game Abalone. + +## gym-spoof + +https://github.com/MouseAndKeyboard/gym-spoof + +Spoof, otherwise known as "The 3-coin game", is a multi-agent (2 player), imperfect-information, zero-sum game. + +## gym-xiangqi: Xiangqi - The Chinese Chess Game + +https://github.com/tanliyon/gym-xiangqi + +A reinforcement learning environment of Xiangqi, the Chinese Chess game. + +## RubiksCubeGym + +https://github.com/DoubleGremlin181/RubiksCubeGym + +The RubiksCubeGym package provides environments for twisty puzzles with multiple reward functions to help simluate the methods used by humans. + # Robotics Environments -## PyBullet Robotics Environments +## GymFC: A flight control tuning and training framework -Docs: https://docs.google.com/document/d/10sXEhzFRSnvFcl3XxNGhnD4N2SedqwdAvK3dsihxVUA/edit#heading=h.wz5to0x8kqmr +https://github.com/wil3/gymfc/ -3D physics environments like the Mujoco environments but uses the Bullet physics engine and does not require a commercial license. Works on Mac/Linux/Windows. +GymFC is a modular framework for synthesizing neuro-flight controllers. The architecture integrates digital twinning concepts to provide seamless transfer of trained policies to hardware. The OpenAI environment has been used to generate policies for the worlds first open source neural network flight control firmware [Neuroflight](https://github.com/wil3/neuroflight). ## gym-gazebo @@ -47,15 +79,11 @@ https://github.com/erlerobot/gym-gazebo/ gym-gazebo presents an extension of the initial OpenAI gym for robotics using ROS and Gazebo, an advanced 3D modeling and rendering tool. -## GymFC: A flight control tuning and training framework +## gym-goddard: Goddard's Rocket Problem -https://github.com/wil3/gymfc/ +https://github.com/osannolik/gym-goddard -GymFC is a modular framework for synthesizing neuro-flight controllers. The -architecture integrates digital twinning concepts to provide seamless transfer -of trained policies to hardware. The OpenAI environment has been used to -generate policies for the worlds first open source neural network flight -control firmware [Neuroflight](https://github.com/wil3/neuroflight). +An environment for simulating the classical optimal control problem where the thrust of a vertically ascending rocket shall be determined such that it reaches the maximum possible altitude, while being subject to varying aerodynamic drag, gravity and mass. ## gym-jiminy: training Robots in Jiminy @@ -63,63 +91,55 @@ https://github.com/Wandercraft/jiminy gym-jiminy presents an extension of the initial OpenAI gym for robotics using Jiminy, an extremely fast and light weight simulator for poly-articulated systems using Pinocchio for physics evaluation and Meshcat for web-based 3D rendering. -## gym-goddard: Goddard's Rocket Problem +## gym-miniworld -https://github.com/osannolik/gym-goddard +https://github.com/maximecb/gym-miniworld -An environment for simulating the classical optimal control problem where the thrust of a vertically ascending rocket shall be determined such that it reaches the maximum possible altitude, while being subject to varying aerodynamic drag, gravity and mass. +MiniWorld is a minimalistic 3D interior environment simulator for reinforcement learning & robotics research. It can be used to simulate environments with rooms, doors, hallways and various objects (eg: office and home environments, mazes). MiniWorld can be seen as an alternative to VizDoom or DMLab. It is written 100% in Python and designed to be easily modified or extended. ## gym-pybullet-drones https://github.com/JacopoPan/gym-pybullet-drones -A simple environment using [PyBullet](https://github.com/bulletphysics/bullet3) to simulate the dynamics of a [Bitcraze Crazyflie 2.x](https://www.bitcraze.io/documentation/hardware/crazyflie_2_1/crazyflie_2_1-datasheet.pdf) nanoquadrotor +A simple environment using [PyBullet](https://github.com/bulletphysics/bullet3) to simulate the dynamics of a [Bitcraze Crazyflie 2.x](https://www.bitcraze.io/documentation/hardware/crazyflie_2_1/crazyflie_2_1-datasheet.pdf) nanoquadrotor. -## Offworld-gym - -https://github.com/offworld-projects/offworld-gym - -Gym environments that let you control physics robotics in a laboratory via the internet. - -## MarsExplorer: Deep Reinforcement Learning for Extraterrestrial Exploration +## MarsExplorer https://github.com/dimikout3/MarsExplorer Mars Explorer is an openai-gym compatible environment designed and developed as an initial endeavor to bridge the gap between powerful Deep Reinforcement Learning methodologies and the problem of exploration/coverage of an unknown terrain. -## robo-gym: Environments for Real and Simulated Robots - -https://github.com/jr-robotics/robo-gym +## panda-gym -robo-gym provides a collection of reinforcement learning environments involving robotic tasks applicable in both simulation and real world robotics. +https://github.com/qgallouedec/panda-gym/ -# Classic Environments (board, card, etc. games) +PyBullet based simulations of a robotic arm moving objects. -## gym-spoof +## PyBullet Robotics Environments -https://github.com/MouseAndKeyboard/gym-spoof +https://docs.google.com/document/d/10sXEhzFRSnvFcl3XxNGhnD4N2SedqwdAvK3dsihxVUA/edit#heading=h.wz5to0x8kqmr -Spoof, otherwise known as "The 3-coin game", is a multi-agent (2 player), imperfect-information, zero-sum game. +3D physics environments like the Mujoco environments but uses the Bullet physics engine and does not require a commercial license. Works on Mac/Linux/Windows. -## gym-xiangqi: Xiangqi - The Chinese Chess Game +## robo-gym -https://github.com/tanliyon/gym-xiangqi +https://github.com/jr-robotics/robo-gym -A reinforcement learning environment of Xiangqi, the Chinese Chess game. +robo-gym provides a collection of reinforcement learning environments involving robotic tasks applicable in both simulation and real world robotics. -## gym-abalone: A two-player abstract strategy board game +## Offworld-gym -https://github.com/towzeur/gym-abalone +https://github.com/offworld-projects/offworld-gym -An implementation of the board game Abalone. +Gym environments that let you control physics robotics in a laboratory via the internet. -## RubiksCubeGym +# Autonomous Driving and Traffic Control Environments -https://github.com/DoubleGremlin181/RubiksCubeGym +## gym-carla -The RubiksCubeGym package provides environments for twisty puzzles with multiple reward functions to help simluate the methods used by humans. +https://github.com/cjy1992/gym-carla -# Autonomous Driving and Traffic Control Environments +gym-carla provides a gym wrapper for the [CARLA simulator](http://carla.org/), which is a realistic 3D simulator for autonomous driving research. The environment includes a virtual city with several surrounding vehicles running around. Multiple source of observations are provided for the ego vehicle, such as front-view camera image, lidar point cloud image, and birdeye view semantic mask. Several applications have been developed based on this wrapper, such as deep reinforcement learning for end-to-end autonomous driving. ## gym-duckietown @@ -127,23 +147,23 @@ https://github.com/duckietown/gym-duckietown A lane-following simulator built for the [Duckietown](http://duckietown.org/) project (small-scale self-driving car course). -## gym-electric-motor: Intelligent control of electric drives +## gym-electric-motor https://github.com/upb-lea/gym-electric-motor An environment for simulating a wide variety of electric drives taking into account different types of electric motors and converters. Control schemes can be continuous, yielding a voltage duty cycle, or discrete, determining converter switching states directly. -## highway-env: Tactical Decision-Making for Autonomous Driving +## highway-env https://github.com/eleurent/highway-env An environment for behavioural planning in autonomous driving, with an emphasis on high-level perception and decision rather than low-level sensing and control. The difficulty of the task lies in understanding the social interactions with other drivers, whose behaviours are uncertain. Several scenes are proposed, such as highway, merge, intersection and roundabout. -## gym-carla: Gym Wrapper for CARLA Driving Simulator +## LongiControl -https://github.com/cjy1992/gym-carla +https://github.com/dynamik1703/gym_longicontrol -gym-carla provides a gym wrapper for the [CARLA simulator](http://carla.org/), which is a realistic 3D simulator for autonomous driving research. The environment includes a virtual city with several surrounding vehicles running around. Multiple source of observations are provided for the ego vehicle, such as front-view camera image, lidar point cloud image, and birdeye view semantic mask. Several applications have been developed based on this wrapper, such as deep reinforcement learning for end-to-end autonomous driving. +An environment for the stochastic longitudinal control of an electric vehicle. It is intended to be a descriptive and comprehensible example for a continuous real-world problem within the field of autonomous driving. ## sumo-rl @@ -153,120 +173,101 @@ Gym wrapper for various environments in the Sumo traffic simulator # Other Environments -## gym-algorithmic - -https://github.com/Rohan138/gym-algorithmic - -These are a variety of algorithmic tasks, such as learning to copy a sequence, present in Gym prior to Gym 0.20.0. - -## gym-legacy-toytext - -https://github.com/Rohan138/gym-legacy-toytext - -These are the unused toy-text environments present in Gym prior to Gym 0.20.0. - -## Obstacle Tower +## anomalous_rl_envs -https://github.com/Unity-Technologies/obstacle-tower-env +https://github.com/modanesh/anomalous_rl_envs -3D procedurally generated tower where you have to climb to the highest level possible +A set of environments from control tasks: Acrobot, CartPole, and LunarLander with various types of anomalies injected into them. It could be very useful to study the behavior and robustness of a policy. -## PGE: Parallel Game Engine +## CompilerGym -https://github.com/222464/PGE +https://github.com/facebookresearch/CompilerGym -PGE is a FOSS 3D engine for AI simulations, and can interoperate with the Gym. Contains environments with modern 3D graphics, and uses Bullet for physics. +Reinforcement learning environments for compiler optimization tasks, such as LLVM phase ordering, GCC flag tuning, and CUDA loop nest code generation. -## gym-inventory: Inventory Control Environments +## Gridworld -https://github.com/paulhendricks/gym-inventory +https://github.com/addy1997/Gridworld -gym-inventory is a single agent domain featuring discrete state and action spaces that an AI agent might encounter in inventory control problems. +The Gridworld package provides grid-based environments to help simulate the results for model-based reinforcement learning algorithms. Initial release supports single agent system only. Some features in this version of software have become obsolete. New features are being added in the software like windygrid environment. -## gym-maze +## gym-adserve -https://github.com/tuzzer/gym-maze/ +https://github.com/falox/gym-adserver -A simple 2D maze environment where an agent finds its way from the start position to the goal. +An environment that implements a typical [multi-armed bandit scenario](https://en.wikipedia.org/wiki/Multi-armed_bandit) where an [ad server](https://en.wikipedia.org/wiki/Ad_serving) must select the best advertisement to be displayed in a web page. Some example agents are included: Random, epsilon-Greedy, Softmax, and UCB1. -## osim-rl: Musculoskeletal Models in OpenSim +## gym-algorithmic -https://github.com/stanfordnmbl/osim-rl +https://github.com/Rohan138/gym-algorithmic -A human musculoskeletal model and a physics-based simulation environment where you can synthesize physically and physiologically accurate motion. One of the environments built in this framework is a competition environment for a NIPS 2017 challenge. +These are a variety of algorithmic tasks, such as learning to copy a sequence, present in Gym prior to Gym 0.20.0. -## gym-miniworld: Minimalistic 3D Interior Environment Simulator +## gym-autokey -https://github.com/maximecb/gym-miniworld +https://github.com/Flunzmas/gym-autokey -MiniWorld is a minimalistic 3D interior environment simulator for reinforcement learning & robotics research. It can be used to simulate environments with rooms, doors, hallways and various objects (eg: office and home environments, mazes). MiniWorld can be seen as an alternative to VizDoom or DMLab. It is written 100% in Python and designed to be easily modified or extended. +An environment for automated rule-based deductive program verification in the KeY verification system. -## gym-sokoban: 2D Transportation Puzzles +## gym-inventory -https://github.com/mpSchrader/gym-sokoban +https://github.com/paulhendricks/gym-inventory -The environment consists of transportation puzzles in which the player's goal is to push all boxes on the warehouse's storage locations. -The advantage of the environment is that it generates a new random level every time it is initialized or reset, which prevents over fitting to predefined levels. +gym-inventory is a single agent domain featuring discrete state and action spaces that an AI agent might encounter in inventory control problems. -## gym-anytrading: Environments for trading markets +## gym-anytrading https://github.com/AminHP/gym-anytrading AnyTrading is a collection of OpenAI Gym environments for reinforcement learning-based trading algorithms with a great focus on simplicity, flexibility, and comprehensiveness. -## gym-mtsim: Real-world simulator/environment for trading markets +## gym-ccc -https://github.com/AminHP/gym-mtsim - -MtSim is a general-purpose, flexible, and easy-to-use simulator alongside an OpenAI Gym trading environment for MetaTrader 5 trading platform. - -## NASGym: gym environment for Neural Architecture Search (NAS) - -https://github.com/gomerudo/nas-env +https://github.com/acxz/gym-ccc -The environment is fully-compatible with the OpenAI baselines and exposes a NAS environment following the Neural Structure Code of [BlockQNN: Efficient Block-wise Neural Network Architecture Generation](https://arxiv.org/abs/1808.05584). Under this setting, a Neural Network (i.e. the state for the reinforcement learning agent) is modeled as a list of NSCs, an action is the addition of a layer to the network, and the reward is the accuracy after the early-stop training. The datasets considered so far are the CIFAR-10 dataset (available by default) and the meta-dataset (has to be manually downloaded as specified in [this repository](https://github.com/gomerudo/meta-dataset)). +Environments that extend gym's classic control and add many new features including continuous action spaces. -## openmodelica-microgrid-gym: Intelligent control of microgrids +## gym-games -https://github.com/upb-lea/openmodelica-microgrid-gym +https://github.com/qlan3/gym-games -The OpenModelica Microgrid Gym (OMG) package is a software toolbox for the simulation and control optimization of microgrids based on energy conversion by power electronic converters. +Gym implementations of the MinAtar games, various PyGame Learning Environment games, and various custom exploration games -## Gridworld: A simple 2D grid environment +## gym-maze -https://github.com/addy1997/Gridworld +https://github.com/tuzzer/gym-maze/ -The Gridworld package provides grid-based environments to help simulate the results for model-based reinforcement learning algorithms. Initial release supports single agent system only. Some features in this version of software have become obsolete. New features are being added in the software like windygrid environment. +A simple 2D maze environment where an agent finds its way from the start position to the goal. -## gym-adserver: Environment for online advertising +## gym-mtsim -https://github.com/falox/gym-adserver +https://github.com/AminHP/gym-mtsim -An environment that implements a typical [multi-armed bandit scenario](https://en.wikipedia.org/wiki/Multi-armed_bandit) where an [ad server](https://en.wikipedia.org/wiki/Ad_serving) must select the best advertisement to be displayed in a web page. Some example agents are included: Random, epsilon-Greedy, Softmax, and UCB1. +MtSim is a general-purpose, flexible, and easy-to-use simulator alongside an OpenAI Gym trading environment for MetaTrader 5 trading platform. -## gym-autokey: Automated rule-based deductive program verification +## gym-legacy-toytext -https://github.com/Flunzmas/gym-autokey +https://github.com/Rohan138/gym-legacy-toytext -An environment for automated rule-based deductive program verification in the KeY verification system. +These are the unused toy-text environments present in Gym prior to Gym 0.20.0. -## gym-riverswim: A hard-exploration environment +## gym-riverswim https://github.com/erfanMhi/gym-riverswim -A simple environment for benchmarking reinforcement learning exploration techniques in a simplified setting. +A simple environment for benchmarking reinforcement learning exploration techniques in a simplified setting. Hard exploration. -## gym-ccc: Continuous classic control environments +## gym-recsys -https://github.com/acxz/gym-ccc +https://github.com/zuoxingdong/gym-recsys -Environments that extend gym's classic control and add many new features. +This package describes an OpenAI Gym interface for creating a simulation environment of reinforcement learning-based recommender systems (RL-RecSys). The design strives for simple and flexible APIs to support novel research. -## NLPGym: A toolkit to develop RL agents to solve NLP tasks +## gym-sokoban -https://github.com/rajcscw/nlp-gym +https://github.com/mpSchrader/gym-sokoban -[NLPGym](https://arxiv.org/pdf/2011.08272v1.pdf) provides interactive environments for standard NLP tasks such as sequence tagging, question answering, and sequence classification. Users can easily customize the tasks with their own datasets, observations, featurizers and reward functions. +2D Transportation Puzzles. The environment consists of transportation puzzles in which the player's goal is to push all boxes on the warehouse's storage locations. The advantage of the environment is that it generates a new random level every time it is initialized or reset, which prevents over fitting to predefined levels. ## math-prog-synth-env @@ -274,51 +275,56 @@ https://github.com/JohnnyYeeee/math_prog_synth_env In our paper "A Reinforcement Learning Environment for Mathematical Reasoning via Program Synthesis" we convert the DeepMind Mathematics Dataset into an RL environment based around program synthesis.https://arxiv.org/abs/2107.07373 -## VirtualTaobao: Environment of online recommendation +## NASGym -https://github.com/eyounx/VirtualTaobao/ +https://github.com/gomerudo/nas-env -An environment for online recommendation, where customers are learned from Taobao.com, one of the world's largest e-commerce platform. +The environment is fully-compatible with the OpenAI baselines and exposes a NAS environment following the Neural Structure Code of [BlockQNN: Efficient Block-wise Neural Network Architecture Generation](https://arxiv.org/abs/1808.05584). Under this setting, a Neural Network (i.e. the state for the reinforcement learning agent) is modeled as a list of NSCs, an action is the addition of a layer to the network, and the reward is the accuracy after the early-stop training. The datasets considered so far are the CIFAR-10 dataset (available by default) and the meta-dataset (has to be manually downloaded as specified in [this repository](https://github.com/gomerudo/meta-dataset)). -## gym-recsys: Customizable RecSys Simulator +## NLPGym: A toolkit to develop RL agents to solve NLP tasks -https://github.com/zuoxingdong/gym-recsys +https://github.com/rajcscw/nlp-gym -This package describes an OpenAI Gym interface for creating a simulation environment of reinforcement learning-based recommender systems (RL-RecSys). The design strives for simple and flexible APIs to support novel research. +[NLPGym](https://arxiv.org/pdf/2011.08272v1.pdf) provides interactive environments for standard NLP tasks such as sequence tagging, question answering, and sequence classification. Users can easily customize the tasks with their own datasets, observations, featurizers and reward functions. -## QASGym: gym environment for Quantum Architecture Search (QAS) +## Obstacle Tower -https://github.com/qdevpsi3/quantum-arch-search +https://github.com/Unity-Technologies/obstacle-tower-env -This a list of environments for quantum architecture search following the description in [Quantum Architecture Search via Deep Reinforcement Learning](https://arxiv.org/abs/2104.07715). The agent design the quantum circuit by taking actions in the environment. Each action corresponds to a gate applied on some wires. The goal is to build a circuit U such that generates the target n-qubit quantum state that belongs to the environment and hidden from the agent. The circuits are built using [Google QuantumAI Cirq](https://quantumai.google/cirq). +3D procedurally generated tower where you have to climb to the highest level possible -## anomalous_rl_envs: Gym environments with anomaly injection +## openmodelica-microgrid-gym -https://github.com/modanesh/anomalous_rl_envs +https://github.com/upb-lea/openmodelica-microgrid-gym -A set of environments from control tasks: Acrobot, CartPole, and LunarLander with various types of anomalies injected into them. It could be very useful to study the behavior and robustness of a policy. +The OpenModelica Microgrid Gym (OMG) package is a software toolbox for the simulation and control optimization of microgrids based on energy conversion by power electronic converters. -## CompilerGym +## osim-rl -https://github.com/facebookresearch/CompilerGym +https://github.com/stanfordnmbl/osim-rl -Reinforcement learning environments for compiler optimization tasks, such as LLVM phase ordering, GCC flag tuning, and CUDA loop nest code generation. +Musculoskeletal Models in OpenSim. A human musculoskeletal model and a physics-based simulation environment where you can synthesize physically and physiologically accurate motion. One of the environments built in this framework is a competition environment for a NIPS 2017 challenge. -## LongiControl +## PGE: Parallel Game Engine -https://github.com/dynamik1703/gym_longicontrol +https://github.com/222464/PGE + +PGE is a FOSS 3D engine for AI simulations, and can interoperate with the Gym. Contains environments with modern 3D graphics, and uses Bullet for physics. + +## QASGym + +https://github.com/qdevpsi3/quantum-arch-search -An environment for the stochastic longitudinal control of an electric vehicle. -It is intended to be a descriptive and comprehensible example for a continuous real-world problem within the field of autonomous driving. +This a list of environments for quantum architecture search following the description in [Quantum Architecture Search via Deep Reinforcement Learning](https://arxiv.org/abs/2104.07715). The agent design the quantum circuit by taking actions in the environment. Each action corresponds to a gate applied on some wires. The goal is to build a circuit U such that generates the target n-qubit quantum state that belongs to the environment and hidden from the agent. The circuits are built using [Google QuantumAI Cirq](https://quantumai.google/cirq). ## safe-control-gym https://github.com/utiasDSL/safe-control-gym -PyBullet-based CartPole and Quadrotor environments—with [CasADi](https://web.casadi.org) (symbolic) *a priori* dynamics and constraints—for learning-based control and model-based reinforcement learning. +PyBullet based CartPole and Quadrotor environments—with [CasADi](https://web.casadi.org) (symbolic) *a priori* dynamics and constraints—for learning-based control and model-based reinforcement learning. -## gym-games +## VirtualTaobao -https://github.com/qlan3/gym-games +https://github.com/eyounx/VirtualTaobao/ -Gym implementations of the MinAtar games, various PyGame Learning Environment games, and various custom exploration games +An environment for online recommendation, where customers are learned from Taobao.com, one of the world's largest e-commerce platform.