We revisit the concept of constraint embedding as a means for dealing with kinematic loop constraints during dynamics computations for rigid-body systems. Specifically, we consider the local loop constraints emerging from common actuation sub-mechanisms in modern robotics systems (e.g., geared motors, differential drives, and four-bar mechanisms). However, rather than develop the concept of constraint embedding from the perspective of graphical analysis, we present a novel analysis of constraint embedding that generalizes the traditional concepts of joint models and motion/force subspaces between individual rigid bodies to generalized joint models and motion/force subspaces between groups of rigid bodies subject to loop constraints. The generalized concepts are used in a self-contained, articulated-body-based derivation of the constraint-embedding-based recursive algorithm for forward dynamics. The derivation represents the first assembly method to demonstrate the recursivity of articulated inertia computation in the presence of loop constraints. We demonstrate the broad applicability of the generalized joint concepts by showing how they also lead to the constraint-embedding-based recursive algorithm for inverse dynamics. Lastly, we benchmark our open-source implementation in C++ for the forward dynamics algorithm against a state-of-the-art, non-recursive algorithm. Our benchmarking validates that constraint embedding outperforms the non-recursive alternative in the case of local kinematic loops.
翻译:暂无翻译