Advertisement
Guest User

climboff

a guest
May 18th, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2.  
  3. (def world
  4.   '#{(connects G1 G2)
  5.      (connects G2 G1)
  6.      (connects G2 G3)
  7.      (connects G3 G2)
  8.      (on table G1)
  9.      (climbable table)
  10.      ;(platform table)
  11.      (agent R)
  12.      })
  13.  
  14.  
  15. (def state1
  16.   '#{(on R table)
  17.      ;(holds R nil)
  18.      })
  19.  
  20. (def ops
  21.     '{pickup {:pre ((agent ?agent)
  22.                          (manipulable ?obj)
  23.                          (at ?agent ?place)
  24.                          (on ?obj ?place)
  25.                          (holds ?agent nil))
  26.  
  27.                   :add ((holds ?agent ?obj))
  28.                   :del ((on ?obj ?place)
  29.                          (holds ?agent nil))
  30.                   :txt (pickup ?obj from ?place)
  31.                   :cmd [grasp ?obj]
  32.                   }
  33.       drop {:pre ((at ?agent ?place)
  34.                        (holds ?agent ?obj)
  35.                        (holds ?agent ?platform))
  36.  
  37.                 :add ((holds ?agent nil)
  38.                        (on ?obj ?place))
  39.                 :del ((holds ?agent ?obj)
  40.                        (holds ?agent ?platform))
  41.                 :txt (drop ?obj at ?place)
  42.                 :cmd [drop ?obj]
  43.                 }
  44.       move {:pre ((agent ?agent)
  45.                    (at ?agent ?p1)
  46.                    (connects ?p1 ?p2))
  47.  
  48.             :add ((at ?agent ?p2))
  49.             :del ((at ?agent ?p1))
  50.             :txt (move ?p1 to ?p2)
  51.             :cmd [move ?p2]
  52.             }
  53.  
  54.       ;climbon  {:pre ((agent ?agent)
  55.       ;                 (at ?agent ?place)
  56.       ;                 (on ?obj ?place)
  57.       ;                 (climbable ?obj))
  58.       ;                 ;(platform ?obj)
  59.       ;                 ;(holds ?agent nil))
  60.       ;                 :del ((at ?agent ?place))
  61.       ;                 :add ((at ?agent ?obj))
  62.       ;                 :txt (climbon ?agent ?obj)
  63.       ;                 :cmd [on ?agent ?obj]
  64.       ;          }
  65.  
  66.       climboff (:pre ((agent ?agent)
  67.                        (on ?agent ?platform)
  68.                        (climbable ?climbable)
  69.                        ;(connects ?p1 ?p2)
  70.                        )
  71.  
  72.                        :del ((on ?agent ?platform))
  73.                        :add ((at agent ?place))
  74.                        :txt (climb off ?agent to ?place)
  75.                        :cmd [at ?agent ?place])
  76.  
  77.       })
  78.  
  79. (ops-search state1 '((at R G3)) ops :world world)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement