Skip to main content

Library used to create lego builds

Project description

StarkLego

Introduction

You can use this python library to access different environments to interact with your RL agents. Written in Python 3.

Gym.Spaces Environments

These environments cater to the agents available in the stable_baselines RL library. These environments were an important part of the pilot of the project.

How to run

If you wish to run one of these environments, please feel free using the code below:

from StarkLego.environments.env_low_height import LegoEnv
from stable_baselines.common.policies import MlpPolicy
from stable_baselines.common.vec_env import DummyVecEnv
from stable_baselines import PPO2
import numpy as np


env = DummyVecEnv([lambda: LegoEnv(6, 14, 6, 12)])

model = PPO2(MlpPolicy, env, verbose=1)
obs = env.reset()
model.set_env(env)
model.learn(total_timesteps=75000)
obs = env.reset()

print("Done training")

for i in range(4):
    action, _states = model.predict(obs)
    obs, rewards, done, info = env.step(action)
    env.render()

List of Supported Environments

env_low_height

The goal is to minimize the height of the Lego build.

Space Data Type
action_space spaces.Box
observation_space spaces.Box

The only specifications than can be made are the dimensions of the LEGO World, and the number of pieces per build iteration.

Constructor:LegoEnv(maximum_dimension_x, maximum_dimension_y, maximum_dimension_z, number_of_lego_pieces)

This environment does not allow any customization for which lego pieces can be used.

Lego Pieces Supported:

  • 2X2 Brick

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

StarkLego-0.1.2.tar.gz (4.0 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page