Abstract
This is the second part of a two-part paper that develops graph theoretic techniques for the topological transformation and analysis of multibody system dynamics. The first part focused on tree systems, and developed systematic and rigorous techniques for the partitioning, aggregation and sub-structuring of multibody dynamics models. This second part, uses the aggregation techniques as the foundation to develop the constraint-embedding technique that enables the transformation of the non-tree system graphs into tree graphs. This enables the application of a large family of analytical and computational techniques for trees to closed-chain systems. This is illustrated through an extension of the low-order articulated-body forward dynamics algorithm for tree systems to closed-chain systems.
1 Introduction
The notion of SKO models have been shown to provide a general way of deriving a broad range of analytical and algorithmic techniques for tree multibody systems, while requiring few assumptions on the underlying low-level properties of the system [7, 8, 10, 11]. This remarkable consistency persists despite significant differences in the component structure of the corresponding spatial operators across the systems. The development of SKO models is based on connections between graph theory ideas and the structural properties of tree multibody system dynamics models. The first of this two-part paper [9], further extends the SKO model ideas to develop topological transformation techniques for the partitioning, aggregation and sub-structuring of SKO models.
This paper builds upon the sub-graph aggregation ideas to extend the notion of SKO models to non-tree, closed-chain systems. The benefit of this extension is that the large family of SKO model based analysis and computational techniques for tree-systems become readily applicable to closed-chain systems. Further it allows the closed-chain dynamics formulation to be based on minimal coordinates and ordinary differential equations and avoids the need for over-parametrized differential algebraic equation (DAE) formulations [4, 15, 16]. The proposed technique provides the most computational benefit for closed-chain systems with topologies containing isolated, small to moderate sized loops. While the theory also applies to topologies with large loops and mesh like coupled loop structure, practical computational considerations limit the benefits for these cases. Our graph techniques based aggregation approach generalizes the forward dynamics constraint embedding technique [6] which in turn was inspired by the Recursive Coordinate Reduction (RCR) algorithm from [2].
The organization of this paper is as follows. We begin by reviewing the aggregation results in Section 2. Section 3 looks in detail at the body level recursive relationships in the aggregated system model. These set the stage for the development of the constraint embedding techniques in Section 4. Examples of the application of constraint embedding are described in Section 5. Section 6 provides an overview of the mass matrix factorization and inversion techniques and the resulting AB forward dynamics model for tree SKO models. The application of these analytical results and computational algorithms to the closed-chain SKO model is discussed in Section 7. Section 8 discusses details of computing time derivatives of quantities needed in the constraint embedding process, while Section 9 discusses generalizations of the constraint embedding technique.
2 Multibody system aggregation overview
We begin with a brief overview of the discussion from the first part of this paper [9] which studied the partitioning of tree multibody systems and derived expressions for the resulting partitioned structure of their SKO models.
An SKO model for an n-links tree-topology multibody system consists of the following:
A tree digraph reflecting the bodies and their connectivity in the system.
An ℰ
SKO operator and associated SPO operator,
.A full-rank block-diagonal, joint map matrix operator, H.
A block-diagonal and positive-definite spatial inertia operator, M.
-
Stacked vectors: θ̇ denoting independent generalized velocities, J the generalized forces,
the body velocities, α the body accelerations,
the inter-body forces,
the body Coriolis accelerations,
the body gyroscopic forces the system,
the number of degrees of freedom, and the equations of motion defined as:
(1) Thus,(2) Where(3) ℳ is the symmetric and positive-definite mass matrix for the tree system and C is the vector of nonlinear Coriolis and gyroscopic velocity dependent terms. Eq. 3 is the Newton-Euler operator factorization of the mass matrix.
SKO models are also referred to by the (H,
, M) triplet of operators that define them.
Reference [9] showed that a path-induced sub-graph1
partitions the nodes in a tree digraph into a parent sub-graph, P, and child sub-graph, C, that are themselves path-induced. For tree multibody systems, the SKO model for the full system was shown to be expressible using the SKO models of the partitioned subsystems. The partitioning technique was used to develop techniques for sub-structuring a multi-body SKO model by aggregating sub-graphs into single variable-geometry bodies. This section summarizes the aggregation results which will be used to develop constraint embedding techniques in subsequent sections.
The key difference between the aggregated and the original tree is that the former treats the set of bodies in
as a single body. The aggregation process provides a way of transforming and sub-structuring SKO models for tree-topology multibody systems into coarser SKO models. The aggregation process induces the following partitioning of the θ̇,
,
and J stacked vectors across the original, the parent and the child sub-graphs:
| (4) |
For the

aggregated tree, the

, θ̇
, etc., sub-vectors of the
and θ̇ stacked vectors correspond to the single
aggregate link. This partitioning of the system-level θ̇ and
stacked vectors extends to other stacked vectors such as the Coriolis spatial accelerations vector
, the gyroscopic spatial forces vector
, and to the other spatial operators.
The following defines the aggregation condition for sub-graphs.
Assumption 1 (Aggregation Condition)
A sub-graph
, of a tree digraph
, is said to satisfy the aggregation condition if:
is an induced sub-graph, i.e.,
≡
I.℘(
) contains exactly one node — one that is necessarily the ancestor of all the nodes in
.
Lemma 1 Tree property after sub-graph aggregation
Let
denote an induced sub-graph of a tree digraph
. Let us assume that
is aggregated to create a new

