Skip to content

arc-l/TRLB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages