TDDC17AICourse/lab4/part1/task1_pb1.pddl
2021-08-22 13:07:04 +02:00

89 lines
2.5 KiB
Text

;; TDDC17 - Lab 4
;; S.'s W. problem 1
;; Last modification: 2020-10-04
;; Problem description
;; The first problem has three rooms, connect by doors as discribed below:
;; -------------------------------------------------------------------------
;; | | | |
;; | | | |
;; | light switch 1 -|- light switch2 |- light switch3 |
;; | | | |
;; | --- | door2 |
;; | | | door1 shakey | |
;; | --- (wide) | |
;; | box | | |
;; | | door3 |
;; | | (wide) |
;; | r1 | r2 | r3 |
;; -------------------------------------------------------------------------
;; Shakey must find four small objects distributed in the three rooms and bring
;; them back to the first room. All lights are off initially. The box allowing
;; Shakey to turn on the lights is in the first room.
;; Our problem1 definition
(define (problem pb1)
(:domain shakey)
(:objects
;; Our three rooms
r1 - room
r2 - room
r3 - room
;; The box
box1 - object
;; The four small objects
small1 - object
small2 - object
small3 - object
small4 - object
;; The two Shakey's grippers
right - gripper
left - gripper
)
(:init
;; Init position
;; At the beginning, Shakey is in room 2.
(position r2)
;; Init connections (as discribed above).
(connected_wide r1 r2)
(connected_wide r2 r1)
(connected_wide r2 r3)
(connected_wide r3 r2)
(connected r1 r2)
(connected r2 r1)
(connected r2 r3)
(connected r3 r2)
;; Init object positions
(in box1 r1)
(is_big box1)
(in small1 r1)
(in small2 r2)
(in small3 r3)
(in small4 r3)
;; Init light (light nowhere)
;;(not (light r1))
;;(not (light r2))
;;(not (light r3))
;; Init gripper
(is_empty right)
(is_empty left)
)
;; The goal is to have all four objects in the room 1.
(:goal
(and (in small1 r1)
(in small2 r1)
(in small3 r1)
(in small4 r1))
)
)