amino
Lightweight Robot Utility Library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Amino

Amino is package of basic utilites for robotics software. It includes mathematical and linear algebra routines, memory management, and time-handling. Design goals are easy integration, efficiency, and simplicity.

Features

Visualization

  • Import robot models from:
  • Online 3D visualization using OpenGL and SDL
  • High-quality ray-traced output using POV-ray
    • Network distributed rendering
    • Movie generation using libav
See also
Viewer GUI
scenegraph.h
scene_win.h

Motion Planning Interface

See also
scene_collision.h
scene_planning.h

Extensive SE(3) Support

  • Menagerie of Representations:
    • Rotation and Transformation Matrices
    • Ordinary Quaternions
    • Dual Quaternions
    • Quaternion-Vector
    • Axis-Angle / Rotation-Vector / Log-map
    • Euler Angles
  • Derivatives and Exact Integration
  • Numerically stable logarithm and exponential
See also
tf.h

Region-based Memory Allocation

  • Container for LIFO-ordered memory allocation
  • O(1) allocation and deallocation
See also
mem.h

Linear Algebra

Amino provides some light-weight wrappers over BLAS and LAPACK plus a few other convenience routines. Care is taken to avoid heap-allocation in all calls, making performance suitable for real-time operation.

  • Lightweight LAPACK wrapper: Handles work-array creation for LAPACK using memory regions
  • Multiple Runge-Kutta integrators, including adaptive integrators
See also
math.h