Skip to main content
NIHPA Author Manuscripts logoLink to NIHPA Author Manuscripts
. Author manuscript; available in PMC: 2012 Oct 1.
Published in final edited form as: Multibody Syst Dyn. 2011 Oct 1;26(3):335–365. doi: 10.1007/s11044-011-9267-6

Graph Theoretic Foundations of Multibody Dynamics Part II: Analysis and Algorithms

Abhinandan Jain 1
PMCID: PMC3216055  NIHMSID: NIHMS325582  PMID: 22102791

Abstract

This second, of a two part paper, uses concepts from graph theory to obtain a deeper understanding of the mathematical foundations of multibody dynamics. The first part [7] established the block-weighted adjacency (BWA) matrix structure of spatial operators associated with serial and tree topology multibody system dynamics, and introduced the notions of spatial kernel operators (SKO) and spatial propagation operators (SPO). This paper builds upon these connections to show that key analytical results and computational algorithms are a direct consequence of these structural properties and require minimal assumptions about the specific nature of the underlying multibody system. We formalize this notion by introducing the notion of SKO models for general tree-topology multibody systems. We show that key analytical results, including mass matrix factorization, inversion, and decomposition hold for all SKO models. It is also shown that key low-order scatter/gather recursive computational algorithms follow directly from these abstract-level analytical results. Application examples to illustrate the concrete application of these general results are provided. The paper also describes a general recipe for developing SKO models. The abstract nature of SKO models allows the application of these techniques to a very broad class of multibody systems.

1 Introduction

For tree-topology multibody systems, spatial operator techniques have been used to establish important analytical results, such as decompositions and factorizations of the mass matrix, and operator expressions for its inverse [9, 15, 16]. This analytical groundwork has led to low-order computational algorithms, such as for inverse dynamics, forward dynamics, and for computing the mass matrix. While spatial operators have been used to demonstrate common mathematical themes across a broad range of multibody systems, there has been a gap in our understanding of the underlying system properties that make such convergence possible.

To address this gap, part I of this paper [7] introduced the notions of Spatial Kernel Operators (SKO) and the related Spatial Propagation Operators (SPO). It showed that key spatial operators are in fact instances of SKO and SPO matrices. The SKO and SPO matrices are themselves instances of block-weighted adjacency (BWA) and their 1-resolvent matrices for the graphs associated with tree-topology multibody systems. Thus it was seen that SKO and SPO properties of spatial operators applied very generally (serial/tree topology, rigid/flex bodies) with minimal assumptions on the lower level properties of the underlying system. This remarkable consistency persists despite significant differences in the component structure of the corresponding spatial operators for these different systems.

In this paper1 we explore analytical results and computational algorithms that result from just the SKO and SPO properties of the spatial operators, and independent of the specific properties of the multibody system. This level of abstraction ensures that these results directly apply to a large family of multibody systems. We use examples and important robotics modeling and control applications to illustrate the connections between the abstract results and concrete dynamics problems. We introduce the notion of SKO models in Section 2 to formalize the specific dynamics models under consideration. In Section 3 we begin examining the properties of SKO and SPO operators at an abstract level, with minimal assumptions about the nature of the underlying multibody system other than that it has a tree-topology. This section introduces techniques for directly mapping SPO expressions into low-order, recursive scatter/gather algorithms when evaluation of operator expressions is needed. This process is illustrated for the classic inverse dynamics problem. Section 4 looks at the solutions of forward and backward Lyapunov equations associated with SKO models. It develops decompositions of SPO operator quadratic products. These results are used to study the structure of mass matrices as well to develop algorithms for efficiently computing them. Section 5 focuses on solving the quadratic Riccati equation for SKO models. The solution provides a generalization of the family of articulated body inertia quantities. Several SKO and SPO identities are developed in this section, that are used in Section 6 to develop general expressions for the factorization and inversion of the mass matrix and the operational space inertia. These results are used to develop the general form of the classic O( Inline graphic) AB algorithm for the forward dynamics problem. Section 7 examines the system topology dependent sparsity structure of the spatial operators and the mass matrix. Section 8 describes the process for developing SKO models for general multibody systems.

2 SKO models

Central to SKO formulations are the development of SKO models for multibody systems. These models are formally defined in the following section, and their properties are explored in the rest of the paper.

2.1 Definition of SKO models

An SKO model for an n-links tree-topology multibody system consists of the following:

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

  2. An Inline graphic SKO operator and associated SPO operator, Inline graphic Inline graphic (IInline graphic)−1.

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

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

  5. Stacked vectors: Inline graphic denoting independent generalized velocities, Inline graphic the generalized forces, Inline graphic the node velocities, α the node accelerations, Inline graphic the inter-node forces, Inline graphic the node Coriolis accelerations, Inline graphic the node gyroscopic forces the system, Inline graphic the number of degrees of freedom, and the equations of motion defined as:
    graphic file with name nihms325582e1.jpg (1)
    Thus,
    graphic file with name nihms325582e2.jpg (2)
    where
    graphic file with name nihms325582e3.jpg (3)

    ℳ is the symmetric and positive-definite mass matrix for the tree system and Inline graphic is the vector of nonlinear Coriolis and gyroscopic velocity dependent terms. Eq. 3 is the Newton-Euler operator factorization of the mass matrix.

To maximize generality, no assumptions have been made about the specific nature of the weight matrices in the SKO operators, about the component elements of H and M, or that the tree digraph is the standard digraph2 in an SKO model.

2.2 Existence of SKO models

The dynamics formulations derived in [7] for rigid-body, serial-chain and tree-topology, multibody systems are examples of SKO models with Inline graphic and φ as the respective Inline graphic SKO and Inline graphic SPO operators. The existence of an SKO model does not depend on any exceptional or unusual features of tree-topology multibody systems. Indeed, SKO models can be viewed as a refinement of the models obtained from the classic, and widely used, Kane’s method for developing multibody dynamics models [10, 11]. Central to Kane’s method is the identification of partial velocities that define the mapping from generalized velocities to body velocities. The elements of the Inline graphicH* matrix product of an SKO model are precisely Kane’s partial velocities. This is an important connection between these modeling techniques.

While the partial velocity elements are adequate for formulating dynamics models using Kane’s method, the important SPO property is unfortunately lost once the Inline graphicH* partial velocities product is formed. The SPO nature of the operator Inline graphic plays a crucial role in analysis and algorithm development. Therefore, SKO models retain the more fundamental (H, Inline graphic, M) family of operators to not only define the Eq. 2 dynamics model, but also to derive important analytical and algorithmic techniques. We will, at times refer to an SKO model by its (H, Inline graphic, M) triplet of operators. Section 8 describes a systematic process for developing SKO models for multibody systems.

2.3 Generalizations of SKO models

To highlight the possible areas of generalization of SKO models, we contrast, below, the properties of BWA matrices with those of the familiar SKO operators for serial and tree-topology rigid body systems.

  • BWA weight matrices are not limited to 6 × 6 φ(℘(k), k) rigid-body transformation matrices.

  • BWA weight matrices can be non-square.

  • BWA weight matrices can be of non-uniform size across edges.

  • BWA weight matrices can be singular.

In general, SKO weight matrices can, and will, deviate in all of these respects from those for rigid body systems. We will see that the wide variability of the multibody systems is embodied in the definitions of their SKO model digraphs and, in the specific definitions of the weight matrices and operator component values.

We now mention two cautionary points concerning SKO models.

Definition of body nodes: The standard digraph for a multibody system assigns a node to each physical body in the system. This one-to-one correspondence between physical bodies and digraph nodes has been used to develop the SKO models for tree-topology systems. However, this one-to-one correspondence is not a requirement for an SKO model. We will encounter cases where multiple physical bodies are associated with a single node in the digraph, as well as the converse, where multiple nodes are assigned to a single body! Since the majority of models will indeed be using the standard digraphs, we will use the nodes and bodies terminology interchangeably, and will highlight the exceptional cases when we encounter them.

Spatial operator compatibility: By construction, spatial operators have block structure derived from a combination of the underlying model digraph and the node weight dimensions. However, SKO models for a system are not unique, and may differ in the choices of digraph nodes, edges and weight dimensions.

Spatial operators and stacked vectors are said to be compatible when they are associated with the same SKO model. Expressions composing spatial operators and stacked vectors are only meaningful when all the component terms are compatible. Therefore, care is needed to avoid mixing spatial operators associated with different SKO models. The compatibility requirement, however, does not preclude the definition of transformations that relate operators across different SKO models.

In this section, and the following ones, we develop analytical results and algorithms for SKO models with no assumptions beyond those listed for the definition of these models. Therefore, the results can be used for any system for which an SKO model is available. We will also apply these results to important dynamics problems. Several of the spatial operator techniques and algorithms for serial-chain, rigid body systems will be generalized to the broader class of SKO models.

3 SPO operator/vector products for trees

In additional to the mathematical analysis supported by spatial operators, there is an intimate relationship between operator expressions and efficient recursive computational algorithms. We begin by studying this relationship in detail in the following lemma.

Lemma 1 Tips-to-base gather recursion to evaluate Inline graphicx

Given an SPO operator, Inline graphic, and a compatible stacked vector, x, for a tree-topology system, the y(k) elements of y = Inline graphicx, satisfy the following parent/child recursive relationship:

y(k)=iC(k)A(k,i)y(i)+x(k) (4)

Based on this relationship, the elements of y can be computed using the following O( Inline graphic) tips-to-base gather recursive procedure:

{forallnodesk(tipstobasegather)y(k)=iC(k)A(k,i)y(i)+x(k)endloop (5)

As will be customary, the steps in such gather recursions only apply to the body nodes and not the inertial node in the digraph.

Proof

The y = Inline graphicx expression implies that

y(k)=j=1nA(k,j)x(j)=jkA(k,j)x(j) (6)

Therefore,

y(k)=6iC(k)A(k,i)jiA(i,j)x(j)+x(k)=6iC(k)A(k,i)y(i)+x(k)

This establishes Eq. 4. The procedure in Eq. 5 follows directly from this recursive expression.

The left side of Figure 1 illustrates the flow of the recursive procedure in Eq. 5 for computing the y(k) elements. It starts at the tip bodies of the tree and proceeds towards the base-body, while gathering together values converging at the branches. The computational cost of this tips-to-base gather procedure is just of O( Inline graphic) complexity, instead of the O( Inline graphic) complexity of a direct Inline graphicx matrix/vector product. We will encounter several applications later that use this lemma to efficiently evaluate operator expressions involving products of SPO operators and stacked vectors.

Fig 1.

Fig 1

Tips-to-base gather and base-to-tips scatter recursions to evaluate Inline graphicx and Inline graphicx, respectively for tree-topology systems.

Similarly, the x = Inline graphicy product can be evaluated using a base-to-tips, O( Inline graphic) scatter computational algorithm described in the following lemma.

Lemma 2 Base-to-tips scatter recursion to evaluate Inline graphicx

Given an SPO operator, Inline graphic, and a compatible stacked vector x, for a tree-topology system, the y(k) elements of y = Inline graphicx, satisfy the following parent/child recursive relationship:

y(k)=A((k),k)y((k))+x(k) (7)

Based on this relationship, the elements of y can be computed using the following O( Inline graphic) base-to-tips scatter recursive procedure:

{forallnodesk(basetotipsscatter)y(k)=A((k),k)y((k))+x(k)endloop (8)

As will be customary, the steps in such scatter recursions only apply to the body nodes and not the inertial nodes in the digraph. The quantities for the inertial node required in the initial step for the base-bodies in the scatter recursion are always assumed to be zero.

Proof

The y = Inline graphicx expression implies that

y(k)=j=1nA(j,k)x(j)=jkA(j,k)x(j) (9)

Therefore,

y(k)=9A((k),k)j(k)A(i,(k))x(i)+x(k)=9A((k),k)y((k))+x(k)

This establishes Eq. 7. The recursion in Eq. 8 is a direct consequence of this relationship. The right side of Figure 1 illustrates the flow of the recursive procedure in Eq. 8 for computing the y(k) elements. It starts at the base-body of the tree and proceeds towards the tips, while scattering the values onto diverging branches. The computational cost of this procedure is again just of O( Inline graphic) complexity, instead of the O( Inline graphic) complexity of a direct Inline graphicx matrix/vector product. We will encounter several applications that use this lemma to efficiently evaluate products involving the transpose of an SPO operator and a stacked vector.

Corollary 3.1 Recursive evaluation of Inline graphicx and Inline graphicx

Similar to Eq. 5 and Eq. 8, show that the elements of y = Inline graphicx satisfy the following recursive gather relationship:

y(k)=jC(k)A(k,j)[y(j)+x(j)]

Additionally, show that the elements of y = Inline graphicx satisfy the following recursive scatter relationship:

y(k)=A((k),k)[y((k))+x((k))]
Proof

We have that y Inline graphic Inline graphicx = Inline graphicȳ − x where ȳ = Inline graphicx. This implies that

y(k)=y¯(k)x(k)==5iC(k)A(k,i)y¯(i)=iC(k)A(k,i)[y(i)+x(i)]

Thus, the computational algorithm for y is the one in Eq. 5 except that the computational step in the loop is now given by the above expression with initial condition y(0) = 0.

Similarly y Inline graphic Inline graphicx = ȳ − x where ȳ = Inline graphicx. It thus follows that the computational algorithm for Inline graphicx is the same as in Eq. 8 except that the computational step in the loop is now given by

y(k)=A((k),k)[y((k))+x(k)]

with initial condition y(n + 1) = 0.

Based on the results in this section, we can make the important observation that the serial-chain recursive algorithms for operator expressions can be easily generalized to tree-topology systems by simply replacing tip-to-base recursions with tips-to-base gather recursions, and base-to-tip recursions with base-to-tips scatter recursions.

3.1 SKO model O( Inline graphic) Newton-Euler inverse dynamics

We now apply the mapping of SPO and stacked vector products to develop an efficient O( Inline graphic) recursive algorithm for the inverse dynamics problem for a system with an SKO model. For the inverse dynamics problem, the Inline graphic generalized accelerations are assumed to be known, and the corresponding Inline graphic generalized forces need to be computed. Eq. 1 and Eq. 2 define the operator expressions for this mapping for the system. These operator expressions are precisely in the form of SPO and stacked vector products. Thus Lemmas 1 and 2 can be used to evaluate them using recursive scatter and gather algorithms. Algorithm 3.1 describes such an implementation. The algorithm begins with a base-to-tips scatter recursion that implement the operator expressions for Inline graphic and α in Eq. 1. This is followed by a recursive tips-to-base gather recursion to evaluate the expressions for Inline graphic and Inline graphic in Eq. 1.

Algorithm 3.1 Newton-Euler inverse dynamics algorithm for an SKO model

graphic file with name nihms325582e4.jpg (10)

4 Lyapunov equations for SKO models

This section studies SPO operator quadratic expressions that are related to forward and backward Lyapunov equations for an SKO model.

4.1 Forward Lyapunov recursions for SKO models

Lemma 3 Structure of Inline graphicX Inline graphic

Let Inline graphic and Inline graphic denote compatible SPO operators and X be a compatible block-diagonal operator. Then the Z Inline graphic Inline graphicX Inline graphic product can be decomposed into the following disjoint sum

Z=Y+AY+YB (11)

where Y is a block-diagonal operator satisfying the forward Lyapunov equation:

X=YEAYEB (12)

The Y (k) diagonal elements satisfy the recursive parent/child relationship:

Y(k)=jC(k)A(k,j)Y(j)B(k,j)+X(k) (13)

Based on this relationship, the Y (k) terms can be computed via the O( Inline graphic) tips-to-base, forward Lyapunov gather recursion:

{forallnodesk(tipstobasegather)y(k)=jC(k)A(k,j)Y(j)B(k,j)+X(k)endloop (14)

While Y defines the block-diagonal elements of Z, the following recursive expressions describe all the Z(i, j) terms, including the off-diagonal ones:

Z(i,j)={Y(i)fori=jA(i,k)Z(k,j)forikj,kC(i)Z(i,k)B(j,k)forikj,kC(j)0otherwise (15)
Proof

First let us verify that Eq. 12 is well-posed, i.e., that EAYEB is block-diagonal when Y is block diagonal. This follows from:

EAYEB={j=1ne(j)A((j),j)ej}Y{k=1nekB((k),k)e(k)}=j=1ne(j)A((j),j)Y(j)B((j),j)e(j) (16)

This has the form of a block-diagonal matrix with the kth diagonal element being ΣjInline graphic Inline graphic(k, j)Y(j) Inline graphic (k, j). This implies that, at the component level, Eq. 12 is equivalent to

X(k)=12,16Y(k)jC(k)A(k,j)Y(j)B(k,j)

from which Eq. 13 follows.

Pre and post multiply Eq. 12 by Inline graphic and Inline graphic to get:

AXB=(A+I)Y(B+I)AYB=AY+YB+Y

This establishes Eq. 11.

The middle pair of expressions in Eq. 15 follow directly from the structure of Inline graphicY and Y Inline graphic.

The disjoint terms in Eq. 11 represent the following:

  • The non-zero block-elements of the block-diagonal Y are the block-diagonal elements of Inline graphicX Inline graphic.

  • The non-zero block-elements of Inline graphicY and Y Inline graphic correspond to related node pairs in the system, i.e., nodes connected by a directed path.

  • The remaining terms are zero, and correspond to unrelated node pairs, i.e., nodes with no directed path connecting them.

Since entries corresponding to node pairs that do not have an ancestor/child relationship are zero, Inline graphicX Inline graphic is in general sparse. The sparsity structure reflects the topological connectivity of the nodes. Based on Eq. 15, the strategy for computing Inline graphicX Inline graphic consists of:

  1. First, compute the non-zero block-diagonal terms in Y using the tips-to-base gather algorithm in Eq. 14.

  2. Now consider the case of computing Z(j, k), where j is an ancestor of k. Assume that node i is the child of j on the path to k. Use Eq. 15 to compute Z(j, k) = Inline graphic(j, i)Z(i, k). This expression implies a recursion that starts with the Z(k, k) = Y (k) diagonal element, and computes the Z(i, k) elements recursively along the path to node j.

  3. Now consider the converse case of computing Z(j, k), where j is a descendant of k. Assume that node i is the child of k on the path to j. Use Eq. 15 to compute Z(j, k) = Z(j, i) Inline graphic (k, i). This expression implies a recursion that starts with the Z(j, j) = Y(j) diagonal element, and computes the Z(j, i) elements recursively along the path to node k.

In the special case where Inline graphic = Inline graphic, case (3) above is unneeded because Z is symmetric, and Z(j, k) = Z*(k, j).

4.2 Mass matrix computation for an SKO model

As seen in Eq. 2, the mass matrix in the SKO model has the operator expression ℳ = H Inline graphicM Inline graphicH*. The following lemma uses Lemma 3 to derive a decomposition of, and computational procedure for, the mass matrix.

Lemma 4 SKO model mass matrix decomposition

The SKO model mass matrix can be decomposed into a sum of disjoint terms as follows:

M=HRH+HARH+HRAH (17)

where the block-diagonal composite body inertia operator, Inline graphic, satisfies the following forward Lyapunov equation:

M=REAREA (18)
Proof

The results here are a direct consequence of Lemma 3, once we identify Inline graphic = Inline graphic, and X = M. From the lemma, we have the following disjoint decomposition of Inline graphicM Inline graphic:

AMA=R+AR+RA (19)

Eq. 17 follows by pre and post multiplying the above expression with the block-diagonal H and H*, respectively.

The tips-to-base gather Algorithm 4.1 describes the general composite body inertia algorithm for an SKO model.

Algorithm 4.1 Recursive computation of composite body inertias for an SKO model

{forallnodesk(tipstobasegather)R(k)=iC(k)A(k,i)R(i)A(k,i)+M(k)endloop (20)

Remark 5.2 in Jain [7] discussed the sparsity structure of the Inline graphic and Inline graphic matrices for the canonical tree in Figure 2 in the paper. Based on Eq. 17, the following matrix illustrates the sparsity structure of the mass matrix for the same system:

M=(X·X··XX·X·X·XXX·X··XX·X·X·XX····XXXXXXXXXXXXXXXXX)
Fig 2.

Fig 2

Illustration of the recursions for computing the Z(., .) elements for the three cases described in Algorithm 4.3 for a tree. These recursions start from the Y (.) diagonal terms.

The above matrix shows that, for trees, the ℳ mass matrix contains block-elements that are zero, because, unlike serial-chains, trees can have unrelated nodes. For serial-chain systems, the mass matrix is dense and fully populated because all nodes in a serial-chain system are related.

The sparsity of the mass matrix depends on the underlying branching structure of the system. As discussed in Section 7, the sparsity structure of the mass matrix is determined by the connectivity of its serial-chain segments; blocks corresponding to the segments are dense, while those corresponding to unrelated segments are zero. Section 7 also examines the sparsity structure of the mass matrix for the more complex tree system in Figure 3.

Fig 3.

Fig 3

Illustration of the decomposition of a tree-topology system into a tree of serial-chain branch segments.

Based on the decomposition in Eq. 17, Algorithm 4.2 describes a recursive procedure for computing the mass matrix of a tree-topology system. The outer loop includes the tips-to-base gather computation of the composite body inertias. The inner loop computes the mass matrix cross-terms for all the ancestors of a body.

Algorithm 4.2 Recursive computation of the SKO model mass matrix

graphic file with name nihms325582u1.jpg

4.3 Backward Lyapunov recursions for SKO models

Complementing the discussion on forward Lyapunov equations is the following lemma regarding backward Lyapunov equations for SKO models.

Lemma 5 Structure of Inline graphicX Inline graphic

Let Inline graphic and Inline graphic denote compatible SPO operators and X be a compatible block-diagonal operator. Then the Z = Inline graphicX Inline graphic product can be expressed as the following sum of disjoint terms:

Z=Y+AY+YB+RwhereRi,j:ijk=(i,j)eiA(k,i)Y(k)B(k,j)ej (21)

Y is a block-diagonal operator satisfying the following backward Lyapunov equation:

X=YdiagOf{EAYEB} (22)

The diagOf {EAYEB} term represents just the diagonal block elements of the (generally non block-diagonal) EAYEB matrix. The Y(k) diagonal elements satisfy the following parent/child recursive relationship:

Y(k)=A((k),k)Y((k))B((k),k)+X(k) (23)

Based on this relationship, the Y(k) diagonal elements can be computed via the following O( Inline graphic) base-to-tips scatter recursion:

{forallnodesk(basetotipsscatter)y(k)=A((k),k)Y((k)B((k),k)+X(k)endloop (24)

While Y defines the block-diagonal elements of Z, the following recursive expressions describe all the Z(i, j) terms, including the off-diagonal ones:

Z(i,j)={Y(i)fori=jA(k,i)Z(k,j)forikj,k=(i)Z(i,k)B(k,j)forikj,k=(j)A(k,i)Y(k)B(k,j)forij,ji,k=(i,j) (25)
Proof

We have

EAYEB{j=1nejA((j),j)e(j)}Y{k=1ne(k)B((k),k)ek}=j,k:(j)=(k)ejA((j),j)Y((j))B((k),k)ek

Therefore,

diagOf{EAYEB}=j=1nejA((j),j)Y((j))B((j),j)ej (26)

This implies that, at the component level, Eq. 22 is equivalent to

X(k)=22,26Y(k)A((j),j)Y((j))B((j),j)

from which Eq. 23 follows.

Now let us examine the elements of Z = Inline graphicX Inline graphic in Eq. 21.

Z={i=1nmieiA(m,i)em}X{j=1nljelB(l,j)ej}=i=1nj=1nmi,jeiA(m,i)X(m)B(m,j)ej

Hence,

Z(i,j)=mi,jA(m,i)X(m)B(m,j)

The expressions in Eq. 25 are a direct consequence of the above expression for Z(i, j).

Unlike Inline graphicX Inline graphic, Inline graphicX Inline graphic is a fully populated matrix. The disjoint partitioned terms in Eq. 21 have the following properties:

  • The block-diagonal Y contains the diagonal block elements terms of Inline graphicX Inline graphic.

  • The non-zero block-elements of Inline graphicY and Y Inline graphic correspond to all related nodes.

  • The non-zero block-elements of R on the other hand are for the remaining unrelated node pairs, i.e., ones that have no directed path connecting them.

As is evident from Eq. 25, all the block-elements of Inline graphicX Inline graphic intimately dependent on the elements of the Y block-diagonal matrix. An important application of this lemma is to operational space inertias, as discussed in Section 6.2.

The recursive computational strategy for the elements of Inline graphicX Inline graphic is described in Algorithm 4.3. For the special case where Inline graphic = Inline graphic, Z is symmetric, and Step (3) in the algorithm can be skipped since these elements can be obtained from the transposes of the corresponding elements in Step (2).

Algorithm 4.3 Computation of Z = Inline graphicX Inline graphic

We have four situations to consider when computing a Z(k, j) element. The respective recursive steps are described below and illustrated in Figure 2.

  1. To obtain a block-diagonal element, Z(k, k), compute the Y (k) element using the base-to-tips scatter O( Inline graphic) algorithm described in Eq. 24 as illustrated in the diagram on the left in Figure 2.

  2. If the kth body is an ancestor of the jth body, Z(j, k) can be computed recursively, starting with the Z(k, k) = Y (k) diagonal element, which, in turn, is computed using the process described in case (1). The recursion for Z(j, k), illustrated by the middle diagram of Figure 2, starts with this Y (k) diagonal entry, and propagates it along the path from the kth to the jth body, using the second expression in Eq. 25 to compute the Z(k − 1, k), Z(k − 2, k), etc., terms.

  3. If, on the other hand, the kth body is an ancestor of the jth body, then Z(k, j) can be computed recursively, starting with the Z(k, k) = Y (k) diagonal element, which, in turn, is computed using the process described in case (1). The recursion for Z(k, j), illustrated in the middle diagram of Figure 2, starts with this Y (k) diagonal entry, and propagates it along the path from the kth to the jth body, using the third expression in Eq. 25 to compute the Z(k, k − 1), Z(k, k − 2), etc., terms.

  4. Now consider the remaining case where the (k, j) node pair are unrelated. In this case, identify the body that is the closest ancestor for this pair of bodies. If the bodies do not have a common ancestor, then Z(k, j) is zero since the bodies belong to independent, decoupled multibody trees.

    If, on the other hand, there is a common ancestor, denoted the ith body, then the first step is to compute Z(k, i), using the recursive procedure described in case (2). This value is then recursively propagated along the path from the ith body to the jth body, using the procedure in case (3) to compute the Z(k, i − 1), Z(k, i − 2), etc., terms. This process is illustrated in the diagram on the right in Figure 2.

Later, Section 6.2 describes the use of these backwards Lyapunov equation results and algorithms for the operational space inertia matrices associated with tree multibody systems. The following Lemma describes simplifications of the backwards Lyapunov equation for serial-chain systems.

Lemma 6 Inline graphicX Inline graphic structure for a serial-chain SKO model

For a serial-chain system, Z = Inline graphicX Inline graphic can be decomposed into disjoint diagonal, strictly upper triangular, and strictly lower triangular terms as follows:

Z=Y+AY+YB (27)

where Y ∈ Inline graphic is a block-diagonal operator satisfying the following backward Lyapunov equation:

X=YEAYEB (28)

Assuming that the serial-chain is canonical, the symmetric positive semi-definite Y (k) diagonal matrices can be computed via the following O( Inline graphic) base-to-tip scatter recursion:

{Y(n+1)=0fork=1nY(k)=A(k+1,k)Y(k+1)B(k+1,k)+X(k)endloop (29)

While Y defines the block-diagonal elements of Z, the following recursive expressions describe all the terms, including the off-diagonal ones:

Z(i,j)={Y(i)fori=jA(i+1,i)Z(i+1,j)fori<jZ(i,j+1)B(j+1,j)fori>j (30)
Proof

Unlike trees, all nodes in a serial-chain systems are related, i.e., every pair of nodes is connected by a directed path. Hence, R = 0 in Eq. 21 for these systems. Substituting this in Eq. 21, and remembering that EAYEB in Eq. 22 is block-diagonal for serial-chains leads to this result.

Observe that Step (4) in Algorithm 4.3 is not needed for serial-chain systems.

5 Riccati equations for SKO models

This section studies another type of SPO quadratic equation, known as a Riccati equation, for SKO models.

Lemma 7 The Riccati equation for SKO models

Let (H, Inline graphic, M) denote spatial operators for an SKO model. The following Riccati equation has a block-diagonal, symmetric and positive-definite operator solution, Inline graphic:

M=PEA[PPH(HPH)1HP]EA (31)

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

M=PEA[PPH(HPHD)1GHτPP+]EA

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

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

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

{forallnodesk(tipstobasegather)P(k)=jC(k)A(k,j)P+(j)A(k,j)+M(k)D(k)=H(k)P(k)H(k)G(k)=P(k)H(k)D1(k)τ(k)=G(k)H(k)τ¯(k)=Iτ(k)P+(k)=τ¯(k)P(k)endloop (33)
Proof

Eq. 33 is essentially a component level restatement of Eq. 31. The positive definiteness of M and full row-rankness of H ensures that Inline graphic(k) exists and is well defined.

5.1 The Inline graphic and ψ SKO and SPO operators

Lemma 8 The Inline graphic SKO operator

Let Inline graphic be an SKO operator, and H, M, be compatible operators satisfying the conditions in Lemma 7. Let Inline graphic denote the block-diagonal solution to the Eq. 31 Riccati equation. Define

EψEAτ¯ (34)

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

ψ((k),k)A((k),k)τ¯(k),andψ(IEψ)1 (35)

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

M=PEψPEψ=PEAPEψ (36)
Proof

Since Inline graphic is an SKO operator, we have

Eψ=34(k=1ne(k)A((k),k)ek)τ¯=k=1ne(k)A((k),k)τ¯(k)ek=35k=1ne(k)ψ((k),k)ek

This implies that Inline graphic is indeed an SKO operator, with weights defined by ψ(℘(k), k). Thus, its 1-resolvent, ψ, defined by Eq. 35 exists.

The first part of the Riccati equation expression in Eq. 36. This is equivalent to Eq. 31 follows from the direct use of the expressions in Eq. 32 to observe that:

PPH(HPH)1HP=τ¯P=Pτ¯=τ¯Pτ¯=P+

Unlike the Inline graphic SKO operators, which are defined during the SKO model formulation process, the Inline graphic SKO operators are derived operators obtained from the solution to the Riccati equation. Likewise, the ψ SPO operator is also a derived by-product of the solution of the Riccati equation. Observe that the ψ (℘(k), k) matrices are singular even when Inline graphic(℘(k), k) is non-singular.

5.2 Operator identities

Define the Inline graphic spatial operator as follows:

K=EAG (37)

Inline graphic is not block-diagonal, but has structure similar to that of Inline graphic. The following lemma establishes operator identities that will be needed later.

Lemma 9 Useful spatial operator identities

  1. HG=I,Hτ=H,Hτ¯=0I+HAK=HAG (38)
  2. HAτ¯=HAEψ (39)
  3. HAτ=HA(IEψ)=HAψ1 (40)
  4. Inline graphicMψ* has the following disjoint decomposition:
    AMψ=P+AP+Pψ (41)
Proof
  1. The expressions in Eq. 38 follow from Eq. 32 and Eq. 37.

  2. We have
    HAτ¯=H(A+I)τ¯=HAEAτ¯+Hτ¯=34,32HAEψ
  3. We have
    HAτ=32HA(Iτ¯)=39HA(IEψ)=35HAψ1
  4. Pre and post multiplying Eq. 36 by Inline graphic and ψ*, then simplifying, leads to Eq. 41.

The following lemma derives additional operator identities.

Lemma 10 Additional spatial operator identities

  1. ψMψ=P+ψP+Pψ (42)
  2. ψ1A1=KH (43)
  3. ψ1A=I+KHAAψ1=I+AKHA1ψ=IKHψψA1=IψKH (44)
  4. [IHψK]HA=HψAK[IHψK]=ψK[I+HAK]Hψ=HAψK[I+HAK]=AK (45)
  5. HψMψH=D (46)
  6. AMA=P+AP+PA+AKDKA (47)
  7. AMAH=[I+AKH]PAH (48)
Proof
  1. Pre- and post-multiplying Eq. 36 ψ by and ψ*, we obtain
    ψMψ=ψPψψEψPEψψ=(ψ+I)P(ψ+I)ψPψ=P+ψP+Pψ
  2. We have
    ψ1=IEψ=32IEAτ¯=32(IEA)+EAτ=32A1+EAGH=32A1+KH
  3. Pre- and post-multiplying Eq. 43 by Inline graphic leads to the first pair of identities in Eq. 44. Repeating the process using ψ leads to the latter pair.

  4. We have
    [IHψK]HA=H[IψKH]A=44H(ψA1)A=Hψ

    Similar use of the other identities in Eq. 44 leads to the the remaining identities in Eq. 45.

  5. We have
    HψMψH=36H(P+ψP+Pψ)H=32D+HψPH+HPψH=D+HψEψPH+HPEψψH=32D+HψEAτ¯PH+HPτ¯EAψH=32D+HψEAP+H+HP+EAψH=38,32D
  6. Now
    AMA=(Aψ1)ψMA=41(Aψ1)(ψP+PA)=43AP+(I+AKH)PA=AP+PA+AKHPA=32,37P+AP+PA+AKDKA
  7. We have
    AMAH=(Aψ1)(ψMA)H=41(Aψ1)(ψP+PA)H=AEψPH+(Aψ1)PAH=32AEψP+H+(I+AKH)PAH=38(I+AKH)PAH

    It is noteworthy that the Mψ*H* expression in Eq. 46 is block-diagonal, in contrast to the similar expression, ℳ = H Inline graphicM Inline graphicH*, for the non-diagonal mass matrix.

6 SKO model mass matrix factorization and inversion

The following lemma derives the mass matrix factorization and inversion properties for SKO models.

Lemma 11 SKO mass matrix factorization and inversion

Let (H, Inline graphic, M) denote spatial operators for an SKO model. Recall that its mass-matrix is defined as ℳ = H Inline graphicM Inline graphicH*.

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

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

  2. [I + H Inline graphic Inline graphic] is invertible, with inverse given by:
    [I+HAK]1=[IHψK] (50)
  3. The mass matrix ℳ is invertible, and the expression for its inverse is
    M1=[IHψK]D1[IHψK] (51)
Proof
  1. We have
    M=HAMAH=H(Aψ1)ψMψ(Aψ1)H=44H[I+AKH]ψMψ[I+AKH]H=[I+HAK](HψMψH)[I+HAK]=46[I+HAK]D[I+HAK]
  2. From the standard matrix identity (I + AB)−1 = IA(I + BA)−1B, we have:
    [I+HAK]1=IH[I+AKH]1AK=44IH(Aψ1)1AK=IHψK
  3. We have
    M1=49{[I+HAK]D[I+HAK]}1=[I+HAK]D1[I+HAK]1=50[IHψK]D1[IHψK]1

Corollary 6.1 Determinant of the mass matrix

  1. Show that [I + H Inline graphic Inline graphic] and [I - Hψ Inline graphic] are strictly lower triangular for canonical trees, and that they have identity block matrices along the diagonal.

  2. Show that the determinant of the Newton-Euler operator factor [I + H Inline graphic Inline graphic] is
    det{I+HAK}=1 (52)
  3. Furthermore, show that the determinant of the mass matrix is given by
    det{M}=k=1ndet{D(k)} (53)
Proof
  1. We have
    IHAK=37IHAEAG=IHAG

    For a canonical tree, Inline graphic is strictly lower triangular, while H and Inline graphic are block-diagonal. Hence, [I +H Inline graphic Inline graphic] is lower triangular with identity blocks along the diagonal. Moreover, from Eq. 50 we know that [I −Hψ Inline graphic] is its inverse. From matrix theory, we know that the inverse of a lower-triangular matrix is also lower-triangular, and that the diagonal elements are inverses of each other. It thus, follows that for a canonical tree, [I − Hψ Inline graphic] is also lower-triangular with identity blocks along its diagonal.

  2. For canonical trees, the above part established that [I + H Inline graphic Inline graphic] is a lower-triangular matrix with identity matrices along the diagonal. Since, the determinant of a lower-triangular matrix is the product of the determinants of the block elements along its diagonal, it follows that Eq. 52 holds for canonical trees. Since all tree can be converted into canonical trees by a simple renumbering of the bodies, there exists a permutation matrix which transforms the Newton-Euler factors for a tree into the corresponding factors for a canonical version of the tree. Since permutation matrices are orthogonal, their determinants are 1, and hence, the determinant of the canonical and non-canonical versions of the Newton-Euler factors are equal to each other and are both 1. This establishes Eq. 52.

  3. For Eq. 53, we have
    det{M}=49det{[I+HAK]D[I+HAK]}=det{[I+HAK]}det{D}det{[I+HAK]}=52det{D}=k=1,ndet{D(k)}

6.1 O( Inline graphic) AB forward dynamics

The forward dynamics problem consists of computing the Inline graphic generalized accelerations, given the Inline graphic generalized forces for the system. The following lemma derives an explicit operator expression for Inline graphic.

Lemma 12 Expression for Inline graphic = ℳ−1( Inline graphicInline graphic)

The explicit expression for Inline graphic is

graphic file with name nihms325582e5.jpg (54)
Proof

We have

graphic file with name nihms325582e6.jpg (55)

Now,

[IHψK]HA(MAa+b)=H[IψKH]A(MAa+b)=44H(ψA1)A(MAa+b)=Hψ(MAa+b)=41H((ψP+PA)a+ψb)=32(HψP+DKA)a+Hψb (56)

Substituting this expression into the second half of Eq. 55, it follows that

[IHψK]D1[IHψK]HA(MAa+b))=[IHψK]D1[(HψP+DKA)a+Hψb]=44[IHψK]D1[HψPa+Hψb]+K(A1ψ)Aa=44[IHψK]D1Hψ(Pa+b)+Kψa (57)

Substituting this expression in Eq. 55 leads to Eq. 54.

We group together sub-expressions in Eq. 54 to define intermediate quantities as shown below:

graphic file with name nihms325582e7.jpg

Using these intermediate quantities, and simplifications Eq. 54 can be re-expressed as

z=Eφz++Pa+b (58a)
z+=z+Gε (58b)
ε=THz (58c)
ν=D1ε (58d)
α+=Eφα (58e)
graphic file with name nihms325582e8.jpg (58f)
graphic file with name nihms325582e9.jpg (58g)

Recall that ψ is an SPO operator. We can thus use Lemmas 1 and 2 to develop a recursive algorithm for evaluating Inline graphic from the expressions in Eq. 58. The resulting O( Inline graphic) AB forward dynamics algorithm for SKO models is described in Algorithm 6.1. The algorithm consists of a tips-to-base gather sweep to compute the residual terms, followed by a base-to-tips scatter sweep for the generalized accelerations.

Algorithm 6.1 O( Inline graphic) AB forward dynamics for SKO models

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

  2. Use the following gather and scatter recursions to compute Inline graphic:
    graphic file with name nihms325582e10.jpg

6.2 Application: Tree Operational Space Inertia

Another application of the SPO techniques is for operational space inertias [12, 13] which is essentially the mass matrix of the system reflected to a few “task space” nodes on the system. These are useful for manipulation tasks involving force control. With Inline graphic denoting the pick-off operator for these nodes [17], and with the Jacobian matrix for these nodes Inline graphic = Inline graphicφ*H* [7], the computation of operational space inertia is the inverse of the Inline graphic−1 Inline graphic matrix. This can be an expensive computation to carry out. However, note that

JM1J=BφH(IHψK)D1(IHψK)HφB (59)

Application of Eq. 45 on page 18 then results in the simpler form:

JM1J=BΩB,whereΩψHD1HψR6n×6n (60)

We refer to Ω as the extended operational space compliance matrix. From its definition, it is clear that Ω is a symmetric, positive semi-definite matrix since Inline graphic is a symmetric positive-definite matrix. The structure and computation of the operational space inertia thus depends on the structure and computation of Ω.

Recalling that φ is an SPO operator, and that H* Inline graphicH is block-diagonal, we can apply the backwards Lyapunov equation Lemma 5 to decompose and compute elements of Ω efficiently. We skip the details here and refer the reader to [4, 13, 18] for details.

7 SPO operator 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 [1, 3, 14, 19]. In this section, study the sparsity structure of the SKO and SPO operators and the mass matrix for tree-topology systems.

7.1 Decomposition into serial-chain segments

Topologically, serial-chain systems represent the simplest examples of tree systems, and serve as useful elemental units for studying the sparsity structure of matrices for tree-topology systems. Unlike trees, all bodies in a serial-chain are related, so that, for any pair of bodies, one is necessarily an ancestor of the other.

Figure 3 illustrates the decomposition of a tree into branches 1 through 5, where each of the branches is a serial-chain segment. With such a decomposition, the tree system can be regarded as a new tree, with one node for each of the serial-chain branch segments. Thus, the new tree of branches is homeomorphic to the original tree3. The sparsity structure of the spatial operators (e.g., SPO, mass matrix) can be inferred directly from the structure of the tree of branches. Due to their serial-chain structure, the blocks associated with individual serial-chain branches are dense, with sparsity arising for branch pairs that are unrelated, i.e., are not connected by a directed path in the tree of branches.

7.2 Sparsity structure of the Inline graphic SKO matrix

Assuming that the original tree is a canonical tree, Figure 4 and Eq. 61 illustrate the decomposition of the system-level Inline graphic SKO operator in terms of the SKO operators for each of the serial-chain branch segments.

Fig 4.

Fig 4

Structure of the Inline graphic spatial operator for the tree topology system in Figure 3

EA=(EA100000EA200000EA300EA4,1EA4,20EA4000EA5,3EA5,4EA5) (61)

Inline graphic denotes the SKO operator for the jth branch segment. Also, when the kth branch is a child of the jth branch, the Inline graphic block denotes the non-zero connector block between them. All other blocks are zero. The structure of Inline graphic is as follows:

EAj,k(00A(1j,nk)000000) (62)

where 1j denotes the tip body on the jth branch that is the parent of the nk base-body of the kth branch.

7.3 Sparsity structure of the Inline graphic matrix

With φj Inline graphic = (IInline graphic)−1 denoting the SPO operator for the jth branch, the overall structure of the system level Inline graphic SPO operator for the Figure 3 tree is illustrated in Figure 5 and Eq. 63:

A=(A100000A200000A300A4,1A4,20A40A5,1A5,2A5,3A5,4A5) (63)

Fig 5.

Fig 5

Structure of the Inline graphic spatial operator for the tree-topology system in Figure 3

The Inline graphic blocks denote the non-zero connector block between related serial-chain segments. All other blocks are zero. The general expression for the Inline graphic elements is:

Aj,k=AjEAj,iAi,kwithiC(j),ik

In the above, Inline graphicInline graphic.

7.4 Sparsity structure of the ℳ mass matrix

Based on the mass matrix decomposition discussed in Section 4.2, Figure 6 illustrates the sparsity structure of the mass matrix for the tree-topology system in Figure 3, partitioned according to its branch segments. As expected, the sparsity structure of the mass matrix mirrors the sparsity of the Inline graphic SPO operator in Figure 5 and that of 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 segment pairs, i.e., ones where neither is the ancestor of the other. The remaining nonzero off-diagonal elements are for segment pairs that are related. This structure of the mass matrix is a generalization of the discussion on this subject in Section 4.2. The topology dependency of the mass matrix’s sparsity structure was initially described in Rodriguez et al [18]. Additional discussion on this topic can be found in Featherstone [3].

Fig 6.

Fig 6

Structure of the mass matrix ℳ for the tree topology system in Figure 3

8 Generalized SKO formulation process

In this paper, we have derived analytical techniques and efficient algorithms for SKO models of multibody systems. These have included

  • Recursive O( Inline graphic) procedures for computing SPO operator and stacked vector products.

  • General O( Inline graphic) Newton-Euler inverse dynamics algorithms.

  • Solutions for the forward Lyapunov equations and decomposition of Inline graphicX Inline graphic operator product.

  • General O( Inline graphic) algorithm for computing the mass matrix.

  • Solution for the backward Lyapunov equations and decomposition of Inline graphicX Inline graphic operator product.

  • Recursive algorithms for computing the Inline graphicX Inline graphic operator product.

  • The general O( Inline graphic) articulated body inertia solution of the Riccati equation.

  • Several operator identities.

  • 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 O( Inline graphic) AB forward dynamics algorithm.

The above results required 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. With this as motivation, we outline the general steps in the development of an SKO multibody dynamics formulation:

  • Develop an SKO model: The key starting point of an SKO formulation is the development of an SKO model for the system. A systematic procedure for this is deferred till Section 8.1.

  • Apply SKO techniques: Once the SKO model has been developed, the analytical results and efficient algorithms for spatial operators described above can be applied to the system.

  • Optimize algorithms: Finally, optimizations that take advantage of the specific features of the SKO model can be further applied to the SKO algorithms. Though the SKO algorithms are already highly efficient, there are usually several opportunities for further optimizations based on the specific structure, sparsity, and redundancies of the SKO weight matrices, joint map matrices, etc. Even though such system specific optimization are applied only in this last step, they can significantly transform the structure of the eventual algorithms.

8.1 Procedure for developing an SKO model

Outlined below is a procedure for developing an SKO model for general multibody systems. It provides guidelines for identifying the SKO weight matrices and the components of the H and M operators. Figure 7 illustrates the key steps in the procedure.

Fig 7.

Fig 7

Flow chart illustrating steps 2 through 4 of the process described in Section 8.1 for developing SKO models for multibody systems. The corresponding steps for rigid-link, tree-topology multibody systems are shown on the right.

  1. Identify system tree digraph: First, identify a tree digraph for the SKO model. For tree-topology multibody systems, this is usually straightforward, with the standard tree digraph for the system being a good candidate.

    However, there is no requirement that the nodes in the tree digraph be in one-to-one correspondence with the physical bodies in the system, as is the case for the standard tree digraph.

  2. Node equations of motion: Establish the equations of motion of the component nodes in the system. To accomplish this, identify the Inline graphic(k) velocities for the component nodes. The size of the velocity vector for a node determines the mk BWA weight dimension for the node. Also, identify the appropriate mk × mk dimensional M(k) inertia matrix for each node. Together with the node velocity, the 12V(k)M(k)V(k) expression should define the kinetic energy contribution of the node.

  3. Identify inter-node velocity relationships: Identify the recursive relationship between the Inline graphic(k) velocity of a node and and that of its parent node, and the Inline graphic(k) generalized velocities of the hinge connecting them. This will help identify the parent/child SKO weight matrix, Inline graphic(℘(k), k), and the component H(k) joint map matrices associated with the connecting hinge. The Inline graphic (℘(k), k) term defines the contribution of the Inline graphic(℘(k)) parent node’s velocity to Inline graphic(k) while H*(k) defines the contribution from the Inline graphic(k) generalized velocities.

    The hinges connecting adjacent nodes are not required to be physical hinges. This is especially true in cases where multiple bodies are assigned to nodes in the digraph.

  4. Assemble Newton-Euler mass matrix expression: Assemble the system-level stacked vectors for the hinge generalized velocities, the node velocities, etc., and the various SKO, SPO, etc., spatial operators leading to the system-level equations of motion, the Newton-Euler factorization of the ℳ mass matrix and the Inline graphic nonlinear Coriolis and velocity terms vector in Eq. 1 through Eq. 3.

8.2 Potential non-tree topology generalizations

The digraph in an SKO model is required to be a directed tree. We address here the potential extension of an SKO model to work with non-tree digraphs. First, we recall key steps in the SKO model development:

  1. set up of the implicit relationship graphic file with name nihms325582e11.jpg for the Inline graphic node velocities using independent generalized hinge velocity coordinates, and

  2. use the nilpotency of the Inline graphic BWA matrix to derive its Inline graphic 1-resolvent to convert this implicit expression into the Inline graphic = Inline graphicH* Inline graphic explicit form.

Non-tree digraphs can contain directed cycles as well as multiply-connected nodes. We now examine specific issues in developing SKO models for such non-tree digraph systems.

  • Digraphs with directed cycles: For digraphs with directed cycles, the BWA matrices are not nilpotent, and their 1-resolvents do not exist. Intuitively, the presence of cycles implies that there are paths of arbitrary lengths connecting nodes that are part of such cycles, since paths that loop around the cycle multiple times are legal. Thus, none of the powers of the BWA matrix, with directed cycles, are nonzero. Hence, their 1-resolvent SPO operators do not exist. This means that step (2) above breaks down, and the implicit relationship for Inline graphic in cannot be transformed into the explicit form.

  • Multiply-connected DAGs: Multiply-connected DAGs are digraphs containing a node with more than one parent. For these systems, the BWA matrix is still nilpotent and, hence, its 1-resolvent is well defined. The catch for such systems is the inability to identify independent generalized hinge velocity coordinates for the edges. Such relationships are unique and well-defined when bodies have single parents. However, when a body has multiple parents, the parent/child node velocity relationship must hold simultaneously for each parent. For them to hold simultaneously, the pair of generalized hinge velocity coordinates must be mutually consistent and, hence, they are not independent. Step (1) above therefore breaks down.

Thus, we see that the use of non-tree digraphs with SKO models has potential problems. This complicates the formulation of the dynamics of closed-chain systems. Jain [6] discuss avenues for overcoming these hurdles in order to develop and use SKO models for closed-chain systems.

9 Conclusions

We have identified key mathematical connections between digraph properties - adjacency matrices, nilpotency, 1-resolvents - and the spatial operators associated with the dynamics of multibody systems. We have used these to define the abstract notions of SKO models for multibody systems, and derived a broad family of analytical results for such models.

Important illustrative examples of such analytical results include: the closed-form factorization and inversion of the system mass matrix, expressions for its determinant, factored expression for the system operational space inertia. While these results were derived in much narrower contexts in the past (e.g. rigid-body/serial-chain assumptions), the SKO model abstraction provides a unifying, abstract perspective that allows us to apply the results to the broad class of tree-topology systems where: the tree branching structure and body indexing can be arbitrary, and the weight matrices can be general, non-invertible, non-square and even of non-uniform size.

We have also shown that the SKO model analytical operator expressions can be transformed into efficient, low-order gather and scatter recursive computational algorithms whenever evaluation is required. This transformation process has been illustrated by deriving (in a general context) key computational algorithms used in the control and simulation of the robot multibody systems. Examples of such algorithms include ones for O( Inline graphic) Newton-Euler inverse dynamics, O( Inline graphic) AB forward dynamics, O( Inline graphic) composite rigid body inertias, O( Inline graphic) mass matrix computation, and O( Inline graphic) operational space inertia computation. Once gain, these algorithms apply to all SKO models and are independent of the specific nature of the component weight matrices. While these algorithms are already the most efficient known, there is opportunity for further optimization based on exploiting the system-specific structure of the weight matrices.

This paper has also studied the sparsity structure of the mass matrix and related quantities for SKO models. Such sparsity structure has been exploited in recent years to develop new families of efficient computational algorithms [3]. A systematic recipe for developing SKO models for general multibody systems has been described.

Since SKO models require tree-topology digraphs, they do not directly apply to systems with closed-graph topologies. In [6] we have begun exploring techniques for deriving SKO models for closed-graph systems by transforming the standard digraph using constraint embedding techniques [5]. Being independent of system topology and detailed structure, we expect to broaden and advance the application of the SKO principles to robotic kinematics and dynamics problems in future work. Indeed techniques such as sensitivity analysis, diagonalized dynamics formulations, under-actuated systems etc. that had previously been developed for rigid body serial-chain systems using spatial operators, we expect to generalize using SKO techniques.

Acknowledgments

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.4 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 [8].

2

The standard digraph associated with a multibody system has the inertial frame as the root node, and all the links in the system as the remaining nodes in the digraph [7].

3

A pair of digraphs are said to be homeomorphic if they can both be obtained from a common digraph by a sequence of adding and removing nodes (also known as subdivisions) along serial segments [2, 20].

4

© 2010 California Institute of Technology. Government sponsorship acknowledged.

References

  • 1.Baraff D. Linear-Time Dynamics using Lagrange Multipliers. Proc. ACM SIGGRAPH ’96; New Orleans. 1996. pp. 137–146. [Google Scholar]
  • 2.Cherowitzo W. Graph and Digraph Glossary. 2009 Website, URL http://www-math.cudenver.edu/wcherowi/courses/m4408/glossary.htm/
  • 3.Featherstone R. Rigid Body Dynamics Algorithms. Springer Verlag; 2008. [Google Scholar]
  • 4.Jain A. Correction to ‘Spatial Operator Algebra for Multibody System Dynamics’. 2009 Website, URL http://dartslab.jpl.nasa.gov/References/pdf/gen-mbody-correction.pdf.
  • 5.Jain A. Recursive Algorithms Using Local Constraint Embedding for Multi-body System Dynamics. ASME 2009 International Design Engineering Technical Conferences & Computers and Information in Engineering Conference; San Diego, CA. 2009. [Google Scholar]
  • 6.Jain A. Constraint Embedding for Robot System Dynamics. 2010 In review. [Google Scholar]
  • 7.Jain A. Graph Theoretic Foundations of Multibody Dynamics: Part I -Structural Properties. 2010 doi: 10.1007/s11044-011-9266-7. In review. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 8.Jain A. Graph Theoretic Structure of Multibody System Spatial Operators. The 1st Joint International Conference on Multibody System Dynamics; Lappeenranta, Finland. 2010. [Google Scholar]
  • 9.Jain A. Robot and Multibody Dynamics: Analysis and Algorithms. Springer; New York: 2010. [Google Scholar]
  • 10.Kane T, Levinson D. The Use of Kane’s Dynamical Equations in Robotics. The International Journal of Robotics Research. 1983;2(3):3–21. [Google Scholar]
  • 11.Kane T, Levinson D. Dynamics: Theory and Applications. McGraw-Hill; New York: 1985. [Google Scholar]
  • 12.Khatib O. A Unified Approach for Motion and Force Control of Robot Manipulators: The Operational Space Formulation. IEEE Journal of Robotics and Automation. 1987;RA-3(1):43–53. [Google Scholar]
  • 13.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]
  • 14.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]
  • 15.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]
  • 16.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]
  • 17.Rodriguez G, Kreutz-Delgado K, Jain A. A Spatial Operator Algebra for Manipulator Modeling and Control. The International Journal of Robotics Research. 1991;10(4):371–381. [Google Scholar]
  • 18.Rodriguez G, Jain A, Kreutz-Delgado K. Spatial Operator Algebra for Multi-body System Dynamics. Journal of the Astronautical Sciences. 1992;40(1):27–50. [Google Scholar]
  • 19.Saha SK. A Decomposition of the Manipulator Inertia Matrix. IEEE Transactions on Robotics and Automation. 1997;13(2):301–304. [Google Scholar]
  • 20.West DB. Introduction to Graph Theory. Prentice Hall; 2001. [Google Scholar]

RESOURCES