Skip to content

This repository contains a gym environment that can be used for developing solvers for robotic 3D bin packing problems.

License

Notifications You must be signed in to change notification settings

floriankagerer/bed-bpp-env

Repository files navigation

Banner_Image


BED-BPP: Benchmark Dataset for Robotic Bin Packing Problems

ℹ️ To take a look at the actual paper implementation, please use the branch paper-implementation.

Paper Accepted

I am happy to announce that our paper "BED-BPP: Benchmarking Dataset for Robotic Bin Packing" has been accepted for publication in the International Journal of Robotics Research (IJJR).

Whenever you use the dataset, please cite our publication:

Kagerer F, Beinhofer M, Stricker S, Nüchter A. BED-BPP: Benchmarking dataset for robotic bin packing problems. The International Journal of Robotics Research. 2023;42(11):1007-1014. doi:10.1177/02783649231193048
[BibTeX] [DOI]

Getting Started

Please find below the instructions on how to setup and use the code in this repository.

Preliminaries (Python and Blender)

To use all features and functions in this repository, make sure that you have installed Python and Blender on your system.

Blender. Download and install Blender 4.5 LTS. If script_evaluate_packing_plan.py does not find the location of Blender, add the Blender path to bed-bpp_env.conf.

Python. We manage our Python environments with Anaconda. The dependencies of this project are managed with Poetry.


Install (Requirements in virtual Python environment)
  1. Create and activate a virtual Python environment

    (a) Create a virtual environment with Anaconda by running

    (base) dev@nb:~$ conda create -n bed-bpp-env python=3.12

    (b) Activate the created environment with

    (base) dev@nb:~$ conda activate bed-bpp-env

    This should update your terminal to

    (bed-bpp-env) dev@nb:~$

    (c) Install the dependencies with

    (bed-bpp-env) dev@nb:~$ poetry install

Usage

Check whether the setup was successful by running

(bed-bpp-env) dev@nb:~$ python demo_gym_pal_env.py -v

After a few seconds you should see an image that is similar to the following

test_image

😀 Happy Coding 😀


Scripts

Here is an overview about the scripts in this repo.

demo_gym_palenv.py This script demonstrates the use of this repository and the palletizing environment.

script_evaluate_packing_plan.py This script evaluates packing plans and stores the results.

run_heuristic_O3DBP_3_2.py The script which we used to create the packing plan for the task Online 3D bin packing with preview `p=3` and selection `s=2`.

script_visualize_packing_plan.py This script visualizes a packing plan, which is given as dict with order ids as key and a list of actions as values, and finally creates a video of the palletization for each order.

run_your_solver.py This script can be used for your solver.

Participation

We encourage you to develop solvers for the three-dimensional bin packing problem and submit your results to the leaderboard.

For details, visit https://floriankagerer.github.io/dataset and https://floriankagerer.github.io/leaderboard.

Leaderboardr_Image

Till now, we integrated the following solvers in this repo and used BED-BPP as benchmark:

About

This repository contains a gym environment that can be used for developing solvers for robotic 3D bin packing problems.

Topics

Resources

License

Stars

Watchers

Forks

Languages