digraph with aggregated node
. Then, the aggregated

digraph is a tree if and only if
satisfies the aggregation condition.
Proof See [9].
The aggregation sub-graph, for a sub-graph
of a tree, is defined as the minimal sub-graph containing
that also satisfies the aggregation condition. The aggregation sub-graph of a sub-graph
is denoted
A.
Lemma 2 SKO operator for

tree
With
satisfying the aggregation condition, define the ℰ
a matrix as follows:
| (5) |
where ℰ
C and ℰ
P denote SKO operators for the C and P sub-graphs,

is the SPO operator for the
sub-graph, and ℬ
, E
are connector blocks. The following facts hold for ℰ
a:
ℰ
a is an SKO operator for the original tree,
.ℰ
a is an SKO operator for the aggregated tree,

.
Proof See [9].
Lemma 3 The
a SPO operator for the

tree
Using the same assumptions and notation from Lemma 2, the SPO operator,
a, for

is given by the following expression:
| (6) |
where
C and
P denote SPO operators for the C and P sub-graphs.
Proof See [9].
Next, lemma 4 shows that the transformed system with the aggregated tree possesses a well-defined SKO model, and defines the equations of motion for the model.
Lemma 4 SKO model for an aggregated tree
Let (H,
, M) denote an SKO model with tree digraph
. Let
be a sub-graph of
satisfying the aggregation condition. Then the (Ha,
a, M) spatial operators define an SKO model for the

aggregated tree, where
| (7) |
Ha defines the new joint map matrix for the

aggregated tree, with HC, H
, and HP denoting the component joint map matrices. The transformed version of the equations of motion from Eq. 1 are given by:
| (8) |
Thus,
| (9) |
with
| (10) |
The mass matrix expression above represents the Newton-Euler operator factorization of the mass matrix for the SKO model of the aggregated system.
Proof
3 Aggregation relationships at the component level
W now examine the component level recursive relationships between the bodies in the aggregated SKO model. The parent link for the
aggregate link is denoted p, while c denotes a child body of
. Also,
denotes a body in the
sub-graph that is a child of p, i.e., a base-body in the
sub-graph. Body
in the
sub-graph denotes the parent of body c. This notation is illustrated in Figure 1. We focus only on the component-level relationships involving the aggregated body and its adjacent bodies since these relationships are the only ones effected by the aggregation process. The relationships involving non-aggregated links alone remain unchanged.
Fig. 1.
Body indexing scheme for the
aggregation sub-graph
3.1 Velocity relationships
The following link-to-link spatial velocity recursive relationship holds between adjacent bodies in the original
tree:
| (11) |
We will use it to derive velocity relationships for the
aggregated body and its adjacent bodies in the

tree. First, let us develop a recursive relationship for

. Assembling Eq. 11 for all the links in
, we obtain the following relationship for


| (12) |
This implicit relationship for

involves quantities associated with nodes in the

aggregated tree rather than the nodes in the
spanning tree. E
is the connector block matrix for the coupling between the
aggregated body and its p parent body. While the Eq. 12 expression for E
shows only a single
(p,
) non-zero entry, more generally, it will have a non-zero entry for each base-body in
at locations corresponding to the indices for the base-bodies. Since ℰ
is an SKO operator, we can use the

≜ (I − ℰ
)−1 expression to convert the implicit form of Eq. 12 into the following explicit expression:
| (13) |
The form of Eq. 13 is similar to Eq. 11. It defines how the spatial velocity of the parent body p couples into the aggregated body
. From this expression, we infer that E

is the
(p,
) SKO weight matrix associated with the
and p adjacent body pair in

, i.e.,
| (14) |
Observe that the E

weight matrix also appears in the partitioned expression for the ℰ
aggregated SKO operator in Eq. 5.
The
(c) spatial velocity of the child link c depends on the spatial velocity of its parent link
in the
sub-graph. The Eq. 11 relationship for link c can be restated as:
| (15) |
The form of this new relationship is similar to Eq. 11 and defines how the velocities of the
parent body couple into the child body c. Eq. 15 involves quantities associated with nodes in the

aggregated tree rather than quantities associated with nodes in the
spanning tree. ℬc is the connector block matrix for the coupling between the c body and its parent body
. From this expression, we infer that ℬc is the
(
, c) SKO weight matrix associated with the c and
adjacent pair of bodies, i.e.,
| (16) |
There is one ℬc matrix for each child body c in ∁(
). The ℬc matrices for all the children bodies make up the columns of the ℬ
matrix in the partitioned expression for ℰ
in Eq. 5.
Gathering together the expressions in Eq. 13 and Eq. 15, the spatial velocity relationship between the
aggregate link and its adjacent links p and c are as follows:
| (17) |
3.2 Acceleration relationships
The following link-to-link spatial acceleration relationship holds for bodies in the original
tree:
| (18) |
Assembling Eq. 18 for all the links in
, we obtain the following implicit relationship for α
:
| (19) |
Once again using the

