amino
Lightweight Robot Utility Library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
/home/ntd/git/amino/doc/md/mainpage.md
1 Amino {#mainpage}
2 =================
3 
4 Amino is package of basic utilites for robotics software. It
5 includes mathematical and linear algebra routines, memory
6 management, and time-handling. Design goals are easy integration,
7 efficiency, and simplicity.
8 
9 - **Source Code:** https://github.com/golems/amino
10 - **License:** 3-clause BSD (permissive)
11 
12 \htmlonly
13 <iframe src="carousel.html" style="float:right" width="640" height="480"></iframe>
14 \endhtmlonly
15 
16 
17 Features
18 ========
19 
20 Extensive SE(3) Support
21 -----------------------
22 
23 * Menagerie of Representations:
24  - Rotation and Transformation Matrices
25  - Ordinary Quaternions
26  - Dual Quaternions
27  - Quaternion-Vector
28  - Axis-Angle / Rotation-Vector / Log-map
29  - Euler Angles
30 * Derivatives and Exact Integration
31 * Numerically stable log and exponential
32 
33 \sa amino/tf.h
34 
35 Visualization
36 -------------
37 * Import robot geometry from URDF and mesh files
38 * Real-time visualization via OpenGL and SDL
39 * Offline raytracing via POV-ray
40 * Distribute POV-ray rendering over multiple machines
41 
42 Region-based Memory Allocation
43 ------------------------------
44 
45 * Container for LIFO-ordered memory allocation
46 * O(1) allocation and deallocation
47 
48  \sa amino/mem.h
49 
50 Linear Algebra
51 ---------------
52 
53 Amino provides some light-weight wrappers over BLAS and LAPACK plus
54 a few other convenience routines. Care is taken to avoid
55 heap-allocation in all calls, making performance suitable for
56 real-time operation.
57 
58 * Lightweight LAPACK wrapper:
59  Handles work-array creation for LAPACK using memory regions
60 * Multiple Runge-Kutta integrators, including adaptive integrators
61 
62 \sa amino/math.h