UMPNet: Universal Manipulation Policy Network for Articulated Objects

Zhenjia Xu,
Zhanpeng He,
Shuran Song

Columbia University

Robotics and Automation Letters (RA-L) / ICRA 2022

Project Page | Video | arXiv

Overview

This repo contains the PyTorch implementation for paper “UMPNet: Universal Manipulation Policy Network for Articulated Objects”.

teaser

Content

Prerequisites

The code is built with Python 3.6. Libraries are listed in requirements.txt and can be installed with pip by:

pip install -r requirements.txt

Data Preparation

Prepare object URDF and pretrained model.

Download, unzip, and organize as follows:

/umpnet
    /mobility_dataset
    /pretrained
    ...

Testing

Test with GUI

There are also two modes of testing: exploration and manipulation.

# Open-ended state exploration
python test_gui.py --mode exploration --category CATEGORY

# Goal conditioned manipulation
python test_gui.py --mode manipulation --category CATEGORY

Here CATEGORY can be chosen from:

  • training categories]: Refrigerator, FoldingChair, Laptop, Stapler, TrashCan, Microwave, Toilet, Window, StorageFurniture, Switch, Kettle, Toy
  • [Testing categories]: Box, Phone, Dishwasher, Safe, Oven, WashingMachine, Table, KitchenPot, Bucket, Door

teaser

Quantitative Evaluation

There are also two modes of testing: exploration and manipulation.

# Open-ended state exploration
python test_quantitative.py --mode exploration

# Goal conditioned manipulation
python test_quantitative.py --mode manipulation

By default, it will run quantitative evaluation for each category. You can modify pool_list(L91) to run evaluation for a specific category.

Training

Hyper-parameters mentioned in paper are provided in default arguments.

python train.py --exp EXP_NAME

Then a directory will be created at exp/EXP_NAME, in which checkpoints, visualization, and replay buffer will be stored.

BibTeX

@article{xu2022umpnet,
  title={UMPNet: Universal manipulation policy network for articulated objects},
  author={Xu, Zhenjia and Zhanpeng, He and Song, Shuran},
  journal={IEEE Robotics and Automation Letters},
  year={2022},
  publisher={IEEE}
}

License

This repository is released under the MIT license. See LICENSE for additional details.

Acknowledgement