Skip to content

Commit

Permalink
[pddl_planner/demos/2011_saito/solve-knock-door] fix indent (use spac…
Browse files Browse the repository at this point in the history
…e instead of tab)
  • Loading branch information
Naoki-Hiraoka committed Jun 19, 2020
1 parent 7a2339d commit 81ca7a4
Showing 1 changed file with 106 additions and 106 deletions.
212 changes: 106 additions & 106 deletions pddl/pddl_planner/demos/2011_saito/solve-knock-door.l
Original file line number Diff line number Diff line change
Expand Up @@ -10,101 +10,101 @@
(send *domain* :requirements '(:typing))
(send *domain* :types '(object spot))
(send *domain* :predicates
'(
(AT ?SPOT - spot) ;; the spot which robot is in
(ENABLE ?OBJ - object) ;; the object is enable (door -> close)
(CLEAN ?OBJ - object)
(GRASP ?OBJ - object)
(ON ?OBJ ?BASE - object) ;; the current position of OBJ
(STRAGE ?OBJ ?BASE - object) ;; proper position of OBJ
(REACHABLE ?OBJ - object ?SPOT - spot)
(SALE-AT ?OBJ - object ?SPOT - spot)
(SEPARATE ?OBJ - object ?FROM ?TO - spot)
))
'(
(AT ?SPOT - spot) ;; the spot which robot is in
(ENABLE ?OBJ - object) ;; the object is enable (door -> close)
(CLEAN ?OBJ - object)
(GRASP ?OBJ - object)
(ON ?OBJ ?BASE - object) ;; the current position of OBJ
(STRAGE ?OBJ ?BASE - object) ;; proper position of OBJ
(REACHABLE ?OBJ - object ?SPOT - spot)
(SALE-AT ?OBJ - object ?SPOT - spot)
(SEPARATE ?OBJ - object ?FROM ?TO - spot)
))
;;making action
(setq *actlist*
(list
(instance pddl-action :init
:name "move"
:parameters '((?FROM ?TO spot))
:precondition '((AT ?FROM)
(NOT (= ?FROM ?TO))
(forall (?obs - object)
(NOT (SEPARATE ?obs ?FROM ?TO))))
:effect '((AT ?TO)
(NOT (AT ?FROM))))
:name "move"
:parameters '((?FROM ?TO spot))
:precondition '((AT ?FROM)
(NOT (= ?FROM ?TO))
(forall (?obs - object)
(NOT (SEPARATE ?obs ?FROM ?TO))))
:effect '((AT ?TO)
(NOT (AT ?FROM))))

(instance pddl-action :init
:name "pick"
:parameters '((?OBJ object))
:precondition '((exists (?base - object ?spot - spot)
(AND (ON ?OBJ ?base)
(REACHABLE ?base ?spot)
(AT ?spot)))
(forall (?objx - object)
(NOT (GRASP ?objx)))
)
:effect '((GRASP ?OBJ)
(forall (?base - object)
(NOT (ON ?OBJ ?base)))
))
:name "pick"
:parameters '((?OBJ object))
:precondition '((exists (?base - object ?spot - spot)
(AND (ON ?OBJ ?base)
(REACHABLE ?base ?spot)
(AT ?spot)))
(forall (?objx - object)
(NOT (GRASP ?objx)))
)
:effect '((GRASP ?OBJ)
(forall (?base - object)
(NOT (ON ?OBJ ?base)))
))
(instance pddl-action :init
:name "put"
:parameters '((?OBJ ?BASE object))
:precondition '((exists (?spot - spot)
(AND (REACHABLE ?BASE ?spot)
(AT ?spot)))
(GRASP ?OBJ))
:effect '((NOT (GRASP ?OBJ))
(ON ?OBJ ?BASE)))

(instance pddl-action :init
:name "buy"
:parameters '((?OBJ object))
:precondition '((exists (?spot - spot)
(AND (SALE-AT ?OBJ ?spot)
(AT ?spot))))
:effect '((GRASP ?OBJ)))
:name "put"
:parameters '((?OBJ ?BASE object))
:precondition '((exists (?spot - spot)
(AND (REACHABLE ?BASE ?spot)
(AT ?spot)))
(GRASP ?OBJ))
:effect '((NOT (GRASP ?OBJ))
(ON ?OBJ ?BASE)))

(instance pddl-action :init
:name "buy"
:parameters '((?OBJ object))
:precondition '((exists (?spot - spot)
(AND (SALE-AT ?OBJ ?spot)
(AT ?spot))))
:effect '((GRASP ?OBJ)))


(instance pddl-action :init
:name "wipe"
:parameters '((?OBJ object))
:precondition '((exists (?spot - spot)
(AND (REACHABLE ?OBJ ?spot)
(AT ?spot)))
(forall (?gomi - object)
(NOT (ON ?gomi ?OBJ)))
(NOT (CLEAN ?OBJ)))
:effect '((CLEAN ?OBJ)))
:name "wipe"
:parameters '((?OBJ object))
:precondition '((exists (?spot - spot)
(AND (REACHABLE ?OBJ ?spot)
(AT ?spot)))
(forall (?gomi - object)
(NOT (ON ?gomi ?OBJ)))
(NOT (CLEAN ?OBJ)))
:effect '((CLEAN ?OBJ)))

