Skip to main content
NIHPA Author Manuscripts logoLink to NIHPA Author Manuscripts
. Author manuscript; available in PMC: 2013 Feb 1.
Published in final edited form as: Nonlinear Dyn. 2012 Feb 1;67(3):2153–2170. doi: 10.1007/s11071-011-0136-x

Multibody Graph Transformations and Analysis Part II: Closed-chain constraint embedding

Abhinandan Jain 1
PMCID: PMC3259711  NIHMSID: NIHMS326109  PMID: 22267894

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:

  1. A tree digraph reflecting the bodies and their connectivity in the system.

  2. An ℰInline graphic SKO operator and associated SPO operator, A(IA)1.

  3. A full-rank block-diagonal, joint map matrix operator, H.

  4. A block-diagonal and positive-definite spatial inertia operator, M.

  5. Stacked vectors: θ̇ denoting independent generalized velocities, J the generalized forces, Inline graphic the body velocities, α the body accelerations, Inline graphic the inter-body forces, Inline graphic the body Coriolis accelerations, Inline graphic the body gyroscopic forces the system, Inline graphic the number of degrees of freedom, and the equations of motion defined as:
    V=AHθ˙α=A(Hθ¨+a)f=A(Mα+b)J=Hf (1)
    Thus,
    J=(θ)θ¨+C(θ,θ˙) (2)
    Where
    (θ)HAMAHN×NandC(θ,θ˙)HA(MAa+b)N (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, Inline graphic, M) triplet of operators that define them.

Reference [9] showed that a path-induced sub-graph1 Inline graphic 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 Inline graphic 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 θ̇, Inline graphic, Inline graphic and J stacked vectors across the original, the parent and the child sub-graphs:

θ˙=[θ˙Cθ˙Sθ˙P],V=[VCVSVP],f=[fCfSfP],J=[JCJSJP] (4)

For the Inline graphicInline graphic aggregated tree, the Inline graphicInline graphic, θ̇Inline graphic, etc., sub-vectors of the Inline graphic and θ̇ stacked vectors correspond to the single Inline graphic aggregate link. This partitioning of the system-level θ̇ and Inline graphic stacked vectors extends to other stacked vectors such as the Coriolis spatial accelerations vector Inline graphic, the gyroscopic spatial forces vector Inline graphic, and to the other spatial operators.

The following defines the aggregation condition for sub-graphs.

Assumption 1 (Aggregation Condition)

A sub-graph Inline graphic, of a tree digraph Inline graphic, is said to satisfy the aggregation condition if:

  1. Inline graphic is an induced sub-graph, i.e., Inline graphicInline graphicI.

  2. ℘( Inline graphic) contains exactly one node — one that is necessarily the ancestor of all the nodes in Inline graphic.

Lemma 1 Tree property after sub-graph aggregation

Let Inline graphic denote an induced sub-graph of a tree digraph Inline graphic. Let us assume that Inline graphic is aggregated to create a new Inline graphicInline graphic digraph with aggregated node Inline graphic. Then, the aggregated Inline graphicInline graphic digraph is a tree if and only if Inline graphic satisfies the aggregation condition.

Proof See [9].

The aggregation sub-graph, for a sub-graph Inline graphic of a tree, is defined as the minimal sub-graph containing Inline graphic that also satisfies the aggregation condition. The aggregation sub-graph of a sub-graph Inline graphic is denoted Inline graphicA.

Lemma 2 SKO operator for Inline graphicInline graphic tree

With Inline graphic satisfying the aggregation condition, define the ℰInline graphica matrix as follows:

Aa(AC00S000ESASAP) (5)

where ℰInline graphicC and ℰInline graphicP denote SKO operators for the C and P sub-graphs, Inline graphicInline graphic is the SPO operator for the Inline graphic sub-graph, and ℬInline graphic, EInline graphic are connector blocks. The following facts hold for ℰInline graphica:

  1. Inline graphica is an SKO operator for the original tree, Inline graphic.

  2. Inline graphica is an SKO operator for the aggregated tree, Inline graphicInline graphic.

