Abstract
This two-part paper uses graph transformation methods to develop methods for partitioning, aggregating, and constraint embedding for multibody systems. This first part focuses on tree-topology systems and reviews the key notion of spatial kernel operator (SKO) models for such systems. It develops systematic and rigorous techniques for partitioning SKO models in terms of the SKO models of the component subsystems based on the path-induced property of the component subgraphs. It shows that the sparsity structure of key matrix operators and the mass matrix for the multibody system can be described using partitioning transformations. Subsequently, the notions of node contractions and subgraph aggregation and their role in coarsening graphs are discussed. It is shown that the tree property of a graph is preserved after subgraph aggregation if and only if the subgraph satisfies an aggregation condition. These graph theory ideas are used to develop SKO models for the aggregated tree multibody systems.
Keywords: Multibody systems, Graph theory, Algorithms
1 Introduction
The investigation of the structural properties of multibody system dynamics remains an active area of research. Graph techniques have been developed for the systematic formulation of the equations of motion [20,24, 28, 30]. The sparsity structure of the equations of motion have been exploited to develop efficient dynamics computational algorithms [3, 7, 8, 23, 25]. Furthermore, analytical techniques such as system-level mass matrix factorization, and diagonalizing coordinate transformations have also been explored [1, 2, 9, 18, 19, 26] to simplify the dynamics formulations.
Recently, graph techniques have been used to identify general structural properties of tree multibody systems that underlie a broad family of analytical techniques and low-order algorithms for the systems [13-17]. It is seen that tree system dynamics can be described using abstract spatial kernel operator (SKO) models, and that several operator results including analytical mass matrix inversion follow directly from the SKO model structure—independent of the specific details of the system. Furthermore, these analytical results lead to a large family of low-order, scatter/gather recursive computational algorithms for important dynamics problems.
This two-part paper, further develops graph theory concepts and techniques for multibody system dynamics subjected to partitioning and aggregation graph transformations. Partitioning transformations decompose the system graph into simpler component subgraphs, while aggregation transformations collapse one or more component subgraphs into nodes to obtain coarser system graph representations. For example, a tree-topology system can be decomposed into a simpler tree of interconnected serial-chain segments in the system. In other instances, decompositions can reflect the natural structure of the system, e.g., a mobile platform with robotic arms equipped with multi-fingered hands for grasping and manipulating task objects. Applications of partitioning and decomposition techniques in multibody dynamics include: hierarchical dynamics and control; assembly of the overall equations of motion from those of simpler component subsystems; organizing dynamics computations (e.g., mass matrix, forward dynamics) from those of the component sub-systems for serial or parallel computations. Furthermore, partitioning techniques can help identify the sparsity structure of key dynamics matrices associated with the system dynamics that can be exploited to improve computational efficiency.
The contributions of this part are in the use of graph theory techniques to systematically study and derive results on the effect of partitioning and aggregation transformations on the SKO models for tree-topology systems. We derive the explicit partitioned structure of the system SKO model that is induced by partitioning transformations of the system graph. Since subgraph aggregation can destroy the tree graph structure, we derive rigorous sufficient conditions for tree structure preservation after the application of aggregation transformations. Preservation of the tree-topology structure leads to the natural question about the structure of the SKO model for the aggregated system. We derive explicit expressions for these aggregated SKO models. Our focus on SKO models is motivated by the easy availability of the large family of analytical and algorithmic techniques for these models. Furthermore, we show how the sparsity structure of key matrices and operators associated with tree-topology systems can be completely understood by applying the partitioning techniques developed in this paper. Part 2 of this paper [12] applies the aggregation transformation ideas developed here to develop constraint embedding techniques that extend the notion of SKO models to non-tree topology multibody systems.
The paper is organized as follows. Section 2 provides an overview of key graph theory ideas and the notion of SKO models. Section 3 focuses on partitioning transformations for SKO models. Toward this, the graph theory concepts of induced and path-induced subgraphs are introduced and their role in partitioning of abstract graphs is discussed. These ideas are used to partition dynamics models for tree multibody systems in Sect. 4. Section 5 studies the notion of subgraph aggregation for coarsening graphs. These ideas are subsequently used to apply aggregation transformations to dynamics models in Sect. 6. The aggregation techniques are then used to analyze the sparsity structure of the SKO model operators as well as the mass matrix in Sect. 7. The second part of this two-part paper uses the techniques derived here to develop a constraint-embedding technique that extends the notion of SKO models to nontree multibody systems.
2 Background: SKO models for tree multibody systems
Directed graphs (digraphs) provide natural mathematical constructs for describing the topology and connectivity of bodies in a multibody system. This section contains a brief review of key graph concepts and their use for multibody dynamics modeling.
2.1 Directed graphs and trees
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 [27]. 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 C(k). 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 i ≺ j (or equivalently j ≻ i) to indicate that node j is an ancestor of node i. The notation i ⊀ j 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.
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.
A rooted digraph is a connected digraph with a single root node that is the ancestor of every other node in the digraph.
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.
A simply connected graph, or a polytree is a DAG in which nodes are not multiply connected, i.e., there is at most one directed path between any pair of nodes.
A tree, 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 serial-chain is a tree where each node has at most one child. 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.
A forest is a collection of disjoint trees. Removing an edge or a node 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.
A tree is said to be canonical1 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. 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. The adjacency matrix, 𝕊, for a digraph with n nodes is an n × n matrix where the (k, j) element is 1 if there is an edge between the kth and jth nodes, and zero otherwise.
2.2 Multibody digraphs
The standard digraph for a multibody system is a digraph 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 standard digraphwith n + 1 nodes.
The edges in the digraphare 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 oriented from the inboard to the outboard body. Additional edges are assigned to other nonhinge 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 1 illustrates the tree multibody system and its standard digraph. 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 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 nontree 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 (nonuniquely) 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.
2.3 Equations of motion for tree-topology, rigid body systems
Consider a canonical 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 6-dimensional spatial coordinate-free notation with denoting the spatial velocity (angular and linear) of the kth link, the kth hinge generalized velocities, H*(k) the kth hinge map matrix, the vector between the (k + 1)th and kth body frames, and
(1) |
the rigid body transformation matrix, the link-to-link spatial velocity relationship between the (k + 1)th links and its child body k can be expressed as [7, 11]:
(2) |
The overall velocity degrees of freedomfor 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
(3) |
The stacked vector consists of the component body-level 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 (2) relationship can now be expressed equivalently at the system level [11] as
(4) |
where the spatial operator is defined as
(5) |
denotes a block-vector containing zero entries except for the kth slot which is a 6 × 6 identity matrix. The block-diagonal spatial operator is defined as follows:
(6) |
The εφ spatial operator is in fact a BWA2 matrix for the system digraph, and is referred to as a spatial kernel operator (SKO) for the system [14]. Observe that (4) 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 explicit (2) form.
The key difference between serial-chain and tree-topology multibody systems is that, in a tree system, bodies can have multiple children bodies. Examining the kinematic velocity relationships across the links, the interlink velocity relationship in (2) generalizes as follows for bodies in a tree-topology system:
(7) |
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, , across the kth hinge. Defining the and stacked vectors and the H spatial operator in the same way as shown earlier, it is easy to verify that the following operator expression is a system-level re-arrangement of the component-level velocity relationship in (7)
(8) |
with εφ is defined more generally as [13, 15]
(9) |
The εφ SKO operator continues to be a BWA matrix for the system digraph. This time, the φ(℘ (k), k) matrices are its 6 × 6 weight matrices. Observe that (4) and (8) have identical form, even though the former was derived specifically for a canonical serial-chain system, while the latter holds for arbitrary tree-topology systems.
For trees, εφ is nilpotent3 and, therefore, has a well-defined 1-resolvent,4φ = (I − εφ)−1 [14]. φ is referred to as the spatial propagation operator (SPO) associated with the εφ SKO operator. Equation (8) can thus be transformed into the following explicit form:
(10) |
Differentiating the above leads to the following expression for the link spatial accelerations α:
(11) |
where denotes the state-dependent Coriolis acceleration stacked vector.
With denoting the interbody interaction spatial force between the parent ℘ (k) and the kth links, the following is the force balance expression for the kth body in a tree-topology system:
(12) |
where is the kth link spatial inertia and is the state-dependent gyroscopic spatial force for the kth body. Switching to the system-level stacked vector form, we obtain
(13) |
where M is a block-diagonal spatial operator with link spatial inertias along the diagonal, and is the state-dependent stacked vector of gyroscopic terms. Continuing in this mode, the following expressions summarize the equations of motion for tree-topology systems:
(14) |
is the stacked vector of generalized forces. Using φ = (I − εφ)−1, these expressions can be transformed from implicit ones into the following explicit operator expressions:
(15) |
Combining the expressions in (15) leads to
(16) |
where
(17) |
denotes the mass matrix for the tree-topology system, and is the vector nonlinear Coriolis and gyroscopic velocity dependent terms.
2.4 SKO models for tree systems
References [13-15] have shown that SKO and SPO operators such as εφ and φ occur in internal-coordinate tree multibody kinematics and dynamics formulations. The occurrence of these operators is invariant to specific details such as body indexing, rigid/flexible links, regular or flexible/geared joints etc. Only the details of the weight matrices change with the system—not the SKO and SPO 1-resolvent properties. In general, the weight matrices can be nonsquare, noninvertible, and of nonuniform size. We formalize this general property with the definition of SKO models for multibody systems.
An SKO model for an n-links tree-topology multi-body system consists of the following:
A tree digraph reflecting the bodies and their connectivity in the system.
An SKO operator and associated SPO operator,
A full-rank block-diagonal, joint map matrix operator, H.
A block-diagonal and positive-definite spatial inertia operator, M.
- Stacked vectors: ˙ denoting independent generalized velocities, the generalized forces, the node velocities, α the node accelerations, the interbody forces, the body Coriolis accelerations, the body gyroscopic forces, the number of degrees of freedom, and equations of motion defined as:
Thus,(18)
where(19)
is the symmetric and positive-definite mass matrix for the tree system and is the vector of non-linear Coriolis and gyroscopic velocity dependent terms. Equation (20) is the Newton–Euler operator factorization of the mass matrix.(20)
SKO models are also referred to by the (H, 𝔸, M) triplet of operators that define them.
References [13, 15] show that several analytical techniques and efficient algorithms follow directly from the SKO model structure for multibody systems. Examples of these include:
Recursive procedures for computing SPO operator and stacked vector products.
General Newton–Euler inverse dynamics algorithms.
Solutions for the forward Lyapunov equations and decomposition of 𝔸X𝔹* operator product.5
General algorithm for computing the mass matrix.
Solution for the backward Lyapunov equations and decomposition of 𝔸*X𝔹 operator product.
Recursive algorithms for computing the 𝔸*X𝔹 operator product.
The general articulated body inertia solution of the Riccati equation.
The alternative Innovations Operator Factorization of the mass matrix.
An analytical expression for the inverse of the mass matrix.
The analytical expression for the determinant of the mass matrix.
The general AB forward dynamics algorithm.
These results require no assumptions on the SKO model regarding the SKO weight matrices, the components of the other spatial operators, or the structure of the tree digraph. Thus, any multibody system formulation satisfying the requirements of the SKO model has available to it the full spectrum of these techniques and efficient algorithms.
3 Partitioning digraphs
In this section, we study the partitioning of SKO models for tree multibody systems. We begin with a discussion of partitioning concepts from graph theory and subsequently apply them to multibody systems.
A subgraph of a digraph, , is defined as a digraph containing a subset of the nodes and edges in . is said to be induced if all edges in connecting node pairs in are also in [4, 27]. In other words, is induced if all node pairs in that are adjacent in are also adjacent in . Thus, induced subgraphs preserve the adjacency property for node pairs, so that a pair of nodes in an induced subgraph are adjacent if and only if they are adjacent in the parent digraph. The induced subgraph for a subgraph is the minimal subgraph containing that is also an induced subgraph. A subgraph, and its induced subgraph, contain the same nodes, and differ only in the edges they contain.
A subgraph of is said to be path-induced if it contains all the paths (nodes and edges) in that connect node pairs in . A path-induced subgraph has no missing nodes or edges for paths in that connect the nodes in . Thus path-induced sub-graphs preserve the relatedness property for node pairs, so that a pair of nodes in a path-induced subgraph are related if and only if they are related in the parent digraph. The path-induced subgraph for a subgraph is the minimal subgraph of containing that is path-induced. Figure 2 illustrates a subgraph, and its induced and path-induced subgraphs. The path-induced property applies even to disconnected subgraphs. A path-induced subgraph, will generally contain more nodes and edges than the original subgraph or its induced subgraph. That is,
(21) |
The following corollary shows that nontree path-induced sub-graphs are “complete”, in the sense that if such a subgraph contains part of a loop, then it must necessarily contain all the nodes and edges in the full loop, or, if it contains multiply-connected nodes, then all nodes and edges on paths connecting these nodes must also belong to the subgraph.
Corollary 3.1 (Non-tree path-induced sub-graphs) Let be a path-induced subgraph of a digraph .
If contains an edge that is a part of a directed cycle in , then the full cycle must also be in .
If contains a pair of multiply-connected nodes (i.e., nodes connected by more than one path), then all the paths connecting them must also be in .
Proof
Since a directed cycle containing an edge, represents a directed path connecting the node pair for the edge, the path (and the cycle) must belong to since it is path-induced.
Similarly, all paths connecting a pair of nodes in must be in the subgraph since it is path-induced, and the result follows.
3.1 Partitioning by path-induced subgraphs
We now turn our attention to partitioning of digraphs. The following lemma shows that path-induced subgraphs are special in that they partition digraphs into component sub-graphs that are themselves path-induced.
Lemma 1 (Induced partitions of digraphs) Assume that is a path-induced subgraph of a digraph . Define the and sub-graphs as follows:
child subgraph is the induced subgraph for the set of nodes that are not in , but are descendants of the nodes in , and
parent subgraph is the induced subgraph for the remaining nodes that are neither in nor in .
The , and subgraphs represent a disjoint partitioning of the nodes in . The following properties hold for the and subgraphs:
is path-induced.
is path-induced.
Proof
-
Assume that there are nodes i ≻ j ≻ k where i, . Since j is a descendant of i, it must belong to either or . We will show that node j must necessarily belong to . First, since , by definition there is a node which is an ancestor of node i, i.e., l ≻ i ≻ j.
If node j , we would have l ≻ i ≻ j. Since i , this would contradict the assumption that is path-induced. Hence, and . Therefore, is path-induced.
Assume that there are nodes i ≻ j ≻ k, where i, . We will show that node j must necessarily be in ≻.
-
If j , then, since node k is its child, k must be either in or , which would contradict our assumption that . Thus .
If instead , then there must a node that is the ancestor of j, i.e., l ≻ j. This would imply that l ≻ k as well, since j ≻ k. Since k will then be a descendant of , it must belong to either or . This would contradict our assumption that . Hence, node j must be in . This establishes that is path-induced.
contains nodes that are ancestors of the nodes in but are not themselves in , together with all nodes that are unrelated with any of the nodes in . While all nodes in belong to one of the , and subgraphs, connecting edges between these subgraphs do not belong to any of the subgraphs.
4 Partitioning SKO models
When is a tree digraph, a path-induced subgraph of is in fact a path-induced sub-forest, i.e., it is a collection of one or more disjoint path-induced subtrees. Thus, in the partitioning described in Lemma 1, , , and are all path-induced subforests. This is illustrated in Fig. 3. The partitioning process can be continued on the component sub-forests to further subdivide them into finer-grain path-induced subforests, if desired.
4.1 Partitioning SKO model operators
When is the tree digraph for an SKO model, the disjoint partitioning induced by a path-induced subgraph also partitions the bodies in the multibody system into disjoint component multibody systems, corresponding to the , , and path-induced subforests. Since these are subforests, each of the component systems have well-defined SKO spatial operators, denoted , , and , respectively.
For ease of exposition, we assume that is a canonical tree. The , , and sub-graphs are then also canonical. Therefore, the , , , and SKO operators are all strictly lower-triangular. The system-level SKO operator can be expressed in the following block-partitioned form:
(22) |
The SKO operators of the individual subforests form the block-diagonal elements of , with:
The SKO operator for —with the smallest indices—being in the upper left corner.
The SKO operator for —with the largest indices—being in the lower right corner.
The AS SKO operator for being in the middle.
is a connector block, whose nonzero elements are for the parent/child edges between the nodes in and their children in .
is also a connector block, whose nonzero elements are for the parent/child edges between the nodes in and their children in .
The lower-left block is zero because none of the nodes in are the children of the nodes in .
It is worth pointing out that the block lower-triangular structure of in (22) continues to hold even under the more relaxed condition where the component systems are not necessarily canonical systems themselves, but are only canonical with respect to each other. In this situation, the index of a node in whose parent is in is required to be less than that of its parent. Similarly, the index of a node in whose parent is in is required to be less than that of its parent.
Since the component systems are subforests, their corresponding SPOoperators are well-defined, and given by:
(23) |
The following lemma describes the corresponding partitioned structure of the system level SPO operator 𝔸 in terms of the SPO operators of the component systems.
Lemma 2 (Partitioning of the 𝔸 SPO operator) The 𝔸 SPO operator for the full system has the following partitioned structure corresponding to the partitioned structure of in (22):
(24) |
Observe that the SPO operators for the component subgraphs are the block-diagonal elements of 𝔸.
Proof Start with the partitioned expression for in (22), and observe that
The result follows by verifying that the product of this expression for 𝔸−1, with 𝔸 in (24), is indeed the identity matrix.
If the subgraph is empty, then the rows and columns for the parent subgraph do not exist in the partitioned structure. Similarly, if is empty, then the corresponding columns and rows for the child subgraph do not exist in the partitioned structure.
4.2 Partitioning of an SKO model
The partitioning of the tree digraph for an SKO model also induces the following corresponding partitioning of the system-level block-diagonal H and M operators:
(25) |
Observe that (), (), and () define SKO models for the component tree-topology multibody systems associated with the , , and subgraphs, respectively.
The following corollary looks at the case where a system is partitioned into just outer and inner subsystems, and shows that the mass matrix subblock corresponding to the outer system is simply the mass matrix of the outer subsystem itself.
Corollary 4.1 (Mass matrix invariance of the outer sub-system) Consider an SKO model partitioned as in (22), but with empty . That is, the system is partitioned into inner, , and outer, , SKO models. Then the overall SKO model mass matrix has the following partitioned structure:
(26) |
where
(27) |
Proof The expressions in (26) and (27) are obtained by directly evaluating using the following component partitioned expressions from (24) and (25):
Observe that and are the respective mass matrices for the and SKO models. Also, observe that the upper right sub-block of is independent of quantities associated with the subgraph, i.e., the elements of the mass matrix do not depend upon the properties or generalized coordinates of inboard bodies.
5 Aggregating sub-graphs
In this section, we use the partitioning techniques developed so far to study sub-structuring of SKO models using subgraph aggregation. We begin with the development of the aggregation concepts for digraphs and subsequently apply them to SKO models.
5.1 Edge and node contractions
In graph theory, edge-contraction is referred to as the process of collapsing the node pair for an edge, into a single node [27]. The node and edge neighbors of the original pair of nodes become neighbors of the new aggregated node. Thus, the parent and children nodes of either of the original nodes (not including the node pair themselves) are the parent and children nodes of the aggregated node in the transformed digraph.
For a tree, the result of each such edge-contraction is once again a tree, with one fewer node. The edge-contraction process can be repeated to aggregate multiple edges in a tree. Thus, aggregating a sub-tree of a tree, using edge-contraction, results in a digraph that is also a tree.
Node-contraction is a more general concept that applies to pairs of nodes that are not necessarily connected by an edge. The node-contraction of a pair of nodes replaces the pair of nodes with a single aggregated node, where all the neighboring nodes and edges of the original pair become neighbors of the new aggregated node. Thus, edge-contraction is equivalent to node-contracting the node pair for an edge. Unlike edge-contractions, node-contractions generally do not preserve the tree property of a digraph. Node-contractions can be applied repeatedly to aggregate multiple nodes in a subgraph. Formally, subgraph aggregation is defined as the process of transforming a digraph by applying node-contraction to all the nodes in the subgraph. This is illustrated in Fig. 4. It shows examples of trees transformed into multiply-connected and cyclic digraphs, following subgraph aggregation. Later, we will examine the conditions under which the tree property is preserved following subgraph aggregation.
The following lemma shows that aggregating a subgraph or its induced subgraph result in the same transformed digraph.
Lemma 3 (Aggregation of a subgraph and its induced subgraph) Let denote the subgraph of a digraph . Then the new digraph, , created by aggregating , is the same as the one obtained by aggregating the induced subgraph, , i.e., .
Proof and contain the same nodes, while the latter contains all the edges connecting the nodes as well. Node-contraction of a pair of nodes removes all edges connecting the node-pair. Thus, aggregating by node-contraction removes all edges connecting the nodes in , whether or not the edges are in itself. This implies that the aggregation of or results in the same transformed digraph.
One implication of this lemma is that the nodes and edges missing from the transformed tree, after aggregating , are precisely the nodes and edges in the induced subgraph of .
5.2 Tree preservation after subgraph aggregation
Let denote a subgraph of a tree digraph, . The aggregation of results in a new digraph, where all the nodes associated with the nodes in are replaced by a single node. We will henceforth refer to this aggregated node, as node . Topologically, all the parent nodes of the subgraph, denoted , are now the parents of node , and all the children nodes of the subgraph, denoted , are now the children of node . In general, obtained by this topological transformation will not be a tree.
The following defines the aggregation condition for subgraphs.
Assumption 1 (Aggregation condition) A subgraph , of a tree digraph , is said to satisfy the aggregation condition if:
is an induced subgraph, i.e., .
contains exactly one node—one that is necessarily the ancestor of all the nodes in .
The induced requirement for a satisfying the aggregation condition is a mild one since Lemma 3 states that aggregating a subgraph, or its induced subgraph, lead to the same transformed digraph. Some examples of a tree subgraph , satisfying the aggregation condition, are:
a single node
a serial-chain segment
a subtree
The following lemma shows that any subgraph of a tree satisfying the aggregation condition is a path-induced subgraph.
Lemma 4 (Aggregation condition and path-induced subgraphs) If a subgraph of a tree satisfies the aggregation condition, then it is path-induced, i.e., .
Proof Since satisfies the aggregation condition, it is an induced subgraph. An induced subgraph of a tree can differ from its path-induced subgraph in the nodes and edges that lie on the paths connecting nodes in .
First, let us consider the case where the node sets are the same. Since is induced, there are no missing edges in , and, therefore, even the set of edges are exactly the ones in the path-induced subgraph. Hence, and its path-induced subgraph are the same.
Let us now consider the case when the node sets are not the same. Then there exists a node k in the path-induced subgraph that is not in . Node k must lie on a path connecting a pair of nodes in . This implies that there is a node l on this path that belongs to . However, since k is in the interior of the path, node l is not the ancestor of all the nodes in . This contradicts the assumption that satisfies the aggregation condition, which allows for only a single ancestor node for . Hence, must be a path-induced subgraph.
The converse is not true, i.e., not all path-induced subgraphs satisfy the aggregation condition. Figure 5 illustrates cases of path-induced subgraphs that do, and do not, satisfy the aggregation condition.
The following lemma shows that the aggregation condition is a necessary and sufficient condition for the aggregated digraph to be a tree.
Lemma 5 (Tree property after subgraph aggregation) Let denote an induced subgraph of a tree digraph . Let us assume that is aggregated to create a new digraph with aggregated node . Then the aggregated digraph is a tree if and only if the original sub-graph satisfies the aggregation condition.
Proof
First, let us assume the is indeed a tree, and we will show that must contain a single node. Since is a tree, all of its nodes, including node , can have at most one parent. Thus, can have at most one node. The subgraph therefore satisfies the aggregation condition.
- Now, let us consider the converse case, i.e., assume that contains a single node that is the ancestor for all the nodes in . We will prove that must then be a tree. We need to show that is not a polytree, is not multiply-connected, and does not have directed cycles.
- To show that is not a polytree, we need to focus only on node and show that it cannot have multiple parents. This follows directly from the assumption that contains only one node.
- To show that is not multiply-connected, we need to focus only on the node and show that there is no node in from which there is more than one directed path to the node . Since is a tree, it has no multiply-connected nodes. Thus, the only way for node to be multiply-connected is for multiple paths to end at node . This would mean that the node has multiple parents—one from each of the paths that end on it. This would contradict the assumption that contains a single node.
- Now, we show that cannot have directed cycles. Again, we need to focus on node , and show that it cannot be part of a directed cycle. Assume that such a cycle exists. This implies that there are nodes , and a node such that k ≻ i ≻ j. In other words, there is a path from k to j containing node i. This would imply that there is a node, l, on the path from i to j that is a parent node for . Since contains only one node, l must be this ancestor node. This would imply that node l, and hence node i, is an ancestor of k. However we know that k is an ancestor of i. Hence, node is not part of any directed cycles.
Lemma 5 shows that preservation of the tree property after subgraph aggregation requires that the subgraph satisfy the aggregation condition. Intuitively, this result is not surprising, once we recall that edge-contractions preserve the tree property, and that the aggregation of a path-induced subgraph is equivalent to applying edge-contraction to all the edges in the subgraph.
5.3 The aggregation subgraph
The aggregation subgraph, for a subgraph of a tree, is defined as the minimal subgraph containing that also satisfies the aggregation condition. The aggregation subgraph of a subgraph is denoted .
Lemma 6 (Properties of )
is a path-induced subgraph.
- The following containment relation holds
(28) is the subforest obtained by deleting the root node from the smallest subtree containing .
Proof
By definition, satisfies the aggregation condition, and hence by Lemma 4, it is path-induced.
By definition, . Hence, the path-induced subgraph of , , is contained in the path-induced subgraph of , which is itself. This establishes the last containment in (28). The rest are restatements of (21).
Since satisfies the aggregation condition, it has a single parent node. Thus, with the parent node added in, the new subgraph is a subtree. The minimality of the sub-tree follows from the definition of a aggregation subgraph, which is required to be minimal.
This lemma helps us better understand the relationship between a subgraph, , and its induced, path-induced and aggregation subgraphs. Starting with the subgraph, we obtain its induced subgraph by adding in the missing edges between the nodes in . Furthermore, adding in any missing nodes and edges on paths connecting nodes in leads us to the path-induced subgraph. To obtain the aggregation subgraph, we need to further grow the path-induced subgraph until we get to the smallest sub-tree containing it, and then drop the root node from this subtree. The aggregation subgraph for a subgraph is important because, as shown by Lemma 5, while the aggregation of a subgraph will generally not preserve the tree property, aggregating instead ensures that the aggregated digraph remains a tree. Preserving the tree property is necessary requirement for the aggregated tree to have an SKO model.
6 Transforming SKO models via aggregation
6.1 SKO operators after body aggregation
Let be a tree digraph associated with a multibody system. We assume without loss in generality that it is canonical. Let denote a subgraph satisfying the aggregation condition. By Lemma 5, the aggregated digraph, with aggregated node , is also a tree. Let us now develop an SKO model for the system with the aggregated tree.
To define SKO operators for , we first need to assign weight dimensions to the nodes in . All nodes unaffected by the aggregation process inherit the weight dimensions from the nodes in . The weight dimension for node is defined as the sum of the weight dimensions of all the nodes in the subgraph, i.e.,
(29) |
Since the subgraph satisfies the aggregation condition it is path-induced. From Lemma 1, induces a disjoint partitioning of into path-induced parent and child subgraphs, respectively. These partitionedsubgraphs allow us to express the εφ SKO operator for in the partitioned form shown in (22):
(30) |
Lemma 7 (SKO operator for the tree) With satisfying the aggregation condition, define the a matrix using the partitioned sub-blocks of (30) as follows:
(31) |
The following facts hold for a:
a is an SKO operator for the original tree, .
a is an SKO operator for the aggregated tree, .
Proof
-
Since satisfies the aggregation condition, contains a single node. Let us denote this node as node j. Comparing the expression for a in (31) with that of in (30), the only term that needs further examination to establish the SKO property is the block, which differs from the block. Recall that the connector block contains non-zero entries for the edges connecting nodes in to nodes in subgraphs. Therefore, has the form
(32) In the above equations, we have taken some notational liberties; the ex vectors represent appropriate size vectors for the and subgraphs, instead of the full-sized ones for the tree. It follows that(33) The product is the kth row of . Since is an SPO operator, its kth row 𝔸(k, i) entry is nonzero only when node i is a descendant of the kth node. Hence, (33) can be reexpressed as
In the last expression, j ≻ i, denotes the condition that the jth node is an ancestor of the ith node. From (34), it is clear that only the jth row of is nonzero. The only nonzero entries in this row are for nodes in that are descendants of the jth node.6 Thus, each column of , has at most a single nonzero element, and since the central block of a is zero, this implies that the same column has only a single nonzero entry in the full a matrix as well. Thus, the single nonzero entry per column requirement for an SKO operator for is satisfied. Hence, a is an SKO operator for .(34) We have seen that a is an SKO operator for . For , the central rows and columns of a correspond to the single node in the tree. For a to be an SKO operator for , we need to show that it satisfies the SKO operator structural requirements, as represented by (9). That is, must be of the form ejX for some X. Equation (34) satisfies this requirement, and, thus, a is an SKO operator for .
Having derived the expression for an a SKO operator for , the following lemma derives the expression for the corresponding SPO operator for .
Lemma 8 (The 𝔸a SPO operator for the tree) Using the same assumptions and notation from Lemma 7, the SPO operator, 𝔸a, for is given by the following expression:
(35) |
Proof Since Lemma 8 established a as an SKO operator for the tree, we need to show that for it to be an SPO operator for . Now
The result follows by verifying that the product of the above, with 𝔸a in (35), is the identity matrix.
Node in contains all the bodies associated with the nodes in the original subgraph . Unlike regular rigid links, the geometry of node is variable, and depends on the hinge coordinates of the component links within the subgraph . Such variable geometry bodies have been used in other dynamics modeling contexts [5, 10, 29].
6.2 SKO model for the aggregated tree
The key difference between the aggregated and the original tree is that the former treats the set of bodies in subgraph as a single body. The aggregation process provides a way of transforming and substructuring SKO models for tree-topology multibody systems into coarser SKO models. The aggregation process induces the following partitioning of the , , and stacked vectors:
(36) |
For the aggregated tree, the , etc., subvectors of the and stacked vectors correspond to the single aggregate link. This partitioning of the system-level and stacked vectors extends to other stacked vectors such as the Coriolis spatial accelerations vector , the gyroscopic spatial forces vector , and to the other spatial operators.
Lemma 9 shows that the transformed system with the aggregated tree possesses a well-defined SKO model, and defines the equations of motion for the model.
Lemma 9 (SKO model for an aggregated tree) Let (H, 𝔸, M) denote an SKO model with tree digraph . Let be a subgraph of satisfying the aggregation condition. Then the (Ha, 𝔸a, M) spatial operators define an SKO model for the aggregated tree, where
(37) |
Ha defines the new joint map matrix for the aggregated tree, with ,, and denoting the component joint map matrices as defined in (25). The transformed version of the equations of motion from (18) are given by:
(38) |
Thus,
(39) |
with
(40) |
The mass matrix expression above represents the Newton–Euler operator factorization of the mass matrix for the SKO model of the aggregated system.
Proof Lemma 8 established that 𝔸a is the SPO operator for . With the central row and column of Ha corresponding to node in , Ha is block-diagonal for . Lastly, M has remained unchanged in going from to . Thus, the structural requirements 1 through 4 for an SKO model in Sect. 2.4, are satisfied for the tree, by the (Ha, 𝔸a, M) operators.
The equations of motion in (38) follow by substituting the expressions for Ha and 𝔸a from (35) and (37) in the original equations of motion in (18).
Observe that, while is block-diagonal, is no longer block-diagonal. Consequently, Ha is not block-diagonal for and the (Ha, 𝔸a, M) operators do not satisfy the structural requirements for an SKO model for the original . Nevertheless, the above lemma shows that these operators do satisfy the SKO model structural requirements for the tree. This implies that all of the SKO model formulation techniques and algorithms, including mass matrix factorization and inversion, are applicable to the SKO model of the aggregated tree.
The following corollary formally verifies that at the system-level, the mass matrix and Coriolis terms in the equations of motion are identical across the original and the aggregated systems. This of course is to expected, since the aggregation process only changes the form of the equations of motion and not the system dynamics.
Corollary 6.1 (Mass matrix invariance with aggregation) The mass matrix, , and the Coriolis vector, , of a tree-topology system remain unchanged after subgraph aggregation. In other words, the expressions for and in (40) agree with the quantities defined in (20), i.e.,
(41) |
Proof First, we have
(42) |
Using this directly establishes the equalities in (41). Moreover,
This establishes the equalities in (41).
The aggregation process provides a way to apply substructuring to develop alternative SKO models for a multibody system.
7 SKO model sparsity structure
Researchers have used system-level matrices and operators to analyze and exploit the sparsity structure of the mass matrix to develop efficient computational algorithms for the inverse and forward dynamics problems [3, 7, 21, 23]. In this section, we apply the partitioning and aggregation techniques developed to identify the sparsity structure of the SKO and SPO operators and the mass matrix for tree-topology systems.
Tree and serial-chain subgraphs are always path-induced and satisfy the aggregation condition. Thus any tree system can be successively partitioned using such subgraphs. However, only in serial-chains are all node pairs related resulting in the most dense SKO and SPO operators. Thus, serial-chain subgraphs are well suited for analyzing the sparsity structure of SKO models. Toward this, the system digraph can be decomposed into disjoint serial-chain branch segments, which are subsequently aggregated to obtain a coarser tree model for the system. Figure 6 illustrates such a transformation of a tree with five serial-chain segments into a coarser tree with all the serial-chain segments aggregated into nodes.
The sparsity structure of the system’s spatial operators (e.g., SPO, mass matrix) directly reflects the structure of the aggregated tree. Subblocks of these matrices are associated with the aggregated serial-chain segment nodes, and are the most dense because all the nodes in a serial-chain are related. Equation (43) illustrates the sparsity structure of the system-level SKO operator via its decomposition in terms of the SKO operators for each of the aggregated serial-chain nodes
(43) |
εφj denotes the SKO operator for the jth branch segment. Also, when the kth branch is a child of the jth branch, the j,k block denotes the non-zero connector block between them. All other blocks are zero. The structure of j,k is as follows:
(44) |
where 1j denotes the tip body on the jth branch that is the parent of the nk base-body of the kth branch. This partitioned structure of is a generalization of the partitioned structure in (22). We see that the only nonzero blocks in the lower-triangular part of the matrix in (43) are for the adjacent nodes in the aggregated tree.
With denoting the SPO operator the jth branch, the overall structure of the system level 𝔸 SPO operator for Fig. 6 tree is illustrated in (45):
(45) |
The 𝔸j,k blocks denote the nonzero connector block between related serial-chain segments. All other blocks are zero. This partitioned structure of is a generalization of the partitioned structure in (24). The general expression for the 𝔸j,k elements is:
In the above, . We see that the only nonzero blocks in the lower-triangular part of the 𝔸 matrix in (45) are for the related nodes in the aggregated tree.
Figure 7 illustrates the sparsity structure of the mass matrix for the tree-topology system in Fig. 6. As expected, the sparsity structure of the mass matrix mirrors the sparsity of the 𝔸 SPO operator and its transpose. The block-diagonal of the mass matrix contains dense blocks, one for each of the branch segments in the tree. The off-diagonal blocks are zero for unrelated nodes in the aggregated tree. The topology dependency of the mass matrix’s sparsity structure was initially described in [22].
8 Conclusions
SKO models play a pivotal role in the analysis and algorithm development for tree multibody systems. In this paper, we have studied the effect of topological transformations on such SKO models. Path-induced subgraphs are shown to partition tree digraphs into parent and child path-induced subgraphs. We derive the relationship between the SKO models of the original multibody system and the SKO models of the partitioned subsystems. We further show that SKO models can be substructured into coarser SKO models by aggregating path-induced subgraphs into aggregated nodes. We show that the path-induced property for the aggregated subgraph is a necessary and sufficient condition for preserving the tree structure of the aggregated system and derive the SKO model for the aggregated system. Lastly, we use these topological insights to understand the relationship between the topological structure of the system digraph and the sparsity of the system SKO and SPO operators and its mass matrix. In the companion second part, we use these aggregation methods to develop a constraint embedding technique that extends the notion of SKO models from tree to closed-topology systems.
We anticipate future applications of these substructuring ideas in the development of parallel algorithms for distributing computations across component SKO models. Featherstone’s divide and conquer (DCA) forward algorithm [6] exemplifies such a use of a hierarchy of substructured component models to parallelize the solution for the forward dynamics problem. We also expect that partitioning and substructuring ideas to be useful in managing the dynamics computations for humanoid and legged robotic platforms subject to varying topologies and constraints. Furthermore, we anticipate the sparsity structure insights to facilitate the further development of sparsity based computational algorithms.
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.7 This project was also supported in part by Grant Number RO1GM082896-01A2 from the National Institute of Health.
Footnotes
More precisely, 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.
A block-weighted adjacency (BWA) matrix [14] for a digraph is its adjacency matrix with block matrix entries. The(k, j) element of a BWAmatrix is a mk × mj weight matrix, w (j, k), when there is an edge between the × kth and jth nodes. Here, mk denotes the weight dimension associated with the kth link.
A matrix A is nilpotent if An = 0 for some finite n.
A 1-resolvent of a matrix A is defined as the (I − A)−1 matrix.
Here, 𝔸 and 𝔹 denote an arbitrary pair of SPO operators, and X a compatible block diagonal matrix, for the SKO model.
In fact all nodes in are descendants of j and, therefore, the row is fully populated.
©2010 California Institute of Technology. Government sponsorship acknowledged.
References
- 1.Aghili F. Simplified Lagrangian mechanical systems with constraints using square-root factorization; Multibody Dynamics 2007 ECCOMAS Thematic Conference; 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.Baraff D. Linear-time dynamics using Lagrange multipliers; Proc. ACM SIGGRAPH ’96; New Orleans, LA. 1996.pp. 137–146. [Google Scholar]
- 4.Cherowitzo W. Graph and digraph glossary. Website. 2009 http://www-math.cudenver.edu/wcherowi/courses/m4408/glossary.htm/
- 5.Critchley R, Anderson K. A generalized recursive coordinate reduction method for multibody dynamic systems. Int. J. Multiscale Comput. Eng. 2003;12(2):181–200. [Google Scholar]
- 6.Featherstone R. A divide-and-conquer articulated-body algorithm for parallel O(log(n)) calculation of rigid-body dynamics. Part 1: Basic algorithm. Int. J. Robot. Res. 1999;18(9):867–875. [Google Scholar]
- 7.Featherstone R. Rigid Body Dynamics Algorithms. Springer; Berlin: 2008. [Google Scholar]
- 8.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]
- 9.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]
- 10.Hu W, Marhefka DW, Orin DE. Hybrid kinematic and dynamic simulation of running machines. IEEE Trans. Robot. Autom. 2010;21(3):490–497. [Google Scholar]
- 11.Jain A. Unified formulation of dynamics for serial rigid multibody systems. J. Guid. Control Dyn. 1991;14(3):531–542. [Google Scholar]
- 12.Jain A. Graph techniques for multibody partitioning, aggregation and constraint embedding: Part II—Closed-chain constraint embedding. In review. 2010 doi:10.1007/s11071-011-0136-x. [Google Scholar]
- 13.Jain A. Graph theoretic structure of multibody system spatial operators; The 1st Joint International Conference on Multibody System Dynamics; , Lappeenranta, Finland. 2010. [Google Scholar]
- 14.Jain A. Graph theory roots of spatial operators for kinematics and dynamics; 2010 IEEE International Conference on Robotics and Automation; Anchorage, AK. 2010. [Google Scholar]
- 15.Jain A. Robot and Multibody Dynamics: Analysis and Algorithms. Springer; New York: 2010. [Google Scholar]
- 16.Jain A. Graph theoretic foundations of multibody dynamics: Part I—Structural properties. Multibody Syst. Dyn. 2011 doi: 10.1007/s11044-011-9266-7. doi:10.1007/s11044-011-9266-7. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 17.Jain A. Graph theoretic foundations of multibody dynamics: Part II—Analysis and algorithms. Multibody Syst. Dyn. 2011 doi: 10.1007/s11044-011-9267-6. doi:10.1007/s11044-011-9267-6. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 18.Jain A. Rodriguez, G.: Diagonalized Lagrangian robot dynamics. IEEE Trans. Robot. Autom. 1995;11(4):571–584. [Google Scholar]
- 19.Junkins JL, Schaub H. An instantaneous eigenstructure quasivelocity formulation for nonlinear multibody dynamics. J. Astronaut. Sci. 1997;45(3):279–295. [Google Scholar]
- 20.McPhee JJ, Ishac MG, Andrews GC. Wittenburg’s formulation of multibody dynamics equations from a graph-theoretic perspective. Mech. Mach. Theory. 1996;31(2):201–213. [Google Scholar]
- 21.Orlandea N, Chace M, Calahan D. A sparsity-oriented approach to the dynamic analysis and design of mechanical systems—Part 1. ASME J. Eng. Ind. 1977;99(2):773–779. [Google Scholar]
- 22.Rodriguez G, Jain A, Kreutz-Delgado K. Spatial operator algebra for multibody system dynamics. J. Astronaut. Sci. 1992;40(1):27–50. [Google Scholar]
- 23.Saha SK. A decomposition of the manipulator inertia matrix. IEEE Trans. Robot. Autom. 1997;13(2):301–304. [Google Scholar]
- 24.Shi P, McPhee JJ. Dynamics of flexible multibody systems using virtual work and linear graph theory. Multibody Syst. Dyn. 2000;4:355–381. [Google Scholar]
- 25.Siciliano B, Khatib O. Springer Handbook of Robotics. Springer; Berlin: 2008. [Google Scholar]
- 26.Sinclair AJ, Hurtado JE, Junkins JL. Linear feedback control using quasi velocities. J. Guid. Control Dyn. 2006;29(6):1309–1314. [Google Scholar]
- 27.West DB. Introduction to Graph Theory. Prentice Hall; New York: 2001. [Google Scholar]
- 28.Wittenburg J. Dynamics of Systems of Rigid Bodies. Teubner; Stuttgart: 1977. [Google Scholar]
- 29.Yamane K, Nakamura Y. Dynamics computation of structure-varying kinematic chains and its application to human figures. IEEE Trans. Robot. Autom. 2000;16(2):124–134. [Google Scholar]
- 30.Zanganeh K, Angeles J. A formalism for the analysis and design of modular kinematic structures. Int. J. Robot. Res. 1998;17(7):720–730. [Google Scholar]