Skip to main content
NIHPA Author Manuscripts logoLink to NIHPA Author Manuscripts
. Author manuscript; available in PMC: 2012 Jun 21.
Published in final edited form as: Multibody Syst Dyn. 2011 Jun 21;26(3):307–333. doi: 10.1007/s11044-011-9266-7

Graph Theoretic Foundations of Multibody Dynamics Part I: Structural Properties

Abhinandan Jain 1
PMCID: PMC3217277  NIHMSID: NIHMS325587  PMID: 22102790

Abstract

This is the first part of two papers that use concepts from graph theory to obtain a deeper understanding of the mathematical foundations of multibody dynamics. The key contribution is the development of a unifying framework that shows that key analytical results and computational algorithms in multibody dynamics are a direct consequence of structural properties and require minimal assumptions about the specific nature of the underlying multibody system. This first part focuses on identifying the abstract graph theoretic structural properties of spatial operator techniques in multibody dynamics. The second part paper exploits these structural properties to develop a broad spectrum of analytical results and computational algorithms.

Towards this, we begin with the notion of graph adjacency matrices and generalize it to define block-weighted adjacency (BWA) matrices and their 1-resolvents. Previously developed spatial operators are shown to be special cases of such BWA matrices and their 1-resolvents. These properties are shown to hold broadly for serial and tree topology multibody systems. Specializations of the BWA and 1-resolvent matrices are referred to as spatial kernel operators (SKO) and spatial propagation operators (SPO). These operators and their special properties provide the foundation for the analytical and algorithmic techniques developed in the companion paper.

We also use the graph theory concepts to study the topology induced sparsity structure of these operators and the system mass matrix. Similarity transformations of these operators are also studied. While the detailed development is done for the case of rigid-link multibody systems, the extension of these techniques to a broader class of systems (e.g. deformable links) are illustrated.

1 Introduction

Graph theory provides concepts that are natural for describing multibody systems and their application to robotic and multibody system dynamics is not new. Wittenburg [36] used the underlying graph associated with a multibody system to organize and formulate the equations of motion. Later it was shown that Wittenburg’s formulation procedure could in fact be completely re-interpreted using linear graph theory ideas from the alternative vector-network technique [24]. The goal of some of these graph theory methods has been to make systematic the process of generating the complex equations of motion for multibody systems [3, 4]. Some of the extensions have led to computer techniques for organizing and automatically generating symbolic representations of the equations of motion [31]. Graph theory techniques have also been used for the kinematic analysis of mechanisms [37].

Motivated by robotics, control and simulation needs, mathematical operator techniques have been developed by researchers to obtain a system-level understanding of the underlying structure of the system kinematics and dynamics. Researchers [5, 7, 8, 30, 32] have used system-level matrices and operators to analyze and exploit the structure and sparsity of the mass matrix. Mass matrix factorization techniques and system-level global transforms to simplify the coupled equations of motion into diagonalized forms have also been explored [1, 2, 10, 20, 22, 33]. One common feature to most of these techniques has been the use of relative, instead of absolute coordinates [25] to parametrized the state of the system. While absolute coordinate models are arguably easier to assemble, relative coordinate models use minimal coordinates (for tree-topology systems) and are more suitable from a control perspective. We adopt the relative coordinates approach throughout this paper.

Spatial operator techniques, developed by Rodriguez and others [16, 2729], have led to the development of important analytical insights and computational dynamics algorithms. The operator techniques have been inspired by mathematical parallels between the structure of the dynamical equations of motion and the time-domain problem of optimal estimation and smoothing. The covariance factorization and optimal filtering techniques behind the seminal Kalman filtering techniques have been shown to be applicable to the dynamics domain. Spatial operators were initially applied to serial-chain rigid body systems to obtain the following analytical factorization and inversion results for serial-chain, rigid body system mass matrices [27, 28]:

=HϕMϕ*H*=[I+Hϕ𝒦]𝒟[I+Hϕ𝒦]*[I+Hϕ𝒦]1=[IHψ𝒦]1=[IHψ𝒦]*𝒟1[IHψ𝒦] (1)

In the above ℳ denotes the configuration dependent system mass matrix, and H, ϕ etc. are examples of spatial operators. The results in Eq. 1 have been applied to operational space dynamics [23], under-actuated system dynamics [19], sensitivity analysis [21], dynamics diagonalization [20] etc.

The spatial operator techniques were subsequently extended to dynamics models for systems with rigid and deformable links [18], tree and non-tree topologies [12, 29], geared and flexible hinge systems [17] etc. accompanied by the development of several efficient computational algorithms for robot control and simulation based on these analytical results. While the elements of the H, ϕ and other spatial operators in Eq. 1 varied significantly across these different systems (e.g. rigid versus deformable bodies), remarkably, the mass matrix factorization and inversion relations in Eq. 1 continue to hold across these systems. Despite the convergence of such operator-level mathematical properties, there has been a lack in understanding of the underlying basis for such convergence since each system’s spatial operator formulation was developed independently starting from each system’s specific properties.

In this paper we identify deep connections between graph theory techniques and multibody system dynamics1. This paper generalizes the notion of adjacency matrices for graphs to introduce the notion of block-weighted adjacency (BWA) matrices and studies their mathematical properties. The primary contribution of this paper is to show that key spatial operators are in fact instances of such BWA matrices for graphs associated with multibody systems. This relationship is quite general and independent of the specific branching structure of the system topology, the rigid/flexible nature of the component bodies, the body indexing schemes etc. The BWA matrices associated with multibody systems are referred to as spatial kernel operators (SKO), and their related 1-resolvents (defined later) as spatial propagation operators (SPO). We show that the system equations of motions described using these SKO and SPO spatial operators have the same form across a broad family of multibody systems. The companion second part of this paper [14] builds upon this foundation to show that important analytical techniques and computational dynamics algorithms follow directly from these abstract, analytical results. As such, these techniques and algorithms are broadly applicable, with minimal restrictions, to a broad range of multibody systems.

The organization of this paper is as follows. We begin by reviewing the properties of directed graphs (digraphs) in Section 2. We examine the properties of adjacency matrices used to describe graph connectivity in Section 3, and review the nilpotency property of such matrices for trees. Section 4 generalizes the notion of adjacency matrices to block weighted adjacency (BWA) matrices with block matrix elements. Section 5 studies the properties of BWA matrices under similarity transformations. In Section 6 we identify the connections between BWA matrices and their 1-resolvents with multibody dynamics by formulating at the dynamics of serial-chain and tree-topology rigid multibody systems. Section 7 shows that these BWA properties extend virtually unchanged to tree-topology systems. It also introduces the SKO and SPO nomenclature. Finally, Section 8 provides a brief overview of how the BWA properties extend beyond rigid body to deformable body multibody systems.

The graph theoretic structural properties developed in this paper provide a unifying perspective for dynamics models across a broad range of multibody systems and lay the groundwork for the examination of analytical and algorithmic properties of multibody systems that are the subject of the companion part II paper [14].

2 Directed graphs and trees

We begin with an overview of terminology and concepts from graph theory. A graph is a collection of nodes, and edges connecting pairs of nodes. A directed graph (also known as a digraph) is a graph where the edges have direction, i.e., an edge from one node to another is not the same as an edge in the reverse direction [34]. Each edge in a digraph defines a parent/child relationship between the node pair of that edge. Nodes defining an edge are said to be adjacent nodes. The node from which the edge emanates is referred to as the parent node, and the destination node is said to be the child node. The set of parent nodes of the kth node is denoted ℘(k), and the set of its children nodes is ∁(k). When a node has multiple child nodes, each child node represents the start of a branch emanating from the node. Nodes without parent nodes are referred to as root nodes. Digraphs can have zero, one, or multiple root nodes. We assume that there is at most a single edge in the same direction between any pair of nodes, i.e., parallel edges between a pair of nodes are not allowed.