Proof See [9].

Lemma 3 The Inline graphica SPO operator for the Inline graphicInline graphic tree

Using the same assumptions and notation from Lemma 2, the SPO operator, Inline graphica, for Inline graphicInline graphic is given by the following expression:

Aa=(AC00SACI0AP(ESASS)ACAPESASAP)whereJA(I000AS1000I) (6)

where Inline graphicC and Inline graphicP 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 pos­sesses a well-defined SKO model, and defines the equations of motion for the model.

Lemma 4 SKO model for an aggregated tree

Let (H, Inline graphic, M) denote an SKO model with tree digraph Inline graphic. Let Inline graphic be a sub-graph of Inline graphic satisfying the aggregation condition. Then the (Ha, Inline graphica, M) spatial operators define an SKO model for the Inline graphicInline graphic aggregated tree, where

HaHJa1=6(HC000H_S000HP)andH_SHSAS (7)

Ha defines the new joint map matrix for the Inline graphicInline graphic aggregated tree, with HC, HInline graphic, and HP denoting the component joint map matrices. The transformed version of the equations of motion from Eq. 1 are given by:

V=AaHaθ˙α=Aa(Haθ¨+a_),wherea_Jaa=[aCa_SaP],a_SASaSf_=Aa(Mα+b),wheref_Jaf=[fCfSfP],fSAS1fSJ=Haf_ (8)

Thus,

J=θ¨+C (9)

with