(instance pddl-action :init
:name "open"
:parameters '((?OBJ object))
:precondition '((exists (?spt - spot)
(AND (REACHABLE ?OBJ ?spt)
(AT ?spt)))
(ENABLE ?OBJ))
:effect '((NOT (ENABLE ?OBJ))))
:name "open"
:parameters '((?OBJ object))
:precondition '((exists (?spt - spot)
(AND (REACHABLE ?OBJ ?spt)
(AT ?spt)))
(ENABLE ?OBJ))
:effect '((NOT (ENABLE ?OBJ))))

(instance pddl-action :init
:name "check_open"
:parameters '((?OBJ object))
:precondition '((exists (?spot - spot)
(AND (REACHABLE ?OBJ ?spot)
(AT ?spot)))
(NOT (ENABLE ?OBJ)))
:effect '((forall (?S1 ?S2 - spot)
(NOT (SEPARATE ?OBJ ?S1 ?S2)))
))
:name "check_open"
:parameters '((?OBJ object))
:precondition '((exists (?spot - spot)
(AND (REACHABLE ?OBJ ?spot)
(AT ?spot)))
(NOT (ENABLE ?OBJ)))
:effect '((forall (?S1 ?S2 - spot)
(NOT (SEPARATE ?OBJ ?S1 ?S2)))
))
(instance pddl-action :init
:name "check_open_f"
:parameters '((?OBJ object))
:precondition '((exists (?spot - spot)
(AND (REACHABLE ?OBJ ?spot)
(AT ?spot)))
(NOT (ENABLE ?OBJ)))
:effect '((ENABLE ?OBJ)))
:name "check_open_f"
:parameters '((?OBJ object))
:precondition '((exists (?spot - spot)
(AND (REACHABLE ?OBJ ?spot)
(AT ?spot)))
(NOT (ENABLE ?OBJ)))
:effect '((ENABLE ?OBJ)))
))

;;add action to domain
Expand All @@ -121,36 +121,36 @@
;; one object and three spots
(send *problem* :objects
'((RM73B2-DOOR . object)
(RM73B2-TABLE . object)
(PLASTIC-BOTTLE . object)
(TRASHBOX . object)
(SAITO-TABLE . object)
(SANDWITCH . object)
(RM73B2-DOORFRONT . spot)
(RM73B2-TABLE . object)
(PLASTIC-BOTTLE . object)
(TRASHBOX . object)
(SAITO-TABLE . object)
(SANDWITCH . object)
(RM73B2-DOORFRONT . spot)
(RM73B2-TABLEFRONT . spot)
(TRASHBOXFRONT . spot)
(SHOPFRONT . spot)
(TRASHBOXFRONT . spot)
(SHOPFRONT . spot)
(RM73A3-CENTER . spot))
)

;; initial condition
(send *problem* :initial-condition
'(;; from sensor-data or heuristics
(AT RM73A3-CENTER)
(ENABLE RM73B2-DOOR)
;; generate from knowledge-base/manip-planner
(ON PLASTIC-BOTTLE RM73B2-TABLE)
(REACHABLE RM73B2-DOOR RM73B2-DOORFRONT)
(REACHABLE RM73B2-TABLE RM73B2-TABLEFRONT)
(REACHABLE TRASHBOX TRASHBOXFRONT)
(REACHABLE SAITO-TABLE RM73A3-CENTER)
(SALE-AT SANDWITCH SHOPFRONT)
;; generate fron jsk_map
(SEPARATE RM73B2-DOOR RM73A3-CENTER RM73B2-TABLEFRONT)
(SEPARATE RM73B2-DOOR RM73B2-DOORFRONT RM73B2-TABLEFRONT)
(SEPARATE RM73B2-DOOR TRASHBOXFRONT RM73B2-TABLEFRONT)
(SEPARATE RM73B2-DOOR SHOPFRONT RM73B2-TABLEFRONT)
))
(AT RM73A3-CENTER)
(ENABLE RM73B2-DOOR)
;; generate from knowledge-base/manip-planner
(ON PLASTIC-BOTTLE RM73B2-TABLE)
(REACHABLE RM73B2-DOOR RM73B2-DOORFRONT)
(REACHABLE RM73B2-TABLE RM73B2-TABLEFRONT)
(REACHABLE TRASHBOX TRASHBOXFRONT)
(REACHABLE SAITO-TABLE RM73A3-CENTER)
(SALE-AT SANDWITCH SHOPFRONT)
;; generate fron jsk_map
(SEPARATE RM73B2-DOOR RM73A3-CENTER RM73B2-TABLEFRONT)
(SEPARATE RM73B2-DOOR RM73B2-DOORFRONT RM73B2-TABLEFRONT)
(SEPARATE RM73B2-DOOR TRASHBOXFRONT RM73B2-TABLEFRONT)
(SEPARATE RM73B2-DOOR SHOPFRONT RM73B2-TABLEFRONT)
))

;;
;; solve planning
Expand All @@ -165,13 +165,13 @@
;; we want to go to in front of a trash box
(send *problem* :goal-condition
'((ON PLASTIC-BOTTLE TRASHBOX)
(AT RM73A3-CENTER)))
(AT RM73A3-CENTER)))
(pprint (setq *result2* (solve-pddl-planning *domain* *problem* :debug nil)))

(send *problem* :goal-condition
'((ON SANDWITCH SAITO-TABLE)
(CLEAN SAITO-TABLE)
(AT RM73A3-CENTER)))
(CLEAN SAITO-TABLE)
(AT RM73A3-CENTER)))
(pprint (setq *result3* (solve-pddl-planning *domain* *problem* :debug nil)))

(setq results (list *result1* *result2* *result3*))
Expand Down

0 comments on commit 81ca7a4

Please sign in to comment.