amino  1.0-beta2
Lightweight Robot Utility Library
Amino CLPython API

Basic utilities, numerics, and kinematics

The aminopy dictionary

duqu

[function]

duqu: (object) => result
Convert OBJECT to a dual quaternion.

e

uler_zyx

[function]

euler_zyx: (object) => result
Convert OBJECT to an Euler Z-Y-X (aka yaw-pitch-roll) angle.

f

rame_fixed

[function]

frame_fixed: (parent name tf) => result

frame_fixed_tf

[function]

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

f

rame_isa

[function]

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

g

eom_box

[function]

geom_box: (options dimension) => result
Construct a geometrix box.

g

eom_cone

[function]

geom_cone: (options height start-radius end-radius) => result
Construct a geometrix cone.

g

eom_cylinder

[function]

geom_cylinder: (options height radius) => result
Construct a geometrix cylinder.

g

eom_grid

[function]

geom_grid: (options dimension delta width) => result
Construct a geometrix grid.

g

eom_mesh

[function]

geom_mesh: (options mesh) => result
Construct a geometrix mesh.

g

eom_sphere

[function]

geom_sphere: (options radius) => result
Construct a geometrix sphere.

i

nverse

[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)))

l

oad_scene

[function]

load_scene: (filename) => result
Load the scene graph from FILENAME.

m

ap_frames

[function]

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

m

otion_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.

m

otion_plan_endpoint

[function]

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

m

ul

[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)))

q

uat

[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))

r

otation

[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))

s

cene

[function]

scene: (&rest things) => result
Construct a new scene graph containing THINGS.

THINGS may include other scene graphs, individual frames, or files to
load.

s

cene_add_geom

[function]

scene_add_geom: (scene frame-name geom) => result
Add GEOM to SCENE, attached at FRAME-NAME.

s

cene_chain

[function]

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

s

cene_tf_abs

[function]

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

s

cene_tf_rel

[function]

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

s

hape_is_box

[function]

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

s

hape_is_cone

[function]

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

s

hape_is_cylinder

[function]

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

s

hape_is_grid

[function]

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

s

hape_is_mesh

[function]

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

s

hape_is_sphere

[function]

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

s

hape_is_text

[function]

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

t

f

[function]

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

t

f2

[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)))

t

ranslation

[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))

v

ec

[function]

vec: (&rest elements) => result
Create a numerical vector composted of ELEMENTS.

Examples:

    vec(1,2,3) =>
        [1.0, 2.0, 3.0]

v

ec3

[function]

vec3: (object) => result
Convert OBJECT to a VEC3.

Examples:

    vec3([1,2,3]) =>
        #S(AMINO:VEC3 :DATA #(1.0d0 2.0d0 3.0d0))

w

in_run_async

[function]

win_run_async: () => result
Run the OpenGL in a background thread.

w

in_run_sync

[function]

win_run_sync: () => result
Run the OpenGL in the current thread.

w

in_set_scene

[function]

win_set_scene: (scene) => result
Set the scene to display in the OpenGL window.

w

in_view_collision

[function]

win_view_collision: () => result
View collision geometry in the OpenGL window.

w

in_view_visual

[function]

win_view_visual: () => result
View visual geometry in the OpenGL window.

w

rite_scene

[function]

write_scene: (scene filename) => result
Write the SCENE to FILENAME.

x

angle

[function]

xangle: (angle) => result
Create a rotation of ANGLE about the X axis.

Examples:

    xangle(math.pi) =>
        #S(AMINO:X-ANGLE :VALUE 3.141592653589793d0)

y

angle

[function]

yangle: (angle) => result
Create a rotation of ANGLE about the Y axis.

Examples:

    yangle(math.pi) =>
        #S(AMINO:Y-ANGLE :VALUE 3.141592653589793d0)

z

angle

[function]

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

Examples:

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