≜ (I − ℰ
)−1 expression, we can convert the implicit form above into the following explicit expression:
| (20) |
Similarly, the spatial acceleration relationship between body
and its child body c takes the form:
| (21) |
Both Eq. 20 and Eq. 21 have the familiar recursive form of Eq. 18, except that they are for the

aggregated tree instead of the original
tree.
3.3 Force relationships
We now examine the transformed spatial force expressions for the aggregated body. For this, we need the spatial inertia term, M
, for the aggregate link. M
is simply the partitioned sub-block of the block-diagonal M corresponding to the
aggregated body in

. The link-to-link spatial force relationships for bodies in the original
tree are as follows:
| (22) |
Assembling these expressions for all the links in
, we obtain the following relationships for

:
Using

≜ (I − ℰ
)−1 leads to the following explicit form:
| (23) |
Similarly, the spatial force relationship between the
and p bodies can be expressed as:
| (24) |
Taken together, Eq. 23 and Eq. 24 define the spatial force relationships involving the aggregated body and its adjacent links. These expressions have the recursive structure of Eq. 22. They are component-level versions of the equivalent operator expressions for the SKO model in Eq. 8. They define the altered steps for aggregated bodies in the computational algorithms derived from the SKO model formulation.
4 Constraint embedding
The notion of SKO models has so far been restricted to multibody systems with tree digraphs. Since the standard digraph2 for closed-chain systems is not a tree, SKO models cannot be directly defined for them. In the following sections, we use the aggregation technique for tree systems to develop a constraint embedding strategy that allows us to develop SKO models for closed-chain systems.
4.1 Closed-chain system dynamics
There is a wide gap between the rich set of analysis techniques and algorithms available for the dynamics of multibody systems with tree-topologies and the more limited set available for closed-graph topology systems. While absolute coordinate formulations utilizing non-minimal generalized coordinates lead to differential algebraic equation (DAE) forms of equations of motion for tree-topology systems, the alternative SKO model minimal coordinates formulation for the same system can be described using nonlinear ordinary differential equations (ODE). A host of analytical and algorithmic techniques for tree systems are a direct consequence of the underlying SKO model structure.
While formulation choice for tree-topology systems can replace a DAE formulation with on ODE one, in contrast, closed-chain formulations typically use non-minimal coordinates DAE formulations [1, 4, 12, 15–17]. Projected dynamics [13] are an alternative minimal coordinate formulation for closed-chain systems where the minimal coordinates are selected using numerical techniques (eg. singular value decomposition) and without accompanying SKO models. The lack of an SKO model for such systems implies that the host of algorithms and analysis techniques for tree systems are not directly available for closed-chain systems. In this section we discuss a constraint embedding approach based on aggregation techniques that allows us to develop SKO models for closed-chain systems, and bridges the gap between tree and closed-chain dynamics formulations.
4.2 Constraint embedding strategy
The constraint embedding strategy is to transform the non-tree closed-chain system into an SKO model. The approach is to isolate non-tree sub-graphs and excise them using aggregation to transform the system digraph into a tree. Once the transformation is complete, an SKO model is developed for the transformed tree. The constraint embedding strategy involves the following steps:
Decompose the non-tree digraph for the system into a spanning tree,
, and a collection of cut-edges for the constraints. The set of cut-edges is usually not unique. Develop an SKO model for the system associated with the spanning tree,
.-
For each cut-edge, identify the aggregation sub-graph,
, for the sub-graph consisting of the node pair for the cut-edge. Figure 2 illustrates minimal and non-minimal choices for an aggregation sub-graph for a system with a loop constraint.A procedure for creating this
aggregation sub-graph is is as follows [9]:Identify the smallest sub-tree that contains the nodes in the cut-edge.
Remove the root node from this sub-tree to obtain the aggregation sub-graph
.
Aggregate
, and use Lemma 4 to derive an SKO model for the

aggregated tree.By construction, the nodes for each cut-edge belong to the internal
sub-graph of the aggregated body. Moreover, by Jain [9], any directed cycles and multiply-connected paths associated with the cut-edge belong to
, since the sub-graph satisfies the aggregation condition and is therefore path-induced. Consequently, the cut-edge constraints can be defined purely in terms of the state of the nodes within the
sub-graph, independent of the rest of the nodes in the system! Once all the cut-edges have been processed, we are left with an aggregated tree containing a set of aggregated nodes, where the sub-graph of each aggregated node has one or more cut-edge constraints internal to it. Figure 3 illustrates the transformation of the original system digraph into a tree with aggregate nodes having internal cut-edge constraints. The next step is to eliminate the constraint from the sub-graph of each aggregated node. This process is described in detail in Section 4.3.
Fig. 2.
Minimal, and non-minimal, choices for a sub-graph that is a an aggregation sub-graph for the cut-edge nodes sub-graph.
Fig. 3.
Transformation of the original digraph of the system into a tree using sub-graph aggregation.
At the conclusion of the constrained embedding process, all of the constraints are absorbed into the aggregated links and subsequently eliminated from the multibody digraph. An SKO model, with minimal coordinates (satisfying the constraints), can now be developed as shown later in Lemma 6. Being an SKO model, all SKO formulation techniques and algorithms can be applied.
Figure 4 illustrates the following additional examples of aggregation sub-graphs for non-tree digraphs:
Fig. 4.
Examples of valid aggregation sub-graphs. For the same digraph in (1), the split sub-graphs are preferable to the combined single sub-graph since the sub-graphs are smaller. Example (2), has a cut-edge across independent trees. In Example (3), a pair of cut-edges share a node and, hence, they must be in the same aggregation sub-graph.
This example contains a pair of cut-edges. Two possible choices of aggregation sub-graphs are shown. One option contains a single aggregation sub-graph with both cut-edges, while the second shows a pair of sub-graphs, each with a single cut-edge. Even though the latter option results in an aggregated tree with an extra node, it is the slightly more preferable option since the aggregation sub-graphs are smaller.
In this example, the cut-edge is between nodes on disconnected systems. In this case, the aggregation sub-graph contains all the ancestor nodes of the cut-edge nodes. The aggregated node is a root node for the SKO-forest of the aggregated tree.
This example shows a digraph in which a pair of cut-edges share a node. In this case, the aggregated sub-graph includes the nodes from both cut-edges, and, unlike example (1), there is no split option possibility for the aggregation sub-graph.
4.3 Embedding constraint sub-graphs
In this section, we describe the process for eliminating the constraints from the aggregation sub-graphs required in step 4 of the constraint embedding strategy in the previous section. We focus our attention on a single constraint cut-edge in the system. The process can be applied repeatedly when there are multiple cut-edge constraints. Let us assume that steps 1-3 in Section 4 have been completed to obtain an aggregated body, with sub-graph
satisfying the aggregation condition. The
aggregation sub-graph has the cut-edge constraints. One consequence of the cut-edge constraints is that the effective degrees of freedom in
is less than the total hinge degrees of freedom in
.
We adopt the body indexing scheme from Section 3 for sub-graph aggregation. The parent link for the
aggregated link is denoted p, while c denotes a child body of
. Also,
denotes a body in the
sub-graph that is a child of p, i.e., a base-body in the
sub-graph. Body
in
sub-graph denotes the parent of body c. This indexing scheme for
is illustrated in Figure 5.
Fig. 5.
Body indexing scheme for the
aggregation sub-graph with its cut-edge
Due to the cut-edge internal constraints on the
, the elements of θ̇
are not independent, but are instead coupled by the constraint. At the coordinate level, the constraint often takes the form of a nonlinear algebraic relationship. However, at the velocity level, the generalized velocities in the system are subject to a linear, configuration dependent constraint. It is possible to partition the θ̇
generalized velocities of the sub-graph into disjoint sets of independent and dependent generalized velocities. The independent set is denoted θ̇R
. They can be used to obtain the dependent generalized velocities satisfying the cut-edge constraints on the sub-graph. In other words, there exists a (configuration dependent) mapping X
such that
| (25) |
In deriving Eq. 25 we have assumed for simplicity that the constraint is catastatic so that the particular solution of the constraint equation is zero. When the constraint sub-graphs are isolated and of moderate size, the constraint elimination process is especially straightforward and computationally inexpensive. Examples of such local loops include constraints associated with geared motors, 4-bar linkages, wishbone suspensions, and differentials, etc.
Using the partitioned structure induced by the
sub-graph, as discussed in Section 3, define
| (26) |
with
| (27) |
θ̇R denotes the minimal size, system-level, generalized velocity stacked vector containing the independent generalized velocities for the constrained system. Observe from Eq. 25 and Eq. 26 that
| (28) |
The following lemma establishes a relationship between the sequence of spatial operators we have introduced during the constraint embedding process.
Lemma 5 Velocity relationships with constraint embedding
We have the following identities for
:
| (29) |
Proof The definitions of
a and Ha in Eq. 6 and Eq. 7 lead to the
identity and the first equality in Eq. 29. The latter part follows from the use of Eq. 28.
The last equality in Eq. 29 depends on only the independent generalized velocities θ̇R for the system. It effectively eliminates the cut-edge constraints on the sub-graph, since independent generalized velocities are minimal and always satisfy the constraint.
The following lemma develops an SKO model for the closed-chain system based on the constraint embedding approach.
Lemma 6 Constraint embedding SKO model
With θ̇R serving as the minimal size generalized velocities, and the

aggregated tree as the system digraph, the spatial operators (HRa,
a, M) define an SKO model for the closed-chain system. The equations of motion are as follows:
| (30) |
Thus,
| (31) |
where
| (32) |
The mass matrix expression above represents the Newton-Euler operator expression for the SKO model mass matrix for the constrained system.
Proof By construction, the
sub-graph satisfies the aggregation condition. Lemma 4 defines an SKO model for the

aggregated tree with equations of motion defined as follows in Eq. 8:
| (33) |
In addition, the θ̇R generalized coordinates are independent and eliminate the cut-edge constraint within
. Since the (Ha,
a, M) spatial operators satisfy the requirements for an SKO model for the

tree digraph, replacing Ha by HRa leaves the required block-diagonal property intact, implying that (HRa,
a, M) also satisfy the SKO model structural requirements.
The first equation in Eq. 30 follows directly from the use of Eq. 29 in the first equation in Eq. 33.
Differentiating Eq. 25 we have
| (34) |
Using this in Eq. 20 leads to
| (35) |
Using this the expression for α in Eq. 33 leads to the corresponding expression in Eq. 30.
The generalized forces vector for the aggregated link with the reduced generalized velocity coordinates, JR
, is defined as
| (36) |
Together these establish all the expressions in Eq. 30. Eq. 32 is a simple assembly of these component relationships.
JR denotes the minimal size, system-level generalized force stacked vector with structure similar to that of θ̇R. Similarly, the
′ stacked vector is a modified version of the
Coriolis acceleration stacked vector with the
term for body
.
This lemma completes the conversion of the original constrained graph multibody model into an unconstrained tree-topology model through constraint embedding. Not only have the constraints been eliminated, but we also have an SKO model for the system and all the SKO techniques and algorithms can be applied.
5 Examples of constraint embedding
There are two important classes of constraints to consider:
Direct joint-level constraints: In this case, the constraints are expressed as a direct (often constant) algebraic relationship between joint angles (e.g., gear-box, differential suspensions).
Loop constraints: In this case, configuration dependent, loop constraints involve nodes on different bodies in the system (e.g., four-bar linkages).
The following sections describe examples for these constraint types. Section 5.1 describes the direct joint-level constraint for a geared link. Section 5.2 and 5.3 examine loop constraints for a planar four-bar linkage with different cut-edge choices. We assume that the bodies in these systems are rigid links, and therefore we switch to the ℰϕ and ϕ notation in place of the abstract ℰ
and
notation.
5.1 Geared links
The motor is mounted on an inboard link driving the outer link for a geared link as shown in Figure 6. This creates a closure constraint between the three bodies. The
aggregation sub-graph consists of the (k − 1)th motor and its driven (k − 1)th link body, with the kth driven link serving as the parent body for the sub-graph. The multibody digraph and its associated spanning tree are illustrated in Figure 7. With θm(k) and θl(k) denoting the generalized coordinates for the kth motor and link pair, and μG(k) the gear ratio, the constraint embedding terms for the geared joints are given by:
Fig. 6.
An internal loop created by a link mounted motor and gear mechanism
Fig. 7.
The figure on the left illustrates the original non-tree digraph associated with geared links systems. The figure on right is the spanning tree digraph for the system.
| (37) |
Observe that X
is constant and configuration independent.
5.2 Planar 4-bar linkage system (terminal cut)
Now consider a four-bar linkage within a system, as illustrated in Figure 8. The aggregation sub-graph consists of links
, k, and l, with the root link being link p. We make a terminal cut at the hinge joining links p and l, to convert the sub-graph into a tree-topology system. The child link c is connected via a hinge to link
. The constraint embedding terms for the four-bar linkage with the terminal cut are as follows:
Fig. 8.
A four-bar mechanism with a terminal cut
| (38) |
In the above, rl and rk are configuration dependent parameters that characterize the ratio of the hinge velocities of the
, k, and l hinges within the planar four-bar linkage. Thus, X
is configuration dependent and not constant.
5.3 Planar 4-bar linkage system (internal cut)
We once again consider the same four-bar linkage. This time an internal cut is made at the hinge joining links k and l. This converts the sub-graph into a tree-topology system, as shown in Figure 9. Hinges
and l connect links
and l to the p parent link. Observe that
is now a forest of two sub-trees, unlike the terminal cut-edge choice in the previous section. One of the trees contains just the body l, while the other contains bodies
and k. The constraint embedding terms for the four-bar linkage with internal cut are as follows:
Fig. 9.
A four-bar mechanism with an internal cut
| (39) |
In comparison to the earlier terminal cut example, the
digraph and the ℰϕ
and ϕ
matrices are simpler here. On the other hand, the E
matrix is more complex. ES contains two non-zero elements, one for each of the base-bodies in the
sub-graph.
6 Recursive AB forward dynamics
Having developed an SKO model for closed-chain systems in Lemma 6 using constraint embedding techniques, all of the SKO model algorithms and analysis techniques are now applicable to the system. We choose the important example of the articulated body AB forward dynamics algorithm for SKO models as an example to illustrate the application of these techniques to closed-chain systems via constraint embedding. The recursive AB algorithm is the fastest available forward dynamics algorithm for tree-topology systems [3, 14]. It represents an O(
) solution to the traditional O(
3) mass matrix based techniques for the same problem. The AB algorithm has been shown to be a natural consequence of an SKO model for the system [7, 8]. The lack of a corresponding AB algorithm for closed-chain systems can be traced to the lack of an SKO model to date for such non-tree systems.
The following sections provide an overview of the mass matrix factorization and AB forward dynamics algorithms for SKO models, followed by its extension to the constraint embedding SKO model.
6.1 Mass matrix factorization and AB algorithm for SKO models
The following Lemma describes the solution to a Riccati equation that is at the heart of the analytic mass matrix inversion technique for SKO models.
Lemma 7 The Riccati equation for SKO models
Let (H,
, M) denote spatial operators for an SKO model. The following Riccati equation has a block-diagonal, symmetric and positive-definite operator solution, P:
| (40) |
The expression in Eq. 40 can be broken down into simpler sub-expressions as follows:
The above sub-expressions define the block-diagonal spatial operators:
| (41) |
The P(k) and other diagonal elements can be computed by the following O(
) tips-to-base gather recursion:
| (42) |
Proof See [5].
Lemma 8 The ℰψ SKO operator
Let ℰA be an SKO operator, and H, M, be compatible operators satisfying the conditions in Lemma 7. Let P denote the block-diagonal solution to the Eq. 40 Riccati equation. Define
| (43) |
Then ℰψ is an SKO operator, with weights and SPO operator ψ, defined by
| (44) |
Moreover, the Eq. 40 Riccati equation can be re-expressed as:
| (45) |
The following lemma derives the mass matrix factorization and inversion properties for SKO models.
Lemma 9 SKO model mass matrix factorization and inversion
Let (H,
, M) denote spatial operators for an SKO model. Recall that its mass-matrix is defined as ℳ = H
M
*H*.
-
The ℳ mass matrix has an alternative Innovations Operator factorization defined by
(46) with K ≜ ℰ
. In this equation,
and K are operators obtained from the solution of the discrete Riccati equation from Lemma 8 for the SKO model. - [I + H
K] is invertible, with inverse given by:
(47) - The mass matrix ℳ is invertible, and the expression for its inverse is
(48)
Proof See [5].
The forward dynamics problem consists of computing the θ̈ generalized accelerations, given the J generalized forces for the system. The following lemma describes an explicit operator expression for θ̈.
Lemma 10 Expression for θ̈ = ℳ−1 (J − C)
The explicit expression for θ̈ is
| (49) |
Proof See [5].
The expression in Eq. 49 implies the recursive O(
) implementation described in Algorithm 6.1 and is known as the AB forward dynamics algorithm for SKO models. The algorithm consists of a tips-to-base gather sweep to compute the residual terms, followed by a base-to-tips scatter sweep for the generalized accelerations.
Algorithm 6.1 (O(
) AB forward dynamics for SKO models)
Compute the articulated body inertia P,
, etc., quantities using the gather algorithm in Eq. 42.Use the following gather and scatter recursions to compute θ̈:
7 Recursive AB forward dynamics with constraint embedding
In this section we apply the AB forward dynamics algorithm to the SKO model developed in Lemma 6.
7.1 Articulated body inertias with constraint embedding
First, we describe the articulated body inertia steps from the Riccati equation, Eq. 42, for the aggregated link
and its adjacent links:
| (50) |
Recall that Eq. 14 and Eq. 16 define the following expressions for
(p,
) and
(
, c).

can be re-expressed as
| (51) |
ℳ
has the structure of a mass matrix for the
sub-graph. The primary difference from the true mass matrix of
is that the central inertia term is P
, instead of the usual ℳ
spatial inertia term. P
includes the articulated body contribution from the descendants of the
body.

is thus the projection of this
mass matrix onto its independent degrees of freedom.
7.2 Mass matrix factorization and inversion with constraint embedding
The Riccati equation solution, and the associated articulated body inertia quantities in Eq. 50, together with Lemma 9, lead to the following Innovations factorization and inversion expressions for the mass matrix of the transformed system:
| (52) |
The ψa,
, and K operators are those associated with the Riccati equation solution in Eq. 50. Continuing on, the explicit expression for the reduced generalized expressions from Lemma 10 takes the form:
| (53) |
Thus, the SKO model for the system has led to an explicit expression for the θ̈R minimal generalized acceleration vector for the closed-chain system.
7.3 AB forward dynamics algorithm with constraint embedding
Eq. 53 can be converted into the AB recursive forward dynamics algorithm as described in Algorithm 6.1. The overall structure of the AB forward dynamics algorithm remains unchanged, with differences only at the steps involving the aggregated body and its neighbors.
The tip-to-base recursion steps from body c to the aggregated link
have the following form:
| (54) |
The tip-to-base recursion steps from body
to body p are as follows:
| (55) |
The base-to-tip accelerations sweep steps are also altered for the aggregated link. The steps from body p to the aggregated body
are as follows:
| (56) |
The steps from the aggregated body
to body c are as follows:
| (57) |
The most computationally expensive part of these steps is the evaluation and inversion of the

symmetric, positive definite matrix in Eq. 50. Its size is the number of independent degrees of freedom for the aggregated link. Thus, the computational cost of the AB algorithm is no longer linear in the number of independent degrees of freedom for the aggregated links, but, instead, is (in the worst case) quadratic in the total degrees of freedom in the
aggregation sub-graph, and cubic in the number of independent degrees of freedom in the
sub-graph. These additional costs, however, are modest when the loops are of moderate size. Indeed, if we impose an upper bound on the size of the sub-graphs that the constraint-embedding is applied to, then the cost is quadratic to cubic in this upper bound size, and the overall algorithm remains linear in the overall system size. This AB algorithm is the first known general purpose extension of the algorithm to non-tree systems.
These computational considerations imply that the constraint-embedding method is best suited for small to moderate size
aggregation sub-graphs. As the size of the sub-graph increases, the cost of the constraint-embedding algorithm goes up at least quadratically. The aggregation sub-graph can become large in cases where the system topology has such large loops or when small loops are coupled in mesh-like structures. For these type of constraints, conventional techniques based on solving for constraint forces are advisable.
8 Computing X
and Ẋ
X
maps the independent generalized velocities to the full generalized velocities of
. For the case of direct joint-level constraints, it is straightforward to select the independent coordinates subset, and X
is then simply the gradient of the mapping from the independent to the full generalized coordinates. For direct joint-level constraints, X
is often constant, and Ẋ
is consequently zero. In the following sections, we look at the less trivial case of loop constraints, and derive expressions for the configuration dependent X
and its time-derivative Ẋ
needed in Eq. 25 and Eq. 30.
For loop constraints, we have an algebraic constraint on the relative velocities of a pair of physical closure nodes in the sub-graph. Denoting a representative pair of closure nodes as o and p, such a constraint can be expressed as
| (58) |
Here, A denotes the constraint on the relative spatial velocities between this pair of closure nodes, and Jo, Jp denote sub-graph Jacobians relating the generalized velocities of the sub-graph to the spatial velocities at the o and p closure nodes. θ̇u
is the complement of the θ̇R
sub-vector in θ̇
and represents the dependent generalized velocity coordinates. Jo1, etc., represent sub-blocks within the corresponding partitioned Jacobians. Y1 and Y2 are defined as
| (59) |
In Eq. 58, the partitioning is chosen such that Y1 is square and full rank, and thus invertible. It follows that:
| (60) |
The following corollary derives an expression for Ẋ
for systems with loop constraints.
Corollary 8.1 (Expression for Ẋ
)
We have
| (61) |
Where Y ≜ [Y1, Y2].
Proof: With ,
Thus,
This establishes the first half of Eq. 61.
Using this, we have
This establishes the second half of Eq. 61.
Eq. 61 requires expressions for Ẏ1 and Ẏ2. From Eq. 59, these derivatives require Ȧ and the time derivatives of the J01, etc., blocks. The expression for Ȧ is usually straightforward to obtain from the inter-node constraint expression, and hence, we focus on the time derivative of the Jacobian blocks. The kth column of J01 is of the form ϕ*(
k, o)H*(k), where
k denotes the frame at the kth hinge in θ̇
, and H*(k) is the corresponding joint map matrix for the hinge. This derivative is a simple expression involving the relative linear and angular velocity of the o closure node with respect to the
k closure node.
9 Generalization to multiple branches and cut-edges
We summarize extensions for applying the constraint embedding technique to the more general multibody system context.
Multiple cut-edges
Our development of the component-level constraint embedding expression focused on the case of a single aggregation sub-graph during the constraint embedding process. More generally, systems will have multiple aggregation sub-graphs from multiple cut-edge constraints for the system. In this case, the system will contain multiple aggregated links, potentially with multiple constraints embedded within each aggregated link. The structural form of the equations of motion remains the same. The key change to the algorithms is that aggregated link steps need to be executed when an aggregated link is encountered, and regular steps are executed otherwise.
Multiple
child bodies
Aggregated bodies can also have multiple child bodies. For this case, ℬ
is a multi-column matrix, with one column for each child body. Each column has a single non-zero “
(
, c)” entry corresponding to the parent body in the
sub-graph and the child body. The AB forward dynamics algorithm has the standard gather/scatter structure for tree-topology algorithms. Thus, the tip-to-base sweeps gather and accumulate the results from all the branches at the aggregated link. The base-to-tip sweeps scatter the results onto the children branches of the aggregated link.
Multiple
base-bodies
While the Eq. 12 expression for E
shows only a single
(p,
) non-zero entry, more generally, when the sub-graph has multiple base-bodies, E
will have a non-zero entry for each base-body at locations corresponding to the indices for the base-bodies. This is illustrated in the expressions in Eq. 39 for the four-bar linkage example.
Closure constraint with the inertial frame
Another situation that we have not explicitly addressed is that of a closure constraint between a body node and the inertial frame. In this case, node p in ℘(
) is the inertial frame. The aggregated link in this case is a base-body attached directly to the inertial frame.
Joint-level constraints involving multiple hinges
It is possible to have the situation where a direct joint-level velocity constraint involves more than two hinges. Instead of a single closure-constraint edge, multiple cut-edges that span all the hinges involved in the constraint must be included in the system digraph before determining the aggregation sub-graph.
Singular constraint maps
Especially in the case of loop constraints, it is possible for the X
matrix to lose rank at specific singular configurations of the sub-graph. The number of independent generalized velocities decreases at such singular configurations. Since the invertibility of

depends on X
being full-rank, it is important to monitor the rank of X
and to adjust its size near, and at, singular configurations.
10 Conclusions
This paper uses graph theory techniques to develop a general constraint embedding approach for the development of closed-chain system SKO models, that are otherwise only available for tree multibody systems. The new SKO models represent a minimal coordinate formulation of the dynamics for the closed-chain system. In essence, the new formulation is an instance of projected dynamics [13], except that it also preserves the tree-topology structure in the model. The development of this technique builds upon the sub-graph aggregation methods developed in the first part of this two-part paper. This extension enables the application of the large family of analytical and algorithmic techniques for tree systems to closed-chain systems. These include the key analytical mass matrix factorization and inversion techniques as well as the well known articulated body inertia forward dynamics algorithm. This is illustrated through an extension of the low-order AB forward dynamics method for trees to closed-chain systems. More generally, the structural impact of extending the recursive dynamics algorithms from tree to closed-chain systems is limited to the steps that traverse an aggregated body in the system.
Acknowledgments
We would like to acknowledge the many detailed and insightful comments by the anonymous reviewer that have helped us revise and improve this paper. The research described in this paper was performed at the Jet Propulsion Laboratory (JPL), California Institute of Technology, under contract with the National Aeronautics and Space Administration.3 This project was also supported in part by Grant Number RO1GM082896-01A2 from the National Institute of Health.
Footnotes
A sub-graph
of
digraph is said to be path-induced if it contains all the paths (nodes and edges) in
that connect node pairs in
.
The standard digraph for a multibody system as one with the inertial frame as the root node, and all the links in the system as the remaining nodes in the digraph.
©2010 California Institute of Technology. Government sponsorship acknowledged.
References
- 1.Baraff D. Linear-Time Dynamics using Lagrange Multipliers. Proc. ACM SIGGRAPH '96; New Orleans. 1996. pp. 137–146. [Google Scholar]
- 2.Critchley R, Anderson K. A Generalized Recursive Coordinate Reduction Method for Multibody Dynamic Systems. Journal of Multiscale Computational Engineering. 2003;12(2):181–200. [Google Scholar]
- 3.Featherstone R. The Calculation of Robot Dynamics using Articulated-Body Inertias. The International Journal of Robotics Research. 1983;2(1):13–30. [Google Scholar]
- 4.Featherstone R, Orin D. Robot Dynamics: Equations and Algorithms. IEEE International Conference on Robotics and Automation; San Francisco, CA. 2000. pp. 826–834. [Google Scholar]
- 5.Jain A. Unified Formulation of Dynamics for Serial Rigid Multibody Systems. Journal of Guidance, Control and Dynamics. 1991;14(3):531–542. [Google Scholar]
- 6.Jain A. Recursive Algorithms Using Local Constraint Embedding for Multibody System Dynamics. ASME 2009 International Design Engineering Technical Conferences & Computers and Information in Engineering Conference; San Diego, CA. 2009. [Google Scholar]
- 7.Jain A. Graph Theoretic Structure of Multibody System Spatial Operators. The 1st Joint International Conference on Multibody System Dynamics; Lappeenranta, Finland. 2010. [Google Scholar]
- 8.Jain A. Robot and Multibody Dynamics: Analysis and Algorithms. Springer; New York: 2010. [Google Scholar]
- 9.Jain A. Graph Techniques for Multibody Partitioning, Aggregation and Constraint Embedding: Part I - Tree topology systems. 2011. In review. [Google Scholar]
- 10.Jain A. Graph Theoretic Foundations of Multibody Dynamics: Part I -Structural Properties. Multibody System Dynamics. 2011 doi: 10.1007/s11044-011-9266-7. To appear. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 11.Jain A. Graph Theoretic Foundations of Multibody Dynamics: Part II -Analysis and Algorithms. Multibody System Dynamics. 2011 doi: 10.1007/s11044-011-9267-6. To appear. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 12.Jalon JGd, Alvarez E, Ribera FAd, Rodriguez I, Funes FJ. A Fast and Simple Semi-Recursive Dynamic Formulation for Multi-Rigid-Body Systems. Advances in Computational Multibody Systems. 2005:1–24. [Google Scholar]
- 13.Mani N, Haug E, Atkinson K. Application of Singular Value Decomposition for Analysis of Mechanical System Dynamics. J Mech Trans Automat Design. 1985;107:82–87. [Google Scholar]
- 14.Rodriguez G, Kreutz-Delgado K, Jain A. A Spatial Operator Algebra for Manipulator Modeling and Control. The International Journal of Robotics Research. 1991;10(4):371–381. [Google Scholar]
- 15.Rodriguez G, Jain A, Kreutz-Delgado K. Spatial Operator Algebra for Multi-body System Dynamics. Journal of the Astronautical Sciences. 1992;40(1):27–50. [Google Scholar]
- 16.Schwerin Rv. Multibody system simulation: numerical methods, algorithms, and software. Springer; 1999. [Google Scholar]
- 17.Yamane K, Nakamura Y. Dynamics simulation of humanoid robots: Forward dynamics, contact, and experiments. CISM-IFToMM Symp. on Robot Design, Dynamics, and Control (ROMANSY2008); Tokyo, Japan. 2008. pp. 301–308. [Google Scholar]









