Skip to content

Commit

Permalink
Merge branch 'master' into develop
Browse files Browse the repository at this point in the history
  • Loading branch information
jaydenmilne committed Apr 2, 2020
2 parents 49ed501 + 45aaaa3 commit 2eda757
Show file tree
Hide file tree
Showing 10 changed files with 124 additions and 32 deletions.
20 changes: 9 additions & 11 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,16 @@ A clear and concise description of what the bug is.

**To Reproduce**
Please provide sample code to reproduce the bug.

```python
import holodeck
```
**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Logs**
```
Please include the client side output and the Engine debug log.
```
**Version Information:**
- OS: [e.g. iOS]
- Version [e.g. 22]
- Holodeck Version
- World/Scenario version

**Additional context**
Add any other context about the problem here.
- Platform / Version [e.g. Ubuntu 18.04 or Windows 10 1903]
- Holodeck Version (output of `holodeck.util.get_holodeck_version()`)
11 changes: 11 additions & 0 deletions .github/ISSUE_TEMPLATE/question.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
name: Question or Support
about: Ask a question or get help
title: ''
labels:
assignees: ''

---
# Please do not open issues for questions! Join our Discord and ask away!

Invite Link: https://discord.gg/Xqqksje
7 changes: 5 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ Holodeck is a high-fidelity simulator for reinforcement learning built on top of
- High performance - simulation speeds of up to 2x real time are possible. Performance penalty only for what you need
- Run headless or watch your agents learn

### Questions? [Join our Discord!](https://discord.gg/Xqqksje)

## Installation
`pip install holodeck`

Expand All @@ -34,9 +36,10 @@ See [Installation](https://holodeck.readthedocs.io/en/latest/usage/installation.
## Usage Overview
Holodeck's interface is similar to [OpenAI's Gym](https://gym.openai.com/).

We try and provide a "batteries included" approach to minimize the configuration you have to do.
We try and provide a batteries included approach to let you jump right into using Holodeck, with minimal
fiddling required.

Here is a quick example using the `DefaultWorlds` package:
To demonstrate, here is a quick example using the `DefaultWorlds` package:

```python
import holodeck
Expand Down
2 changes: 1 addition & 1 deletion docs/changelog/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ Bug Fixes

Holodeck 0.3.0
--------------
*08/30/2019*
*11/02/2019*

This is a content release focused on improving the :ref:`android-agent` and
adding more scenarios and tasks for it. We also added a new floating hand
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
AndroidPlaytime-PlayRoom
========================

This scenario has an android agent spawn in the AndroidPlaytime room. There is
no reward or objective, the goal of this task is to encourage play.

Agents
------

- ``android0``: Main :ref:`Android <android-agent>` agent

.. TODO: Add link to config file
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
21 changes: 21 additions & 0 deletions docs/packages/Dexterity/AndroidPlaytime/android-playtime.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
AndroidPlaytime
===============

.. image:: android-playtime.png

This is a small playroom with small, movable toys and windows.

Layout
------

.. image:: android-playtime-top.png
:scale: 50%


.. toctree::
:maxdepth: 1
:caption: Scenarios
:glob:

AndroidPlaytime-*

7 changes: 3 additions & 4 deletions docs/packages/Dexterity/Dexterity.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
.. _`dexterity-package`:

Dexterity Package
=================
Dexterity package
=====================

.. toctree::
:maxdepth: 3
Expand All @@ -10,3 +8,4 @@ Dexterity Package
CupGame/cup-game.rst
CleanUp/clean-up.rst
Grip/grip.rst
AndroidPlaytime/android-playtime.rst
76 changes: 62 additions & 14 deletions example.py
Original file line number Diff line number Diff line change
Expand Up @@ -141,12 +141,41 @@ def world_command_examples():

def editor_example():
"""This editor example shows how to interact with holodeck worlds while they are being built
in the Unreal Engine. Most people that use holodeck will not need this.
in the Unreal Engine Editor. Most people that use holodeck will not need this.
This example uses a custom scenario, see
https://holodeck.readthedocs.io/en/latest/usage/examples/custom-scenarios.html
Note: When launching Holodeck from the editor, press the down arrow next to "Play" and select
"Standalone Game", otherwise the editor will lock up when the client stops ticking it.
"""
agent_sensors = [sensors.RGBCamera, sensors.LocationSensor, sensors.VelocitySensor]
agent = AgentDefinition("uav0", agents.UavAgent, agent_sensors)
env = HolodeckEnvironment([agent], start_world=False)
env.agents["uav0"].set_control_scheme(1)

config = {
"name": "test",
"world": "TestWorld",
"main_agent": "uav0",
"agents": [
{
"agent_name": "uav0",
"agent_type": "UavAgent",
"sensors": [
{
"sensor_type": "LocationSensor",
},
{
"sensor_type": "VelocitySensor"
},
{
"sensor_type": "RGBCamera"
}
],
"control_scheme": 1,
"location": [0, 0, 1]
}
]
}

env = HolodeckEnvironment(scenario=config, start_world=False)
command = [0, 0, 10, 50]

for i in range(10):
Expand All @@ -158,12 +187,35 @@ def editor_example():
def editor_multi_agent_example():
"""This editor example shows how to interact with holodeck worlds that have multiple agents.
This is specifically for when working with UE4 directly and not a prebuilt binary.
Note: When launching Holodeck from the editor, press the down arrow next to "Play" and select
"Standalone Game", otherwise the editor will lock up when the client stops ticking it.
"""
agent_definitions = [
AgentDefinition("uav0", agents.UavAgent, [sensors.RGBCamera, sensors.LocationSensor]),
AgentDefinition("uav1", agents.UavAgent, [sensors.LocationSensor, sensors.VelocitySensor])
]
env = HolodeckEnvironment(agent_definitions, start_world=False)
config = {
"name": "test_handagent",
"world": "TestWorld",
"main_agent": "hand0",
"agents": [
{
"agent_name": "uav0",
"agent_type": "UavAgent",
"sensors": [
],
"control_scheme": 1,
"location": [0, 0, 1]
},
{
"agent_name": "uav1",
"agent_type": "UavAgent",
"sensors": [
],
"control_scheme": 1,
"location": [0, 0, 5]
}
]
}

env = HolodeckEnvironment(scenario=config, start_world=False)

cmd0 = np.array([0, 0, -2, 10])
cmd1 = np.array([0, 0, 5, 10])
Expand All @@ -175,7 +227,3 @@ def editor_multi_agent_example():
for _ in range(1000):
states = env.tick()


if __name__ == "__main__":

uav_example()

0 comments on commit 2eda757

Please sign in to comment.