Skip to content
/ droid Public
forked from pyrateml/droid

Package for rapid prototyping of reinforcement learning environments πŸš€

License

Notifications You must be signed in to change notification settings

pything/droid

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

58 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

neodroid

Droid

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.

Build Status Coverage Status GitHub Issues GitHub Forks GitHub Stars GitHub License

unity csharp netmq

flatbuffers

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.

Notable Features

  • 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)

Usage

  • Download the newest Droid.unitypackage from releases and import into your Unity project.

Or

Demo

manipulator

Repository Structure


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

Citation

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

Other Components Of The Neodroid Platform

About

Package for rapid prototyping of reinforcement learning environments πŸš€

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 98.7%
  • ShaderLab 1.3%