A node, j, is said to be the ancestor of another node, i, if there is a directed path from the node j to the node i. We use the notation ij (or equivalently ji) to indicate that node j is an ancestor of node i. The notation ij implies that node j is not an ancestor of node i. Node i is said to be the descendant of node j if j is an ancestor of node i. A pair of nodes, i and j, are said to be related if one of them is the ancestor of the other; otherwise they are said to be unrelated.

Figure 1 shows a taxonomy for graphs and digraphs adapted from Ramoni [26]. We briefly describe the left branch of this classification hierarchy in increasing order of specialization [6, 35]:

  1. A connected digraph is a digraph such that there is an undirected path connecting any pair of nodes, i.e., it is a digraph without disjoint components.

  2. A rooted digraph is a connected digraph with a single root node that is the ancestor of every other node in the digraph. All edges connected to the root node are directed away from the root node. Thus, with r denoting the root node, we have rk for all nodes k in a rooted digraph.

  3. A directed acyclic graph (DAG) is a connected digraph without any directed cycles, i.e., there is no directed path from any node back to itself. Thus, a node cannot be its own ancestor in a DAG, i.e., kk for any node k in the digraph. Figure 2a illustrates a DAG.

  4. A simply connected graph, or a polytree (also known as singly connected networks), is a DAG in which there is at most one directed path between any pair of nodes. For such digraphs, if nodes i and j are both ancestors of node k, then one of the i and j nodes must be an ancestor of the other. Notationally, this condition states that if ki and kj, then either ij or ji. Removing an edge decomposes a polytree into a pair of polytrees. A node in a polytree can have multiple parent nodes.

  5. A simple tree, or tree, illustrated in Figure 2b, is a polytree where a node has at most one parent node, i.e., ℘(k) contains at most one node for any node k. All trees have a unique root node. A tree is a rooted digraph, and is also referred to as a rooted tree or an arborescence. Removing an edge decomposes a tree into a pair of trees.

    While a node in a tree can have at most one parent, there is no restriction on the number of children nodes. The branching structure implies that it is possible for nodes to be on different branches with no directed path connecting them. Thus, trees can have unrelated nodes, i.e., nodes that have no directed paths connecting them. Another noteworthy fact is that, for a pair of nodes, i and j, while jiij, the converse is not true in general. For a tree, we use the notation ℘(i, j) for the closest ancestor node of a pair of nodes i and j.

  6. A serial-chain is a tree where each node has at most one child. Figure 2e illustrates a serial-chain. Unlike trees, serial-chains have the stronger property that all node pairs are related, i.e., for any pair of nodes in the serial-chain, one of the nodes is necessarily an ancestor of the other.

  7. An arborescence forest, or forest, is a collection of disjoint trees. Removing an edge from a tree converts it into a forest. Adding a common root node to the independent trees in a forest converts them into a single tree. Conversely, removing the root node from a tree converts it into a forest.

Fig. 1.

Fig. 1

Hierarchical classification of graphs and digraphs

Fig. 2.

Fig. 2

Illustrations a digraphs with a DAG, a tree, canonical and strictly canonical trees and a serial-chain.

A tree is said to be canonical2 if the index of a parent node is always greater than the index of its child node, i.e., ℘(k) > k for any node k. The digraph in Figure 2c illustrates a canonical tree. Any tree can be converted into a canonical tree with a suitable renumbering of the nodes. The node numbering for a canonical tree is not unique since the canonical tree requirement imposes only a partial ordering on the node indices. The canonical numbering is, however, unique for a serial-chain.

A strictly canonical tree is a canonical tree in which the indices within each of its serial-chain segments are sequential. The digraph in Figure 2d illustrates a strictly canonical tree. The canonical tree in Figure 2c is however not strictly canonical because the (1, 3) and (2, 4) index sets of the nodes in its serial segments are not sequential. Once again, any rooted tree can be converted into a strictly canonical tree with a suitable renumbering of the nodes.

Every rooted digraph has a spanning tree, i.e., a tree that contains all the nodes in the digraph and whose edges belong to the digraph. The edges removed to convert a rooted digraph into its spanning tree are referred to as cut-edges.

3 Adjacency matrices for digraphs

One way of representing the node/edge connectivity of a digraph is through an adjacency matrix for the digraph. For a digraph with n nodes, the adjacency matrix is an n × n square matrix. The only non-zero elements of an adjacency matrix are for adjacent node pairs. Thus, the (i, j)th element of of an adjacency matrix is 1 if and only if the jth node is a child of the ith node, and is 0 otherwise. With the “.” entries indicating 0 entries, adjacency matrices for the digraphs in Figure 2 are shown in Figure 3. Weighted adjacency matrices are generalizations of standard adjacency matrices in allowing arbitrary weight entries, instead of just the 1 value for the edges in a digraph.

Fig. 3.

Fig. 3

The adjacency matrices for the digraphs illustrated in Figure 2.

3.1 Properties of digraph adjacency matrices

The adjacency matrix, 𝕊, of a digraph can be expressed as

𝕊=j=1nk(j)ekej* (2)

where ei denotes a vector of length n, containing all zeros except for the ith element which has value 1, i.e.,

