tmkit
0.0.1-alpha1
A Task-Motion Planning Framework
|
Domain semantics files specify the mapping between the task and motion layers in the particular planning domain.
SCENE-GRAPH, CONFIGURATION
EXPRESSION-LIST
The state function maps the geometric scene to a task state. The return value is a list of expressions (implicitly and-ed) that define the state.
State expressions are represented as lists of operators and arguments in S-Expression format.
The following table provides several examples of state expressions in customary infix notation, as PDDL and Lisp S-Expressions, and as Python lists.
Infix Expression | PDDL / Lisp S-Expression | Python List |
---|---|---|
a AND b | (and a b) | ["AND", "a", "b"] |
a OR b | (or a b) | ["OR", "a", "b"] |
(a OR b) AND c | (and (or a b) c) | ["AND", ["OR", "a", "b"], "c"] |
position(foo) = x | (= (position foo) x) | ["=", ["POSITION", "foo"], "x"] |
Here is an example return value as a Python list:
And here is the same return value as a Lisp S-Expression:
SCENE-GRAPH
OBJECTS-LIST
The scene objects function returns the PDDL objects for the scene. The return value is a list where each element is another list beginning with the object type and followed by all objects of that type.
The following examples show the object lists objects "block_a", "block_b" and "block_c" of type "BLOCK", and "location_0", "location_1", and "location_2" of type "LOCATION".
Here is an example return value as a Python list:
And here is the same value as an S-Expression:
These example values correspond to the following PDDL :objects
clause:
SCENE-GRAPH, CONFIGURATION, OPERATOR
PLAN
The refine operator function computes the motion plan instantiations of task operators.