Skip to content

Latest commit

 

History

History
63 lines (41 loc) · 3.65 KB

README.md

File metadata and controls

63 lines (41 loc) · 3.65 KB

Tabletop Object Rearrangement with Lazy Buffer Allocation (TRLB)

scenarios6

Repository Overview

This GitHub repository contains source codes for our ICRA 2022 work TRLB and its follow-up work in IROS 2023. Each branch is dedicated to a particular paper.

  1. main: This branch contains the source codes related to Fast High-Quality Tabletop Rearrangement in Bounded Workspace, which is published in ICRA 2022.
  2. heteTORO: This branch contains the source codes related to Effectively Rearranging Heterogeneous Objects on Cluttered Tabletops, which is published in IROS 2023.

Setup Instruction

  1. It is recommended to use a virtual environment with Python 3 for this project, e.g., conda create -n TRLB python=3.6.9.
  2. Make sure you are in your virtual environment.
  3. Run pip install -e . to install the TRLB package and dependencies.

Cylindrical Instances

We show a cylindrical instance where the discs with solid boundaries represent the start arrangement and the discs with dashed boundaries represent the goal arrangement.

cylindrical_example

For cylindrical objects, we present various component options for TRLB, including:

  1. Primitive plan computation: running buffer minimization (RBM), total buffer minimization (TBM), random order (RO);
  2. Buffer generation methods: optimization (OPT), sampling (SP);
  3. High level planners: one-shot (OS), forward search tree (ST), bidirectional search tree (BST);
  4. With or without preprocessing (PP).

We show a demo in TRLB/disk_experiments/run_experiments.py Please note that the optimization for buffer generation is supported by Gurobi. If you do not have a Gurobi license or do not want to apply for a Gurobi license, please always set buffer_generation='SP' in run_experiments.py.

Run

To run the demo, just execute TRLB/disk_experiments/run_experiments.py with python. For example, in the root folder of the project run the following command in the terminal. python ./disk_experiments/run_experiments.py

Cuboid Instances

We show a cuboid instance where the rectangles with solid boundaries represent the start arrangement and the rectangles with dashed boundaries represent the goal arrangement.

cuboid_example

For cuboid instances, we currently only support RBM-SP-BST, using the primitive plans that minimize running buffer size, performing buffer allocation by sampling, maintaining a bidirectional search tree, and doing so without preprocessing. a demo is shown in TRLB/stick_experiments/run_experiments.py.

Run

To run the demo, just execute TRLB/stick_experiments/run_experiments.py with python. For example, in the root folder of the project run the following command in the terminal. python ./stick_experiments/run_experiments.py

Hardware Demonstration

TRLB is proven to be efficient on our hardware platform in various scenarios.

Comparitive Study: Cylindrical Objects

disc_comparison_long_cut.mp4

Comparitive Study: Cuboid Objects

cuboid_comparison_long_cut.mp4