Proceedings of the Royal Society A: Mathematical, Physical and Engineering Sciences

Abstract

This paper proposes a novel approach to the modelling of lumped-parameter dynamic systems, based on representing them by hierarchies of mathematical models of increasing complexity instead of a single (complex) model. Exploring the multilevel modularity that these systems typically exhibit, a general recursive modelling methodology is proposed, in order to conciliate the use of the already existing modelling techniques. The general algorithm is based on a fundamental theorem that states the conditions for computing projection operators recursively. Three procedures for these computations are discussed: orthonormalization, use of orthogonal complements and use of generalized inverses. The novel methodology is also applied for the development of a recursive algorithm based on the Udwadia–Kalaba equation, which proves to be identical to the one of a Kalman filter for estimating the state of a static process, given a sequence of noiseless measurements representing the constraints that must be satisfied by the system.

1. Introduction

Mathematical modelling has become a fundamental tool for scientific and technological projects in several areas of knowledge. Moreover, it has been acquiring increasing importance in multidisciplinary studies. Although the models of lumped-parameter1 dynamic systems can always be expressed in terms of a finite number of differential–algebraic equations (DAEs), the modelling methodologies for obtaining them still depend on the nature of the system being modelled and on the simplifying hypotheses adopted. Thus, there is an extensive framework of methodologies for the mathematical modelling of lumped-parameter dynamic systems from various areas of knowledge. On the one hand, this can be understood as an advantage, once it is possible to use modelling procedures that are suitable for each type of system. On the other hand, this might represent an obstacle when someone tries to conciliate the use of different approaches in the modelling of a complex system.

An aspect that might be explored is the modularity of systems, which, in the context of this text, can be understood as the ability of conceiving a complex system from simpler systems by the enforcement of constraints. A modular methodology is capable of transforming the mathematical models according to the constraints that are imposed, regardless of how the original models have been obtained. Consider, for instance, a multibody mechanical system, which can be conceived as a set of constrained subsystems. Such a concept not only explores the topological symmetries that often exist in these systems (figure 1) but also allows the use of already known mathematical models of subsystems (which might have been obtained by any other formalism) as the starting point for the modelling procedure. Therefore, a modular methodology might not be understood simply as another alternative for the already extensive framework of existing ones, but rather as a methodology that aims to conciliate the use of others from which the models of the modules may have been obtained. Some examples of modular modelling methodologies originally developed for multibody systems can be found on works by Orsino [1], Orsino & Hess-Coelho [2] and Udwadia et al. [38]. The latter works are typically referred to in the literature as the Udwadia–Kalaba equation.

Figure 1.

Figure 1. Four examples of planar mechanisms that can be conceived from the same fundamental module (top left). (Online version in colour.)

The objective of this paper is to propose a general modular modelling methodology that must be applicable to any lumped-parameter dynamic system (i.e. to any dynamic system whose model can be expressed by a finite set of DAEs), which is also recursive. This last property will allow exploration of the modularity of a system in many levels, leading to a hierarchical representation of it in which each level has its own mathematical model, but only the model at the top one is supposed to adequately describe the dynamics of the system. Such a new approach not only proves the equivalence between the previously cited modular methodologies but also generalizes them to a recursive form. Constraint enforcement algorithms are introduced for obtaining the dynamic model at a given level of a hierarchy, given the model at the inferior level and a mathematical description of the constraints to be enforced.

The generality of the methodology is ensured by the fact that the enforcement algorithms are based on no other hypotheses than the models being expressed by a finite number of DAEs and the virtual work of the generalized constraint forces associated to admissible variations in the state of the system being either zero or a known function given by a constitutive relation. There are no restrictions regarding:

  • (i) the formalisms used in the derivation of the models at the inferior level of a hierarchy (the models may either follow from the application of physical principles using some analytical formalism or can be phenomenological);

  • (ii) the order of the differential equations involved, which can be higher than two;2

  • (iii) the criteria for selecting variables, which allows exploration of the advantages of formulations based on the use of redundant variables and on reparameterizations of time rates [1,2];

  • (iv) the nature of the constraints and the techniques adopted for their description; and

  • (v) how the user chooses to conceive the system modularly and how many levels there are in a given hierarchical representation.

This lack of restrictions allows the user to specialize the methodology for particular applications according to conveniences (e.g. when already available mathematical models are used) or personal preferences, leading to a great variety of possibilities for computational implementations based on the approach presented in this text. On the other hand, it makes the performance of these implementations (in terms of computational complexity and numerical stability) highly dependent on the techniques adopted for these specializations. Such a discussion is out of the scope of this paper, and the reader is invited to check some textbooks and a paper on the theme [1114]. Basically, this paper aims to address the following topics:

  • (i) prove the equivalence among projection methods for elimination of generalized constraint forces from equations of motion in the literature and the strategy used in the modular approach originally introduced by Orsino & Hess-Coelho3 [2];

  • (ii) present a recursive form for the modular approach, allowing to apply the methodology directly to complex systems represented by multiple-level hierarchies; and

  • (iii) prove that a recursive algorithm based on the Udwadia–Kalaba equation is identical to the algorithm of a Kalman filter for the estimation of the state of a static process subjected to a sequence of measurements modelled by noiseless observation equations.

Recursive algorithms are among the most popular ones for the modelling of complex dynamic systems, once they do not have to consider the whole complexity of the system at once. Particularly, in the area of multibody systems, recursive algorithms based on Newton–Euler equations stand out [11,1417]. In these algorithms, the systems are represented by graphs, each node corresponding to a rigid body and each edge to a joint. In the case of inverse simulations, the motion is specified as a function of time and force and torque inputs are the desired unknown variables, which must be computed by the algorithms along with the constraint forces and torques. In the case of forward simulations, the initial value problem associated to the equations of motion of a given system must be solved, provided that all the force and torque inputs are specified as functions of time; the corresponding algorithms also require the values of the constraint forces and torques to be found at each time instant. Rodriguez [17] has explored the similarities between the formulations based on Newton–Euler equations of forward and inverse problems for open-loop kinematic chains and the algorithms of the Kalman filter and the Bryson–Frazier smoother. An analogy with the Kalman filter is also discussed in this text on the formulation of a recursive algorithm based on the Udwadia–Kalaba equation. Also, some of these recursive methods propose the use of extra algorithms for computing operators that eliminate the constraint forces from the equations of motion, before applying them to find the desired unknowns. The natural orthogonal complement (NOC) and its decoupled variant (DeNOC) [1416] are some examples of operators obtained by such algorithms. This text discusses some methods, based on the same fundamental theorem (theorem 3.2), for computing such operators using orthogonal complements, generalized inverses or orthonormalization procedures.

This paper is divided into five sections, the first being this introduction and the last reserved for concluding remarks. Section 2 introduces a novel descriptive approach for lumped-parameter dynamic systems based on the use of hierarchies of mathematical models. Section 3 presents the fundamental theoretical results of this paper concerning the general structure of a recursive modular modelling algorithm. Section 4 develops a recursive algorithm based on the Udwadia–Kalaba equation and proves that it is identical to the algorithm of a Kalman filter for the estimation of the state of a static process subjected to a sequence of noiseless measurements representing the constraint equations. See electronic supplementary material, appendix S1, where the steps required for modelling a planar 3RRR parallel mechanism applying the proposed recursive modular methodology are presented in detail. This elucidating example highlights the main advantages of applying the proposed methodology for modelling lumped-parameter dynamic systems discussed in this text.

The derivation of the results presented in this paper is based on classical definitions and theorems from Linear Algebra and on the theory of generalized inverses. The reader is invited to check a textbook on generalized inverses by Campbell & Meyer [18], as well as their applications to Analytical Dynamics in the textbook by Udwadia & Kalaba [3]. An n×m matrix Ag is said to be a generalized inverse of an m×n matrix A if it satisfies at least the first of the following properties:

P1:AAgA=AP3:(AAg)=AAgP2:AgAAg=AgP4:(AgA)=AgA.}1.1
If Ag satisfies property P1, it is said to be a {1}-inverse of A; if both P1 and P4 are satisfied, it is a {1,4}-inverse of A; if P1, P2 and P4 are satisfied, Ag is a {1,2,4}-inverse of A and so on. There is a unique generalized inverse matrix that satisfies the four properties simultaneously: it is called the Moore–Penrose pseudoinverse of A and is specially denoted by A+ [3,18].

Finally, it is worth commenting that the notation adopted in this text is not only compatible with the desired generality for the methodology proposed, but also tries to resemble as much as possible the notations from previous works from the author [1,2] and from texts on the Udwadia–Kalaba equation and on the Kalman filter. Once all the variables in the presented equations are matrices, no distinctive boldface notation is adopted. Lowercase letters are reserved for column matrices which, in this text, are assumed to be equivalent to tuples. The exceptions are the letter t used to denote time (scalar) and the lowercase letters used as subscript or superscript indexes. Uppercase notation is reserved for matrices that may not be representable by a single row or column of complex entries. The identity matrices are denoted by I and the zero matrices and zero column matrices by 0. Script letters (A,B,) are used to denote dynamic systems. Subscript indexes refer to the level of the hierarchical representation to which the given matrix or column matrix refer. Matrices and column matrices which are the same for all levels do not receive subscripts. Underline notation is used to denote functions. Superscripts (⋅)*, (⋅)g and (⋅)+ denote, respectively, the conjugate transpose, a generalized inverse and the Moore–Penrose pseudoinverse of a given matrix. The index superscripts (⋅)k and (⋅)〈〈k〉〉 are associated with the order of a given set of generalized variables or of functions of them and are properly defined in §2. Table 1 presents the list of symbols adopted in this text.

Table 1.List of symbols.

ttime (scalar)
a,b,ccolumn matrices or tuples; indexes when used as subscript or superscript
A,B,Cmatrices
A,B,Cdynamic systems
Iidentity matrix
0zero matrix or zero column matrix
(⋅)*conjugate transpose (Hermitian transpose)
(⋅)ggeneralized inverse
(⋅)+Moore–Penrose pseudoinverse
ker(A)Kernel (null-space) of the linear transformation defined by matrix A
im(A)image of the linear transformation defined by matrix A
qkk-th order generalized variables
q〈〈k〉〉tuple (column matrix) of all the generalized variables up to k-th order
h_rkfunction of (t,q〈〈k〉〉) associated to a constraint equation at the level r of a given hierarchy
ArJacobian associated to the constraints at the level r of a given hierarchy
A~rJacobian associated to the constraints specifically enforced at the level r
brresidual terms associated to the constraints at the level r of a given hierarchy
b~rresidual terms associated to the constraints specifically enforced at the level r
Minertia matrix of the system
fcolumn matrix of active and gyroscopic inertia forces of the system
αrcolumn matrix of the values at level r of the highest order generalized variables of the system
γrcolumn matrix of generalized constraint forces associated to level r
φfunction describing the work done by constraint forces
Srmatrix defining a linear transformation onto ker(Ar)
Gr+1(A~r+1Sr)g
λrcolumn matrix of undetermined multipliers
HrArM−1/2
arM1/2αr
Prmatrix defining a linear transformation onto ker(Hr)
Kr+1(H~r+1Pr)g

2. Hierarchical description of lumped-parameter dynamic systems

This section proposes a special form of conceiving lumped-parameter dynamic systems. Assume that a system is described by a hierarchy of mathematical models of increasing complexity, such that the hierarchy corresponds to the equations of motion that better model the dynamic behaviour of the system. Consider also that all the models within this hierarchy are expressed in terms of the same set of variables, and that the increase in complexity from one level to its superior is associated with the enforcement of constraints.

A multibody system, for instance, is a lumped-parameter system which can be conceived as a set of assembled mechatronic modules, each of them being either a single body or a simpler multibody system. In order to exemplify how to describe a multibody system as a hierarchy of mathematical models, consider the 3RRR parallel mechanism (system M) illustrated in figure 2. An intuitive form of describing this mechanism is to conceive it as a set of four assembled modules: HA, HB and HC representing active RR kinematic chains and L representing its platform (end-effector). If the mathematical models of these four subsystems are already known, a model for the 3RRR parallel mechanism can be directly obtained. If not, as illustrated in figure 3, each of the three active RR kinematic chains, generically denoted by HK, can be further partitioned, for example, in three modules: AK representing an actuator, UK representing a pivoted rigid bar and BK representing a generic two-dimensional bar element. In this latter case, the 3RRR parallel mechanism can be conceived as a hierarchy of three levels of mathematical models as shown in figure 4. At level 1, the model is constituted by a system of DAEs describing the decoupled dynamics of the modules AK, UK, BK (K=A,B,C) and L. The modelling at this level consists of simply gathering the systems of equations of motion associated to each of these modules, neglecting all the constraints among them, which means that these systems of equations are decoupled from each other. Also, the set of variables in terms of which the models at superior levels are described is given by the union of the sets of variables adopted for the modelling of each of these modules. At level 2, the model corresponds to the system of DAEs describing the decoupled dynamics of the modules HA, HB, HC and L, which can be obtained from the model at level 1 by enforcing the constraints associated to the assembly of each HK (i.e. the constraints among the modules AK, UK and BK). Note that such an approach allows to explore the topological symmetries among the three active RR kinematic chains in the application of the constraint enforcement algorithm, such that the systems of equations of motion associated to the modules HA, HB, HC become similar and remain decoupled from each other, as well as from the DAEs associated to the module L. Finally, the enforcement of the constraints among these four modules leads to the mathematical model of the 3RRR parallel mechanism, which corresponds to the level 3 (the hierarch) of this hierarchy.

Figure 2.

Figure 2. 3RRR parallel mechanism (system M) partitioned in four modules. (Online version in colour.)

Figure 3.

Figure 3. Generic active RR kinematic chain (HK) partitioned in three modules. (Online version in colour.)

Figure 4.

Figure 4. Hierarchical description of the 3RRR parallel mechanism. (Online version in colour.)

Denote by S a generic lumped-parameter system and assume it is described as a hierarchy of mathematical models satisfying the conditions stated above. These models are constituted by parameters, generalized variables and DAEs.

The parameters represent a finite set of constant or known time-variant quantities that describe, according to the adopted simplifying assumptions, the properties of each component of a system. Constant or known time-variant quantities within the expressions of constitutive equations are also parameters of the system. In the case of a multibody system, parameters describe physical properties such as geometry, inertia, stiffness, damping, etc.

The generalized variables can be understood as a finite indexed family of variables which, along with the parameters, is able to provide a description of any quantity that can possibly be associated to a system. If x stands for any quantity related to the description of configurations4 of S, there must be a tuple of variables q〈0〉, called generalized coordinates, such that x can be expressed as a function of q〈0〉 and time (along with the parameters), i.e. x=x_(t,q0). If v stands for any quantity associated to some rate of variation of configuration,5 some further variables, typically called quasi-velocities, are required for the parametric description of this quantity. Denoting the tuple of quasi-velocities of the system S by q〈1〉 and by q〈〈1〉〉=(q〈0〉,q〈1〉), it can be stated that v=v_(t,q0,q1)=v_(t,q1). A trivial choice of quasi-velocities is to take q1=q˙0. Higher-order generalized variables can be defined, recursively, in a similar way. Let q〈〈k〉〉=(q〈0〉,q〈1〉,…,qk). Formally, define the (k+1)-th order generalized variables of a given system, qk+1〉, as a finite indexed family of variables such that: (i) qk+1〉 can be expressed as a function of (t,qk,q˙k); (ii) q˙k can be expressed as a function of (t,q〈〈k〉〉,qk+1〉)=(t,q〈〈k+1〉〉). We say that qk+1〉 is trivially defined if qk+1=q˙k.

If a generic quantity is associated to a module of S, which, at some level of the hierarchy, has its dynamics decoupled from other modules, then, at that level, the description of this quantity requires only the subset of generalized variables associated to the particular module. Also, a given set of generalized variables is said to be redundant at a given level of the hierarchy if it has to satisfy some conditions in order not to violate any of the constraints imposed to the system at that level. These conditions, when given by equalities, are called constraint equations. At a given level r of the hierarchy they might be expressed as follows:

h_rk(t,qk)=0.2.1
The superscript k of h_rk denotes that the corresponding constraint equations can be expressed as a function of time and of the generalized variables of S up to k-th order. Again, if some of these constraints correspond to a set of modules which, up to level r, have their dynamics decoupled from some others, the generalized variables originally associated to the latter modules shall not be present in these constraint equations (2.1). If the expressions in h_rk are integrable forms, the constraint equations can alternatively be expressed as a function of time and generalized variables up to (k−1)-th order, i.e. h_rk1(t,qk1)=0. The time derivative of h_rk, on the other hand, can be expressed as a function of time and generalized variables up to (k+1)-th order, i.e. h_rk+1(t,qk+1)=0, which is affine with respect to the higher-order variables.

Considering this, choose an integer k such that the following conditions are satisfied.

  • (i) All the generalized variables of S above k-th order are trivially defined, i.e. ql+1=q˙l for all lk.

  • (ii) All the constraint equations at any level of the hierarchy can be expressed in the following affine form:

    A_r(t,qk1)qk=b_rk1(t,qk1).2.2

  • (iii) The dynamic equations of motion associated to any level of the hierarchy can be expressed in the following form:

    M_(t,qk1)qk=f_k1(t,qNk1)+γr,2.3
    with γr representing the generalized constraint forces acting in S at the level r of the hierarchy (i.e. γr stands for generalized forces due to all the constraints enforced at that level).

In order to obtain a complete system of DAEs of motion associated to a given level r of the hierarchy representing system S, it is necessary to establish some assumptions for the computation or elimination of the generalized constraint forces from equation (2.3). Assume that there is a matrix Sr=S_r(t,qk1) such that S_r(t,qk1)γr is equal to a known function of time and of the generalized variables of S up to (k−1)-th order, which will be denoted by S_r(t,qk1)φ_(t,qk1), following Udwadia & Kalaba [5,6]. If S respects the extended version of D’Alembert’s principle6 [7,19], φ_(t,qk1)=0 and Sr=S_r(t,qk1) must be a matrix whose columns span the kernel of Ar=A_r(t,qk1), i.e. im(Sr)=ker(Ar). For the cases in which the total virtual work of the generalized constraint forces is not zero, i.e. in which a constraint is associated to an energy source or sink, it is assumed that this effect can be expressed by a constitutive relation defined by the function φ_(t,qk1) [6].

A complete system of DAEs of motion for S, associated to the level r of the hierarchy, can be expressed as follows7:

q˙l=q˙_l(t,ql+1),l=0,1,,k1,M_(t,qk1)qk=f_k1(t,qk1)+γr,A_r(t,qk1)qk=b_rk1(t,qk1)andS_r(t,qk1)γr=S_r(t,qk1)φ_(t,qk1).}2.4
Therefore, given a state (t,q〈〈l+1〉〉), the values obtained for qk and, consequently, for the time derivatives of the state variables will depend on the constraints enforced at the particular level of the hierarchy to which equations (2.4) correspond. Thus, renaming qk as αr in these equations, the algebraic equations of this system can be rewritten in the following matrix form:
Lrξr=σrwithLr=[MIAr00Sr],ξr=[αrγr]andσr=[fbrSrφ].2.5
A necessary condition for ξr to be uniquely determined is that Lr must be a full-rank matrix. Provided that the ordinary differential equations (ODEs) q˙l=q˙_l(t,ql+1), l=0,1,…,k−1, satisfy the hypotheses of Picard’s existence and uniqueness theorem, the uniqueness of ξr implies the uniqueness of solutions of the equations of motion associated to the level r of the hierarchy.

It is worth noting that once the generalized variables are the same for all the levels of the hierarchy, so must be the matrix M and the column matrix f. Indeed, the entries of these matrices are associated to the chosen set of variables and can be obtained already at the first (lowest) level of the hierarchy, which means that their expressions are subject to the same modular decoupling present at this first level. Back to the example of the 3RRR parallel mechanism, considering the hierarchy presented at figure 4,8 it can be stated that M is a block-diagonal matrix whose blocks are the generalized inertia matrices associated to the models of the modules L, AK, UK and BK (K=A,B,C), and f is a column matrix in which the rows associated to the generalized variables of a given module (among these 10) provide the expressions of the generalized active and gyroscopic forces corresponding to the respective module in terms of its own related variables.

Moreover, such a modular structure might also be noticed in the expressions of the matrices Ar. If a block of rows of Ar describes a constraint among a given set of modules of a system, only the columns corresponding to the variables associated to these modules have non-zero entries. In the example of the 3RRR parallel mechanism, a given row of A1 (which is related to the constraints at level 1) cannot have non-zero entries in two columns associated to different modules among the 10 at this level; similarly, a given row of A2 (related to level 2) cannot have non-zero entries in two columns associated to different modules among L, HA, HB and HC. An analogous reasoning applies to the entries of the corresponding column matrices br.

Such a block-diagonal structure of the matrices related to the adoption of a modular description for multibody systems has already been explored in previous methodologies proposed by Orsino [1] and Orsino & Hess-Coelho [2]. As previously mentioned, the developments shown in this paper can be understood as a recursive generalization of these methodologies for arbitrary lumped-parameter dynamic systems.

3. General recursive algorithm for obtaining explicit equations of motion of constrained lumped-parameter dynamic systems

As previously discussed, it is possible to represent any lumped-parameter dynamic system as a hierarchy of mathematical models organized in order of increasing complexity, such an increase being associated to the enforcement of some constraints from one level of the hierarchy to its superior level. In such a representation, the hierarch is assumed to be the most precise mathematical model for the system. In the previous section, it was shown that a mathematical model at any level of such a hierarchy can be expressed by a system of DAEs constituted by a subsystem of ODEs and a subsystem of linear algebraic equations (in the corresponding variables αr and γr), whose coefficients are functions of the state of the system.

This section concentrates on presenting the fundamentals for the development of a general recursive algorithm for obtaining explicit equations of motion for each level of a hierarchy that represents a lumped-parameter dynamic system. This algorithm traverses these hierarchies from the lowest level (which is indexed as level 1) to the top one (level s). Let the subsystem of linear algebraic equations associated to a given level r of a hierarchy be represented by the following matrix equations:

Mαrγr=f,3.1
Arαr=br3.2
andSrγr=Srφ.3.3
Pre-multiplying equation (3.1) by Sr and using the identity in (3.3), it can be stated that α can be directly obtained as a solution of the following equation:
[SrMAr]αr=[Sr(f+φ)br].3.4
This procedure can be interpreted as a generalization of the idea of projecting the components of the system of forces (assuming that the inertial effects are conceived as inertial forces) along directions in which the components of the constraint forces are known. In this case, Sr represents an operator that performs this projection.

Consider the following identity valid for any matrices A and B:

AAB=0if and only ifAB=0.3.5
According to this property, it is also possible to rewrite equation (3.4) as follows:
[SrSrMAr]αr=[SrSr(f+φ)br].3.6
Therefore, it is always possible to adopt a Hermitian operator that performs these projections.

Assuming that the columns of Sr span the kernel of Ar, as required by the extended version of D’Alembert’s principle, the following proposition presents some alternatives for computing Sr.

Proposition 3.1.

Let A be an arbitrary m×n matrix with complex entries, such thatker(A){0}. It can be stated that the following statements are true.

  • (i) There is a full-rank matrix Z defining a linear transformation ontoker(A). In this case, Z is shortly referred to as an orthogonal complement9of A.

  • (ii) If Agdenotes a {1}-inverse of A, Y =IAgA is a projector ontoker(A).

  • (iii) If Agdenotes a {1,4}-inverse of A, X=IAgA is the orthogonal projector ontoker(A).10

  • (iv) LetA^be a matrix obtained by an orthonormalization procedure applied to the rows of A. The orthogonal projector ontoker(A)can be alternatively computed by the expressionX=IA^A^.

Proof.

Once ker(A){0}, there are non-zero zCn such that Az=0. Also, as ker(A) is a linear subspace of Cn, if zker(A), κzker(A) for any κC.

  • (i) Take any basis for ker(A), i.e. take a finite set of linearly independent ziker(A) such that any zker(A) can be expressed as a linear combination of them. By definition, a matrix Z whose columns are given by these zi is a full-rank matrix that defines a linear transformation onto ker(A), i.e., Z is an orthogonal complement of A.

  • (ii) Denote by Ag a {1}-inverse of A and let Y =IAgA. For any wCn, y=Ywker(A). Indeed, AY =AAAgA=0. Also, YY =IAgAAgA+AgAAgA=IAgA=Y . If y=Ywker(A), Yy=YYw=Yw=yker(A) and if Yy=y, Ay=AYy=0, which means that yker(A). Therefore, Y is a projector onto ker(A).

  • (iii) Denote by Ag a {1,4}-inverse of A and let X=IAgA. From property P4, equation (1.1), it follows that X is Hermitian. Also, from the uniqueness of the orthogonal projector onto a given linear space,11 it follows that X is the orthogonal projector onto ker(A).

  • (iv) Let A^ be a matrix obtained by an orthonormalization procedure applied to the rows of A and define X=IA^A^. Note that A^ is a full-rank matrix and its rows constitute a basis for the linear subspace spanned by the rows of A, i.e. im(A^)=im(A). Thus, there exists a matrix U such that A=UA^. Also, AX=UA^UA^A^A^, and once A^ was obtained by an orthonormalization procedure, A^A^=I, which means that AX=0. In this case, X is not only a Hermitian matrix, but also a projector, once XX=IA^A^A^A^+A^A^A^A^=IA^A^=X. For any wCn, x=Xwker(A). If x=Xwker(A), Xx=XXw=Xw=xker(A) and if Xx=x, Ax=AXx=0, which means that xker(A). Therefore, X=IA^A^ is the orthogonal projector onto the kernel of A.

This completes the proof. ▪

If Sr is chosen to be an orthogonal complement of Ar, equation (3.4) becomes the one addressed in previous developments of a modular modelling metodology for multibody systems by Orsino [1] and Orsino & Hess-Coelho [2].12 On the other hand, if Sr=IAr+Ar, with Ar+ denoting the Moore–Penrose pseudoinverse13 of Ar, equation (3.4) becomes the one addressed by Udwadia & Phohomsiri [4] in their derivation of explicit equations of motion for constrained mechanical systems with singular mass matrices (which led to applications also to the modular modelling of multibody systems).14

Consider also that the constraints specifically reinforced at level r of this hierarchy can be expressed by the equation A~rαr=b~r. In this case, A1=A~1, b1=b~1 and the indexed families of matrices {A1,A2,…,Ar,…,As} and of column matrices {b1,b2,…,br,…,bs} must satisfy the following properties, for r=1,2,…,s−1:

Ar+1=[ArA~r+1]andbr+1=[brb~r+1].3.7
In order to derive recursive algorithms for computing Sr+1 given Sr, the results stated in the following theorem are needed.

Theorem 3.2.

Let {A1,A2,…,Ar,…,As} be an indexed family of matrices with complex entries satisfying the following condition:

Ar+1=[ArA~r+1].3.8
Let Srdenote a linear operator onto the kernel of Ar. It can be stated that if Cr+1defines a linear operator onto the kernel ofBr+1=A~r+1Sr, then Sr+1=SrCr+1is a linear operator onto the kernel of Ar+1.

Proof.

Owing to condition (3.8), it can be stated that: ker(Ar+1)ker(Ar)Cn. Denote by Sr a linear operator onto ker(Ar) and assume that Sr+1=SrCr+1 is a linear operator onto ker(Ar+1). It can be stated that

Ar+1Sr+1=0[ArSrCr+1A~r+1SrCr+1]=[0A~r+1SrCr+1]=0A~r+1SrCr+1=0.3.9
Therefore, if Cr+1 defines a linear transformation onto ker(A~r+1Sr), then Sr+1=SrCr+1 defines a linear transformation onto ker(Ar+1). ▪

This theorem proves that, given an operator Sr onto ker(Ar) for a level r of a hierarchy representing a lumped-parameter dynamic system, the operator associated to the superior level, i.e. an operator Sr+1 onto ker(Ar+1)ker(Ar), can be obtained as a composition of Sr with an operator Cr+1 onto ker(A~r+1Sr). It is worth noting that Br+1=A~r+1Sr represents the operator corresponding to the new constraints to be enforced at level r+1, A~r+1, restricted to the kernel of Ar, in which the variations of any solution of the equations of motion associated to level r must lie.

Particularly, when the operator Sr onto ker(Ar) is chosen to be the orthogonal projector onto this subspace, the corollary below follows from theorem 3.2.

Corollary 3.3.

Let {A1,A2,…,Ar,…,As} be an indexed family of matrices satisfying the condition (3.8).

LetSr=IArgAr, for some r, be the orthogonal projector onto the kernel of Ar, with (⋅)gdenoting a {1,4}-inverse. It can be stated that

Sr+1=(IGr+1A~r+1)Sr=(IGr+1A~r+1)Sr(IGr+1A~r+1),3.10
withGr+1=(A~r+1Sr)g, is the orthogonal projector onto the kernel of Ar+1and satisfiesSr+1=IAr+1gAr+1.

Proof.

From proposition 3.1, once Arg stands for a {1,4}-inverse of Ar, Sr=IArgAr is the orthogonal projector onto ker(Ar). Moreover, let Cr+1=I(A~r+1Sr)gA~r+1Sr be the orthogonal projector onto ker(A~r+1Sr), which satisfies the statement of theorem 3.2. Taking Sr+1=SrCr+1, it can be stated that

Sr+1Sr+1=SrCr+1Cr+1Sr=SrCr+1Sr=SrSrSr(A~r+1Sr)gA~r+1SrSr=SrSr(A~r+1Sr)gA~r+1Sr=SrCr+1=Sr+1.3.11
Once Sr+1=Sr+1Sr+1, Sr+1 is a Hermitian matrix. Also, replacing Sr+1 by Sr+1, it follows that Sr+1=Sr+1Sr+1, which proves that Sr+1 is also idempotent. Thus, Sr+1 is the orthogonal projector onto ker(Ar+1). Once Sr+1=Sr+1=Cr+1Sr=Cr+1Sr, it can be stated that
Sr+1=Sr(A~r+1Sr)gA~r+1SrSr=(I(A~r+1Sr)gA~r+1)Sr.3.12
The second equality in equation (3.10) follows from Sr+1=Sr+1Sr+1, replacing Sr+1 in the right-hand side of this identity by the expression obtained in equation (3.12). Finally, the fact that Sr+1=IAr+1gAr+1 follows from the uniqueness of the orthogonal projector onto a given linear space. ▪

A second corollary that provides a recursive algorithm for obtaining {1,4}-inverses for an indexed family of matrices satisfying the condition (3.8), which will be useful in the derivations of the following section, is presented below.

Corollary 3.4.

Let {A1,A2,…,Ar,…,As} be an indexed family of matrices satisfying the condition (3.8) and denote by (⋅)ga {1,4}-inverse. It can be stated that, given a {1,4}-inverse of Ar, a {1,4}-inverse of Ar+1can be computed as follows:

Ar+1g=[(IGr+1A~r+1)ArgGr+1],3.13
withGr+1=(A~r+1Sr)g.

Proof.

Observing the statements of P1 and P4 in equation (1.1), one could reinterpret them as properties of the matrix AgA, without any loss in generality. Thus, in order to prove that [(IGr+1A~r+1)ArgGr+1] is a {1,4}-inverse of Ar+1, it is enough to show that [(IGr+1A~r+1)ArgGr+1]Ar+1=Ar+1gAr+1 for any {1,4}-inverse of Ar+1, Ar+1g. Let ArgAr=ISr and Ar+1gAr+1=ISr+1. According to equation (3.10), it can be stated that Gr+1A~r+1Sr=SrSr+1. Therefore,

[(IGr+1A~r+1)ArgGr+1][ArA~r+1]=ArgAr+Gr+1A~r+1(IArgAr)=(ISr)+(SrSr+1)=ISr+1=Ar+1gAr+1,3.14
which completes the proof. ▪

It is worth noting that even if Arg is the Moore–Penrose pseudoinverse of Ar, the algorithm described by equation (3.13) only ensures that Ar+1g will be the {1,4}-inverse of Ar+1. Particularly, if some row of A~r+1 can be expressed as a linear combination of the rows of Ar, Ar+1g computed according to corollary 3.4 will not be the Moore–Penrose pseudoinverse of Ar+1 [21]. On the one hand, it might seem useful to work with Moore–Penrose pseudoinverses only, once they are uniquely defined; on the other, there are no practical disadvantages on adopting generic {1,4}-inverse matrices in the constraint enforcement algorithms as it is shown in the next section, which emphasizes the importance of corollary 3.4.

4. Recursive algorithm based on the Udwadia–Kalaba equation

Assume that M is a positive-definite Hermitian matrix15 and note that equation (3.3) can be rewritten in the following form: Sr(γrφ)=0. This last fact means that γrφ lies in ker(Sr)=im(Ar), i.e.:

