Skip to content

Latest commit

 

History

History
62 lines (43 loc) · 1.55 KB

README.md

File metadata and controls

62 lines (43 loc) · 1.55 KB

Python PushWorld

Prerequisites:

  • Python >= v3.10 must be installed.
  • Python3-venv must be installed.

To configure and install all dependencies, run the setup script from this directory:

./setup.sh

This script creates a virtual Python environment in a venv directory. To run Python scripts and tests within this package, the virtual environment must be activated:

source venv/bin/activate

To run all unit tests:

pytest test

Some functions depend on Fast Downward. Once installed, you may need to update the FAST_DOWNWARD_PATH in src/pushworld/config.py.

The RGD benchmarking functions require building the RGD planner in the ../cpp directory of this repository. For build instructions, see ../cpp/README.md.

Scripts

The scripts directory contains a variety of executable scripts, each of which can be run with the --help option to display usage instructions.

To render images of all benchmark puzzles:

./scripts/render_puzzle_previews.py --image_path=puzzle_images

To render videos of the solutions to all puzzles, install ffmpeg and run:

./scripts/render_plans.py --planning_results_path=../benchmark/solutions --video_path=puzzle_solutions

To convert all puzzles to PDDL:

./scripts/convert_to_pddl.py --pddl_path=pddl_puzzles

To generate level 0 puzzles (use --help flag for puzzle options):

./scripts/generate_level0_puzzles.py --save_location_path=training_puzzles --num_puzzles=100