Skip to content

Latest commit

 

History

History
135 lines (81 loc) · 6.08 KB

README.md

File metadata and controls

135 lines (81 loc) · 6.08 KB

Marathon Environments

A set of high-dimensional continuous control environments for use with Unity ML-Agents Toolkit.

MarathonEnvs

Preview MarathonEnvs using the Web Demo

MarathonEnvs is a set of high-dimensional continuous control benchmarks using Unity’s native physics simulator, PhysX. MarathonEnvs can be trained using Unity ML-Agents or any OpenAI Gym compatable algorthem. MarathonEnvs maybe useful for:

  • Video Game researchers interested in apply bleeding edge robotics research into the domain of locomotion and AI for video games.
  • Academic researchers looking to leverage the strengths of Unity and ML-Agents along with the body of existing research and benchmarks provided by projects such as the DeepMind Control Suite, or OpenAI Mujoco environments.

Note: This project is the result of a contribution from Joe Booth (@Sohojo), a member of the Unity community who currently maintains the repository. As such, the contents of this repository are not officially supported by Unity Technologies.


What's new in MarathonEnvs-v2.0.0-alpha.2

WebGL Demo / Support for in browser

marathon-envs Gym wrapper (Preview)

  • Use marathon-envs as a OpenAI Gym environment - see documentation

ml-agents 0.14.1 support

  • Updated to work with ml-agents 0.14.1 / new inference engine

Unity 2018.4 LTS

  • Updated to use Unity 2018.4 LTS. Should work with later versions. However, sometimes Unity makes breaking physics changes.

MarathonManBackflip-v0

  • Train the agent to complete a backflip based on motion capture data
  • Merged from StyleTransfer experimental repro

MarathonMan-v0

  • Optimized for Unity3d + fixes some bugs with the DeepMind.xml version
  • Merged from StyleTransfer experimental repro
  • Replaces DeepMindHumanoid

ManathonManSparse-v0

  • Sparse version of MarathonMan.
  • Single reward is given at end of episode.

TerrainHopperEnv-v0, TerrainWalker2dEnv-v0, TerrainAntEnv-v0, TerrainMarathonManEnv-v0

  • Random Terrain envionments
  • Merged from AssaultCourse experimental repro

SpawnableEnvs (Preview)

  • Set the number of instances of an envrionmwnt you want for training and inference
  • Envrionments are spawned from prefabs, so no need to manually duplicate
  • Supports ability to select from multiple agents in one build
  • Unique Physics Scene per Environment (makes it easier to port envionments however runs slower)
  • SelectEnvToSpawn.cs - Optional menu to enable user to select from all agents in build

Scorer.cs

  • Score agent against 'goal' (for example, max distance) to distinguish rewards from goals
  • Gives mean and std-div over 100 agents

Normalized Observations (-1 to 1) and reward (0 to 1)

  • No need to use normalize flag in training. Helps with OpenAI.Baselines training

Merge CameraHelper.cs from StyleTransfer. Controls are

  • 1, 2, 3 - Slow-mo modes
  • arrow keys or w-a-s-d rotate around agent
  • q-e zoom in / out

Default hyperparams are now closer to OpenAI.Baselines

  • (1m steps for hopper, walker, ant, 10m for humanoid)

Training speed improvements - All feet detect distance from floor

Getting Started

Requirements

  • Unity 2018.4 (Download here).
  • Cloan / Download this repro
  • Install ml-agents version 0.14.1 - install via:
pip3 install mlagents==0.14.1
  • Build or install the correct runtime for your version into the envs\ folder

Training


Publications & Usage

Publications

Research using ML-Agents + MarathonEnvs


References

Citing MarathonEnvs

If you use MarathonEnvs in your research, we ask that you please cite our paper.