=HaAaMAaHaN×NandCHaAa(MAaa_+b)N (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 Inline graphic aggregate link is denoted p, while c denotes a child body of Inline graphic. Also, Inline graphic denotes a body in the Inline graphic sub-graph that is a child of p, i.e., a base-body in the Inline graphic sub-graph. Body Inline graphic in the Inline graphic 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.

Fig. 1

Body indexing scheme for the Inline graphic aggregation sub-graph

3.1 Velocity relationships

The following link-to-link spatial velocity recursive relationship holds between adjacent bodies in the original Inline graphic tree:

V(k)=A((k),k)V((k))+H(k)θ˙(k) (11)

We will use it to derive velocity relationships for the Inline graphic aggregated body and its adjacent bodies in the Inline graphicInline graphic tree. First, let us develop a recursive relationship for Inline graphicInline graphic. Assembling Eq. 11 for all the links in Inline graphic, we obtain the following relationship for Inline graphicInline graphic

VS=ASVS+ESV(p)+HSθ˙SwhereES[0,0,A(p,i)] (12)

This implicit relationship for Inline graphicInline graphic involves quantities associated with nodes in the Inline graphicInline graphic aggregated tree rather than the nodes in the Inline graphic spanning tree. EInline graphic is the connector block matrix for the coupling between the Inline graphic aggregated body and its p parent body. While the Eq. 12 expression for EInline graphic shows only a single Inline graphic(p, Inline graphic) non-zero entry, more generally, it will have a non-zero entry for each base-body in Inline graphic at locations corresponding to the indices for the base-bodies. Since ℰInline graphicInline graphic is an SKO operator, we can use the Inline graphicInline graphic ≜ (I − ℰInline graphicInline graphic)−1 expression to convert the implicit form of Eq. 12 into the following explicit expression:

VS=12ASESV(p)+ASHSθ˙S=7ASESV(p)+H_Sθ˙S (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 Inline graphic. From this expression, we infer that EInline graphic Inline graphicInline graphic is the Inline graphic(p, Inline graphic) SKO weight matrix associated with the Inline graphic and p adjacent body pair in Inline graphicInline graphic, i.e.,

A(p,S)ESAS (14)

Observe that the EInline graphic Inline graphicInline graphic weight matrix also appears in the partitioned expression for the ℰInline graphic aggregated SKO operator in Eq. 5.

The Inline graphic(c) spatial velocity of the child link c depends on the spatial velocity of its parent link Inline graphic in the Inline graphic sub-graph. The Eq. 11 relationship for link c can be restated as:

V(c)=cVS+H(c)θ˙(c)wherec[A(j,c)00] (15)

The form of this new relationship is similar to Eq. 11 and defines how the velocities of the Inline graphic parent body couple into the child body c. Eq. 15 involves quantities associated with nodes in the Inline graphicInline graphic aggregated tree rather than quantities associated with nodes in the Inline graphic spanning tree. ℬc is the connector block matrix for the coupling between the c body and its parent body Inline graphic. From this expression, we infer that ℬc is the Inline graphic( Inline graphic, c) SKO weight matrix associated with the c and Inline graphic adjacent pair of bodies, i.e.,

A(S,c)c (16)

There is one ℬc matrix for each child body c in ∁( Inline graphic). The ℬc matrices for all the children bodies make up the columns of the ℬInline graphic matrix in the partitioned expression for ℰInline graphic in Eq. 5.

Gathering together the expressions in Eq. 13 and Eq. 15, the spatial velocity relationship between the Inline graphic aggregate link and its adjacent links p and c are as follows:

VS=13,14A(p,S)V(p)+HSθ˙SV(c)=15,16A(S,c)VS+H(c)θ˙(c) (17)

3.2 Acceleration relationships

The following link-to-link spatial acceleration relationship holds for bodies in the original Inline graphic tree:

α(k)=A((k),k)α((k))+H(k)θ¨(k)+a(k) (18)

Assembling Eq. 18 for all the links in Inline graphic, we obtain the following implicit relationship for αInline graphic:

αS=ASαS+ESα(p)+HSθ¨S+aS (19)

Once again using the Inline graphicInline graphic ≜ (I − ℰInline graphicInline graphic)−1 expression, we can convert the implicit form above into the following explicit expression:

αS=19ASESα(p)+ASHSθ¨S+ASaS=8,7,14A(p,S)α(p)+H_Sθ¨S+a_S (20)

Similarly, the spatial acceleration relationship between body Inline graphic and its child body c takes the form:

α(c)=cα(S)+H(c)θ¨(c)+a(c)=16A(S,c)α(S)+H(c)θ¨(c)+a(c) (21)

Both Eq. 20 and Eq. 21 have the familiar recursive form of Eq. 18, except that they are for the Inline graphicInline graphic aggregated tree instead of the original Inline graphic 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, MInline graphic, for the aggregate link. MInline graphic is simply the partitioned sub-block of the block-diagonal M corresponding to the Inline graphic aggregated body in Inline graphicInline graphic. The link-to-link spatial force relationships for bodies in the original Inline graphic tree are as follows:

f(k)=j(k)A(k,j)f(j)+M(k)α(k)+b(k)J(k)=H(k)f(k) (22)

Assembling these expressions for all the links in Inline graphic, we obtain the following relationships for Inline graphicInline graphic:

fS=22ASfS+c(S)cf(c)+MSαS+bS=16ASfS+c(S)A(S,c)f(c)+MSαS+bSJS=HSfS

Using Inline graphicInline graphic ≜ (I − ℰInline graphicInline graphic)−1 leads to the following explicit form:

(IAS)fS=c(S)A(S,c)f(c)+MSαS+bSfS=8c(S)A(S,c)f(c)+MSαS+bSJS=8HSASfS=7H_SfS (23)

Similarly, the spatial force relationship between the Inline graphic and p bodies can be expressed as:

f(p)=22ESfS+M(p)α(p)+b(p)=23,8ESASfS+M(p)α(p)+b(p)=14A(p,S)fS+M(p)α(p)+b(p)J(p)=H(p)f(p) (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, 1517]. 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:

  1. Decompose the non-tree digraph for the system into a spanning tree, Inline graphic, 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, Inline graphic.

  2. For each cut-edge, identify the aggregation sub-graph, Inline graphic, 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 Inline graphic aggregation sub-graph is is as follows [9]:

    1. Identify the smallest sub-tree that contains the nodes in the cut-edge.

    2. Remove the root node from this sub-tree to obtain the aggregation sub-graph Inline graphic.

  3. Aggregate Inline graphic, and use Lemma 4 to derive an SKO model for the Inline graphicInline graphic aggregated tree.

  4. By construction, the nodes for each cut-edge belong to the internal Inline graphic sub-graph of the aggregated body. Moreover, by Jain [9], any directed cycles and multiply-connected paths associated with the cut-edge belong to Inline graphic, 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 Inline graphic 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.

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.

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.

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.

  1. 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.

  2. 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.

  3. 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 Inline graphic satisfying the aggregation condition. The Inline graphic aggregation sub-graph has the cut-edge constraints. One consequence of the cut-edge constraints is that the effective degrees of freedom in Inline graphic is less than the total hinge degrees of freedom in Inline graphic.

We adopt the body indexing scheme from Section 3 for sub-graph aggregation. The parent link for the Inline graphic aggregated link is denoted p, while c denotes a child body of Inline graphic. Also, Inline graphic denotes a body in the Inline graphic sub-graph that is a child of p, i.e., a base-body in the Inline graphic sub-graph. Body Inline graphic in Inline graphic sub-graph denotes the parent of body c. This indexing scheme for Inline graphic is illustrated in Figure 5.

Fig. 5.

Fig. 5

Body indexing scheme for the Inline graphic aggregation sub-graph with its cut-edge

Due to the cut-edge internal constraints on the Inline graphic, the elements of θ̇Inline graphic 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 θ̇Inline graphic generalized velocities of the sub-graph into disjoint sets of independent and dependent generalized velocities. The independent set is denoted θ̇R Inline graphic. 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 XInline graphic such that

θ˙S=XSθ˙RS (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 Inline graphic sub-graph, as discussed in Section 3, define

HRa(I000XS000I)Ha=7(HC000H_RS000HP) (26)

with

H_RSXSH_S=7XSHSASandθ˙R[θ˙Cθ˙RSθ˙P] (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

HRaθ˙R=Haθ˙ (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 Inline graphic:

V=AHθ˙=AaHaθ˙=AaHRaθ˙R (29)

Proof The definitions of Inline graphica and Ha in Eq. 6 and Eq. 7 lead to the AH=AaHa 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 Inline graphicInline graphic aggregated tree as the system digraph, the spatial operators (HRa, Inline graphica, M) define an SKO model for the closed-chain system. The equations of motion are as follows:

V=AaHRaθ˙Rα=Aa(HRaθ¨R+a),wherea[aCaSaP],aSa_S+H_SX˙Sθ˙RSf=Aa(Mα+b)JR=HRaf_ (30)

Thus,

JR=Rθ˙R+Cr (31)

where

r=HRaAaMAaHRaandCrHRaAa(MAaa+b) (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 Inline graphic sub-graph satisfies the aggregation condition. Lemma 4 defines an SKO model for the Inline graphicInline graphic aggregated tree with equations of motion defined as follows in Eq. 8:

V=AaHaθ˙α=Aa(Haθ¨+a_)f_=Aa(Mα+b)J=Haf_ (33)

In addition, the θ̇R generalized coordinates are independent and eliminate the cut-edge constraint within Inline graphic. Since the (Ha, Inline graphica, M) spatial operators satisfy the requirements for an SKO model for the Inline graphicInline graphic tree digraph, replacing Ha by HRa leaves the required block-diagonal property intact, implying that (HRa, Inline graphica, 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

θ¨S=XSθ¨RS+X˙Sθ˙RS (34)

Using this in Eq. 20 leads to

αS=20A(p,S)α(p)+H_Sθ¨S+a_S=34A(p,S)α(p)+H_RSθ¨RS+a_S+H_SX˙Sθ˙RS=30A(p,S)α(p)+H_RSθ¨RS+aS (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 Inline graphic, is defined as

JRSXSJS=27H_RSfS (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 Inline graphic′ stacked vector is a modified version of the Inline graphic Coriolis acceleration stacked vector with the aS term for body Inline graphic.

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:

  1. 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).

  2. 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 ℰInline graphic and Inline graphic 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 Inline graphic 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.

Fig. 6

An internal loop created by a link mounted motor and gear mechanism

Fig. 7.

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.

θ˙S=[θm(k1)θl(k1)]2,θ˙RS=θl(k1)1XS=[μS(k1)1]2×1X˙S=0,ϕS=012×12,ϕS=I12×12 (37)

Observe that XInline graphic 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 Inline graphic, 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 Inline graphic. The constraint embedding terms for the four-bar linkage with the terminal cut are as follows:

Fig. 8.

Fig. 8

A four-bar mechanism with a terminal cut

ES=[0,0,ϕ(p,j)]6×18,ϕS=(I00ϕ(kl)I0ϕ(j,l)ϕ(j,k)I)18×18,XS=[rlrk1]3×1ϕS==(000ϕ(kl)000ϕ(j,k)0)18×18,S=[0ϕ(j,c)0]18×6 (38)

In the above, rl and rk are configuration dependent parameters that characterize the ratio of the hinge velocities of the Inline graphic, k, and l hinges within the planar four-bar linkage. Thus, XInline graphic 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 Inline graphic and l connect links Inline graphic and l to the p parent link. Observe that Inline graphic 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 Inline graphic and k. The constraint embedding terms for the four-bar linkage with internal cut are as follows:

Fig. 9.

Fig. 9

A four-bar mechanism with an internal cut

ϕS=(0000000ϕ(j,k)0)18×18ϕS=(I000I00ϕ(j,k)I)18×18,XS=[rlrk1]3×1ES=[ϕ(p,l)],0,ϕ(p,j)6×18,S=[0ϕ(j,c)0]18×6 (39)

In comparison to the earlier terminal cut example, the Inline graphic digraph and the ℰϕInline graphic and ϕInline graphic matrices are simpler here. On the other hand, the EInline graphic matrix is more complex. ES contains two non-zero elements, one for each of the base-bodies in the Inline graphic 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( Inline graphic) solution to the traditional O( Inline graphic3) 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, Inline graphic, M) denote spatial operators for an SKO model. The following Riccati equation has a block-diagonal, symmetric and positive-definite operator solution, P:

M=PA[PPH(HPH)1HP]A (40)

The expression in Eq. 40 can be broken down into simpler sub-expressions as follows:

M=PA[PPH(HPHD)1GHτPP+]A

The above sub-expressions define the block-diagonal spatial operators:

DHPH,GPHD1,τGHτ¯Iτ,P+τ¯P=τ¯Pτ¯ (41)

The P(k) and other diagonal elements can be computed by the following O( Inline graphic) tips-to-base gather recursion:

{forall nodesk(tips‐to‐base gather)P(k)=j(k)A(k,j)P+(j)A(k,j)+M(k)D(k)=H(k)P(k)H(k)G(k)=P(k)H(k)D1(k)τ(k)=G(k)H(k)τ¯(k)=Iτ(k)P+(k)=τ¯(k)P(k)end loop (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

ψAτ¯ (43)

Then ℰψ is an SKO operator, with weights and SPO operator ψ, defined by

ψ((k),k)A((k),k)τ¯(k),andψ(Iψ)1 (44)

Moreover, the Eq. 40 Riccati equation can be re-expressed as:

M=PψPψ=PAPψ (45)

Proof See [7, 8].

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, Inline graphic, M) denote spatial operators for an SKO model. Recall that its mass-matrix is defined as ℳ = H Inline graphicM Inline graphic*H*.

  1. The ℳ mass matrix has an alternative Innovations Operator factorization defined by
    =[I+HAK]D[I+HAK] (46)

    with K ≜ ℰInline graphic Inline graphic. In this equation, Inline graphic and K are operators obtained from the solution of the discrete Riccati equation from Lemma 8 for the SKO model.

  2. [I + H Inline graphicK] is invertible, with inverse given by:
    [I+HAK]1=[IHψK] (47)
  3. The mass matrix ℳ is invertible, and the expression for its inverse is
    1=[IHψK]D1[IHψK] (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

θ¨=1(JC)=[IHψK]D1[JHψ(KJ+Pa+b)]Kψa (49)

Proof See [5].

The expression in Eq. 49 implies the recursive O( Inline graphic) implementation described in Al­gorithm 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( Inline graphic) AB forward dynamics for SKO models)

  1. Compute the articulated body inertia P, Inline graphic, etc., quantities using the gather algorithm in Eq. 42.

  2. Use the following gather and scatter recursions to compute θ̈:

{forall nodesk(tips‐to‐base gather)z(k)=j(k)A(k,j)z+(j)+P(k)a(k)+b(k)ε(k)=J(k)H(k)z(k)ν(k)=D1(k)ε(k)z+(k)=z(k)+G(k)ε(k)end loop{forall nodesk(base‐to‐tips scatter)α+(k)=A((k),k)α((k))θ¨(k)=ν(k)G(k)α+(k)α(k)=α+(k)+H(k)θ¨(k)+a(k)end loop

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 Inline graphic and its adjacent links:

P+(c)=τ¯(c)P(c)PS=c(S)A(S,c)P+(c)A(S,c)+MSDS=H_RSPSH_RSGS=PSH_RSDS1τS=GSH_RSPS+=PSτSPSP(p)=A(p,S)pS+A(p,S)+M(p) (50)

Recall that Eq. 14 and Eq. 16 define the following expressions for Inline graphic(p, Inline graphic) and Inline graphic( Inline graphic, c).

A(p,S)=ESASandA(S,c)=c

Inline graphicInline graphic can be re-expressed as

DS=27XS(HSASPSASHS)XS=XSSXSwhereSHSASPSASHS (51)

Inline graphic has the structure of a mass matrix for the Inline graphic sub-graph. The primary difference from the true mass matrix of Inline graphic is that the central inertia term is PInline graphic, instead of the usual ℳInline graphic spatial inertia term. PInline graphic includes the articulated body contribution from the descendants of the Inline graphic body. Inline graphicInline graphic is thus the projection of this Inline graphic 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:

r=32HRaAaMAaHRa=[I+HRaAaK]D[I+HRaAaK][I+HRaAaK]1=IHRaψaKr1=[IHRaψaK]D1[IHRaψaK] (52)

The ψa, Inline graphic, 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:

θ¨R=[IHRaψaK]D1[JRHRaψa(KJR+Pa+b)]Kψaa (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 Inline graphic have the following form:

z+(c)=z(c)+G(c)ε(c)zS=c(S)A(S,c)z+(c)+bS+PSaSεS=JRSH_RSzSνS=DS1εS (54)

The tip-to-base recursion steps from body Inline graphic to body p are as follows:

zS+=zS+GSεSz(p)=A(p,S)zS++b(p)+P(p)a(p)ε(p)=J(p)H(p)z(p)ν(p)=D1(p)ε(p) (55)

The base-to-tip accelerations sweep steps are also altered for the aggregated link. The steps from body p to the aggregated body Inline graphic are as follows:

αS+=A(p,S)α(p)θ¨RS=νSGSαS+θ¨S=XSθ¨RS+X˙Sθ˙RSαS=αS++H_RSθ¨RS+aS' (56)

The steps from the aggregated body Inline graphic to body c are as follows:

α+(c)=A(S,c)αSθ¨(c)=ν(c)G(c)α+(c)α(c)=α+(c)+H(c)θ¨(c)+a(c) (57)

The most computationally expensive part of these steps is the evaluation and inversion of the Inline graphicInline graphic 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 Inline graphic aggregation sub-graph, and cubic in the number of independent degrees of freedom in the Inline graphic 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 Inline graphic 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 XInline graphic and ẊInline graphic

XInline graphic maps the independent generalized velocities to the full generalized velocities of Inline graphic. For the case of direct joint-level constraints, it is straightforward to select the independent coordinates subset, and XInline graphic is then simply the gradient of the mapping from the independent to the full generalized coordinates. For direct joint-level constraints, XInline graphic is often constant, and ẊInline graphic is consequently zero. In the following sections, we look at the less trivial case of loop constraints, and derive expressions for the configuration dependent XInline graphic and its time-derivative ẊInline graphic 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

0=A(VoVp)=A(JoJp)θ˙S=A[Jo1Jp1,Jo2Jp2][θ˙uSθ˙RS]=[Y1,Y2][θ˙uSθ˙RS] (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 Inline graphic is the complement of the θ̇R Inline graphic sub-vector in θ̇Inline graphic and represents the dependent generalized velocity coordinates. Jo1, etc., represent sub-blocks within the corresponding partitioned Jacobians. Y1 and Y2 are defined as

Y1A(Jo1Jp1)andY2A(Jo2Jp2) (59)

In Eq. 58, the partitioning is chosen such that Y1 is square and full rank, and thus invertible. It follows that:

θ˙uS=Y11Y2θ˙RSXS=[Y11Y2I] (60)

The following corollary derives an expression for ẊInline graphic for systems with loop constraints.

Corollary 8.1 (Expression for ẊInline graphic)

We have

X˙S=[Y11Y˙XS0]andX˙Sθ˙RS=[Y11Y˙θ˙S0] (61)

Where Y ≜ [Y1, Y2].

Proof: With ZY11Y2,

dZdt=dY11dtY2+Y11dY2dt=Y11dY1dtY11Y2+Y11dY2dt=Y11[dY2dtdY1dtZ]

Thus,

X˙S=[Z˙0]=[Y11[Y˙1ZY˙2]0]=[Y11Y˙XS0]

This establishes the first half of Eq. 61.

Using this, we have

X˙Sθ˙RS=[Y11Y˙XSθ˙RS0]=[Y11Y˙θ˙S0]

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 ϕ*( Inline graphick, o)H*(k), where Inline graphick denotes the frame at the kth hinge in θ̇Inline graphic, 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 Inline graphick 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 con­straint embedding process. More generally, systems will have multiple aggregation sub-graphs from multiple cut-edge constraints for the system. In this case, the sys­tem 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 Inline graphic child bodies

Aggregated bodies can also have multiple child bodies. For this case, ℬInline graphic is a multi-column matrix, with one column for each child body. Each column has a single non-zero “ Inline graphic( Inline graphic, c)” entry corresponding to the parent body in the Inline graphic 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 ag­gregated link. The base-to-tip sweeps scatter the results onto the children branches of the aggregated link.

Multiple Inline graphic base-bodies

While the Eq. 12 expression for EInline graphic shows only a single Inline graphic(p, Inline graphic) non-zero entry, more generally, when the sub-graph has multiple base-bodies, EInline graphic 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 ℘( Inline graphic) 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 XInline graphic 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 Inline graphicInline graphic depends on XInline graphic being full-rank, it is important to monitor the rank of XInline graphic 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

1

A sub-graph Inline graphic of Inline graphic digraph is said to be path-induced if it contains all the paths (nodes and edges) in Inline graphic that connect node pairs in Inline graphic.

2

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.

3

©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 Opera­tors. 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]

RESOURCES