Skip to main content

Minimalistic 3D blocksworld environment simulator for reinforcement learning & robotics research.

Project description

An Extension of MiniWorld

blocksworld3d is an enhancement on top of the MiniWorld environment, specifically focusing on the RoomObjects scenario. It's an open-source research project aimed at advancing the development of spatial reasoning and manipulation strategies in robotic systems.

Blocksworld3D

blocksworld3d proposes a unique 3D environment that simulates the classic blocksworld problem except with an additional row of blocks. With various problem instances introducing different constraints on block positioning, start points, goals, and obstacles, this dynamic aspect fosters the exploration of spatial strategies in diverse settings.

The environment is minimalistic and designed for reinforcement learning & robotics research. It's compatible with the MiniWorld API, providing a seamless integration with existing toolsets.

Installation

Install from PyPi using:

pip install blocksworld3d

Or install from the source using:

git clone https://github.com/ethanmclark1/blocksworld3d.git
cd blocksworld3d
pip install -r requirements.txt
pip install -e .

Usage

import blocksworld3d

env = blocksworld3d.env()
env.reset(options={'problem_instance': 'stacking'}))
observation, _, terminations, truncations, _ = env.last()
env.step(action)
env.close()

List of Problem Instances

Problem Instance Visualization
stacking stacking
sorting sorting
arranging arranging
... ...

Note : Customize the table above with the specific problem instances and visualization images relevant to your project.

Contributing

We welcome contributions to blocksworld3d! Whether it's bug reports, feature requests, or pull requests, your collaboration helps make blocksworld3d better.

Support

If you have questions or need support, please contact us at eclark715@gmail.com, or create an issue in the GitHub repository.

License

blocksworld3d is open-source software licensed under the MIT license.

Paper Citation

If you found this environment helpful, consider citing relevant papers. Here's an example citation for the original MiniWorld environment:

@article{MinigridMiniworld23,
  author={Maxime Chevalier-Boisvert and Bolun Dai and Mark Towers and Rodrigo de Lazcano and Lucas Willems and Salem Lahlou and Suman Pal and Pablo Samuel Castro and Jordan Terry},
  title={Minigrid & Miniworld: Modular & Customizable Reinforcement Learning Environments for Goal-Oriented Tasks},
  journal={CoRR},
  volume={abs/2306.13831}
  year={2023}
}

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

blocksworld3d-0.2.3.tar.gz (2.2 MB view details)

Uploaded Source

Built Distribution

blocksworld3d-0.2.3-py3-none-any.whl (2.2 MB view details)

Uploaded Python 3

File details

Details for the file blocksworld3d-0.2.3.tar.gz.

File metadata

  • Download URL: blocksworld3d-0.2.3.tar.gz
  • Upload date:
  • Size: 2.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.16

File hashes

Hashes for blocksworld3d-0.2.3.tar.gz
Algorithm Hash digest
SHA256 da02a5b36f68390dfb5a2361c7e04b9e7a6e1e646da33e80e65ecd94b84a868d
MD5 3507bcd70d2e7266e05c5cdff7f2a970
BLAKE2b-256 72070b73992967b605933865c54dc0d324bcf08781703589121575d9ca3fd673

See more details on using hashes here.

File details

Details for the file blocksworld3d-0.2.3-py3-none-any.whl.

File metadata

File hashes

Hashes for blocksworld3d-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 7cea7cd355504d1d9a1cca51a38a23f58fdeb8fff12adf94f10bbf0d75c825a2
MD5 24670e0b83adbf1ffae81f7da36ceae5
BLAKE2b-256 1662b639a7da652f7f68d224b61f3f394c52423d785a948742da19a0328dfba0

See more details on using hashes here.

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