This repository is an implementation of the paper 'Robust object grasping in clutter via singulation' in PyBullet.
git clone [email protected]:mkiatos/dqn-singulation.git
cd dqn-singulation
virtualenv ./venv --python=python3
source ./venv/bin/activate
pip install -r requirements.txt
Install PytTorch 1.9.0
pip install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio==0.9.0 -f https://download.pytorch.org/whl/cu111/torch_stable.html
Download and install the core code used for tabletop manipulation tasks:
git clone [email protected]:robot-clutter/clutter_core.git
cd clutter_core
pip install -e .
cd ..
This demo runs our pre-trained model with a UR5 robot arm in simulation. The objective is to singulate the target object (red one) from its surrounding clutter.
python run.py --is_testing --test_trials 10 --episode_max_steps 10 --seed 100
To train the dqn agent from scratch in simulation run the following command:
python run.py --n_episodes 10000 --episode_max_steps 10 --save_every 100 --seed 0
To test your own trained model, simply change the location of --checkpoint:
python run.py --is_testing --checkpoint checkpoint --test_trials 100 --episode_max_steps 10 --seed 1
If you find this code useful in your work, please consider citing:
@inproceedings{kiatos2019robust,
title={Robust object grasping in clutter via singulation},
author={Marios, Kiatos and Sotiris, Malassiotis},
booktitle={2019 International Conference on Robotics and Automation (ICRA)},
pages={1596--1600},
year={2019},
organization={IEEE}
}