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}},
}