tmkit  0.0.1-alpha1
A Task-Motion Planning Framework
 All Data Structures Files Functions Enumerations Enumerator Pages
TMKit Domain Semantics API (Python)

Table of Contents

SMT-based planner

The tmsmtpy dictionary

PlanningFailure

[function]

PlanningFailure: (&optional value) => result
Create an exception indicating motion planning failure.

bind_collision_constraint

[function]

bind_collision_constraint: (function) => result
Bind FUNCTION as the collision constraint generator.

bind_goal_state

[function]

bind_goal_state: (function) => result
Bind FUNCTION as the goal state function.

bind_refine_operator

[function]

bind_refine_operator: (function operator) => result
Bind FUNCTION as the refinement function for OPERATOR.

bind_scene_objects

[function]

bind_scene_objects: (function) => result
Bind FUNCTION as the scene objects function.

bind_scene_state

[function]

bind_scene_state: (function) => result
Bind FUNCTION as the scene state function.

collect_frame_type

[function]

collect_frame_type: (scene type) => result
Return all frames in SCENE of the given TYPE.

frame_fixed_tf

[function]

frame_fixed_tf: (frame) => result
Return the fixed portion of the frame's relative transform.

frame_isa

[function]

frame_isa: (frame type) => result
Test if FRAME is of the given TYPE.

inverse

[function]

inverse: (x) => result
Compute the inverse of X.
Examples:
    inverse(xangle(1)) =>
        #S(AMINO:QUATERNION
           :DATA #(-0.479425538604203d0 -0.0d0 -0.0d0 0.8775825618903728d0))
    inverse(tf2(xangle(1),[1,2,3]))
        #S(AMINO:QUATERNION-TRANSLATION
           :QUATERNION #S(AMINO:QUATERNION
                          :DATA #(-0.479425538604203d0 -0.0d0 -0.0d0 0.8775825618903728d0))
           :TRANSLATION #S(AMINO:VEC3
                           :DATA #(-1.0d0 -3.605017566159969d0 0.06203505201137416d0)))

mangle

[function]

mangle: (&rest args) => result
Convert ARGS in to a valid PDDL/SMTlib symbol.
Examples:
    mangle('a', 'b') => 'a__b'

map_frames

[function]

map_frames: (function scene-graph) => result
Apply FUNCTION to every frame in SCENE-GRAPH.

motion_plan

[generic-function]

motion_plan: (sub-scene-graph start-configuration goal &key timeout simplify) => result

motion_plan

[method]

motion_plan: (sub-scene-graph start-configuration (goal quaternion-translation) &key timeout simplify) => result
Compute a motion plan to a workspace goal.
If motion planning fails, return False.

motion_plan_endpoint

[function]

motion_plan_endpoint: (motion-plan) => result
Return the endpoint of a motion plan.

mul

[function]

mul: (&rest args) => result
Generically multiply ARGS.
Examples:
    mul(xangle(1),yangle(2)) =>
        #S(AMINO:QUATERNION
           :DATA #(0.2590347239999257d0 0.7384602626041288d0 0.4034226801113349d0
                   0.4741598817790379d0))
    mul(tf2(xangle(1),[1,2,3]), tf2(1,[4,5,6])) =>
        #S(AMINO:QUATERNION-TRANSLATION
           :QUATERNION #S(AMINO:QUATERNION
                          :DATA #(0.479425538604203d0 0.0d0 0.0d0
                                  0.8775825618903728d0))
           :TRANSLATION #S(AMINO:VEC3
                           :DATA #(5.0d0 -0.3473143795066811d0 10.449168759248321d0)))

op_motion

[function]

op_motion: (previous-op sub-scene-graph goal) => result
Create a motion-plan task-motion operator.

op_nop

[function]

op_nop: (scene config) => result
Create a NO-OP task-motion operator.

op_reparent

[function]

op_reparent: (previous-op parent frame) => result
Create a reparent task-motion operator.

op_tf_abs

[function]

op_tf_abs: (operator frame) => result
Return the absolute pose of FRAME after OPERATOR.

op_tf_rel

[function]

op_tf_rel: (operator parent child) => result
Return the absolute pose of from parent to child after OPERATOR.

plan

[function]

plan: (&rest operators) => result
Create a plan consisting of task-motion OPERATORS.

quat

[function]

