Huy Ha,
Jingxi Xu,
Shuran Song,
Columbia University, New York, NY, United States
CoRL 2020
Project Page | Video | Arxiv
Visualizations created using PyBullet-Blender recorder
Python 3.7 dependencies:
- PyTorch 1.6.0
- pybullet
- numpy
- numpy-quaternion
- ray
- tensorboardX
We've prepared a conda YAML file which contains all the necessary dependencies. To use it, run
conda env create -f environment.yml
conda activate multiarm
In the repo's root, download the pretrained weights and evaluation benchmark
wget -qO- https://multiarm.cs.columbia.edu/downloads/checkpoints/ours.tar.xz | tar xvfJ -
wget -qO- https://multiarm.cs.columbia.edu/downloads/data/benchmark.tar.xz | tar xvfJ -
Then evaluate the pretrained weights on the benchmark in static mode with
python main.py --mode benchmark --tasks_path benchmark/ --load ours/ours.pth --num_processes 1 --gui
You can remove --gui
to run headless, and use more CPU cores with --num_processes 16
.
To summarize the benchmark results
python summary.py ours/benchmark_score.pkl
To evaluate the pretrained weights on the benchmark in dynamic mode, run
python benchmark_dynamic.py --mode benchmark --tasks_path benchmark/ --load ours/ours.pth --num_processes 1 --gui
In the repo's root, download the training tasks and expert demonstration dataset
wget -qO- https://multiarm.cs.columbia.edu/downloads/data/tasks.tar.xz | tar xvfJ -
wget -qO- https://multiarm.cs.columbia.edu/downloads/data/expert.tar.xz | tar xvfJ -
Then train a decentralized multi-arm motion planner from scratch with
mkdir runs
python main.py --config configs/default.json --tasks_path tasks/ --expert_waypoints expert/ --num_processes 16 --name multiarm_motion_planner
See demo/README.md for instructions.
@inproceedings{ha2020multiarm,
title={Learning a Decentralized Multi-arm Motion Planner},
author={Ha, Huy and Xu, Jingxi and Song, Shuran},
booktitle={Conference on Robotic Learning (CoRL)},
year={2020}
}