Giter Club home page Giter Club logo

chernyakkonstantin / godot_gym_api Goto Github PK

View Code? Open in Web Editor NEW
27.0 2.0 1.0 6.2 MB

Godot Gym API is an Open Source framework for using Godot3 game engine as 3d-environment for training reinforcement learning agents implemented in Python on any data, including images and point clouds.

License: BSD 3-Clause "New" or "Revised" License

GDScript 93.88% Python 6.12%
godot reinforcement-learning game-development robotics simulation openai-gym godot-engine machine-learning ray self-driving

godot_gym_api's People

Contributors

chernyakkonstantin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

alinzh

godot_gym_api's Issues

In Godot, make data processing efficient

Consider default repeat_action = 4.

My robot uses Lidar sensor with maximum data volume of 1080 points per repeat. In total I have 4320 points. The rest data is small enough to not consider them.

One environment step takes 0.14s, out of which ~0.06s is spent on filling protobuf message (Lidar data only) and 0.05s is spent on serialization of entire protobuf message.

It is required to test, whether the following algorithm is faster:

  1. Make message to contain data per one repeat.
  2. Fill, serialize, and send data in separate threads at each repeat.
  3. In python, accumulate data over repeats to form data per step.

The expected improvement upper bound is that repeat_action times faster than current implementation.

Multi-agent support

Need to implement multi-agent support (e.g. two agents play hide-and-seek in the same arena).

Shared memory support

Need for solution that works on Windows, MacOS, Linux.

User should be capable to select between TCP / Shared Data (e.g. to run a Godot application on a remote machine).

Vectorized environments

Need to implement running several same environments in parallel.

First, prove hypothesis that running multiple Godot applications consume more resources than running single application with multiple scenes.

This will allow to gather more samples per second.

Ecosystem

Need to create plugins to easier implementing different tasks.

E.g. set of sensors to use as observations for a self-driving car.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.