Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (define (domain waiting)
- (:requirements :adl )
- (:types
- waiter
- location
- plate
- customer
- ;; Fill in additional types here
- )
- (:constants
- ;; You should not need to add any additional constants
- Agent - waiter
- BUFF - location
- )
- (:predicates
- ;; Example:
- ;; (Contains ?x - object ?c - container)
- (HoldingPlate ?x - waiter ?p - plate)
- (Adjacent ?a - location ?b - location)
- (HasFood ?p - plate)
- (Served ?c - customer)
- (At ?o - object ?l - location)
- )
- ;;;; Action Template - Delete and fill in own actions ;;;;
- ;(:action dummy-action
- ; :parameters (?obj - object)
- ; :precondition (and
- ; (dummy-pred-1 ?obj)
- ; (dummy-pred-2 ?obj)
- ; )
- ; :effect (and
- ; (not (dummy-pred-1 ?obj))
- ; (dummy-pred-3 ?obj)
- ; )
- ;)
- (:action Pick-Up-Plate
- :parameters (?x - waiter ?p - plate ?l - location)
- :precondition (and
- (not (HoldingPlate ?x ?p))
- (At ?x ?l)
- (At ?p ?l)
- )
- :effect (and
- (HoldingPlate ?x ?p)
- (not(At ?p ?l))
- )
- )
- (:action Hand-Over-Plate
- :parameters (?x - waiter ?p - plate ?l - location ?c - customer)
- :precondition (and
- (HoldingPlate ?x ?p)
- (At ?x ?l)
- (At ?c ?l)
- (At ?p ?l)
- )
- :effect (and
- (not(HoldingPlate ?x ?p))
- (Served ?c)
- )
- )
- (:action Fill
- :parameters (?x - waiter ?p - plate)
- :precondition (and
- (HoldingPlate ?x ?p)
- (not(HasFood ?p))
- (At ?x BUFF)
- )
- :effect (and
- (HasFood ?p)
- )
- )
- (:action Move
- :parameters (?x - waiter ?from - location ?to - location)
- :precondition (and
- (At ?x ?from)
- (not (= ?from ?to))
- (Adjacent ?from ?to)
- )
- :effect (and
- (not (At ?x ?from))
- (At ?x ?to)
- )
- )
- )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement