Documentation
About
Ravelin is a library for multi-rigid body (robot) kinematics and dynamics. Ravelin was spun-off from the Moby simulator and provides the following features:
- Straightforward semantics on memory allocation toward programming for real-time systems
- Rigid body kinematics and dynamics computation, including poses, velocities, accelerations, inertias (both rigid body and articulated body), momenta, and forces
- Currently supports revolute, prismatic, spherical, ball-and-socket, universal, and fixed joints
- Bodies can have "floating" bases and kinematic loops
- Forward dynamics can be computed in minimal coordinates (using the Composite Rigid Body and Featherstone's Articulated Body algorithms), in absolute coordinates, or using a mixture of the two (useful for bodies with kinematic loops)
- Inverse dynamics can be computed using the Recursive Newton-Euler Algorithm
- Frame checking: operations on kinematic and dynamic quantities defined in different frames throw exceptions
Matrix/vector arithmetic and linear algebra
Ravelin's matrix/vector arithmetic and linear algebra use very reliable BLAS and LAPACK libraries. The following features are provided:
- Efficient block operations on matrices and vectors (similar to Eigen's segment() and block() functions)
- Minimum templated C++ code for fast compilation
- Iterators, which provides compatibility with STL and Boost algorithms
Alternative libraries
Some libraries that provide similar functionality: