![]() |
amino
1.0-beta2
Lightweight Robot Utility Library
|
Basic utilities, numerics, and kinematics
[function]
duqu: (object) => result
Convert OBJECT to a dual quaternion.
e
[function]
euler_zyx: (object) => result
Convert OBJECT to an Euler Z-Y-X (aka yaw-pitch-roll) angle.
f
[function]
frame_fixed: (parent name tf) => result
[function]
frame_fixed_tf: (frame) => result
Return the fixed portion of the frame's relative transform.
f
[function]
frame_isa: (frame type) => result
Test if FRAME is of the given TYPE.
g
[function]
geom_box: (options dimension) => result
Construct a geometrix box.
g
[function]
geom_cone: (options height start-radius end-radius) => result
Construct a geometrix cone.
g
[function]
geom_cylinder: (options height radius) => result
Construct a geometrix cylinder.
g
[function]
geom_grid: (options dimension delta width) => result
Construct a geometrix grid.
g
[function]
geom_mesh: (options mesh) => result
Construct a geometrix mesh.
g
[function]
geom_sphere: (options radius) => result
Construct a geometrix sphere.
i
[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
[function]
load_scene: (filename) => result
Load the scene graph from FILENAME.
m
[function]
map_frames: (function scene-graph) => result
Apply FUNCTION to every frame in SCENE-GRAPH.
m
[generic-function]
motion_plan: (sub-scene-graph start-configuration goal &key timeout simplify) => result
[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
[function]
motion_plan_endpoint: (motion-plan) => result
Return the endpoint of a motion plan.
m
[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
[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
[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
[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
[function]
scene_add_geom: (scene frame-name geom) => result
Add GEOM to SCENE, attached at FRAME-NAME.
s
[function]
scene_chain: (scene root tip) => result
Create a kinematic chain from ROOT to TIP.
s
[function]
scene_tf_abs: (scene config name) => result
Return the absolute transform of the given frame.
s
[function]
scene_tf_rel: (scene config parent child) => result
Return the relative transform from parent to child.
s
[function]
shape_is_box: (shape) => result
Test if SHAPE is a box.
s
[function]
shape_is_cone: (shape) => result
Test if SHAPE is a cone.
s
[function]
shape_is_cylinder: (shape) => result
Test if SHAPE is a cylinder.
s
[function]
shape_is_grid: (shape) => result
Test if SHAPE is a grid.
s
[function]
shape_is_mesh: (shape) => result
Test if SHAPE is a mesh.
s
[function]
shape_is_sphere: (shape) => result
Test if SHAPE is a sphere.
s
[function]
shape_is_text: (shape) => result
Test if SHAPE is a text.
t
[function]
tf: (object) => result
Convert OBJECT to the standard transform type.
t
[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
[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
[function]
vec: (&rest elements) => result
Create a numerical vector composted of ELEMENTS. Examples: vec(1,2,3) => [1.0, 2.0, 3.0]
v
[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
[function]
win_run_async: () => result
Run the OpenGL in a background thread.
w
[function]
win_run_sync: () => result
Run the OpenGL in the current thread.
w
[function]
win_set_scene: (scene) => result
Set the scene to display in the OpenGL window.
w
[function]
win_view_collision: () => result
View collision geometry in the OpenGL window.
w
[function]
win_view_visual: () => result
View visual geometry in the OpenGL window.
w
[function]
write_scene: (scene filename) => result
Write the SCENE to FILENAME.
x
[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
[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
[function]
zangle: (angle) => result
Create a rotation of ANGLE about the Z axis. Examples: zangle(math.p) => #S(AMINO:Z-ANGLE :VALUE 3.141592653589793d0)