Skip to content

This project is aim to create a sandbox for reinforcement learning experiments on artificial creatures that will act in complex simulated environment

License

Notifications You must be signed in to change notification settings

SebastianMilosz/OpenFlatland

Repository files navigation

OpenFlatland

Build Status

Basic information


This project is aim to create a sandbox for reinforcement learning experiments on artificial creatures that will act in complex simulated environment.

screenshot


Basic Entity class relations design can be sawn on below diagram: BasicDependencyDiagram

Basic entity class hierarchy:

  • PhysicsBody - This class reprezent physicals of the entity, so it is connected with physical engine (Box2D library) that calculate interactions between objects.
  • EntityShell - This class contains all sub components that will be used as inputs/outputs for neuron engine like: Vision, Motion, Energy ect..
  • EntityGhost - This class add neuron engine into EntityShell and provide inputs and manage outputs from neural engine component
  • ArtificialNeuronEngine - Here should the real magic take place (it will be described in separate document)

Additional supporting classes:

  • EntityVision - This class is responsible for getting environment visual informations using raycast. It create vector of distance data within some defined angle.
  • EntityMotion - This class handle output data from NeuronEngine and translate those to linear and radius velocity it also calculate energy cost of actions.
  • EntityEnergy - This class handle energy calculations and energy gathering from environment
  • NeuronLayer - This is only interface data layer between entity and environment, we can add any number of inputs and outputs to the neuron engine

Basic layered design can be sawn on below diagram:


This project use codeframe library that provide additional meta layer to the code. We are able to control all objects within the application by its properties that are available automaticaly from gui interface:

CodeFrameGuiInterface

Dependencies


Building


  • cmake --version
  • mkdir build
  • cd build
  • cmake ..
  • make

About

This project is aim to create a sandbox for reinforcement learning experiments on artificial creatures that will act in complex simulated environment

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published