quat: (object) => result
Convert OBJECT to a quaternion.
Examples:
    quat([1,0,0,0]) =>
        #S(AMINO:QUATERNION :DATA #(1.0d0 0.0d0 0.0d0 0.0d0))
    quat(1) =>
        #S(AMINO:QUATERNION :DATA #(0.0d0 0.0d0 0.0d0 1.0d0))
    quat(xangle(math.pi)) =>
        #S(AMINO:QUATERNION :DATA #(1.0d0 0.0d0 0.0d0 6.123233995736766d-17))

rotation

[function]

rotation: (transform) => result
Extract the rotation part of TRANSFORM.
Examples:
    rotation(tf2(1, [1,2,3])) =>
        #S(AMINO:QUATERNION :DATA #(0.0d0 0.0d0 0.0d0 1.0d0))
    tf2(1, [1,2,3]).rotation =>
        #S(AMINO:QUATERNION :DATA #(0.0d0 0.0d0 0.0d0 1.0d0))

scene_chain

[function]

scene_chain: (scene root tip) => result
Create a kinematic chain from ROOT to TIP.

scene_tf_abs

[function]

scene_tf_abs: (scene config name) => result
Return the absolute transform of the given frame.

scene_tf_rel

[function]

scene_tf_rel: (scene config parent child) => result
Return the relative transform from parent to child.

shape_is_box

[function]

shape_is_box: (shape) => result
Test if SHAPE is a box.

shape_is_cone

[function]

shape_is_cone: (shape) => result
Test if SHAPE is a cone.

shape_is_cylinder

[function]

shape_is_cylinder: (shape) => result
Test if SHAPE is a cylinder.

shape_is_grid

[function]

shape_is_grid: (shape) => result
Test if SHAPE is a grid.

shape_is_mesh

[function]

shape_is_mesh: (shape) => result
Test if SHAPE is a mesh.

shape_is_sphere

[function]

shape_is_sphere: (shape) => result
Test if SHAPE is a sphere.

shape_is_text

[function]

shape_is_text: (shape) => result
Test if SHAPE is a text.

tf

[function]

tf: (object) => result
Convert OBJECT to the standard transform type.

tf2

[function]

tf2: (rotation translation) => result
Create a standard transform type for ROTATION and TRANSLATION.
Examples:
    tf2(1, [1,2,3]) =>
        #S(AMINO:QUATERNION-TRANSLATION
           :QUATERNION #S(AMINO:QUATERNION :DATA #(0.0d0 0.0d0 0.0d0 1.0d0))
           :TRANSLATION #S(AMINO:VEC3 :DATA #(1.0d0 2.0d0 3.0d0)))
    tf2(xangle(math.pi), [1,2,3]) =>
        #S(AMINO:QUATERNION-TRANSLATION
           :QUATERNION #S(AMINO:QUATERNION
                          :DATA #(1.0d0 0.0d0 0.0d0 6.123233995736766d-17))
           :TRANSLATION #S(AMINO:VEC3 :DATA #(1.0d0 2.0d0 3.0d0)))

translation

[function]

translation: (transform) => result
Extract the TRANSLATION part of TRANSFORM.
Examples:
    translation(tf2(1, [1,2,3])) =>
        #S(AMINO:VEC3 :DATA #(1.0d0 2.0d0 3.0d0))
    tf2(1, [1,2,3]).translation =>
        #S(AMINO:VEC3 :DATA #(1.0d0 2.0d0 3.0d0))

vec

[function]

vec: (&rest elements) => result
Create a numerical vector composted of ELEMENTS.
Examples:
    vec(1,2,3) =>
        [1.0, 2.0, 3.0]

vec3

[function]

vec3: (object) => result
Convert OBJECT to a VEC3.
Examples:
    vec3([1,2,3]) =>
        #S(AMINO:VEC3 :DATA #(1.0d0 2.0d0 3.0d0))

xangle

[function]

xangle: (angle) => result
Create a rotation of ANGLE about the X axis.
Examples:
    xangle(math.pi) =>
        #S(AMINO:X-ANGLE :VALUE 3.141592653589793d0)

yangle

[function]

yangle: (angle) => result
Create a rotation of ANGLE about the Y axis.
Examples:
    yangle(math.pi) =>
        #S(AMINO:Y-ANGLE :VALUE 3.141592653589793d0)

zangle

[function]

zangle: (angle) => result
Create a rotation of ANGLE about the Z axis.
Examples:

zangle(math.p) =>
    #S(AMINO:Z-ANGLE :VALUE 3.141592653589793d0)