{"id":18727828,"url":"https://github.com/sintefneodroid/droid","last_synced_at":"2025-04-12T16:32:41.999Z","repository":{"id":26625724,"uuid":"98279265","full_name":"sintefneodroid/droid","owner":"sintefneodroid","description":"Package for rapid prototyping of reinforcement learning environments 🚀","archived":false,"fork":false,"pushed_at":"2022-12-08T01:29:11.000Z","size":95597,"stargazers_count":34,"open_issues_count":5,"forks_count":8,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-26T11:04:00.258Z","etag":null,"topics":["agent","blazing","deep-learning","droid","fast","hacktoberfest","learning-agents","machine-learning","ml","motor","neo","neodroid","neural-network","prototyping","reinforcement-learning","rl","segment-images","simulation","unity"],"latest_commit_sha":null,"homepage":"https://www.sintef.no/en/ocean/","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sintefneodroid.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":["cnheider"],"patreon":"cnheider","open_collective":"cnheider","ko_fi":"cnheider","custom":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null}},"created_at":"2017-07-25T07:45:30.000Z","updated_at":"2024-03-30T10:41:56.000Z","dependencies_parsed_at":"2023-01-14T05:15:10.577Z","dependency_job_id":null,"html_url":"https://github.com/sintefneodroid/droid","commit_stats":null,"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sintefneodroid%2Fdroid","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sintefneodroid%2Fdroid/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sintefneodroid%2Fdroid/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sintefneodroid%2Fdroid/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sintefneodroid","download_url":"https://codeload.github.com/sintefneodroid/droid/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248596636,"owners_count":21130740,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent","blazing","deep-learning","droid","fast","hacktoberfest","learning-agents","machine-learning","ml","motor","neo","neodroid","neural-network","prototyping","reinforcement-learning","rl","segment-images","simulation","unity"],"created_at":"2024-11-07T14:18:58.578Z","updated_at":"2025-04-12T16:32:36.990Z","avatar_url":"https://github.com/sintefneodroid.png","language":"C#","funding_links":["https://github.com/sponsors/cnheider","https://patreon.com/cnheider","https://opencollective.com/cnheider","https://ko-fi.com/cnheider"],"categories":[],"sub_categories":[],"readme":"![neodroid](.github/images/header.png)\n\n# Droid\n\nDroid is a unity package that enables prototyping reinforcement learning environments within the [Unity](https://unity3d.com/) engine and communication to the [Neo](https://github.com/sintefneodroid/neo) counterpart of the [Neodroid](https://github.com/sintefneodroid) platform.\n\n---\n\n_[Neodroid](https://github.com/sintefneodroid) is developed with support from Research Council of Norway Grant #262900. ([https://www.forskningsradet.no/prosjektbanken/#/project/NFR/262900](https://www.forskningsradet.no/prosjektbanken/#/project/NFR/262900))_\n\n---\n\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      \u003ca href='https://travis-ci.org/sintefneodroid/droid'\u003e\n        \u003cimg src='https://travis-ci.org/sintefneodroid/droid.svg?branch=master' alt='Build Status' /\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003ca href='https://coveralls.io/github/sintefneodroid/droid?branch=master'\u003e\n        \u003cimg src='https://coveralls.io/repos/github/sintefneodroid/droid/badge.svg?branch=master' alt='Coverage Status' /\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003ca href='https://github.com/sintefneodroid/droid/issues'\u003e\n        \u003cimg src='https://img.shields.io/github/issues/sintefneodroid/droid.svg?style=flat' alt='GitHub Issues' /\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003ca href='https://github.com/sintefneodroid/droid/network'\u003e\n        \u003cimg src='https://img.shields.io/github/forks/sintefneodroid/droid.svg?style=flat' alt='GitHub Forks' /\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n      \u003ctd\u003e\n      \u003ca href='https://github.com/sintefneodroid/droid/stargazers'\u003e\n        \u003cimg src='https://img.shields.io/github/stars/sintefneodroid/droid.svg?style=flat' alt='GitHub Stars' /\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n      \u003ctd\u003e\n      \u003ca href='https://github.com/sintefneodroid/droid/blob/master/LICENSE.md'\u003e\n        \u003cimg src='https://img.shields.io/github/license/sintefneodroid/droid.svg?style=flat' alt='GitHub License' /\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003cp align=\"center\" width=\"100%\"\u003e\n  \u003ca href=\"https://unity3d.com/\"\u003e\n    \u003cimg alt=\"unity\" src=\".github/images/unity.svg\" height=\"40\" align=\"left\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://docs.microsoft.com/en-us/dotnet/csharp/index\"\u003e\n    \u003cimg alt=\"csharp\" src=\".github/images/csharp.svg\" height=\"40\" align=\"center\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/zeromq/netmq\"\u003e\n    \u003cimg alt=\"netmq\" src=\".github/images/netmq.svg\" height=\"40\" align=\"right\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\" width=\"100%\"\u003e\n  \u003ca href=\"https://github.com/google/flatbuffers\"\u003e\n    \u003cimg alt=\"flatbuffers\" src=\".github/images/flatbuffers.svg\" height=\"40\" align=\"center\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\nThis project has similarities with Unity's own project [Unity Machine Learning Agents](https://github.com/Unity-Technologies/ml-agents). Most of the efforts done in this project were made prior to their announcement, [Introducing: Unity Machine Learning Agents](https://blogs.unity3d.com/2017/09/19/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](https://github.com/Unity-Technologies/ml-agents) project instead.\n\nThe 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.\n\n## Notable Features\n\n- In-editor simulations for ease of debugging\n- Connect multiple external agents (i.e. multiple client computers)\n- Blazing fast serialisation \u003c!-- (see [benchmark](.github/BENCHMARK.MD)) --\u003e\n- Modular unity style component construction of scenes (enables rapid prototyping of complex\nenvironments and ease of integration with existing projects)\n- Support reverse curriculum generation inherently\n(Ability to reinitialise any previous seen state or configure new ones)\n\n## Usage\n\n- Edit your Unity projects \"Packages/manifest.json\" to include the string \n  `\"com.neodroid.droid\": \"https://github.com/sintefneodroid/droid.git\"}`.\n  \n  Example `manifest.json`\n  ````\n  {\n    \"dependencies\": {\n      \"com.unity.package-manager-ui\": \"0.0.0-builtin\",\n      ...\n      \"com.neodroid.droid\": \"https://github.com/sintefneodroid/droid.git\",\n    }\n  }\n  ````\n  You can use `\"com.neodroid.droid\": \"https://github.com/sintefneodroid/droid.git#branch\"` for a specific branch.\n\n***Or***\n\n- Download the newest Droid.unitypackage from [releases](https://github.com/sintefneodroid/droid/releases) and import into your Unity project.\n\n***Or***\n\n- Acquire the [Droid (Temporarily down)](http://u3d.as/14cC) package from the built-in asset store of the Unity Editor.\n\n## Demo\n\u003c!--![droid](.github/images/neodroid.png)\n![lunarlander](.github/images/lunarlander.png)\n--\u003e\n![manipulator](.github/images/animated.gif)\n\n### Videoes\n[![Manipulator](https://img.youtube.com/vi/niYacuKt8cs/0.jpg)](https://www.youtube.com/watch?v=niYacuKt8cs)\n[![Drone](https://img.youtube.com/vi/PVc5T_YIHdk/0.jpg)](https://www.youtube.com/watch?v=PVc5T_YIHdk)\n[![Drone2](https://img.youtube.com/vi/c6IDgzMhGNk/0.jpg)](https://www.youtube.com/watch?v=c6IDgzMhGNk)\n[![Domain Randomization](https://img.youtube.com/vi/d13xndC4BAk/0.jpg)](https://www.youtube.com/watch?v=d13xndC4BAk)\n\n## Repository Structure\n---\n\u003c!--        ├  └  ─  │        --\u003e\n    sintefneodroid/droid         # This repository\n    │\n    ├── Samples                  # Prebuilt Neodroid environments\n    │   └── MultiArmedBandit     # Sample Project\n    │\n    ├── Editor                   # Editor Implementation\n    │   ├── GameObjects\n    │   ├── ScriptableObjects\n    │   ├── Windows\n    │   ├── Resources\n    │   └── Utilies\n    │\n    ├── Runtime                 # Runtime Implementation\n    │   ├── Prototyping         # All classes for quick prototyping of observations and actions\n    │   │   ├── Actors\n    │   │   ├── Evaluation\n    │   │   ├── Observers\n    │   │   ├── Displayers\n    │   │   ├── Configurables\n    │   │   └── Motors\n    │   │\n    │   ├── Environments        # Classes for encapsulating all Neodroid environments\n    │   ├── Managers            # Classes for managing the simulation of Neodroid environments\n    │   └── Utilities           # Lots of helper functionalities\n    │\n    ├── Documentation           # Unity Package Documentation\n    │\n    ├── Gizmos                  # Icons\n    │\n    ├── Tests                   # Tests\n    │\n    ├── .github                 # Images and such for this README\n    │\n    ├── LICENSE.md              # License file (Important but boring)\n    ├── README.md               # The top-level README\n    └── TUTORIAL.md             # Very quick tutorial to get started\n---\n\n# Citation\n\nFor citation you may use the following bibtex entry:\n````\n@misc{neodroid,\n  author = {Heider, Christian},\n  title = {Neodroid Platform},\n  year = {2018},\n  publisher = {GitHub},\n  journal = {GitHub repository},\n  howpublished = {\\url{https://github.com/sintefneodroid}},\n}\n````\n# Other Components Of The Neodroid Platform\n- [agent](https://github.com/sintefneodroid/agent)\n- [neo](https://github.com/sintefneodroid/neo)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsintefneodroid%2Fdroid","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsintefneodroid%2Fdroid","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsintefneodroid%2Fdroid/lists"}