Commit d75a4a4f authored by Antonio Andriella's avatar Antonio Andriella
Browse files

commit problem and domain definition

parent 513cff3b
......@@ -2,18 +2,12 @@
(:requirements :strips)
(:requirements :typing)
(:requirements :equality)
(:requirements :fluents)
(:requirements :conditional-effects)
(:types p1 - pawn
p2 - pawn
user - agent
robot - agent
)
(:predicates (at ?x ?y)
(:predicates
(at ?x ?y)
(free ?x)
(carry ?x ?y ?z)
(disability ?x ?y)
(piece ?x)
(location ?x)
(gripper ?x)
......@@ -25,7 +19,6 @@
(userMove_1 ?x ?z)
(userMove_2 ?x ?z)
(userMove_3 ?x ?z)
(userMove_4 ?x ?z)
(allowedMove ?x ?y)
(suggestedMove ?x ?z)
......@@ -33,13 +26,11 @@
(demonstrateMove ?x ?z)
;;For Gesture Engagement
(gestureEngagement)
(gestureEngagement_1)
(gestureEngagement_2)
(gestureEngagement_3)
;;For Demonstration Engagement
(demonstrationEngagement)
(checkMove_1)
......@@ -51,12 +42,10 @@
(verbalEngagement_1)
(verbalEngagement_2)
(verbalEngagement_3)
(verbalEngagement_4)
(releasedPawn)
(releasedBlock)
(encourageUser)
(sendTricks)
(suggestSubset)
(suggestAnswer)
(performDemonstration)
......@@ -104,36 +93,34 @@
)
(:action attempt_grab_lev_1
:parameters( ?agent ?gripper ?pawn ?from ?to)
:precondition(and (not(gestureEngagement)) (waitForUserMove_1) (not(demonstrationEngagement)) (not(encourageUser)) (verbalEngagement) (at ?pawn ?from) (userMove_1 ?pawn ?to) (piece ?pawn) (agent ?agent) (location ?to) (location ?from) (not(free_loc ?from)) (gripper ?gripper) (not(catch ?pawn ?from ?to)))
:effect (and (not(free ?gripper)) (at ?pawn ?from) (catch ?pawn ?from ?to) (verbalEngagement_1))
:parameters( ?agent ?gripper ?block ?from ?to)
:precondition(and (not(gestureEngagement)) (waitForUserMove_1) (not(demonstrationEngagement)) (not(encourageUser)) (verbalEngagement) (at ?block ?from) (userMove_1 ?block ?to) (piece ?block) (agent ?agent) (location ?to) (location ?from) (not(free_loc ?from)) (gripper ?gripper) (not(catch ?block ?from ?to)))
:effect (and (not(free ?gripper)) (at ?block ?from) (catch ?block ?from ?to) (verbalEngagement_1))
)
(:action attempt_move_lev_1
:parameters( ?agent ?gripper ?pawn ?from ?to)
:precondition(and (verbalEngagement_1) (location ?from) (location ?to) (free_loc ?to) (agent ?agent) (catch ?pawn ?from ?to) (userMove_1 ?pawn ?to))
:effect (and (not(checkMove_1)) (free_loc ?to) (not(at ?pawn ?from)) (carry ?agent ?gripper ?pawn))
:parameters( ?agent ?gripper ?block ?from ?to)
:precondition(and (verbalEngagement_1) (location ?from) (location ?to) (free_loc ?to) (agent ?agent) (catch ?block ?from ?to) (userMove_1 ?block ?to))
:effect (and (not(checkMove_1)) (free_loc ?to) (not(at ?block ?from)) (carry ?agent ?gripper ?block))
)
(:action check_user_move_allowed_1
:parameters( ?pawn ?from ?to)
:precondition(and(piece ?pawn) (location ?from) (location ?to) (not(checkMove_1)) (catch ?pawn ?from ?to) (userMove_1 ?pawn ?to) (allowedMove ?pawn ?to) )
:parameters( ?block ?from ?to)
:precondition(and(piece ?block) (location ?from) (location ?to) (not(checkMove_1)) (catch ?block ?from ?to) (userMove_1 ?block ?to) (allowedMove ?block ?to) )
:effect(and (firstAttempt) (rightMove_1) (not(waitForUserMove_1)) (checkMove_1))
)
(:action check_user_move_not_right_1
:parameters( ?pawn ?from ?to)
:precondition(and(piece ?pawn) (location ?from) (location ?to) (not(checkMove_1)) (catch ?pawn ?from ?to) (userMove_1 ?pawn ?to) (not(allowedMove ?pawn ?to) ) )
;:effect (and(not(rightMove_1)) (firstAttempt))
:effect(DEBUG)
:parameters( ?block ?from ?to)
:precondition(and(piece ?block) (location ?from) (location ?to) (not(checkMove_1)) (catch ?block ?from ?to) (userMove_1 ?block ?to) (not(allowedMove ?block ?to) ) )
:effect (and(not(rightMove_1)) (firstAttempt))
)
(:action release_lev_1_correct_position
:parameters( ?agent ?gripper ?pawn ?from ?to)
:precondition (and (piece ?pawn) (rightMove_1) (checkMove_1) (firstAttempt) (allowedMove ?pawn ?to) (not(waitForUserMove_1)) (not(secondAttempt)) (userMove_1 ?pawn ?to) (not(gestureEngagement)) (agent ?agent) (catch ?pawn ?from ?to) (location ?from) (free_loc ?to) (not(free ?gripper)) (gripper ?gripper) (location ?to) (not(at ?pawn ?to)) (carry ?agent ?gripper ?pawn))
;:effect(and (at ?pawn ?to) (free ?gripper) (not(select ?pawn ?to)) (not(free_loc ?to)) (not(catch ?pawn ?from ?to)) (not(carry ?agent ?gripper ?pawn)))
:effect (and (rightMove_1) (at ?pawn ?to) (releasedPawn))
:parameters( ?agent ?gripper ?block ?from ?to)
:precondition (and (piece ?block) (rightMove_1) (checkMove_1) (firstAttempt) (allowedMove ?block ?to) (not(waitForUserMove_1)) (not(secondAttempt)) (userMove_1 ?block ?to) (not(gestureEngagement)) (agent ?agent) (catch ?block ?from ?to) (location ?from) (free_loc ?to) (not(free ?gripper)) (gripper ?gripper) (location ?to) (not(at ?block ?to)) (carry ?agent ?gripper ?block))
:effect (and (rightMove_1) (at ?block ?to) (releasedBlock))
)
;;;///***********************************************SECOND ATTEMPT ************************************************************************/
......@@ -146,42 +133,41 @@
)
(:action suggest_subsets_user_only_lev_2
:parameters( ?pawn ?from ?to_1 ?to_2 ?to_3)
:precondition(and (not(suggestSubset)) (verbalEngagement_2) (not(waitForUserMove_2)) (not(= ?to_1 ?to_2)) (not(= ?to_1 ?to_3)) (not(= ?to_2 ?to_3)) (location ?to_2) (location ?to_3) (suggestedMove ?pawn ?to_1) (suggestedMove ?pawn ?to_2) (suggestedMove ?pawn ?to_3) (piece ?pawn))
:parameters( ?block ?from ?to_1 ?to_2 ?to_3)
:precondition(and (not(suggestSubset)) (verbalEngagement_2) (not(waitForUserMove_2)) (not(= ?to_1 ?to_2)) (not(= ?to_1 ?to_3)) (not(= ?to_2 ?to_3)) (location ?to_2) (location ?to_3) (suggestedMove ?block ?to_1) (suggestedMove ?block ?to_2) (suggestedMove ?block ?to_3) (piece ?block))
:effect(and (waitForUserMove_2) (verbalEngagement)(suggestSubset))
)
(:action attempt_grab_lev_2
:parameters( ?agent ?gripper ?pawn ?from ?to)
:precondition(and (not(gestureEngagement)) (waitForUserMove_2) (not(demonstrationEngagement_2)) (suggestSubset) (at ?pawn ?from) (userMove_2 ?pawn ?to) (piece ?pawn) (agent ?agent) (location ?to) (location ?from) (not(free_loc ?from)) (gripper ?gripper) (not(catch ?pawn ?from ?to)))
:effect (and (not(free ?gripper)) (at ?pawn ?from) (location ?to) (catch ?pawn ?from ?to) (verbalEngagement_2) )
:parameters( ?agent ?gripper ?block ?from ?to)
:precondition(and (not(gestureEngagement)) (waitForUserMove_2) (not(demonstrationEngagement_2)) (suggestSubset) (at ?block ?from) (userMove_2 ?block ?to) (piece ?block) (agent ?agent) (location ?to) (location ?from) (not(free_loc ?from)) (gripper ?gripper) (not(catch ?block ?from ?to)))
:effect (and (not(free ?gripper)) (at ?block ?from) (location ?to) (catch ?block ?from ?to) (verbalEngagement_2) )
)
(:action attempt_move_lev_2
:parameters( ?agent ?gripper ?pawn ?from ?to)
:precondition(and (location ?from) (verbalEngagement_2) (location ?to) (free_loc ?to) (agent ?agent) (catch ?pawn ?from ?to) (userMove_2 ?pawn ?to))
:effect (and (not(checkMove_2)) (free_loc ?to) (not(at ?pawn ?from))(carry ?agent ?gripper ?pawn) (select ?pawn ?to) )
:parameters( ?agent ?gripper ?block ?from ?to)
:precondition(and (location ?from) (verbalEngagement_2) (location ?to) (free_loc ?to) (agent ?agent) (catch ?block ?from ?to) (userMove_2 ?block ?to))
:effect (and (not(checkMove_2)) (free_loc ?to) (not(at ?block ?from))(carry ?agent ?gripper ?block) (select ?block ?to) )
)
(:action check_user_move_allowed_2
:parameters( ?pawn ?from ?to)
:precondition(and(piece ?pawn) (location ?from) (location ?to) (not(checkMove_2)) (catch ?pawn ?from ?to) (userMove_2 ?pawn ?to) (allowedMove ?pawn ?to) )
:parameters( ?block ?from ?to)
:precondition(and(piece ?block) (location ?from) (location ?to) (not(checkMove_2)) (catch ?block ?from ?to) (userMove_2 ?block ?to) (allowedMove ?block ?to) )
:effect(and (firstAttempt) (rightMove_2) (not(waitForUserMove_2)) (checkMove_2))
)
(:action check_user_move_not_right_2
:parameters( ?pawn ?from ?to)
:precondition(and(piece ?pawn) (location ?from) (location ?to) (not(checkMove_2)) (catch ?pawn ?from ?to) (userMove_2 ?pawn ?to) (not(allowedMove ?pawn ?to) ) )
:parameters( ?block ?from ?to)
:precondition(and(piece ?block) (location ?from) (location ?to) (not(checkMove_2)) (catch ?block ?from ?to) (userMove_2 ?block ?to) (not(allowedMove ?block ?to) ) )
:effect(and (not(rightMove_2))(secondAttempt) )
)
(:action release_lev_2_correct_position
:parameters( ?agent ?gripper ?pawn ?from ?to)
:precondition (and (piece ?pawn) (rightMove_2) (checkMove_2) (firstAttempt) (not(demonstrationEngagement)) (allowedMove ?pawn ?to) (not(waitForUserMove_2)) (not(secondAttempt)) (userMove_2 ?pawn ?to) (agent ?agent) (catch ?pawn ?from ?to) (location ?from) (select ?pawn ?to) (free_loc ?to) (not(free ?gripper)) (gripper ?gripper) (location ?to) (not(at ?pawn ?to)) (carry ?agent ?gripper ?pawn))
;:effect(and (at ?pawn ?to) (free ?gripper) (not(select ?pawn ?to)) (not(free_loc ?to)) (not(catch ?pawn ?from ?to)) (not(carry ?agent ?gripper ?pawn)))
:effect (and (rightMove_1) (at ?pawn ?to) (releasedPawn))
:parameters( ?agent ?gripper ?block ?from ?to)
:precondition (and (piece ?block) (rightMove_2) (checkMove_2) (firstAttempt) (not(demonstrationEngagement)) (allowedMove ?block ?to) (not(waitForUserMove_2)) (not(secondAttempt)) (userMove_2 ?block ?to) (agent ?agent) (catch ?block ?from ?to) (location ?from) (select ?block ?to) (free_loc ?to) (not(free ?gripper)) (gripper ?gripper) (location ?to) (not(at ?block ?to)) (carry ?agent ?gripper ?block))
:effect (and (rightMove_1) (at ?block ?to) (releasedBlock))
)
......@@ -196,42 +182,41 @@
)
(:action suggest_solution_user_only_lev_3
:parameters( ?pawn ?from ?to)
:precondition(and (location ?from) (location ?to) (not(waitForUserMove_3)) (verbalEngagement_3) (not(suggestAnswer)) (suggestSolution ?pawn ?to) (piece ?pawn))
:parameters( ?block ?from ?to)
:precondition(and (location ?from) (location ?to) (not(waitForUserMove_3)) (verbalEngagement_3) (not(suggestAnswer)) (suggestSolution ?block ?to) (piece ?block))
:effect(and (waitForUserMove_3) (verbalEngagement) (suggestAnswer))
)
(:action attempt_grab_lev_3
:parameters( ?agent ?gripper ?pawn ?from ?to)
:precondition(and (not(gestureEngagement)) (waitForUserMove_3) (not(demonstrationEngagement)) (suggestAnswer) (verbalEngagement) (at ?pawn ?from) (userMove_3 ?pawn ?to) (piece ?pawn) (agent ?agent) (location ?to) (location ?from) (not(free_loc ?from)) (gripper ?gripper) (not(catch ?pawn ?from ?to)))
:effect (and (not(free ?gripper)) (at ?pawn ?from) (location ?to) (catch ?pawn ?from ?to) (verbalEngagement_3) )
:parameters( ?agent ?gripper ?block ?from ?to)
:precondition(and (not(gestureEngagement)) (waitForUserMove_3) (not(demonstrationEngagement)) (suggestAnswer) (verbalEngagement) (at ?block ?from) (userMove_3 ?block ?to) (piece ?block) (agent ?agent) (location ?to) (location ?from) (not(free_loc ?from)) (gripper ?gripper) (not(catch ?block ?from ?to)))
:effect (and (not(free ?gripper)) (at ?block ?from) (location ?to) (catch ?block ?from ?to) (verbalEngagement_3) )
)
(:action attempt_move_lev_3
:parameters( ?agent ?gripper ?pawn ?from ?to)
:precondition(and (location ?from) (verbalEngagement_3) (location ?to) (free_loc ?to) (agent ?agent) (catch ?pawn ?from ?to) (userMove_3 ?pawn ?to))
:effect (and (not(checkMove_3)) (free_loc ?to) (not(at ?pawn ?from))(carry ?agent ?gripper ?pawn) )
:parameters( ?agent ?gripper ?block ?from ?to)
:precondition(and (location ?from) (verbalEngagement_3) (location ?to) (free_loc ?to) (agent ?agent) (catch ?block ?from ?to) (userMove_3 ?block ?to))
:effect (and (not(checkMove_3)) (free_loc ?to) (not(at ?block ?from))(carry ?agent ?gripper ?block) )
)
(:action check_user_move_allowed_3
:parameters( ?pawn ?from ?to)
:precondition(and(piece ?pawn) (location ?from) (location ?to) (not(checkMove_3)) (catch ?pawn ?from ?to) (userMove_3 ?pawn ?to) (allowedMove ?pawn ?to) )
:parameters( ?block ?from ?to)
:precondition(and(piece ?block) (location ?from) (location ?to) (not(checkMove_3)) (catch ?block ?from ?to) (userMove_3 ?block ?to) (allowedMove ?block ?to) )
:effect(and (firstAttempt) (rightMove_3) (not(waitForUserMove_3)) (checkMove_3))
)
(:action check_user_move_not_right_3
:parameters( ?pawn ?from ?to)
:precondition(and(piece ?pawn) (location ?from) (location ?to) (not(checkMove_3)) (catch ?pawn ?from ?to) (userMove_3 ?pawn ?to) (not(allowedMove ?pawn ?to) ) )
:parameters( ?block ?from ?to)
:precondition(and(piece ?block) (location ?from) (location ?to) (not(checkMove_3)) (catch ?block ?from ?to) (userMove_3 ?block ?to) (not(allowedMove ?block ?to) ) )
:effect(and (not(rightMove_3))(thirdAttempt) )
)
(:action release_lev_3_correct_position
:parameters( ?agent ?gripper ?pawn ?from ?to)
:precondition (and (piece ?pawn) (rightMove_3) (checkMove_3) (firstAttempt) (allowedMove ?pawn ?to) (not(waitForUserMove_3)) (not(secondAttempt)) (userMove_3 ?pawn ?to) (not(gestureEngagement)) (agent ?agent) (catch ?pawn ?from ?to) (location ?from) (free_loc ?to) (not(free ?gripper)) (gripper ?gripper) (location ?to) (not(at ?pawn ?to)) (carry ?agent ?gripper ?pawn))
;:effect(and (at ?pawn ?to) (free ?gripper) (not(select ?pawn ?to)) (not(free_loc ?to)) (not(catch ?pawn ?from ?to)) (not(carry ?agent ?gripper ?pawn)))
:effect (and (rightMove_3) (at ?pawn ?to) (releasedPawn))
:parameters( ?agent ?gripper ?block ?from ?to)
:precondition (and (piece ?block) (rightMove_3) (checkMove_3) (firstAttempt) (allowedMove ?block ?to) (not(waitForUserMove_3)) (not(secondAttempt)) (userMove_3 ?block ?to) (not(gestureEngagement)) (agent ?agent) (catch ?block ?from ?to) (location ?from) (free_loc ?to) (not(free ?gripper)) (gripper ?gripper) (location ?to) (not(at ?block ?to)) (carry ?agent ?gripper ?block))
:effect (and (rightMove_3) (at ?block ?to) (releasedBlock))
)
......@@ -250,36 +235,34 @@
)
(:action attempt_grab_lev_1
:parameters( ?agent ?gripper ?pawn ?from ?to)
:precondition(and (not(verbalEngagement)) (waitForUserMove_1) (not(demonstrationEngagement)) (not(encourageUser)) (gestureEngagement) (at ?pawn ?from) (userMove_1 ?pawn ?to) (piece ?pawn) (agent ?agent) (location ?to) (location ?from) (not(free_loc ?from)) (gripper ?gripper) (not(catch ?pawn ?from ?to)))
:effect (and (not(free ?gripper)) (at ?pawn ?from) (catch ?pawn ?from ?to) (gestureEngagement_1))
:parameters( ?agent ?gripper ?block ?from ?to)
:precondition(and (not(verbalEngagement)) (waitForUserMove_1) (not(demonstrationEngagement)) (not(encourageUser)) (gestureEngagement) (at ?block ?from) (userMove_1 ?block ?to) (piece ?block) (agent ?agent) (location ?to) (location ?from) (not(free_loc ?from)) (gripper ?gripper) (not(catch ?block ?from ?to)))
:effect (and (not(free ?gripper)) (at ?block ?from) (catch ?block ?from ?to) (gestureEngagement_1))
)
(:action attempt_move_lev_1
:parameters( ?agent ?gripper ?pawn ?from ?to)
:precondition(and (gestureEngagement_1) (location ?from) (location ?to) (free_loc ?to) (agent ?agent) (catch ?pawn ?from ?to) (userMove_1 ?pawn ?to))
:effect (and (not(checkMove_1)) (free_loc ?to) (not(at ?pawn ?from)) (carry ?agent ?gripper ?pawn))
:parameters( ?agent ?gripper ?block ?from ?to)
:precondition(and (gestureEngagement_1) (location ?from) (location ?to) (free_loc ?to) (agent ?agent) (catch ?block ?from ?to) (userMove_1 ?block ?to))
:effect (and(not(checkMove_1)) (free_loc ?to) (not(at ?block ?from)) (carry ?agent ?gripper ?block))
)
(:action check_user_move_allowed_1
:parameters( ?pawn ?from ?to)
:precondition(and(piece ?pawn) (location ?from) (location ?to) (not(checkMove_1)) (catch ?pawn ?from ?to) (userMove_1 ?pawn ?to) (allowedMove ?pawn ?to) )
:parameters( ?block ?from ?to)
:precondition(and(piece ?block) (location ?from) (location ?to) (not(checkMove_1)) (catch ?block ?from ?to) (userMove_1 ?block ?to) (allowedMove ?block ?to) )
:effect(and (firstAttempt) (rightMove_1) (not(waitForUserMove_1)) (checkMove_1))
)
(:action check_user_move_not_right_1
:parameters( ?pawn ?from ?to)
:precondition(and(piece ?pawn) (location ?from) (location ?to) (not(checkMove_1)) (catch ?pawn ?from ?to) (userMove_1 ?pawn ?to) (not(allowedMove ?pawn ?to) ) )
;:effect (and(not(rightMove_1)) (firstAttempt))
:effect(DEBUG)
:parameters( ?block ?from ?to)
:precondition(and(piece ?block) (location ?from) (location ?to) (not(checkMove_1)) (catch ?block ?from ?to) (userMove_1 ?block ?to) (not(allowedMove ?block ?to) ) )
:effect (and(not(rightMove_1)) (firstAttempt))
)
(:action release_lev_1_correct_position
:parameters( ?agent ?gripper ?pawn ?from ?to)
:precondition (and (piece ?pawn) (rightMove_1) (checkMove_1) (firstAttempt) (allowedMove ?pawn ?to) (not(waitForUserMove_1)) (not(secondAttempt)) (userMove_1 ?pawn ?to) (not(gestureEngagement)) (agent ?agent) (catch ?pawn ?from ?to) (location ?from) (free_loc ?to) (not(free ?gripper)) (gripper ?gripper) (location ?to) (not(at ?pawn ?to)) (carry ?agent ?gripper ?pawn))
;:effect(and (at ?pawn ?to) (free ?gripper) (not(select ?pawn ?to)) (not(free_loc ?to)) (not(catch ?pawn ?from ?to)) (not(carry ?agent ?gripper ?pawn)))
:effect (and (rightMove_1) (at ?pawn ?to) (releasedPawn))
:parameters( ?agent ?gripper ?block ?from ?to)
:precondition (and (piece ?block) (rightMove_1) (checkMove_1) (firstAttempt) (allowedMove ?block ?to) (not(waitForUserMove_1)) (not(secondAttempt)) (userMove_1 ?block ?to) (not(gestureEngagement)) (agent ?agent) (catch ?block ?from ?to) (location ?from) (free_loc ?to) (not(free ?gripper)) (gripper ?gripper) (location ?to) (not(at ?block ?to)) (carry ?agent ?gripper ?block))
:effect (and (rightMove_1) (at ?block ?to) (releasedBlock))
)
;;;///***********************************************SECOND ATTEMPT ************************************************************************/
......@@ -292,41 +275,41 @@
)
(:action point_out_area_only_lev_2
:parameters( ?pawn ?from ?to_1 ?to_2 ?to_3)
:precondition(and (not(suggestSubset)) (gestureEngagement_2) (not(waitForUserMove_2)) (not(= ?to_1 ?to_2)) (not(= ?to_1 ?to_3)) (not(= ?to_2 ?to_3)) (location ?to_2) (location ?to_3) (suggestedMove ?pawn ?to_1) (suggestedMove ?pawn ?to_2) (suggestedMove ?pawn ?to_3) (piece ?pawn))
:parameters( ?block ?from ?to_1 ?to_2 ?to_3)
:precondition(and (not(suggestSubset)) (gestureEngagement_2) (not(waitForUserMove_2)) (not(= ?to_1 ?to_2)) (not(= ?to_1 ?to_3)) (not(= ?to_2 ?to_3)) (location ?to_2) (location ?to_3) (suggestedMove ?block ?to_1) (suggestedMove ?block ?to_2) (suggestedMove ?block ?to_3) (piece ?block))
:effect(and (waitForUserMove_2) (gestureEngagement)(suggestSubset))
)
(:action attempt_grab_lev_2
:parameters( ?agent ?gripper ?pawn ?from ?to)
:precondition(and (not(verbalEngagement)) (waitForUserMove_2) (not(demonstrationEngagement) (suggestSubset) (at ?pawn ?from) (userMove_2 ?pawn ?to) (piece ?pawn) (agent ?agent) (location ?to) (location ?from) (not(free_loc ?from)) (gripper ?gripper) (not(catch ?pawn ?from ?to))))
:effect (and (not(free ?gripper)) (at ?pawn ?from) (location ?to) (catch ?pawn ?from ?to) (verbalEngagement_2))
:parameters( ?agent ?gripper ?block ?from ?to)
:precondition(and (not(verbalEngagement)) (waitForUserMove_2) (not(demonstrationEngagement) (suggestSubset) (at ?block ?from) (userMove_2 ?block ?to) (piece ?block) (agent ?agent) (location ?to) (location ?from) (not(free_loc ?from)) (gripper ?gripper) (not(catch ?block ?from ?to))))
:effect (and (not(free ?gripper)) (at ?block ?from) (location ?to) (catch ?block ?from ?to) (verbalEngagement_2))
)
(:action attempt_move_lev_2
:parameters( ?agent ?gripper ?pawn ?from ?to)
:precondition(and (location ?from) (gestureEngagement_2) (location ?to) (free_loc ?to) (agent ?agent) (catch ?pawn ?from ?to) (userMove_2 ?pawn ?to))
:effect (and (not(checkMove_2)) (free_loc ?to) (not(at ?pawn ?from))(carry ?agent ?gripper ?pawn) (select ?pawn ?to) )
:parameters( ?agent ?gripper ?block ?from ?to)
:precondition(and (location ?from) (gestureEngagement_2) (location ?to) (free_loc ?to) (agent ?agent) (catch ?block ?from ?to) (userMove_2 ?block ?to))
:effect (and (not(checkMove_2)) (free_loc ?to) (not(at ?block ?from))(carry ?agent ?gripper ?block) (select ?block ?to) )
)
(:action check_user_move_allowed_2
:parameters( ?pawn ?from ?to)
:precondition(and(piece ?pawn) (location ?from) (location ?to) (not(checkMove_2)) (catch ?pawn ?from ?to) (userMove_2 ?pawn ?to) (allowedMove ?pawn ?to) )
:parameters( ?block ?from ?to)
:precondition(and(piece ?block) (location ?from) (location ?to) (not(checkMove_2)) (catch ?block ?from ?to) (userMove_2 ?block ?to) (allowedMove ?block ?to) )
:effect(and (firstAttempt) (rightMove_2) (not(waitForUserMove_2)) (checkMove_2))
)
(:action check_user_move_not_right_2
:parameters( ?pawn ?from ?to)
:precondition(and(piece ?pawn) (location ?from) (location ?to) (not(checkMove_2)) (catch ?pawn ?from ?to) (userMove_2 ?pawn ?to) (not(allowedMove ?pawn ?to) ) )
:parameters( ?block ?from ?to)
:precondition(and(piece ?block) (location ?from) (location ?to) (not(checkMove_2)) (catch ?block ?from ?to) (userMove_2 ?block ?to) (not(allowedMove ?block ?to) ) )
:effect(and (not(rightMove_2))(secondAttempt) )
)
(:action release_lev_2_correct_position
:parameters( ?agent ?gripper ?pawn ?from ?to)
:precondition (and (piece ?pawn) (rightMove_2) (checkMove_2) (firstAttempt) (not(demonstrationEngagement)) (allowedMove ?pawn ?to) (not(waitForUserMove_2)) (not(secondAttempt)) (userMove_2 ?pawn ?to) (agent ?agent) (catch ?pawn ?from ?to) (location ?from) (select ?pawn ?to) (free_loc ?to) (not(free ?gripper)) (gripper ?gripper) (location ?to) (not(at ?pawn ?to)) (carry ?agent ?gripper ?pawn))
:effect (and (rightMove_1) (at ?pawn ?to) (releasedPawn))
:parameters( ?agent ?gripper ?block ?from ?to)
:precondition (and (piece ?block) (rightMove_2) (checkMove_2) (firstAttempt) (not(demonstrationEngagement)) (allowedMove ?block ?to) (not(waitForUserMove_2)) (not(secondAttempt)) (userMove_2 ?block ?to) (agent ?agent) (catch ?block ?from ?to) (location ?from) (select ?block ?to) (free_loc ?to) (not(free ?gripper)) (gripper ?gripper) (location ?to) (not(at ?block ?to)) (carry ?agent ?gripper ?block))
:effect (and (rightMove_1) (at ?block ?to) (releasedBlock))
)
......@@ -341,41 +324,41 @@
)
(:action point_out_solution_only_lev_3
:parameters( ?pawn ?from ?to)
:precondition(and (location ?from) (location ?to) (not(waitForUserMove_3)) (gestureEngagement_3) (not(suggestAnswer)) (suggestSolution ?pawn ?to) (piece ?pawn))
:parameters( ?block ?from ?to)
:precondition(and (location ?from) (location ?to) (not(waitForUserMove_3)) (gestureEngagement_3) (not(suggestAnswer)) (suggestSolution ?block ?to) (piece ?block))
:effect(and (waitForUserMove_3) (gestureEngagement) (suggestAnswer))
)
(:action attempt_grab_lev_3
:parameters( ?agent ?gripper ?pawn ?from ?to)
:precondition(and (not(verbalEngagement)) (waitForUserMove_3) (not(demonstrationEngagement)) (suggestAnswer) (gestureEngagement) (at ?pawn ?from) (userMove_3 ?pawn ?to) (piece ?pawn) (agent ?agent) (location ?to) (location ?from) (not(free_loc ?from)) (gripper ?gripper) (not(catch ?pawn ?from ?to)))
:effect (and (not(free ?gripper)) (at ?pawn ?from) (location ?to) (catch ?pawn ?from ?to) (gestureEngagement_3) )
:parameters( ?agent ?gripper ?block ?from ?to)
:precondition(and (not(verbalEngagement)) (waitForUserMove_3) (not(demonstrationEngagement)) (suggestAnswer) (gestureEngagement) (at ?block ?from) (userMove_3 ?block ?to) (piece ?block) (agent ?agent) (location ?to) (location ?from) (not(free_loc ?from)) (gripper ?gripper) (not(catch ?block ?from ?to)))
:effect (and (not(free ?gripper)) (at ?block ?from) (location ?to) (catch ?block ?from ?to) (gestureEngagement_3) )
)
(:action attempt_move_lev_3
:parameters( ?agent ?gripper ?pawn ?from ?to)
:precondition(and (location ?from) (gestureEngagement_3) (location ?to) (free_loc ?to) (agent ?agent) (catch ?pawn ?from ?to) (userMove_3 ?pawn ?to))
:effect (and (not(checkMove_3)) (free_loc ?to) (not(at ?pawn ?from))(carry ?agent ?gripper ?pawn) )
:parameters( ?agent ?gripper ?block ?from ?to)
:precondition(and (location ?from) (gestureEngagement_3) (location ?to) (free_loc ?to) (agent ?agent) (catch ?block ?from ?to) (userMove_3 ?block ?to))
:effect (and (not(checkMove_3)) (free_loc ?to) (not(at ?block ?from))(carry ?agent ?gripper ?block) )
)
(:action check_user_move_allowed_3
:parameters( ?pawn ?from ?to)
:precondition(and(piece ?pawn) (location ?from) (location ?to) (not(checkMove_3)) (catch ?pawn ?from ?to) (userMove_3 ?pawn ?to) (allowedMove ?pawn ?to) )
:parameters( ?block ?from ?to)
:precondition(and(piece ?block) (location ?from) (location ?to) (not(checkMove_3)) (catch ?block ?from ?to) (userMove_3 ?block ?to) (allowedMove ?block ?to) )
:effect(and (firstAttempt) (rightMove_3) (not(waitForUserMove_3)) (checkMove_3))
)
(:action check_user_move_not_right_3
:parameters( ?pawn ?from ?to)
:precondition(and(piece ?pawn) (location ?from) (location ?to) (not(checkMove_3)) (catch ?pawn ?from ?to) (userMove_3 ?pawn ?to) (not(allowedMove ?pawn ?to) ) )
:parameters( ?block ?from ?to)
:precondition(and(piece ?block) (location ?from) (location ?to) (not(checkMove_3)) (catch ?block ?from ?to) (userMove_3 ?block ?to) (not(allowedMove ?block ?to) ) )
:effect(and (not(rightMove_3))(thirdAttempt) )
)
(:action release_lev_3_correct_position
:parameters( ?agent ?gripper ?pawn ?from ?to)
:precondition (and (piece ?pawn) (rightMove_3) (checkMove_3) (firstAttempt) (allowedMove ?pawn ?to) (not(waitForUserMove_3)) (not(secondAttempt)) (userMove_3 ?pawn ?to) (not(verbalEngagement)) (agent ?agent) (catch ?pawn ?from ?to) (location ?from) (free_loc ?to) (not(free ?gripper)) (gripper ?gripper) (location ?to) (not(at ?pawn ?to)) (carry ?agent ?gripper ?pawn))
:effect (and (rightMove_3) (at ?pawn ?to) (releasedPawn))
:parameters( ?agent ?gripper ?block ?from ?to)
:precondition (and (piece ?block) (rightMove_3) (checkMove_3) (firstAttempt) (allowedMove ?block ?to) (not(waitForUserMove_3)) (not(secondAttempt)) (userMove_3 ?block ?to) (not(verbalEngagement)) (agent ?agent) (catch ?block ?from ?to) (location ?from) (free_loc ?to) (not(free ?gripper)) (gripper ?gripper) (location ?to) (not(at ?block ?to)) (carry ?agent ?gripper ?block))
:effect (and (rightMove_3) (at ?block ?to) (releasedBlock))
)
......@@ -391,31 +374,29 @@
)
(:action demonstrate_how_to_perform_move
:parameters( ?pawn ?from ?to)
:precondition(and (location ?from) (location ?to) (verbalEngagement_4) (not(performDemonstration)) (demonstrateMove ?pawn ?to) (piece ?pawn))
;:effect(and (suggestSubset) (verbalEngagement_2) (not(waitForUserMove_2)) )
:parameters( ?block ?from ?to)
:precondition(and (location ?from) (location ?to) (verbalEngagement_4) (not(performDemonstration)) (demonstrateMove ?block ?to) (piece ?block))
:effect(and (waitForUserMove_4) (verbalEngagement))
)
(:action grab_lev_4
:parameters( ?agent ?gripper ?pawn ?from ?to)
:precondition(and (not(gestureEngagement)) (waitForUserMove_4) (not(demonstrationEngagement)) (not(performDemonstration))(verbalEngagement_4) (verbalEngagement) (at ?pawn ?from) (demonstrateMove ?pawn ?to) (piece ?pawn) (agent ?agent) (location ?to) (location ?from) (not(free_loc ?from)) (gripper ?gripper) (not(catch ?pawn ?from ?to)))
:effect (and (not(free ?gripper)) (at ?pawn ?from) (location ?to) (catch ?pawn ?from ?to) (not(verbalEngagement_4)) )
:parameters( ?agent ?gripper ?block ?from ?to)
:precondition(and (not(gestureEngagement)) (waitForUserMove_4) (not(demonstrationEngagement)) (not(performDemonstration))(verbalEngagement_4) (verbalEngagement) (at ?block ?from) (demonstrateMove ?block ?to) (piece ?block) (agent ?agent) (location ?to) (location ?from) (not(free_loc ?from)) (gripper ?gripper) (not(catch ?block ?from ?to)))
:effect (and (not(free ?gripper)) (at ?block ?from) (location ?to) (catch ?block ?from ?to) (not(verbalEngagement_4)) )
)
(:action move_lev_4
:parameters( ?agent ?gripper ?pawn ?from ?to)
:precondition(and (location ?from) (not(verbalEngagement_4)) (location ?to) (free_loc ?to) (agent ?agent) (catch ?pawn ?from ?to) (demonstrateMove ?pawn ?to))
:effect (and (not(checkMove_4)) (free_loc ?to) (not(at ?pawn ?from))(carry ?agent ?gripper ?pawn) (select ?pawn ?to) )
:parameters( ?agent ?gripper ?block ?from ?to)
:precondition(and (location ?from) (not(verbalEngagement_4)) (location ?to) (free_loc ?to) (agent ?agent) (catch ?block ?from ?to) (demonstrateMove ?block ?to))
:effect (and (not(checkMove_4)) (free_loc ?to) (not(at ?block ?from))(carry ?agent ?gripper ?block) (select ?block ?to) )
)
(:action release_lev_4_correct_position
:parameters( ?agent ?gripper ?pawn ?from ?to)
:precondition (and (piece ?pawn) (not(checkMove_4)) (demonstrateMove ?pawn ?to) (allowedMove ?pawn ?to) (not(gestureEngagement)) (agent ?agent) (catch ?pawn ?from ?to) (location ?from) (select ?pawn ?to) (free_loc ?to) (not(free ?gripper)) (gripper ?gripper) (location ?to) (not(at ?pawn ?to)) (carry ?agent ?gripper ?pawn))
;:effect(and (at ?pawn ?to) (free ?gripper) (not(select ?pawn ?to)) (not(free_loc ?to)) (not(catch ?pawn ?from ?to)) (not(carry ?agent ?gripper ?pawn)))
:effect (and (rightMove_4) (at ?pawn ?to) (releasedPawn))
:parameters( ?agent ?gripper ?block ?from ?to)
:precondition (and (piece ?block) (not(checkMove_4)) (demonstrateMove ?block ?to) (allowedMove ?block ?to) (not(gestureEngagement)) (agent ?agent) (catch ?block ?from ?to) (location ?from) (select ?block ?to) (free_loc ?to) (not(free ?gripper)) (gripper ?gripper) (location ?to) (not(at ?block ?to)) (carry ?agent ?gripper ?block))
:effect (and (rightMove_4) (at ?block ?to) (releasedBlock))
)
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment