Constrained Articulated Body Algorithms for Closed-Loop Mechanisms
Ajay Suresha Sathya, Justin Carpentier
AI summary
Problem
Existing efficient recursive dynamics algorithms fail to handle internal kinematic loops or become numerically unstable at singularities, hindering high-frequency simulation and control for modern complex robots.
Approach
The authors derive LCABA and proxBBO by applying nonserial dynamic programming and proximal dynamics formulations to solve constrained forward dynamics for closed-loop mechanisms.
Key results
- LCABA achieves O(n+m) best-case complexity for internal loops
- proxBBO generalizes the classic BBO algorithm to handle singular cases robustly
- Open-source C++ implementations integrated into the Pinocchio library
- Benchmarks demonstrate over 6× speedup for high-degree-of-freedom robots with internal loops
Why it matters
Accelerates real-time simulation and control for complex robots, enabling advanced applications like model-predictive control and reinforcement learning on resource-constrained hardware.
Abstract
Efficient rigid-body dynamics algorithms are in- strumental in enabling high-frequency dynamics evaluation for resource-intensive applications (e.g., model-predictive control, large-scale simulation, and reinforcement learning), potentially on resource-constrained hardware. Existing recursive algorithms with low computational complexity are mostly restricted to kine- matic trees with external contact constraints or are sensitive to singular cases (e.g., linearly dependent constraints and kinematic singularities), severely impacting their practical usage in existing simulators. This article introduces two original low-complexity recursive algorithms: the loop-constrained articulated body algo- rithm and proximal BBO (Brandl, Bae, and others), both based on a proximal dynamics formulation for forward simulation of closed-loop mechanisms. These algorithms are derived from first principles using nonserial dynamic programming, exhibit linear complexity in practical scenarios, and are numerically robust in the face of singular cases. They extend the existing constrained articulated body algorithm to handle internal loops and the pi- oneering BBO algorithm from the 1980s to singular cases. Both algorithms have been implemented by leveraging the open-source Pinocchio library, benchmarked in detail, and demonstrate state- of-the-art performance for various robot topologies, including over 6× speed-ups compared to existing nonrecursive algorithms for high-degree-of-freedom systems with internal loops, such as recent humanoid robots.