Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add PDDL grid problem files #17

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 48 additions & 0 deletions AnimationProfiles/pddl_grid_problems/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# PDDL Grid Problems

Exploring the representation and visualisation of grid-based puzzles in [PDDL](https://en.wikipedia.org/wiki/Planning_Domain_Definition_Language) and [Planimation](https://planimation.planning.domains/). A project for [COMP30022](https://handbook.unimelb.edu.au/2023/subjects/comp30022).

<img src="https://prideout.net/blog/group_theory/Bloxorz.gif" alt="drawing" height="200"/>
<img src="https://upload.wikimedia.org/wikipedia/commons/4/4b/Sokoban_ani.gif" alt="drawing" height="200"/>

## Examples

A number of specific games and puzzles modelled in PDDL and Planimation. Documentation on each game can be found in the readme for each example.

## Installation & Usage

We use [editor.planning.domains](http://editor.planning.domains/) as our PDDL editor. To try out an example, use the 'Editor Session' link in each example's documentation. Alternatively, download the code and upload the files to a new editor session of your own.

### Quick links:

- [Bloxorz](examples/bloxorz)
- [Lights Out](examples/lights-out)
- [Sokoban](examples/sokoban)
- [Traffic Rush](examples/traffic-rush)

## Helper Scripts

Tools to assist in creating PDDL grid problem representations. Documentation on each tool is found in the respective tool's directory.

# Contributing

Active contributors:
- Liam Anthian
- Reuben Cook
- Erich Huang
- Richele Maryanto
- Jakob Schuster

Contact us via the GitHub Discussions tab.

## Coding Standards

Practices we will generally follow:

- Hierarchically deeper code will be indented one tab (4 spaces) further in than its parent if spread across multiple lines.
- Opened code blocks that span across multiple lines will be closed with a lone bracket on its own line – this closing bracket at the same depth as the initial opening bracket.
- Predicate and action code will be indented such that all code in the following block is at the very least past this term.
- `:requirements` will be imported in the domain file below the main parent domain definition.
- Where possible, lines will be attempted to be kept at a suitable length - deemed 80 characters for now.
- We will keep predicates and actions defined in snake_case (chosen just for consistency) where possible. Some planimation features will require other specific formats (e.g. pos1_1) and these will be used strictly where necessary. It should also be noted that Planimation visual components are defined in camelCase and there isn't anything that can be done about this.
- Comments will be placed before each non-obvious action and large code block explaining the purpose and reasoning behind the changed predicates and states. Precondition justification should be present when logic not immediately clear.
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
(define (animation template)

; -------------------------------------------------------------------------;

(:predicate connected
:parameters (?p1 ?p2)
:effect (
(assign
(?p1 x y)
(function distribute_grid_around_point (objects ?p1))
)
:priority 0
)
)

(:predicate at
:parameters (?b ?p)
:effect (
(equal (?b x) (?p x))
(equal (?b y) (?p y))
:priority 0
)
)

; -------------------------------------------------------------------------;

(:visual mov
:type predefine
:objects %mov
:properties (
(prefabImage img-circle)
(showName FALSE)
(x Null)
(y Null)
(color #393E41)
(width 100)
(height 100)
)
)

(:visual pos
::type predefine
:objects %pos
:properties (
(prefabImage img-square)
(showName TRUE)
(x Null)
(y Null)
(color #F6F7EB)
(width 100)
(height 100)
)
)

(:visual tile
:type predefine
:objects %tile
:properties (
(prefabImage img-square)
(showName FALSE)
(x Null)
(y Null)
(color #E94F37)
(width 100)
(height 100)
)
)

; -------------------------------------------------------------------------;

(:image
(img-square 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)
(img-circle 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)
)
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
(define (domain grid)

(:requirements
:strips
:typing
)

(:types
entity pos - object
movable tile - entity
wall - tile
)

(:predicates
(connected ?p1 - pos ?p2 - pos)
(at ?x - entity ?p - pos)
)

(:action move
:parameters (?x - movable ?from - pos ?to - pos)
:precondition (
and
(at ?x ?from)
(connected ?from ?to)
(not (exists (?w - wall) (at ?w ?to)))
)
:effect (and (at ?x ?to) (not (at ?x ?from)))
)
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
(define (problem template1)
(:domain grid)
(:objects
pos1_1 pos1_2 pos1_3 pos2_1 pos2_2 pos2_3 pos3_1 pos3_2 pos3_3 - pos
mov_player - movable
tile_wall_1 tile_wall_2 - wall
)
(:init

(at mov_player pos2_1)
(at tile_wall_1 pos3_1)
(at tile_wall_2 pos2_2)


;; make sure these are constants or objects:
;; pos1_1 pos1_2 pos1_3 pos2_1 pos2_2 pos2_3 pos3_1 pos3_2 pos3_3

(connected pos1_1 pos2_1)
(connected pos1_1 pos1_2)
(connected pos1_2 pos2_2)
(connected pos1_2 pos1_3)
(connected pos1_2 pos1_1)
(connected pos1_3 pos2_3)
(connected pos1_3 pos1_2)
(connected pos2_1 pos3_1)
(connected pos2_1 pos2_2)
(connected pos2_1 pos1_1)
(connected pos2_2 pos3_2)
(connected pos2_2 pos2_3)
(connected pos2_2 pos1_2)
(connected pos2_2 pos2_1)
(connected pos2_3 pos3_3)
(connected pos2_3 pos1_3)
(connected pos2_3 pos2_2)
(connected pos3_1 pos3_2)
(connected pos3_1 pos2_1)
(connected pos3_2 pos3_3)
(connected pos3_2 pos2_2)
(connected pos3_2 pos3_1)
(connected pos3_3 pos2_3)
(connected pos3_3 pos3_2)


)
(:goal
(at mov_player pos3_2)
)
)
Loading