Holodeck - High Fidelity Simulator for Reinforcement Learning and Robotics Research.

Oct. 15, 2018, 12:46 p.m. By: Kirti Bakshi

Holodeck

Here you are presented to the release the first public version of a high-fidelity simulator that has been built on the top of Unreal Engine 4 (UE4) called Holodeck, a python package that can be made use for research, classes or even fun!

What exactly is Holodeck?

Holodeck is a python package which provides its users with the ability to download pre-built worlds, and also interact with them through a simple, high-level interface. At present, the release comprises of a simple sphere robot, a UAV (quadcopter), an Android, and a navigation agent. It also comes with 6 diverse default worlds.

What Are Its Requirements?

Given below are the requirements for the version:

Windows and Linux:

  • Python 3.5 or higher

  • Pip3

  • At least 3gb storage

Linux:

  • OpenGL version 3 or higher

On what principles is Holodeck built in?

The python package has been primarily built for research in reinforcement learning and robotics, and is mainly built around the principles of simplicity, fidelity, customizability, and performance as mentioned below:

*Simplicity:

Holodeck makes the use of a simple gym-like interface for loading and interacting with environments. Not only is it made to be simple to use, but the users are also provided with custom docker containers in order to make it easy for them to run in a containerized environment.

* Fedelity:

The main goal of reinforcement learning is to train agents that in realistic environments can perform complicated tasks.

Holodeck has been built on the top of Unreal Engine so that the user can leverage high-fidelity virtual environments. In a Holodeck environment, each agent through a number of high-dimensional sensors can experience the world .

* Customizability:

The team knows that researchers want to experiment with agents in diverse environments, on a broad range of tasks. While it is hoped that their handmade worlds will be quite useful, the users are also provided with the options to adapt those environments as per their own needs. From python, a user can easily choose the time of day, the length of the day/night cycle, and even the weather.

Users can spawn in new agents, and Holodeck makes it easy to have control over multi-agent environments. And if the user doesn't like the initial setup, they can also teleport the agents around.

Not limiting itself here, the users can further design their own worlds and tasks directly in UE4, and import it into a Holodeck project. And then they simply drag in Holodeck content, build it, and install it and the user is ready to train in their own custom environments.

* Performance:

The team has made use of memory mapped files in order to reduce latency in communicating high-dimensional sensor data. This allows users to capture high quality images from games packaged in UE4 and manipulate them easily as Numpy arrays in python.

The worlds are fixed to run at 30fps, but some environments on some systems are capable at running up to 120fps, allowing the agents to experience up to 4 seconds in simulation for every second of real time. The users can also run multiple environments in parallel on one system.

To get started with Holodeck and For further information, refer to the links below:

Source And More Information: GitHub

Holodeck: Click Here

Holodeck:

Video Source: BYU PCCL