Skip to content

mangelini2/PPN-Pack

 
 

Repository files navigation

PPN-Pack: Placement Proposal Network for Efficient Robotic Bin Packing

This repository is for our paper 'PPN-Pack: Placement Proposal Network for Efficient Robotic Bin Packing' published in IEEE Robotics and Automation Letters (RA-L), 2024. In this work, we introduce PPN-Pack, a novel learning-based approach to improve the efficiency of packing general objects. Our method works together with a packing heuristic, and can more quickly locate the compact packing placements while achieving similar packing compactness as the upper-bound (SDF-Minimization).

Visual Comparison of SDF-Minimization and PPN-Pack in Packing 25 Objects

SDF-Minimization
(Avg 1.86 s/object)
PPN-Pack
(Avg 0.43 s/object)
SDF-Minimization
(Avg 1.86 s/object)
PPN-Pack
(Avg 0.43 s/object)
sdf_00.mp4
ppn_00.mp4
sdf_01.mp4
ppn_01.mp4

Our key idea is to learn to predict good placement locations for compact object packing to prune the search space and reduce packing computation. Specifically, we formulate the learning of placement proposals as a ranking task and construct a ranking loss based on the Hinge loss to rank the potentially compact placements. To enhance the placement learning, we further design a multi-resolution cross-correlation module to learn the placement compactness between the container and objects. The framework of our method is shown below.


Installation

  • Environmental Setup
    conda env create -f environment.yml
    conda activate sdf_pack
    

Packing Evaluation

  • Download the Object Models

Following SDF-Pack, we performed experiments on 96 types of objects collected from the YCB dataset and the Rutgers APC RGB-D dataset. Please download the object models and extract to form ./autostore.

The evaluation is performed on 2000 novel sequences.

  • Download PPN-Net's Checkpoint

Please download the trained_model and extract the files to form the folder './trained_checkpoints'

  • Sequential Packing Evaluation

The code will perform sequential packing, loading the objects in each testing sequence one by one. Physical simulation is performed after each packing step until the object is stabilised.

Running without visualization would make it faster to go through all packing cases. For this setting, please use the command:

python demos_network.py

Otherwise, if you want to visualize the results, you run with

python demos_network.py --disp=True

In addition, if you want to disable our PPN-Net and test the computation speed of conventional heuristics, you could try

python demos_network.py --disp=True --accelerate=plain

Todo List

  • Object CAD models
  • Physical Simulator
  • Model checkpoints
  • Training codes

Citation

@article{pan2024ppn,
  title={PPN-Pack: Placement Proposal Network for Efficient Robotic Bin Packing},
  author={Pan, Jia-Hui and Gao, Xiaojie and Hui, Ka-Hei and Zhu, Shize and Liu, Yun-Hui and Heng, Pheng-Ann and Fu, Chi-Wing},
  journal={IEEE Robotics and Automation Letters},
  year={2024},
  publisher={IEEE}
}

Acknowledgments

In this project, we use (parts of) the official implementations of the following works:

We thank the respective authors for their great work!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 100.0%