This is a python implementation of our paper "Logic-LfD: Logic Learning from Demonstrations for Multi-step Manipulation Tasks in Dynamic Environments", published in IEEE RA-L 2024
- Clone the repo along with the submodules. It may take a while.
git clone [email protected]:ollieyzhang/Logic-LfD.git --recursive
- Install dependencies:
conda env create -f environment.yml sudo activate logic_lfd
- Build FastDownward, used by PDDLStream planner
## sudo apt install cmake g++ git make python3 cd pddlstream; ./downward/build.py
- Logic-LfD for block stacking
python -m experiments/logic_lfd_block_stacking_refine_init_generalize.py
- Reactive TAMP for block stacking
python -m experiments/reactive_tamp_block_stacking_refine.py
This repo aims to illustrate how LogicLfD accelerates TAMP solvers with one single demonstration. We simplified the planning domain defintion and streams to help the readers to understand our method. For full TAMP planning, one should modify the PDDL files correspondingly for their specific problems.
If this project helps your work, please consider citing our paper with
@article{zhang2024logic,
title={Logic Learning from Demonstrations for Multi-step Manipulation Tasks in Dynamic Environments},
author={Zhang, Yan and Xue, Teng and Razmjoo, Amirreza and Calinon, Sylvain},
journal={IEEE Robotics and Automation Letters},
year={2024},
volume={9},
number={8},
pages={7214-7221},
doi={10.1109/LRA.2024.3418276}
}
This package is developed based on the shared GitHub package kitchen-worlds as well as its dependencies.