mirror of
https://github.com/RAIRLab/Spectra.git
synced 2024-11-21 16:36:29 -05:00
Update README.md
This commit is contained in:
parent
3c0df78d28
commit
e723fb5a1e
1 changed files with 16 additions and 0 deletions
16
README.md
16
README.md
|
@ -1 +1,17 @@
|
||||||
# Spectra
|
# Spectra
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
```clojure
|
||||||
|
;; (removeFrom ?x ?y) => "Remove ?x from ?y"
|
||||||
|
;; (placeInside ?x ?y) ==> "Place ?x inside ?y"
|
||||||
|
(define-method planMethod [?b ?c ?d]
|
||||||
|
{:goal [(In ?b ?c) (In ?c ?d)]
|
||||||
|
:while [(In ?b ?d) (Empty ?c)
|
||||||
|
(< (size ?c) (size ?d))
|
||||||
|
(< (size ?b) (size ?c))]
|
||||||
|
:actions [(removeFrom ?b ?d) (placeInside ?b ?c) (placeInside ?c ?d)]})
|
||||||
|
Roughly, a method has conditions that the goal and background + start state should satisfy. If the conditions are satisfied, a plan template is generated (note the variables).
|
||||||
|
The planner then verifies if the plan template works, if so it outputs the plan.
|
||||||
|
```
|
||||||
|
|
Loading…
Reference in a new issue