ei(r)={1for i=r0otherwise=𝟙[i=r] (3)

𝟙[<cond>] denotes the indicator function, whose value is 1 when the condition specified in its subscript is true, and whose value is 0 otherwise. Observe that

ej*·ek=𝟙[j=k] (4)

The number of ekej* terms in Eq. 2 is precisely the number of edges in the digraph. Each ekej* edge term is an n × n matrix, with a single non-zero element of value 1 for the associated (k, j) edge. Key structural properties of an adjacency matrix, 𝕊, for a digraph are summarized below:

  1. The non-zero entries in the jth column of 𝕊 are for the ℘(j) parent nodes of the jth node. Thus, the product of 𝕊 with the ith unit vector ei is a vector whose non-zero entries are the parent nodes of the ith node. In particular, a node p is a root node if and only if
    𝕊·ep=0 (5)

    In other words, root node columns of 𝕊 have all zero elements.

  2. The non-zero entries in the ith row of 𝕊 are for the ∁(i) child nodes of the ith node. Thus, the product of 𝕊* with the ith unit vector, ei, is a vector whose non-zero entries are the child nodes of the ith node. In particular, a node t is a tip node, i.e., it has no children, if and only if
    et*·𝕊=0 (6)

    In other words, tip node rows of 𝕊 have all zero elements.

  3. Permutation matrices can be used to re-index the nodes in a digraph. Permutation matrices are orthogonal, i.e., the transpose of a permutation matrix is its inverse. With T denoting such a permutation matrix, and 𝕊 the adjacency matrix of the original digraph, the adjacency matrix of the digraph after re-indexing is T𝕊T*.

3.2 Properties of tree adjacency matrices

Since nodes in a tree can have at most one parent node, the adjacency matrix of a tree digraph in Eq. 2 can be expressed in the following simpler form:

𝕊=k=1ne(k)ek* (7)

We now examine the properties of an adjacency matrix, 𝕊, for a tree digraph.

  1. Since a node can have at most one parent in a tree, there can be at most one non-zero entry in any column of 𝕊.

  2. Only a single column, corresponding to the root node, is all zero in 𝕊.

  3. A row can have multiple non-zero elements.

  4. For canonical trees, 𝕊 is always strictly lower-triangular.

  5. Reversing the direction of the edges in a tree typically destroys the tree character; leaving only a polytree. The reversal process converts multiple children nodes into multiple parent nodes. 𝕊* is the adjacency matrix for the polytree.

  6. 𝕊 has simpler structure for strictly canonical trees. It consists of the adjacency matrix for serial canonical serial-chain segment digraphs, 𝕊i, along the diagonal, and off-diagonal 𝕊i,j elements for the edges connecting the serial-chain segments. For the example strictly-canonical tree digraph in Figure 4, 𝕊 has the structure shown in Figure 5.

  7. The kth power of the adjacency matrix, 𝕊k, contains non-zero elements only for paths of length k connecting the nodes [9]. That is, the (i, j) element of 𝕊k is non-zero if and only if there is a directed path of length k from node i to node j.

  8. With n denoting the number of nodes in the tree, the nth power of the adjacency matrix, 𝕊n, is zero. This is because the length of any path in a tree with n nodes is less than n. Thus 𝕊 is a nilpotent matrix3. In other words, the adjacency matrix for a tree digraph is always nilpotent.

Fig. 4.

Fig. 4

An example strictly-canonical tree topology system decomposed into serial-chain branch segments.

Fig. 5.

Fig. 5

Structure of the 𝕊 adjacency matrix for the strictly-canonical tree topology system in Figure 4

3.3 Properties of serial-chain adjacency matrices

We now review the properties of an adjacency matrix, 𝕊, for a serial-chain digraph.

  1. Since a node can have at most one child in a serial-chain, its adjacency matrix can have at most one non-zero element per row.

  2. For a canonical serial-chain, only the first sub-diagonal of 𝕊 is non-zero.

  3. For a canonical serial-chain, only the kth sub-diagonal of 𝕊k contains non-zero elements. Each additional power shifts the sub-diagonal one level lower.

  4. A reversed serial chain is once again a serial-chain.

4 Block weighted adjacency matrices

Adjacency matrices have 1 or 0 scalar entries for the node pair of each edge in a digraph, while weighted adjacency matrices allow scalar entries other than 1 for the edges. We now generalize weighted adjacency matrices to define block-weighted adjacency (BWA) matrices. Instead of scalars, BWA matrices are weighted adjacency matrices whose weight entries for the edges are not scalars, but instead matrices. First, each tree node, j, is assigned a weight dimension, mj, and its parent edge is assigned a weight matrix of dimension m℘(j) × mj, denoted w (℘(j), j). The (k, j)th block-matrix element of a BWA matrix, 𝕊W, is thus

𝕊W(k,j)={w(k,j)if  k=(j)0otherwise    mk×mj (8)

Other than the dimensionality requirement, there are no additional restrictions on the 𝕊W (k, j) weight matrices. The standard adjacency matrix, 𝕊, in Eq. 2 is a special case of a BWA matrix, where all the node dimensions are 1, and the edge weights are the scalar 1. 𝕊W has non-zero block-entries only for node pairs corresponding to edges in the digraph. It is easy to verify from the definition of the block-elements in Eq. 8 that 𝕊W is a well-defined square matrix of dimension

Nk=1nmk (9)

We extend the notion of the ek unit vectors in Eq. 3, to the BWA context by assigning them block matrix entries as follows:

ek(i)={Imkif  i=k0mi×mkotherwise (10)

Thus, the ek unit “vector” is a matrix of dimension N × mk, with n block matrix elements. The new version of Eq. 4 is

ej*·ek={Imjif  j=k0mj×mkotherwise (11)

Using the unit vectors, and the component definitions in Eq. 8, 𝕊W can be expressed as:

𝕊W=j=1nk(j)ekw(k,j)ej* (12)

Eq. 12 is a generalization of Eq. 2 for BWA matrices.

4.1 BWA matrices for tree digraphs

Analogous to Eq. 7, the BWA matrix expression in Eq. 12 has the following simpler form for tree digraphs:

𝕊W=k=1ne(k)w((k),k)ek* (13)

The following lemma provides an expression for the block elements of 𝕊Wk for tree digraphs.

Lemma 1 Elements of 𝕊Wk for a tree digraph

For a tree digraph, 𝕊Wk , the kth power of the 𝕊W BWA matrix, contains non-zero block-elements only for node pairs connected by directed paths of length k. The value of its block-element is the product of the k weights for the edges along the path, i.e., the non-zero elements are of the form

𝕊Wk(k(i),i)=w(k(i),k1(i))**w((i),i)mk(i)×mi (14)

Here, ℘k(i) denotes the kth ancestor of the ith node.

Proof Let us illustrate the proof for k = 2. 𝕊W2 is given by

𝕊W2=13(j=1ne(j)w((j),j)ej*)*(i=1ne(i)w((i),i)ei*)=4j=1ni=1ne(j)w((j),j)𝟙[j=(i)]w((i),i)ei*=i=1ne2(i)w(2(i),(i))*w((i),i)ei*

The (℘2(i), i) block-element of 𝕊W2 is thus,

𝕊W2(2(i),i)=w(2(i),(i))*w((i),i)

which establishes Eq. 14 for 𝕊W2 . Continuing in a similar vein, Eq. 14 can be established for arbitrary k.

4.2 The 1-resolvent of tree BWA matrices

The following lemma establishes the nilpotency of 𝕊W for tree digraphs.

Lemma 2 Nilpotency of tree BWA matrices

The nth power of a tree BWA matrix, 𝕊Wn , is zero, where n denotes the number of nodes in the system. Hence, the BWA matrix for a tree digraph is a nilpotent matrix.

Proof Lemma 1 states that the non-zero entries of 𝕊Wn correspond to node pairs connected by paths of length n. Since paths can be of length at most n − 1 in a tree with n nodes, it follows that 𝕊Wn is the zero matrix.

In matrix theory, the resolvent of a matrix A, is defined as the (λIA)−1 matrix for a scalar λ. We use the term, 1-resolvent, to denote the specific resolvent with λ = 1.

Lemma 3 The 1-resolvent of a nilpotent matrix

If U is a nilpotent matrix, such that Un = 0, then its 1-resolvent, W ≜ = (IU)−1, is given by

W=I+U+U2++Un1 (15)

Proof For W as defined in Eq. 15

UW=WU=U+U2++Un=U+U2++Un1=WI

Rearranging terms, we have

I=WUW=(IU)W(IU)1=W

The following lemma derives an explicit expression for the 1-resolvent of a tree BWA matrix.

Lemma 4 The 1-resolvent of a tree BWA matrix

The 1-resolvent, (I − 𝕊W)−1, of a tree BWA matrix exists and can be expressed as the following disjoint sum of its powers:

(I𝕊W)1=I+𝕊W+𝕊W2++𝕊Wn1 (16)

Proof Lemma 2 states that the adjacency matrix of a tree, 𝕊W, is nilpotent. Eq. 16 follows by applying the expression from Lemma 3 for the 1-resolvent of a nilpotent matrix to 𝕊W.

Lemma 4 is an important result. It provides an explicit expression for the 1-resolvent of the 𝕊W BWA matrix for tree systems. For cyclic digraphs, i.e., ones with directed loops, the 1-resolvent is not defined because 𝕊W is not nilpotent and (I − 𝕊W) is non-invertible. This topological difference has significant implications for the dynamics properties of tree versus cyclic digraph multibody systems. This is discussed in more detail in [14]

We now introduce notation that better reflects the intimate relationship between a BWA matrix and its 1-resolvent matrix for a tree digraph. With 𝔸 denoting the 1-resolvent matrix for a tree, we will use the notation ℰ𝔸 to denote its associated BWA matrix. Thus, the relationship between the earlier notation and the new notation is as follows:

𝔸(I𝕊W)1  and  𝔸𝕊W=I𝔸1 (17)

The following lemma describes the expression for the block elements of a 1-resolvent matrix.

Lemma 5 Elements of a 1-resolvent matrix 𝔸

The (k, j) element of the 1-resolvent matrix of a tree, 𝔸 = (I − ℰ𝔸)−1, is given by

𝔸(i,j)={0mi×mjfor ijImifor i=jw(i,j)for i=(j)w(k(j),k1(j))**w((j),j)for i=k(j) (18)

Proof Eq. 18 follows from the expression for (I−ℰ𝔸)−1 in Eq. 16, together with Lemma 1 which describes the elements of the powers of ℰ𝔸.

Thus, 𝔸 has identity matrices along the diagonal. The non-zero block elements correspond to (i, j) node pairs where node i is an ancestor of node j. For such cases, the block element is the product of the weight matrices associated with each of the edges in the path from i to j. From Eq. 18, it is clear that the 𝔸 1-resolvent is sparse, with its sparsity structure directly reflecting the topological structure of the associated tree.

Remark 4.1 Structure of canonical serial-chain𝔸 and 𝔸 matrices

Let us now examine the structure of the 1-resolvent matrix 𝔸 for a canonical serial-chain digraph. We assume for this example that the serial-chain has 4 nodes, and thus 𝔸4=0 . Using Eq. 16, 𝔸 is given by the following disjoint sum:

𝔸=I+𝔸+𝔸2+𝔸3

The non-zero elements of the above matrices are as shown below (with “·” entries indicating zero blocks and the X entries the non-zero ones):

𝔸=(....X....X....X.),𝔸2=(........X....X..),𝔸3=(............X...)

𝔸 has non-zero block entries only along its first sub-diagonal. Each subsequent power of ℰ𝔸 shifts the non-zero sub-diagonal lower, until it vanishes entirely for the nth power.

Thus, 𝔸 has the following structure:

𝔸=(I...XI..XXI.XXXI)

𝔸 is lower-triangular, with all of the diagonal and lower-triangular block-elements being non-zero. All of these terms are non-zero because all nodes in serial-chains are related, i.e., there is a directed path between all node pairs.

This example shows that, for a canonical serial-chain, all of the lower-triangular elements of 𝔸 are non-zero. The following example looks at the structure of a 1-resolvent matrix for a canonical tree.

Remark 4.2 Structure of canonical tree𝔸 and 𝔸 matrices

The sparsity structure of the𝔸 and 𝔸 matrices for the canonical tree in Figure 2c is shown below. The “·” entries indicate zero block-elements.

𝔸=(..............X.......X..............XXX.......X.)  and  𝔸=(I.......I.....X.I.....X.I.......I..XXXXXI.XXXXXXI)

These matrices illustrate that, for canonical trees, the𝔸 matrix is strictly lower-triangular, and 𝔸 is lower-triangular. However, some of the lower-triangular blocks of 𝔸 are zero, in contrast with the all non-zero case for canonical serial-chains. The zero terms correspond to the unrelated nodes in the tree, i.e., node pairs that are not connected by a path. Jain [14] takes a more detailed look at the sparsity structures of the𝔸 and 𝔸 matrices.

This example shows that there is significant sparsity in the lower-triangular blocks of 𝔸 for a tree. The sparsity is a function of the branching topological structure of the tree. Serial-chain systems represent the most dense topological structure since all of their nodes are related. Trees, on the other hand, can have unrelated nodes, i.e., nodes with no directed paths connecting them. This decreased connectivity of the nodes is reflected in the sparsity of 𝔸.

The following lemma highlights the semi-group properties of the block elements of 𝔸.

Lemma 6 Semi-group property of 𝔸 (i, j) elements

For a tree, let i, j, and k denote nodes, where the ith node is an ancestor of the jth node, and the kth node is on the path connecting them. Then, the block-elements of the 𝔸 1-resolvent satisfy the following relationship:

𝔸(i,j)=𝔸(i,k)𝔸(k,j)  k:ikj (19)

This property is also known as the semi-group property for the elements of a 1-resolvent matrix.

Proof Let i = ℘m(j) for some m, and k = ℘r(j) for some r < m. Let l denote the child node of k that is on the path to node j. From the Eq. 18 expression for the block elements of 𝔸, we have

𝔸(i,j)    18¯¯  w(m(j),m1(j))**w((j),j)=[w(m(j),m1(j))**w((k),k)]*[w(k,l)**w((j),j)]    18¯¯  𝔸(m(j),k)*𝔸(k,j)=𝔸(i,k)*𝔸(k,j)

Define the 𝔸̃ matrix derived from the 𝔸 1-resolvent matrix as follows:

𝔸˜    𝔸I (20)

𝔸̃ is strictly lower-triangular for canonical trees. The following lemma establishes some basic properties of 𝔸̃.

Lemma 7 The 𝔸̃ spatial operator

For a 1-resolvent 𝔸, the following identities hold:

𝔸˜=𝔸I=𝔸𝔸=𝔸𝔸 (21)

Proof For any matrix X, such that (IX) is invertible, the following matrix identity holds:

X(IX)1=(IX)1X=(IX)1I

With X = ℰ𝔸, the above equation, together with Eq. 20, directly lead to Eq. 21.

The following exercise extends the adjacency matrix properties in Eq. 5 and Eq. 6 to BWA matrices and their 1-resolvents.

Corollary 4.1 Root/tip nodes and BWA matrices

  1. A node r is a root node of the tree if and only if
    𝔸·er=0,    𝔸·er=er (22)
  2. A node t is a tip node of the tree, i.e., it has no children nodes, if and only if
    𝔸*·et=0,    𝔸*·et=et (23)

Proof:

  1. The first part of Eq. 22 is a generalized restatement of Eq. 5 for BWA matrices. The latter half follows from the following:
    𝔸1·er   17¯¯   (I𝔸)er   22¯¯   er
  2. The proof here is completely analogous to that of the first part with the use of Eq. 6.

The following remark describes properties of the product of a general matrix, and a diagonal matrix, that we will use in the forthcoming sections.

Remark 4.3 Matrix products

Recall that any block-matrix, Y, can be expressed as

Y=j=1nk=1nejY(j,k)ek*

Let X    diag {X(i)}i=1n and Z    diag {Z(i)}i=1n denote compatible block-diagonal matrices. Then it is easy to verify that

XY=j=1nk=1nejX(j)Y(j,k)ek*and YZ=j=1nk=1nejY(j,k)Z(k)ek* (24)

While the discussion in this section has been devoted to BWA matrices and 1-resolvents for tree digraphs, all of the properties and results extend directly to forests, i.e., to digraphs consisting of a set of disjoint trees.

5 Similarity transformations of a tree BWA matrix

We now examine the effect of applying similarity transformations to a BWA matrix.

Lemma 8 Similarity transformation of a BWA matrix

Let T denote an invertible matrix and𝔸 a tree BWA matrix. Let Y ≜ = T𝔸T−1 denote a similarity transformation of𝔸 by the T matrix. Then Y is nilpotent, and its 1-resolvent is given by the following similarity transformation:

(IY)1=T𝔸T1 (25)

Proof Since ℰ𝔸 is nilpotent, we have

Yn=(T𝔸T1)n=T(𝔸)nT1=0

Hence, Y is nilpotent. Also,

(IY)1=(IT𝔸T1)1=T(I𝔸)1T1=T𝔸T1

This establishes Eq. 25.

The above lemma provides an expression for the 1-resolvent of the matrix obtained by applying a similarity transformation to a BWA matrix. However, there is no guarantee that the transformed matrix, Y, retains the block partitioned structure of the original BWA matrix. Generally, the transformed Y matrix will not be a BWA matrix for the tree.

5.1 Permutation similarity transformations

A special case, where the BWA property is preserved under similarity transformations, occurs when the transformation matrix is a permutation matrix used to re-index the nodes in the tree. For such a permutation matrix, denoted T, we know that T−1 = T*. The transformed matrix, ℰ𝔹 ≜ = T𝔸T−1 is indeed a BWA matrix for the tree, and its 1-resolvent 𝔹 is given by:

𝔹=T𝔸T*  and  𝔹    (I𝔹)1  25¯¯  T𝔸T* (26)

In the multibody context, such permutation transformations relate equations of motion obtained using different body numbering schemes. In particular, any tree can be converted into a canonical tree with an appropriate re-labeling of the nodes. This implies that the ℰ𝔸 and 𝔸 matrices for any tree are related to the lower-triangular versions for the corresponding canonical tree via permutation matrices.

5.2 Similarity-shift transformations

Another type of similarity transformation, referred to as a similarity-shift transformation, that preserves the BWA property is discussed next. Let Δ be an invertible, block-diagonal matrix defined as follows:

Δ diag {Δ(k)}k=1nwhereΔ(k)mk×mk (27)

Let 𝔹 (℘(k), k) denote new weight matrices defined from the original 𝔸 (℘(k), k) weight matrices as follows:

𝔹((k),k)=Δ((k))𝔸((k),k)Δ1(k) (28)

Let ℰ𝔹 denote the BWA matrix with the 𝔹 (℘(k), k) weight matrices. The following lemma establishes the relationship between the ℰ𝔸 and ℰ𝔹 BWA matrices and their 1-resolvents.

Lemma 9 Similarity-shift transformation of a BWA matrix

Let𝔸 and𝔹 be BWA matrices whose weight matrices satisfy Eq. 28. Then the BWA matrices𝔹 and𝔸 are related by the following similarity transformation:

𝔹=Δ𝔸Δ1 (29)

Also, the 1-resolvent matrices, 𝔸 = (I − ℰ𝔸)−1 and 𝔹 = (I − ℰ𝔹)−1, are related by the same similarity transformation:

𝔹=Δ𝔸Δ1 (30)

Proof Now

𝔹=28k=1ne(k)Δ((k))𝔸((k),k)Δ1(k)ek*=24k=1nΔe(k)𝔸((k),k)ek*Δ1=Δk=1ne(k)𝔸((k),k)ek*Δ1=Δ𝔸Δ1

This establishes Eq. 29. Further application of Lemma 8 leads to Eq. 30.

In the multibody context, similarity-shift transformations are used to define the relationship between equations of motion associated with different choices of body frames.

6 Multibody System Graphs

Digraphs provide natural mathematical constructs for describing the topology and connectivity of bodies in a multibody system. They have been used for the systematic formulation of the equations of motion [24, 31, 36], as well as for kinematical analysis [37].

We define the standard digraph associated with 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. Thus, an n-link multibody system has a digraph with n+1 nodes.

The edges in the digraph are defined by the motion constraints among the bodies, and between the bodies and the inertial frame. Thus, each hinge is represented by an edge, with the edges orientated from the inboard to the outboard body. Additional edges are assigned to other non-hinge motion constraints in the system. All motion constraints with respect to the inertial frame are defined so that edges from the inertial frame node to the link nodes are directed away from the inertial frame root node. These assignments result in a rooted digraph representation for the multibody system. Figure 6 illustrates the correspondence between the bodies and hinges in a serial-chain multibody system and the standard, serial-chain digraph for the system. The convention is to depict the inertial frame node as unfilled, and the edges from the node as dashed lines. Multibody systems are classified as follows, based on the topology of Serial-chain multibody system Serial-chain digraph their standard digraph:

  • systems with tree standard digraphs are referred to as tree-topology systems.

  • systems with serial-chain standard digraphs are referred to as the familiar serial-chain systems. They are special cases of tree-topology systems.

  • systems with non-tree standard digraphs are referred to as closed-chain or constrained systems. These digraphs can have directed cycles and/or multiply-connected nodes. Recall that every rooted digraph can be decomposed (non-uniquely) into a spanning tree together with a set of cut-edges. A decomposition into a spanning tree with n + 1 nodes and a set of cut-edges is often used when working with closed-chain systems.

Fig. 6.

Fig. 6

The relationship between a serial-chain multibody system and its standard, serial-chain digraph. The inertial frame nodes are shown as unfilled nodes, while the edges from the node are shown as dashed lines.

Removing the inertial root node converts the spanning tree into a forest. We will refer to this forest as the SKO-forest for the system4. The SKO-forest has just n nodes, matching the number of bodies in the system. Nodes corresponding to base-bodies in the multibody system are root nodes in the SKO-forest. We will make extensive use of n-node SKO-forests since they allow us to work with adjacency matrices of dimension n instead of dimension n + 1. There is no information loss because the spanning tree can be fully recovered by adding the inertial frame root node and its edges to the root nodes in the SKO-forest. The inertial frame node is, in reality, redundant in the spanning tree of a multibody system since it is always present as the root node.

Figure 7 illustrates several examples of multibody systems and their associated standard digraph representations, as described below:

  1. A serial-chain system with a serial-chain digraph.

  2. A tree-topology system consisting of a pair of independent serial manipulators. The resulting digraph is a tree.

  3. A tree-topology system with branching reflected in its tree digraph.

  4. A closed-chain four-bar linkage with an internal loop constraint. Based on the directionality of the constraint hinge, the digraph contains a directed cycle or is multiply-connected.

  5. A closed-chain pair of serial-manipulators whose end-effectors are constrained. The digraph for this system is a multiply-connected.

  6. A closed-chain serial manipulator with constrained end-effector. The digraph is multiply-connected.

Fig. 7.

Fig. 7

Examples of general multibody systems and their standard digraph representations.

Non-standard digraphs where the bodies and digraph nodes are not in one-to-one correspondence with each other are permitted - and are used in constraint embedding techniques for modeling closed-chain dynamics [13]

6.1 BWA Matrices and Serial-Chain Rigid Body Systems

In this section we consider serial-chain multibody systems to begin establishing connections between BWA matrices and their 1-resolvents with multibody system dynamics.

6.1.1 Review of serial-chain velocity kinematics

Consider an n-link rigid body serial-chain system. The tip link is denoted link 1 and the base-body link as link n. The associated serial-chain tree associated with this graph is a strictly canonical tree with the parent/child relationship given by ℘(k) = k + 1.

Using spatial coordinate-free notation with 𝒱(k) denoting the spatial velocity (angular+linear, 6-dimensional), θ̇ (k) the hinge generalized velocities, H* (k) the hinge map matrix, and

ϕ*(k+1,k)=(I𝔩~(k+1,k)0I) (31)

the rigid body transformation matrix, the link-to-link spatial velocity relationships can be expressed as [7, 11]:

𝒱(k)=ϕ*(k+1,k)𝒱(k+1)+H*(k)θ˙(k) (32)

The overall velocity degrees of freedom for the system is denoted 𝒩 and is defined as the sum of all the individual hinge degrees of freedom. Now we introduce stacked vectors needed to define system level relationships. The stacked vectors 𝒱 and θ are defined as

𝒱 col {𝒱(k)}k=1n=[𝒱(1)𝒱(2)𝒱(n)]6n, and θ col {θ(k)}k=1n=[θ(1)θ(2)θ(n)]𝒩 (33)

The 𝒱 stacked vector consists of the component body-level 𝒱(k) spatial velocity vectors combined into a single large vector. Correspondingly the θ stacked vector consists of the component body-level θ(k) generalized coordinates combined into a single large vector. The link-level Eq. 32 relationship can now be expressed equivalently at the system level [11] as

𝒱=ϕ*𝒱+H*θ˙ (34)

where the spatial operator ℰϕ is defined as

ϕ=(00000ϕ(2,1)0000ϕ(3,2)0000ϕ(n,n1)0)6n×6n (35)

and the block-diagonal H ∈ ℛ𝒩×6n spatial operator as

H diag {H(k)}k=1n=(H(1)000H(2)000H(n))𝒩×6n (36)

Observe that Eq. 34 is an implicit equation with 𝒱 appearing on the both sides. However, it is explicit at the component-level, i.e. if we look at the kth row of this matrix equation, we obtain back the Eq. 32 explicit form.

6.1.2 ℰϕ is a BWA matrix

We can re-express Eq. 35 as

ϕ=k=1nek+1ϕ(k+1,k)ek*=k=1ne(k)ϕ((k),k)ek* (37)

We see that ℰϕ in Eq. 37 has the structure of a BWA matrix in Eq. 13. Indeed, ℰϕ is a BWA matrix for the canonical serial-chain tree with 6 × 6 weight matrices defined by

w((k),k)=w(k+1,k)ϕ(k+1,k)=ϕ((k),k) (38)

Since ℰϕ is a BWA matrix, by Lemma 4, its 1-resolvent ϕ = (I − ℰϕ)−1 is well-defined, and is given by

ϕ=(I00ϕ(2,1)I0ϕ(n,1)ϕ(n,2)I)6n×6n (39)

The implicit relationship in Eq. 34 can now be converted into an explicit relationship for 𝒱 by rearranging it into the form

(Iϕ*)𝒱=H*θ˙ϕ*𝒱=H*θ˙𝒱=ϕ*H*θ˙ (40)

Thus we have established that the ℰϕ and ϕ spatial operators for serial-chain canonical serial-chain multibody systems are in fact BWA matrices and 1-resolvents respectively for the associated serial-chain graph. Indeed the strictly lower-triangular and lower-triangular structures of ℰϕ and ϕ are consistent with their being associated with canonical serial-chain trees.

6.1.3 Equations of motion for serial-chain systems

From the free-body equations of motion of the kth link we have:

𝔣(k)ϕ(k,k1)𝔣(k1)=M(k)α(k)+𝔟(k) (41)

where 𝔣(k) denotes the inter-link spatial force across the kth hinge, M(k) denotes the spatial inertia of the kth link, α(k) its spatial acceleration and 𝔟 (k) the gyroscopic spatial force for the kth link [11]. Rearranging the above we obtain the following:

𝔣(k)=ϕ(k,k1)𝔣(k1)+M(k)α(k)+𝔟(k) (42)

Switching to the system-level stacked vector re-expression of Eq. 42, leads to the following relationship:

𝔣=ϕ𝔣+Mα+𝔟 (43)

In the above 𝔣, α and 𝔟 are stacked vectors along the lines of Eq. 33, α is a stacked vector of body spatial accelerations, while M is a block-diagonal spatial operator with the M(k) elements along the diagonal. Using Eq. 40 and Eq. 43 it is easy to establish that the overall equations of motion are given by:

𝒱=ϕ*𝒱+H*θ˙α=ϕ*α+H*θ¨+𝔞𝔣=ϕ𝔣+Mα+𝔟𝒯=H𝔣 (44)

In the above 𝒯 is the stacked vector of all the hinge generalized forces, while 𝔞 is the stacked vector of the Coriolis spatial accelerations for all the bodies. Using the 1-resolvent, ϕ, these implicit expressions can be transformed from implicit ones to the following explicit version of the equations of motion:

𝒱=ϕ*H*θ˙α=ϕ*(H*θ¨+𝔞)𝔣=ϕ(Mα+𝔟)𝒯=H𝔣 (45)

Combining the expressions in Eq. 45 we obtain

𝒯=θ¨+𝒞 (46)

where

=HϕMϕ*H*𝒩×𝒩  and  𝒞Hϕ(Mϕ*𝔞+𝔟)𝒩 (47)

ℳ ∈ ℛ𝒩×𝒩 denotes the mass matrix for the serial-chain system, and 𝒞 ∈ ℛ𝒩 is the vector of velocity dependent nonlinear Coriolis and velocity dependent terms. The expression for the mass matrix in Eq. 47 is referred to as the Newton-Euler Factorization of the mass matrix [11] and was also shown earlier in Eq. 1. This is our first encounter of the convergence of the new concepts of BWA and 1-resolvent matrices with those of the ℰϕ and ϕ spatial operators that play a key role in spatial operator based dynamics formulations [11].

6.2 Non-canonical serial-chains

For non-canonical serial-chains, the (k + 1)th link is not necessarily the parent body of the kth link. So a natural question is whether the ℰϕ and ϕ spatial operators for non-canonical serial-chains continue to be BWA and 1-resolvent matrices? The answer is in the affirmative. We simply need to discard the implicit assumption that the parent body of the kth link is the (k+1)th link, and switch to the more general ℘(k) notation for the parent link. The generalization of Eq. 32 for non-canonical serial-chain systems is:

𝒱(k)=ϕ*((k),k)𝒱((k))+H*(k)θ˙(k) (48)

The velocity relationship in Eq. 34 continues to hold, with ℰϕ defined by the more general second half of Eq. 37. Thus, ℰϕ is once again a BWA matrix. Indeed, the rest of the development in Section 6.1.3, leading to the equations of motion in Eq. 44 and Eq. 47, continues to apply. However, since the system is non-canonical, neither ℰϕ nor ϕ in Eq. 37 and Eq. 39, respectively, are lower-triangular. Thus, even though the component-level equations and the operator structure depend on the body indexing scheme, the BWA and 1-resolvent properties of the ℰϕ and ϕ spatial operators, and the operator forms of the equations of motion, remain intact! In the next section, we will encounter this theme again for tree-topology systems.

7 BWA matrices and tree-topology, rigid body systems

The key difference between serial-chain and tree-topology multibody systems is that, in a tree system, bodies can have multiple children bodies. The standard digraph for an n-links tree-topology multibody system is a tree with (n+1) nodes, as illustrated in Figure 8. We make no specific assumptions about the indexing scheme for the bodies. However, as usual, structural properties are easier to visualize when canonical indexing schemes are used.

Fig. 8.

Fig. 8

The correspondence between a tree-topology multibody system and its standard tree digraph.

Examining the kinematic velocity relationships across the links, the inter-link velocity relationship shown in Eq. 48 continues to apply to bodies in a tree-topology system:

𝒱(k)=ϕ*((k),k)𝒱((k))+H*(k)θ˙(k) (49)

That is, the spatial velocity of the kth link can be expressed as the sum of the rigidly propagated spatial velocity of the parent body and the relative spatial velocity, H* (k)θ̇ (k), across the kth hinge. Defining the 𝒱 and θ̇ stacked vectors and the H spatial operator in the same way as in Section 6.1.1, it is easy to verify that the following operator expression is a system-level rearrangement of the component-level velocity relationship in Eq. 49:

𝒱=ϕ*𝒱+H*θ˙ (50)

with ℰϕ defined as

ϕ=k=1ne(k)ϕ((k),k)ek* (51)

The ℰϕ spatial operator has the Eq. 13 form of a BWA matrix for the SKO-forest associated with the system. The ϕ(℘(k), k) matrices are the 6 × 6 weight matrices. Since the SKO-forest is a forest, ℰϕ is nilpotent and, from Lemma 4, it has a well defined 1-resolvent, ϕ = (I − ℰϕ)−1. Hence, Eq. 50 can be transformed into

(Iϕ*)𝒱=H*θ˙  and  𝒱=ϕ*H*θ˙ (52)

This operator expression is identical to the one in Eq. 34 for serial-chain systems.

7.1 Equations of motion for tree topology systems

To develop the equations of motion for the tree system, we once again start with the free-body equations of motion of the kth link, as was done in Eq. 41 for serial-chain systems. The key difference is that we need to take into consideration the 𝔣(.) spatial interaction forces from all the children bodies, instead of from just a single child body, as is the case for serial-chain systems. The following is the generalization of the force balance expression from Eq. 41 extended to tree-topology systems:

𝔣(k)j(k)ϕ(k,j)𝔣(j)=M(k)α(k)+𝔟(k) (53)

Rearranging the above leads to the following analog of Eq. 42:

𝔣(k)j(k)ϕ(k,j)f(j)=M(k)α(k)+𝔟(k) (54)

Switching to the system-level stacked vector form of Eq. 54, we obtain

𝔣=ϕ𝔣+Mα+𝔟 (55)

Continuing in this mode, the following expressions summarize the operator expressions for tree-topology systems:

𝒱50¯¯ϕ*𝒱+H*θ˙α=ϕ*α+H*θ¨+𝔞𝔣55¯¯ϕ𝔣+Mα+𝔟𝒯=H𝔣 (56)

These expressions are identical to the corresponding expressions in Eq. 44 for serial-chain systems. Using ϕ = (I − ℰϕ)−1, these expressions can be transformed from implicit ones into the following explicit operator expressions:

𝒱=ϕ*H*θ˙α=ϕ*(H*θ¨+𝔞)𝔣=ϕ(Mα+𝔟)𝒯=H𝔣 (57)

These expressions are identical to the corresponding expressions in Eq. 44 for serial-chain systems. Combining the expressions in Eq. 57 leads to

𝒯=(θ)θ¨+𝒞(θ,θ˙) (58)

where

(θ)=HϕMϕ*H*𝒩×𝒩  and  𝒞(θ,θ˙)Hϕ(Mϕ*𝔞+𝔟)𝒩 (59)

ℳ ∈ ℛ𝒩×𝒩 denotes the mass matrix for the tree-topology system, and 𝒞 ∈ ℛ𝒩 is the vector of velocity dependent nonlinear Coriolis and gyroscopic velocity dependent terms. These operator expressions are identical to the ones in Eq. 47 for serial-chain systems. Adopting the terminology from the serial-chain case, we refer to the expression for ℳ in Eq. 59 as the Newton-Euler Factorization of the mass matrix.

We thus conclude that, even though the component-level relationships and the respective operator structures are quite different between canonical and non-canonical serial-chain systems and tree-topology systems, the BWA and 1-resolvent matrix properties of the ℰϕ and ϕ spatial operators persist, and the operator level form of the equations of motion and the mass matrix, remarkably, remain unchanged!

7.1.1 SKO and SPO operators

Now for some change in terminology. BWA matrices and 1-resolvent matrices will start to play a central role in our ongoing study of the dynamics of multibody systems. In the narrower context of multibody systems, we have already encountered spatial operator examples that are in fact BWA and 1-resolvent matrices. In order to conform more closely to the spatial operator terminology, we will henceforth in this multibody context refer to spatial operators that are BWA matrices (such as ℰϕ) as spatial kernel operators (SKO) and their associated 1-resolvent matrices (such as ϕ) as spatial propagation operators (SPO).

8 Illustration of extensions for flexible bodies

The multibody role of SKO and SPO operators has so far focused on rigid body multibody systems. Spatial operator techniques, and analytical results such as Eq. 1, have been developed for systems with deformable bodies [18]. For the purposes of illustration, we now present an overview of the extensions that establish the SKO ans SPO properties of the spatial operators for systems with non-rigid bodies using the notation from reference [18].

  1. In addition to the 6-dimensional 𝒱(k) spatial velocity of its body frame, the velocity state of a body is defined by its nmd(k) dimensional η̇ (k) deformation rate coordinates. Thus, the 𝒩̌ (k) = nmd(k) + 6 dimensional free-body generalized velocities vector 𝒱fl(k) for the kth body is defined as:
    𝒱fl(k)=[η˙(k)𝒱(k)]𝒩(k)
  2. The appropriate inertia term for the kth flexible body is defined by the following partitioned matrix
    Mfl(k)=(Mflff(k)Mflfr(k)Mflrf(k)Mflrr(k))𝒩(k)×𝒩(k)
    where the sub-blocks define the rigid/rigid,, rigid/flex and flex/flex inertia terms. The kinetic energy of the kth body, including both the rigid and deformation contributions, is given by:
    𝔎e(k)=12𝒱fl*(k)Mfl(k)𝒱fl(k)
  3. The velocity recursion relating the Mfl(k) velocity of the kth body to that of its parent is expressed as
    𝒱fl(k)=Φfl*(k+1,k)𝒱fl(k+1)+Hfl*(k)ϑ˙(k)
    The inter-body transformation operator Φfl(k + 1, k), the modal joint map matrix Hfl(k), and the independent ϑ(k) generalized coordinates, for the kth body are defined as:
    Φfl(k+1,k)(0Π*(𝕆k+1+)ϕ(𝕆k+,k)0ϕ(k+1,k))𝒩(k+1)×𝒩(k)Hfl(k)(IΠ𝔹*(𝕆k)0H𝔹(k))𝒩¯(k)×𝒩(k),    ϑ(k)[η(k)θ(k)]𝒩¯(k)

    The nmd(k) × 6 dimensional Π*(𝕆k+1+) and Π𝔹*(𝕆k) modal influence matrices are obtained from the structural analysis of the body and define the mapping to the deformation of the nodes on either side of the kth hinge. From this, the SKO weight matrices matrices are identified to be the Φfl(k +1, k) terms.

  4. The 𝒱fl and ϑ̇ stacked vectors are assembled as usual. The ℰΦfl SKO operator is defined with the Φfl(k + 1, k) weight matrices. The SPO operator is defined by Φfl = (I − ℰΦfl)−1. The block-diagonal Hfl and Mfl operators are defined using the Hfl(k) and Mfl(k) component matrices. These lead to the following operatorlevel equations of motion
    𝒱fl=Φfl*Hfl*ϑ˙αfl=Φfl*(Hfl*ϑ¨+𝔞fl)𝔣fl=Φfl(Mflαfl+𝔟fl+𝔎ϑ)𝒯fl=Hfl𝔣fl=flϑ¨+𝒞fl
    with the SKO formulation mass matrix and its Newton-Euler Factorization defined as
    flHflΦflMflΦfl*Hfl*  and  𝒞flHflΦfl(MflΦfl*𝔞fl+𝔟fl+𝔎ϑ)

9 Conclusions

This paper develops insights into the graph theory underpinnings of multibody dynamics. We introduce the notion of BWA matrices as weighted matrix generalizations of digraph adjacency matrices. The BWA matrices for trees are shown to be nilpotent, thus making possible explicit expressions for their 1-resolvent. Key connections between BWA matrices, their 1-resolvents and spatial operators used for formulating the dynamics of tree multibody systems are subsequently established. In the dynamics context, the BWA matrices and their 1-resolvents are referred to as SKO and SPO operators respectively. The SKO operators provide a uniform and general way of formulating the system dynamics, with the system-specific details being reflected in the component weight matrices of the operator. The separation between the abstract SKO structure and the specific weight matrices is important because we show in the companion paper Jain [14] that key analytical results are a direct consequence of the SKO properties of the system, and are in fact independent of the specific nature and details of the component weight matrices for the system.

Acknowledgements

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.5 This project was also supported in part by Grant Number RO1GM082896-01A2 from the National Institute of Health.

Footnotes

1

Preliminary results in this paper have been reported in [15].

2

Strictly speaking, the canonical property of a tree depends only on the way indices are assigned to the nodes, and not the topological structure of the tree itself.

3

A matrix X is said to be nilpotent if there exists an integer, n, such that Xn = 0.

4

The SKO terminology is defined later in Section 7.1.1.

5

© 2010 California Institute of Technology. Government sponsorship acknowledged.

References

  • 1.Aghili F. Simplified Lagrangian Mechanical Systems with Constraints using Square-root Factorization. Multibody Dynamics; ECCOMAS Thematic Conference; 2007. 2007. [Google Scholar]
  • 2.Aghili F. A Gauge-invariant Formulation for Constrained Robotic Systems using Square-root Factorization and Unitary Transformation; IEEE/RSJ Int. Conf. on Intelligent Robots and Systems; 2008. pp. 2814–2821. [Google Scholar]
  • 3.Arczewski K. Determination of Christoffels symbols of the first kind for a class of rigid body systems by topological considerations. Int J Mech Sci. 1986;28(1):11–22. [Google Scholar]
  • 4.Arczewski K. Application of Graph Theory to the Mathematical Modelling of a Class of Rigid Body Systems. J of the Franklin Inst. 1990;327(2):209–223. [Google Scholar]
  • 5.Baraff D. Proc. ACM SIGGRAPH ’96. New Orleans: 1996. Linear-Time Dynamics using Lagrange Multipliers; pp. 137–146. [Google Scholar]
  • 6.Cherowitzo W. Graph and Digraph Glossary. 2009 Website, URL http://wwwmath.cudenver.edu/wcherowi/courses/m4408/glossary.htm/ [Google Scholar]
  • 7.Featherstone R. Rigid Body Dynamics Algorithms. Springer Verlag; 2008. [Google Scholar]
  • 8.Featherstone R, Orin D. IEEE International Conference on Robotics and Automation. San Francisco, CA: 2000. Robot Dynamics: Equations and Algorithms; pp. 826–834. [Google Scholar]
  • 9.Gross JL, Yellen J. Graph theory and its applications. CRC Press; 2006. [Google Scholar]
  • 10.Herman P, Kozlowski K. A Survey of Equations of Motion in terms of Inertial Quasi-velocities for Serial Manipulators. Arch Appl Mech. 2006;76:579–614. [Google Scholar]
  • 11.Jain A. Unified Formulation of Dynamics for Serial Rigid Multibody Systems. Journal of Guidance, Control and Dynamics. 1991;14(3):531–542. [Google Scholar]
  • 12.Jain A. Correction to ’Spatial Operator Algebra for Multibody System Dynamics’. 2009 http://dartslab.jpl.nasa.gov/References/pdf/gen-mbody-correction.pdf.
  • 13.Jain A. Recursive Algorithms Using Local Constraint Embedding for Multibody System Dynamics. ASME; International Design Engineering Technical Conferences & Computers and Information in Engineering Conference; San Diego, CA. 2009. 2009. [Google Scholar]
  • 14.Jain A. Graph Theoretic Foundations of Multibody Dynamics: Part II - Analysis and Algorithms. 2010 doi: 10.1007/s11044-011-9267-6. In review. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 15.Jain A. Graph Theory Roots of Spatial Operators for Kinematics and Dynamics; IEEE International Conference on Robotics and Automation; Anchorage, Alaska. 2010. 2010. [Google Scholar]
  • 16.Jain A. Robot and Multibody Dynamics: Analysis and Algorithms. New York: Springer; 2010. [Google Scholar]
  • 17.Jain A, Rodriguez G. Recursive Dynamics for Geared Robotic Manipulators; IEEE Conference on Decision and Control; Honolulu, Hawaii. 1990. [Google Scholar]
  • 18.Jain A, Rodriguez G. Recursive Flexible Multibody System Dynamics Using Spatial Operators. Journal of Guidance, Control and Dynamics. 1992;15(6):1453–1466. [Google Scholar]
  • 19.Jain A, Rodriguez G. An Analysis of the Kinematics and Dynamics of Under-actuated Manipulators. IEEE Transactions on Robotics and Automation. 1993;9(4):411–422. [Google Scholar]
  • 20.Jain A, Rodriguez G. Diagonalized Lagrangian Robot Dynamics. IEEE Transactions on Robotics and Automation. 1995;11(4):571–584. [Google Scholar]
  • 21.Jain A, Rodriguez G. Multibody Mass Matrix Sensitivity Analysis Using Spatial Operators. Journal for Multiscale Computational Engineering. 2003;1(2–3) [Google Scholar]
  • 22.Junkins JL, Schaub H. An Instantaneous Eigenstructure Quasivelocity Formulation for Nonlinear Multibody Dynamics. The Journal of Astronautical Sciences. 1997;45(3):279–295. [Google Scholar]
  • 23.Kreutz-Delgado K, Jain A, Rodriguez G. Recursive Formulation of Operational Space Control. The International Journal of Robotics Research. 1992;11(4):320–328. [Google Scholar]
  • 24.McPhee JJ, Ishac MG, Andrews GC. Wittenburg’s formulation of multibody dynamics equations from a graph-theoretic perspective. Mechanism and machine theory. 1996;31(2):201–213. [Google Scholar]
  • 25.Orlandea N, Chace M, Calahan D. A Sparsity-Oriented Approach to the Dynamic Analysis and Design of Mechanical Systems - PART 1. ASME J Engineering for Industry. 1977;99(2):773–779. [Google Scholar]
  • 26.Ramoni MF. Bayesian Networks Representation and Reasoning. 2009 URL http://ocw.mit.edu/NR/rdonlyres/Health-Sciences-and-Technology/HST-951JMedical-Decision-SupportSpring2003/695229E8-B5C8-4F33-A5B9-C4079AFAF967/0/lecture5.pdf.
  • 27.Rodriguez G. Kalman Filtering, Smoothing and Recursive Robot Arm Forward and Inverse Dynamics. IEEE Journal of Robotics and Automation. 1987;3(6):624–639. [Google Scholar]
  • 28.Rodriguez G, Kreutz-Delgado K. Spatial Operator Factorization and Inversion of the Manipulator Mass Matrix. IEEE Transactions on Robotics and Automation. 1992;8(1):65–76. [Google Scholar]
  • 29.Rodriguez G, Jain A, Kreutz-Delgado K. Spatial Operator Algebra for Multibody System Dynamics. Journal of the Astronautical Sciences. 1992;40(1):27–50. [Google Scholar]
  • 30.Saha SK. A Decomposition of the Manipulator Inertia Matrix. IEEE Transactions on Robotics and Automation. 1997;13(2):301–304. [Google Scholar]
  • 31.Shi P, McPhee JJ. Dynamics of Flexible Multibody Systems using Virtual Work and Linear Graph Theory. Multibody System Dynamics. 2000;4:355–381. [Google Scholar]
  • 32.Siciliano B, Khatib O. Springer Handbook of Robotics. Springer; 2008. [Google Scholar]
  • 33.Sinclair AJ, Hurtado JE, Junkins JL. Linear feedback control using quasi velocities. Journal of Guidance, Control, and Dynamics. 2006;29(6):1309–1314. [Google Scholar]
  • 34.West DB. Introduction to Graph Theory. Prentice Hall; 2001. [Google Scholar]
  • 35.Wikipedia. Tree (graph theory) 2009 URL http://en.wikipedia.org/w/index.php?title=Tree_(graph_theory)&oldid=327865637.
  • 36.Wittenburg J. Dynamics of Systems of Rigid Bodies. Stuttgart: B. G. Teubner; 1977. [Google Scholar]
  • 37.Zanganeh K, Angeles J. A Formalism for the Analysis and Design of Modular Kinematic Structures. International Journal of Robotics Research. 1998;17(7):720–730. [Google Scholar]

RESOURCES