Package for rapid prototyping of reinforcement learning environments 🚀
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.
Neodroid is developed with support from Research Council of Norway Grant #262900. (https://www.forskningsradet.no/prosjektbanken/#/project/NFR/262900)
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.
Edit your Unity projects "Packages/manifest.json" to include the string
"com.neodroid.droid": "https://github.com/sintefneodroid/droid.git"}
.
Example manifest.json
{
"dependencies": {
"com.unity.package-manager-ui": "0.0.0-builtin",
...
"com.neodroid.droid": "https://github.com/sintefneodroid/droid.git",
}
}
You can use "com.neodroid.droid": "https://github.com/sintefneodroid/droid.git#branch"
for a specific branch.
Or
Or
sintefneodroid/droid # This repository
│
├── Samples # Prebuilt Neodroid environments
│ └── MultiArmedBandit # Sample Project
│
├── Editor # Editor Implementation
│ ├── GameObjects
│ ├── ScriptableObjects
│ ├── Windows
│ ├── Resources
│ └── Utilies
│
├── Runtime # Runtime Implementation
│ ├── 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
│
├── Documentation # Unity Package Documentation
│
├── Gizmos # Icons
│
├── Tests # Tests
│
├── .github # Images and such for this README
│
├── LICENSE.md # License file (Important but boring)
├── README.md # The top-level README
└── TUTORIAL.md # Very quick tutorial to get started
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}},
}