Skip to content

HumanoidsBonn/cluttered-pushing

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cluttered Pushing

This repository contains the accompanying code for the paper Learning Goal-Oriented Non-Prehensile Pushing in Cluttered Scenes by N. Dengler, D. Großklaus and M. Bennewitz submitted for IROS, 2022. you can find the paper at http://arxiv.org/abs/2203.02389

Setup

Step 1: Clone the repository

cd 
git clone https://github.com/NilsDengler/cluttered-pushing.git

Step 2: Create a virtual environment

cd cluttered-pushing
conda env create -f environment.yml -n <env_name>

conda activate <env_name>

Step 3: Install the package

Dependencies:

cd cluttered-pushing/push_gym/push_gym/utils/Lazy_Theta_with_optimization_any_angle_pathfinding

mkdir build && cd build

cmake ..

make

Package:

cd cluttered-pushing/push_gym

pip install -e .

Usage

Change directory to cluttered-pushing/Networks/RL/scripts

cd cluttered-pushing/RL

Training

  • To train an RL-agent, customize the parameters given in scripts/parametes.yaml.

  • Set the train: True in scripts/parametes.yaml.

  • Check or change the network's hyperparameter in scripts/train_agent_script.

  • A VAE model is required for training, please refere to VAE Readme to train a VAE model or download already trained models.

  • To start training:

    python run_agent.py

Testing

  • To evaluate a trained agent, set train: False in scripts/parametes.yaml.
  • per default the testing uses log_dir_name: "../Logs/example_agent/model_test/" as specified in scripts/parametes.yaml. Please note, that this is an example agent and not the agent used to reproduce the results of the paper.
  • Testing:
    python scripts/run_agent.py

Baseline

  • To run the Baseline by Krivic and Piater, set train: False and test_baseline: True in scripts/parametes.yaml.
  • Testing:
    python scripts/run_agent.py

For more information, please refer the README in cluttered-pushing/RL.

About

This is a work in progress repositiory for pushing an object in a cluttered environment

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 83.2%
  • C++ 16.3%
  • CMake 0.5%