γrφ=Arλr4.1
for some λr. Thus, according to equation (3.1), it can be stated that
αr=α0+M1Arλr,4.2
with α0=M−1(f+φ). Moreover, replacing (4.2) into equation (3.2), the following expressions for λr are obtained, with (⋅)g standing for a {1,4}-inverse and wr for an arbitrary column matrix:
ArM1Arλr=brArα04.3
and
λr=(ArM1Ar)g(brArα0)+(I(ArM1Ar)gArM1Ar)wr.4.4
Considering that M is Hermitian, so must be M−1/2. Thus, defining Hr=ArM−1/2, it can be stated that ArM1Ar=HrHr and that M1Ar=M1/2Hr. Therefore, using (4.4), equation (4.2) can be rewritten as follows:
α=α0+M1/2Hr(HrHr)g(brArα0)+M1/2Hr(I(HrHr)gHrHr)wr.4.5
This last equation can be further simplified by considering the following identities, valid for (⋅)g denoting {1}-inverses:
Hg=H(HH)g4.6
and
H(I(HH)gHH)=0.4.7
Indeed, according to property P1, equation (1.1): (HH*(HH*)gI)HH*=0. Using the conjugate transpose of equation (3.5), it can be stated that (HH*(HH*)gI)HH*=0 ⇔ (HH*(HH*)gI)H=0 ⇔ H(H*(HH*)g)H=H. This proves identity (4.6). Also, due to property P1, equation (1.1): HH*(I−(HH*)gHH*)=0; therefore, again due to equation (3.5), H*(I−(HH*)gHH*)=0, which proves identity (4.7). Thus, equation (4.5) can be simplified to the following form:
αr=α0+M1/2Hrg(brArα0).4.8
Moreover, adopting the transformation of variables αr=M−1/2ar and α0=M−1/2a0, equation (4.8) can be ultimately expressed in the form
ar=a0+Hrg(brHra0).4.9
This is the classical Udwadia–Kalaba equation [5,8].

In order to derive a recursive modular algorithm based on the Udwadia–Kalaba equation, let H~r+1=A~r+1M1/2. According to corollary 3.4, it can be stated that

ar+1=a0+Hr+1g(br+1Hr+1a0),4.10
ar+1a0=[(IKr+1H~r+1)HrgKr+1][brHra0b~r+1H~r+1a0],4.11
ar+1a0=(IKr+1H~r+1)Hrg(brHra0)+Kr+1(b~r+1H~r+1a0),4.12
ar+1a0=(IKr+1H~r+1)(ara0)+Kr+1(b~r+1H~r+1a0)4.13
andar+1=ar+Kr+1(b~r+1H~r+1ar),4.14
with Kr+1=(H~r+1Pr)g and Pr=IHrgHr. Also, according to corollary 3.3, Pr+1=IHr+1gHr+1 can be computed as follows:
Pr+1=(IKr+1H~r+1)Pr=(IKr+1H~r+1)Pr(IKr+1H~r+1).4.15
Note that Pr=IHrgHr is an idempotent Hermitian matrix. Whenever Hr+1 is a full-rank matrix, so that the rows of H~r+1Pr are linearly independent, it can be stated that Kr+1 can be computed as follows:
Kr+1=(H~r+1Pr)((H~r+1Pr)(H~r+1Pr))1=PrH~r+1(H~r+1PrH~r+1)1.4.16
These considerations lead to the following algorithm, whose inputs are a0, P0, and all the H~r+1:
for r=0,1,,s1Kr+1=PrH~r+1(H~r+1PrH~r+1)1ar+1=ar+Kr+1(b~r+1H~r+1ar)Pr+1=(IKr+1H~r+1)Pr=(IKr+1H~r+1)Pr(IKr+1H~r+1)end

It is noticeable that, in this form, the algorithm for updating the values of ar according to the information provided by the constraint equations at each level of the hierarchical structure that represents a dynamic system is identical to the algorithm of a Kalman filter for the estimation of the state of a static process subjected to a sequence of measurements modelled by the noiseless observation equation b~r+1=H~r+1a. Matrix Pr, which represents the orthogonal projector into ker(Hr), being directly related to the description of the constraints of the system, is analogous to the estimate covariance matrix.

The analogy between this recursive algorithm based on the Udwadia–Kalaba equation and filtering algorithms can be well explored, both in terms of the use of existing computational implementations for simulations of the models of lumped-parameter dynamic systems and in terms of the development of new modelling and simulation approaches that may arise from this correspondence. For example, it might be possible to treat constraint clearances as if they were measurement noise. In this case, if Rr represents the covariance matrix associated to the noise variables, the corresponding Kr+1 and Pr+1 can be obtained by the following expressions:

Kr+1=PrH~r+1(H~r+1PrH~r+1+Rr+1)14.17
and
Pr+1=(IKr+1H~r+1)Pr(IKr+1H~r+1)+Kr+1Rr+1Kr+1.4.18

5. Conclusion

This paper proposes a novel approach for the modelling of lumped-parameter dynamic systems, which consists of representing a given system by a hierarchy of mathematical models, expressed in terms of the same set of variables, and ordered according to the increase in complexity due to the enforcement of constraints. In such representation, the hierarch stands for the model that better represents the dynamic behaviour of the system. This approach allows to better explore the modularity of the systems if, for instance, it is possible to conceive them as a set of constrained subsystems whose mathematical models are already known. This was the context for which previous developments of similar methodologies for the modelling of multibody systems, by Orsino [1] and Orsino & Hess-Coelho [2], were proposed. They can be understood as particular cases of the general approach discussed in this text. Also, whenever a refinement of some model can be associated with the enforcement of further constraints, the methodology presented in this paper also provides a guideline for a modelling procedure. This might be the case for lumped-parameter approximations for distributed systems, for example, in which the number of levels of the hierarchy could be understood as the number of iterations required for the model to adequately represent, according to some established criteria, the original system.

The methodology presented in this text is based on the development of recursive algorithms for finding projection operators onto the kernel of the ones associated to the constraints at a particular level of a hierarchy representing a dynamic system. The modularity of the systems can also be explored in these algorithms once, particularly at the lower levels of a hierarchy, operators associated to the constraints and, consequently, the ones that make projections onto their kernels might be represented by block-sparse or even block-diagonal matrices. Exploring properly this fact, numerically efficient algorithms can be implemented. Within the recursive approach proposed, there is only need to obtain projection operators associated to new constraints that are enforced from one level to the superior one. The algorithms used for this can be based on finding orthogonal complement matrices, on computing generalized inverses or even on implementing orthonormalization procedures.

A remarkable result that came along with the development of this new methodology is the equivalence between the formulations by Orsino [1] and Orsino & Hess-Coelho [2] and the formulation by Udwadia & Phohomsiri [4]. The investigation concerning the derivation of a recursive algorithm based on the Udwadia–Kalaba equation, under the same conditions adopted for the general methodology, revealed an even more relevant result: the algorithm is equivalent to the one of a Kalman filter for the estimation of the state of a static process in which the constraint equations play the role of the observation ones, and the associated orthogonal projectors play the role of the covariance matrices. This allows not only to reuse already existing routines in which the Kalman filter algorithm is implemented for forward simulations16 of lumped-parameter dynamic systems, but also to effectively make use of the analogies to perform, for example, simulations in which constraint clearances are considered. Another aspect that should be explored in future works is how the interpretations of the Kalman filter within the theory of stochastic processes can be helpful in enhancing the framework of methodologies for the modelling of dynamic systems.

Data accessibility

This article has no additional data.

Competing interests

I declare I have no competing interests.

Funding

I acknowledge the post-doctoral grant no. 2016/09730-0, São Paulo Research Foundation (FAPESP).

Acknowledgements

I thank Prof. Celso Pupo Pesce for encouragement and insightful discussions on the development of this paper.

Footnotes

1 In this text, the term lumped parameter is adopted in opposition to distributed parameter, which means that the state spaces of these systems are finite-dimensional and none of the equations in their models are partial differential equations.

2 This not only allows extension of the scope of the methodology to non-mechanical systems involving differential equations of third or higher orders, but is also useful for the analysis of mechanical systems whose control strategies are based on non-material non-holonomic constraints [9,10].

3 The contributions presented in this paper are based on proposition 3.1, theorem 3.2 and its corollaries, which correspond to generalizations of the result presented in proposition 2.7 of [2]. Also, the general description of lumped-parameter dynamic systems presented in §2 is based on the fundamental results of the third section of [2].

4 In the case of a multibody system, for example, quantities related to the description of configuration are distances, angles, tuples of coordinates of points, etc.

5 In the case of a multibody system, for example, quantities that can be used to describe rates of variation of configuration are components or tuples of components of velocities, angular velocities, linear momenta or angular momenta, etc.

6 D’Alembert’s principle is the name given to the Principle of Virtual Work when applied to dynamic systems which are not in static equilibrium, in which case the inertia forces are included to ensure the ‘dynamic equilibrium’. Its extended form [7,19] states that, for every vker(Ar), v*γr=0. In this case, v plays the role of ‘virtual displacement’. Thus, if Sr is a matrix that defines a linear transformation onto ker(Ar), Srγr=0.

7 If the analysis is restricted to mechanical systems, modelled according to the conventional Analytical Mechanics formulations, the DAEs associated to the level r of the hierarchy can be expressed in the following form:

q˙=u,u˙=α,M_(t,q)α=f_(t,q,u)+γr,A_r(t,q)α=b_r(t,q,u)andS_r(t,q)γr=0.
Particularly, by equation S_r(t,q)γr=0, it can be stated that γr lies in ker(Sr)=im(Ar), following D’Alembert’s principle, which means that γr=Arλr. Therefore, the constraint forces can be expressed in terms of undetermined multipliers λr, which would put the equations of motion in the same form as in the conventional Lagrangian formulation. The strategy of expressing γr in terms of multipliers is explored in §4.

8 At this point, see electronic supplementary material, appendix S1, where all the statements regarding the modelling of the 3RRR parallel mechanism according to the hierarchical representation proposed in figure 4 can be checked in the detailed derivation of the equations of motion for this system.

9 Orthogonal complement is a term that originally applies to subspaces, i.e. it should be said that im(A*) is an orthogonal complement of im(Z). The use of this term to refer directly to the matrices as adopted in this text, however, is common in the literature of multibody system dynamics [1416,20].

10 Although a {1,4}-inverse of a given matrix A is, in general, not unique, there is a single Hermitian idempotent matrix defining a linear transformation onto ker(A), and this matrix can be computed using any {1,4}-inverse of A according to the given expression.

11 Suppose that both X and Y are orthogonal projectors onto the same subspace of Cn. In this case, for all vCn, Xv=Yv; thus, Xv=XXv=XYv and Yv=YYv=YXv also for all vCn, which means that X=XY and Y =YX. Therefore, (XY)*(XY)=X*XX*YY*X+Y*Y =XXYYX+Y =0, which means that X=Y .

12 See eq. (4.13) in [1] and eq. (3.7) in [2].

13 Once the Moore–Penrose pseudoinverse is also a {1,4}-inverse, according to proposition 3.1, Sr is the orthogonal projector onto ker(Ar).

14 See eq. (2.12) in [4].

15 For a holonomic mechanical system, for example, the Hermitian condition does not represent any loss in generality, once the generalized inertia matrix of the system is associated to a quadratic term in the expression of its kinetic energy. The positive definiteness condition, however, precludes the application of the results presented in this section to degenerate cases in which only the positive semi-definiteness of M can be ensured.

16 ‘Forward simulation’ stands for the solution of the initial value problem associated to the equations of motion of a given system, provided that all the inputs are specified as functions of time.

Electronic supplementary material is available online at https://dx.doi.org/10.6084/m9.figshare.c.3849613.

Published by the Royal Society. All rights reserved.

References