Articulated Rigid Body (ARB)
Compact C++ articulated rigid body simulation library implementing:
- Articulated-body algorithm (ABA) - $O(N_B)$ forward dynamics for kinematic trees,
- Composite Rigid-Body Algorithm (CRBA) - $O(N_B^2)$ joint-space inertia matrix $M(q)$ for kinematic trees.
- Recursive Newton-Euler algorithm (RNEA) - $O(N_B)$ inverse dynamics for kinematic trees,
- Spatial algebra implementation (header-only),
- End-to-end automatic differentiability using autodiff (header-only),
- Collision Resolution โ spatial impulses, GJK/EPA, and 4-point persistent contact manifolds,
- Unified Robot Description Format (URDF) import and export.
End-to-end automatic differentiation enables derivatives to propagate through the physics pipeline supporting system identification, gradient based optimisation, and machine learning applications.
Minimal dependencies: STL, glm, (autodiff, openGJK, and libccd optional).
Visual Demos
Simulating a simple real-world robot - the UR5:
https://youtu.be/mSGq3sTns7I
**Rigid bodyโฆ