diff --git a/scripts/bagel_oven_equidiff/domain.pddl b/scripts/bagel_oven_equidiff/domain.pddl index 271db3b5b4..07956f3878 100644 --- a/scripts/bagel_oven_equidiff/domain.pddl +++ b/scripts/bagel_oven_equidiff/domain.pddl @@ -1,59 +1,90 @@ (define (domain BagelOven) (:predicates - (NotHoldingBagel) + (NothingGrasped) + + (BagelGrasped) + (OvenGrasped) + (TrayGrasped) + (OvenClosed) (OvenOpen) + (TrayInsideOven) (TrayPulledOut) - (BagelGrasped) + (BagelOnTable) (BagelOnTray) ) +(:action GraspOven + :parameters () + :precondition (NothingGrasped) + :effect (and + (OvenGrasped) + (not (NothingGrasped)) + ) +) + (:action OpenOven :parameters () - :precondition (and (OvenClosed) (NotHoldingBagel)) + :precondition (and (OvenClosed) (OvenGrasped)) :effect (and (OvenOpen) (not (OvenClosed)) + (NothingGrasped) + (not (OvenGrasped)) ) ) (:action CloseOven :parameters () - :precondition (and (OvenOpen) (TrayInsideOven) (NotHoldingBagel)) + :precondition (and (OvenOpen) (TrayInsideOven) (OvenGrasped)) :effect (and (OvenClosed) (not (OvenOpen)) + (NothingGrasped) + (not (OvenGrasped)) + ) +) + +(:action GraspTray + :parameters () + :precondition (and (NothingGrasped) (OvenOpen)) + :effect (and + (TrayGrasped) + (not (NothingGrasped)) ) ) (:action PullOutTray :parameters () - :precondition (and (TrayInsideOven) (OvenOpen) (NotHoldingBagel)) + :precondition (and (TrayInsideOven) (TrayGrasped)) :effect (and (TrayPulledOut) (not (TrayInsideOven)) + (NothingGrasped) + (not (TrayGrasped)) ) ) (:action PushInTray :parameters () - :precondition (and (TrayPulledOut) (NotHoldingBagel)) + :precondition (and (TrayPulledOut) (TrayGrasped)) :effect (and (TrayInsideOven) (not (TrayPulledOut)) + (NothingGrasped) + (not (TrayGrasped)) ) ) -(:action PickBagelFromTable +(:action GraspBagel :parameters () - :precondition (and (BagelOnTable) (NotHoldingBagel)) + :precondition (and (BagelOnTable) (NothingGrasped)) :effect (and (BagelGrasped) - (not (BagelOnTable)) - (not (NotHoldingBagel)) + (not (NothingGrasped)) ) ) @@ -62,7 +93,7 @@ :precondition (and (BagelGrasped) (TrayPulledOut)) :effect (and (BagelOnTray) - (NotHoldingBagel) + (NothingGrasped) (not (BagelGrasped)) ) ) diff --git a/scripts/bagel_oven_equidiff/problem.pddl b/scripts/bagel_oven_equidiff/problem.pddl index 7d04955fc4..9456d5471b 100644 --- a/scripts/bagel_oven_equidiff/problem.pddl +++ b/scripts/bagel_oven_equidiff/problem.pddl @@ -6,12 +6,13 @@ (BagelOnTable) (TrayInsideOven) (OvenClosed) - (NotHoldingBagel) + (NothingGrasped) ) (:goal (and (TrayInsideOven) (OvenClosed) (BagelOnTray) + (NothingGrasped) ) ) )