Droid is a unity package that enables prototyping reinforcement learning environments within the Unity engine and communication to the Neo counterpart of the Neodroid platform.
|
|
|
|
|
|
This project has similarities with Unity's own project Unity Machine Learning Agents. Most of the efforts done in this project were made prior to their announcement, Introducing: Unity Machine Learning Agents, when the authors was in need of a capable tool. Newcomers wanting a more supported experience may wish to use the Unity Machine Learning Agents project instead.
The entire Neodroid platform serves as a tool for academic research specific to the authors interests, hence explaining the existence and future direction of this project.
- In-editor simulations for ease of debugging
- Connect multiple external agents (i.e. multiple client computers)
- Blazing fast serialisation
- Modular unity style component construction of scenes (enables rapid prototyping of complex environments and ease of integration with existing projects)
- Support reverse curriculum generation inherently (Ability to reinitialise any previous seen state or configure new ones)
- Download the newest Droid.unitypackage from releases and import into your Unity project.
Or
- Acquire the Droid (Temporarily down) package from the built-in asset store of the Unity Editor.
sintefneodroid/droid # This repository
│
├── docs
│ ├── source # Documentation files
│ │
│ ├── make.bat # Compile docs
│ └── Makefile # ^
│
├── Examples # Prebuilt Neodroid environments
│ ├── Assets # Model checkpoints
│ │ ├── Neodroid # Symlinked folder to top-level Neodroid folder
│ │ ├── SceneAssets # All scene-specific assets for the prebuilt environments
│ │ └── Scenes # All prebuilt environment scenes
│ │
│ └── Examples.sln # C# project file
│
├── .github # Images and such for this README
│
├── Neodroid # The Neodroid unity package
│ ├── Prototyping # All classes for quick prototyping of observations and actions
│ │ ├── Actors
│ │ ├── Evaluation
│ │ ├── Observers
│ │ ├── Displayers
│ │ ├── Configurables
│ │ └── Motors
│ │
│ ├── Environments # Classes for encapsulating all Neodroid environments
│ ├── Managers # Classes for managing the simulation of Neodroid environments
│ └── Utilities # Lots of helper functionalities
│
├── LICENSE # License file (Important but boring)
└── README.md # The top-level README
For citation you may use the following bibtex entry:
@misc{neodroid,
author = {Heider, Christian},
title = {Neodroid Platform},
year = {2018},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/sintefneodroid}},
}