Abstract
The paper presents a development of an automated computational procedure for constrained dynamics (CoPCoD) dedicated to derivation of dynamical models of mechanical systems, e.g. manipulators, both ground and space or mobile robotic systems, which can be composed of rigid and flexible links. They may be subjected to constraints, which are referred to as programmed, which may come from performance requirements, e.g. work or services a system is dedicated to. The CoPCoD structure offers systematic modeling of either open or closed loop constrained structures and results in computationally efficient numerical dynamical equations derivation. The CoPCoD development has its background in the generalized programmed motion equations (GPME) algorithm developed successfully for rigid models of mechanical systems subjected to high order nonholonomic constraints, however, the GPME was not fully automated for computer equation derivations. The two main motivations that underlie the CoPCoD development are to extend the GPME to flexible system models and make it fully automated to computer equation derivations for large classes of systems. The paper presents the general scheme of the CoPCoD architecture and examples which illustrate its application advantages.
Similar content being viewed by others
Avoid common mistakes on your manuscript.
1 Introduction
1.1 Background and literature survey
The literature on various aspects of research on rigid and flexible multibody systems is very rich. There is a lot of papers about writing, solving and simulation of dynamic equations of rigid and flexible multibody systems; see e.g. [1, 2] and references there. Also, there are multiple papers on designing control techniques for such systems. Depending upon the purpose of modeling, we can distinguish methods aimed to build validation models including nonlinear terms [3, 4], methods to derive preliminary design models, which due to their simplicity are attractive to control [5]. The control dedicated models often arise as various versions of linearized equations, small displacement assumptions are adopted for flexible multibody systems and link flexibility is approximated by discretized models using finite element methods or assumed mode methods; see e.g. [6]. The dynamics of the system is usually derived using the Euler–Lagrange formulation. As indicated in [7], there are cases, e.g. in space manipulation during debris capture, when there is a need to have a model for each sub-structure of a system such that it is valid for arbitrary boundary conditions.
Among models that take advantage of the sub-structure approaches, the transfer matrix method gained popularity [8]. Later, this approach was merged with the finite-element method and presented as the finite-element transfer matrix method [9]. Some extensions of this method were also developed for control design purposes and for rigid and flexible multibody systems [10]. However, the transfer matrix method has some limitations due to the inversion of sub-matrices, which are not always square or invertible, depending on the boundary conditions. It cannot be directly applied to tree-like structures, like a spacecraft composed of a rigid base and flexible appendages on it.
In many works various methods for derivation of linear or linearized models of flexible multibody system dynamics are presented. For example in [7], the approach is based on the two-port model of each body allowing the whole system model to be built by connecting the inputs/outputs of each body model. Boundary conditions of each body are taken into account through inversion of some input–output channels of its two-port model. This one model of the link can be built into an open or closed-loop mechanism. The method presented in [7] fills the gap between the transfer matrix method and the effective mass-inertia method.
The significant group of dynamic models in engineering applications origins from the multibody dynamics and control of rigid and flexible systems for which Newton–Euler and Lagrange based dynamics derivation methods are used. Among them, there are special methods dedicated to constrained systems in both analytical and computational approaches. As reported in [11], constrained system dynamical models constitute a significant class of models essential to engineering applications. They are used so videly, e.g. in motion analysis in robotics for multi-link industrial manipulators and robots, for ground, underwater, aerospace and space vehicle system dynamics, control, and performance analysis for variety of their missions, that computational methods for derivation of their dynamical models, and their solution methods, became separate research areas, see e.g. works [12, 13] and references there. A lot of application examples for multibody system dynamics models can be found in [14]. Reviewing derivation methods of dynamic models for mechanical systems, the first observation is that they are for systems subjected to position and first order constraints, which are material ones; see e.g. [15, 16] and references there. The task based constraints, control and performance constraints and other requirements available in equation forms are not merged into these models. Consequently, these models are derived using classical analytical dynamics methods, i.e. based upon the Lagrange approach and its modifications. Another approach to dynamics modeling and control approach is based upon the framework developed by Udwadia and Kalaba [17, 18]. This is an elegant apparatus for deriving constrained dynamics based upon the classical mechanics approach and it serves systems subjected to position and kinematic constraints. Also, there are many specialized computational packages for generation of constrained system dynamical models. Generally, they are either Newton–Euler equations or Lagrange equations based and dedicated to rigid multibody systems; see e.g. [19, 20]. The consequence of the derivation method applied to obtain constrained system models is that the resulting equations of motion may not be convenient for their final applications, e.g. they contain Lagrange multipliers which need to be eliminated for most model based controller designs. The second observation is that some of the proposed methods of motion equations derivation are specific and may be challenging for applications for systems with flexible components; see e.g. [21]. The good illustrations of the two observations mentioned above are works [22,23,24]. These works have had significant impact upon the insight into the constrained system structures and for the subsequent control design, like [24] where geometric properties of dynamic models were shown to be the key to model properties from stability and control points of view. However, constraint kinds considered there and presented results were for material constraints, position and kinematic ones. Also, new challenges in dynamic modeling and control designs emerged from interdisciplinary or specifically dedicated models as well as from requirements for system performance or their service mission demands. The new challenges were brought, for example, by underwater vehicles and spacecraft, see e.g. [25]. For the latter ones, long and lightweight structures require link flexibility incorporation into dynamic models as well as mission service and control requires formulation of task based constraints and some of them can be easily formulated by constraint equations. Usually such constraints, if formulated, are at position levels; see e.g. [26, 27]. Also, one more challenge arises for spacecraft modeling and simulation; this is to keep conserved quantities of motion like the linear and angular momentum. The linear and angular momenta can be considered the kinematic constraints and incorporated into constrained dynamics [28].
1.2 Formulation of the problem of interest for this investigation
In most dynamics derivation methods, of either approaches, systems subjected to position and velocity constraints are considered and the Lagrange approach is used. Other constraints are not handled but there are the ones, which are generated by designers, control engineers or system operators that have to be executed during a system operation, see e.g. [29,30,31,32]. For systems subjected to such constraints the preliminary results for obtaining computationally efficient dynamical models were presented in [11, 33]. Such constraints at the position level, referred to as programmed, were incorporated into a rigid-flexible system dynamics for open loop structures. The analytical dynamics background for the constrained dynamic models are works [34, 35], where the generalized programmed motion equations (GPME) are derived. The GPME proved to be effective to derive constrained dynamics, referred to as reference dynamics, for rigid system models in various parameter settings like generalized or quasi-coordinates. The GPME were employed to design a control strategy architecture for tracking predefined motions. Also, the GPME approach can be applied to variable mass and configuration systems [36]. However, The GPME depend heavily upon analytical dynamics calculations and the merit of this paper is to extend to multi-degree of freedom systems whose dynamics require computation.
1.3 Motivation and contribution of this study
This paper is motivated by two factors, being quite critical in designing constrained dynamics and controllers for programmed constraints execution. The first one is the specification of programmed constraints as demands for some work regimes, e.g. velocity of a manipulator end effector has to be modulated during the manipulator work. From the control points of view, incorporation of these constraints into the system dynamics can be advantageous. The second motivation refers to system structures, e.g. rigid or flexible parts with open- and closed-loop structures, for which one modeling method would be welcome. Finally, dynamics modeling should be proactive not reactive what means that its destination should be clear before but not after modelling [37].
The main contribution of the paper is development of the automated computational procedure for constrained dynamics (CoPCoD) of the flexibly supported systems. In contrast to the authors' earlier work, programmed constraints are defined as rheonomic. The presented approach is based on the GPME and preserves its properties, however is fully computationally automated. The basic one is that the constrained dynamics it produces is in the reduced state form, i.e. constraint reaction force are eliminated at the derivation level but not afterwards as in the Lagrange approach. This is the essential advantage of the CoPCoD which may serve directly to constrained motion analysis as well as to control design. The CoPCoD offers automation of the constrained dynamics generation for rigid and flexible system models with open- and closed-loop structures, and possibility of incorporation into these dynamics any position or first order material or non-material constraints, also these related to operation regimes. The credibility of the CoPCoD method is built by its development on the GPME’s. The GPME proved to be effective to constrained rigid multibody systems dyanmics and control. The CoPCoD enjoys all the GPME’s properties and is substantially extended to flexible structures with open and closed loops.
The paper presents the general structure of the CoPCoD and demonstrates the ease of its application in cases of complex kinematic structures, e.g. a tree structure with open and closed loop chains. Examples illustrate how the CoPCoD structure supports modeling and computation of complex structures.
1.4 Organization of the paper
The paper is organized as follows. After presenting the background and motivation of the paper, the general algorithm of CoPCoD for open- and closed-loop serial kinematic chains subjected to programmed constraints is presented in Sect. 2. In this section, models of a flexible base support, a flexible link and friction in joints are described. Further, in Sect. 3, the results of numerical simulations for two model examples representing open loop kinematic chain (OLKC) and closed loop kinematic chain (CLKC) structures are discussed. In simulations, the influence of joint and link imperfections, base support flexibility and material and programmed constraint forms on the reference dynamics are analyzed. The paper closes with conclusions and the list of references.
2 Architecture of the automated computational procedure for constrained dynamics (CoPCoD)
To develop a general structure of the automated Computational Procedure for Constrained Dynamics, referred to as the CoPCoD, let us consider systems of general structures that can be composed of open-loop kinematic chains (OLKC) (Fig. 1a) and closed-loop kinematic chains (CLKC) (Fig. 1b). Both kinds of systems are attached to the ground in \(n_{e} \times n_{{sde_{s} }}^{(i)}\) points by means of spring-damping elements (\({\text{sde}}_{s}\)), where \(n_{e}\) is the number of layers and \(n_{{sde_{s} }}^{(i)}\) is the number of \({\text{sde}}_{s}\) in each layer.
The cut-joint technique is used when an analyzed structure consists of CLKC.
The kinematic chain \(\alpha\) is built of \(\left. {n_{{r_{l} }}^{(\alpha )} } \right|_{{\alpha \in \left\{ {c,c_{1} ,c_{2} } \right\}}}\) rigid and \(\left. {n_{{f_{l} }}^{(\alpha )} } \right|_{{\alpha \in \left\{ {c,c_{1} ,c_{2} } \right\}}}\) flexible links. Flexible links are discretized by means of the Rigid Finite Element Method in the modified formulation [38]. In this method the rigid link is replaced by a system of \(n_{{rfe_{l} }}^{(\alpha ,i)}\) rigid finite elements (rfe) interconnected by a system of \(n_{{sde_{{_{l} }} }}^{(\alpha ,i)}\) spring-damping elements (sde).
2.1 Generalized coordinates and homogeneous transformation matrices
Motion of a system can be defined by a vector of generalized coordinates as follows:
where: \(n_{dof}\) is number of generalized coordinates which describe a system motion, \(n_{dof} = \left\{ {\begin{array}{*{20}c} {n_{dof}^{(b)} + n_{dof}^{(c)} \,\,\,\,\,\,\,\,\,\,\,\,} & {{\text{for}}} & {\text{OLKC,}} \\ {n_{dof}^{(b)} + n_{dof}^{{(c_{1} )}} + n_{dof}^{{(c_{2} )}} } & {{\text{for}}} & {\text{CLKC,}} \\ \end{array} } \right.\)\(n_{dof}^{(b)} ,\;\left. {n_{dof}^{(\alpha )} } \right|_{{\alpha \in \left\{ {c,c_{1} ,c_{2} } \right\}}}\) is number of generalized coordinates of the base and chain \(\alpha .\)
\({\mathbf{q}}^{(b)}\) is a vector defining motion of flexibly supported base b,
\(\left. {{\mathbf{q}}^{(\alpha )} } \right|_{{\alpha \in \left\{ {c,c_{1} ,c_{2} } \right\}}}\) is a vector describing motion of chain \(\alpha\) with respect to base b.
In the case, when the system reference motion is analyzed, i.e. according to constraints imposed upon it, the vector of generalized coordinates is divided into independent and dependent ones, i.e.
where \(i_{{i_{c} }} ,\,\,i_{{d_{c} }}\) are indices of the independent and dependent coordinates, respectively.
Motion of a link \(\left. {\left( {\alpha ,i} \right)} \right|_{{\alpha \in \left\{ {c,c_{1} ,c_{2} } \right\}}}\) with respect to the global reference frame \({\mathcal{F}}^{(0)}\) is described by the following vector:
where: \(n_{l}^{(\alpha )}\) is the number of links (rigid and flexible) in chain \(\alpha ,\;n_{l}^{(\alpha )} = n_{{r_{l} }}^{(\alpha )} + n_{{f_{l} }}^{(\alpha )} ,\;{\tilde{\mathbf{q}}}^{(\alpha ,i)}\) is a vector defining motion of link \(\left( {\alpha ,i} \right)\) with respect to a preceding link \(\left( {\alpha ,i - 1} \right)\) and \({\mathbf{q}}^{(\alpha ,0)} \in \emptyset .\)
When the link \(\left( {\alpha ,i} \right)\) is treated as flexible, its motion with respect to the preceding link is described by a vector:
where \({\tilde{\mathbf{q}}}^{(\alpha ,i,r)}\) is a vector defining motion of \({\text{rfe}}\,\left( {\alpha ,i,r} \right)\) with respect to the preceding \({\text{rfe}}\,\left( {\alpha ,i,r - 1} \right).\).
Homogeneous transformation matrices from a local frame of a link to the global reference frame \({\mathcal{F}}^{(0)}\) can be obtained in the following way:
where: \({\mathbf{T}}^{(b)}\) is the transformation matrix from a frame \({\mathcal{F}}^{(b)}\) fixed at the flexibly supported base to the global reference frame \({\mathcal{F}}^{(0)}\) and \({\tilde{\mathbf{T}}}^{(\alpha ,j)}\) is the transformation matrix from a local frame of the link \(\left( {\alpha ,i} \right)\) to a local frame of a preceding link in a kinematic chain.
The homogeneous transformation matrices of rfes from their local frames \({\mathcal{F}}^{(\alpha ,i,r)}\) to the global reference frame \({\mathcal{F}}^{(0)}\) are determined by:
2.2 Generalized Programmed Motion Equations (GPME) for systems subjected to position and velocity constraints
The constrained dynamics, referred to as the reference dynamics, is obtained based upon a dedicated method to constrained dynamics generation, i.e. upon the Generalized Programmed Motion Equations (GPME). The method developed for constrained rigid system structures subjected to arbitrary order nonholonomic constraints, which can specify motion demands and are called programmed, is detailed in [34, 35]. It enables verification of the system behavior when it is subjected to programmed constraints, e.g. vibrations that may accompany the desired motions specified by these constraints. It enables then defining and analyzing desired motions for performing servicing tasks. As detailed in [34, 35], the constraint equations imposed as control goals on system performance or as service tasks and can be presented in a general form as:
where: \({\mathbf{q}}^{(p)}\) is a \(n_{dof}\)-dimensional state vector, \({\mathbf{B}}\) is \(\left( {n_{{d_{c} }}^{{}} \times n_{dof}^{{}} } \right)\) dimensional constraint matrix, \(n_{dof} \ge n_{{d_{c} }}\), and \({\mathbf{s}}\) is a \(n_{{d_{c} }}\)-dimensional vector, \(n_{{d_{c} }}\) is the number of dependent generalised coordinates.
The constraints can be material for \(p = 0,1\), or programmed for \(p \ge 1\). The programmed constraints are imposed by a designer or a control engineer to obtain a system desired performance, e.g. they can be imposed upon acceleration \(p = 2\) or jerk \(p = 3\), as well as for desired trajectories with \(p = 1\). The constraints form (7) is the generalized constraint formulation and it encompasses the classical analytical constraint concept.
The GPME for rigid body models subjected to constraints (7) have the form:
where: \({\mathbf{M}}\left( {\mathbf{q}} \right)\) is mass matrix, \({\mathbf{h}}\left( {{\mathbf{q}},{\dot{\mathbf{q}}}} \right)\) is a vector of centrifugal forces, \({\mathbf{g}}\left( {\mathbf{q}} \right)\) is a vector of gravity forces, \({\mathbf{Q}}\left( {t,{\mathbf{q}},{\dot{\mathbf{q}}}} \right)\) is a vector of generalized forces vector resulting from external actions which are not controls. The set of Eqs. (8.1) and (8.2) can be transformed to the form that uses directly functions for the kinetic and potential energies, as well as explicit forms of external forces on a system.
The GPME modified for flexible open-loop structures subjected to position constraints are detailed in [33].
For the development of a general structure of the automated CoPCoD, we take advantage of the form of the GPME that uses the energy and force functions. Also, the actual form of the CoPCoD can incorporate position and velocity constraints, both material and non-material into system dynamics. From engineering application points of view such constraints are the most significant ones. Modifications that are dedicated to motion description of rigid and flexible open and closed-loop substructures have to be substantiated. The modified new structure of the GPME for position and velocity constraints is introduced as follows
where now the function \(R_{1}\) that collects the system energies and forces is composed of
\(E_{k}^{(b)} ,\,\,\left. {E_{k}^{(\alpha )} } \right|_{{\alpha \in \left\{ {c,c_{1} ,c_{2} } \right\}}}\) are kinetic energy terms of the flexibly supported base and the chains,
\(E_{p}^{(b)} = E_{p,sup}^{(b)} + E_{p,g}^{(b)}\) is the potential energy of the base which can be calculated as a sum of spring deformations energy and the potential energy of the gravity forces,
\(\left. {E_{p}^{(\alpha )} } \right|_{{\alpha \in \left\{ {c,c_{1} ,c_{2} } \right\}}} = E_{p,g}^{(\alpha )} + E_{{p,f_{l} }}^{(\alpha )}\) is the potential energy of the chain which can be expressed as a sum of spring deformations energy of flexible links and the potential energy of the gravity forces of links,
\(R_{sup}^{(b)} ,\,\,\left. {R_{{f_{l} }}^{(\alpha )} } \right|_{{\alpha \in \left\{ {c,c_{1} ,c_{2} } \right\}}}\) are the Rayleigh dissipation functions of the flexibly supported base and the chains,
\(\left. {{\mathbf{f}}_{fric}^{(\alpha )} } \right|_{{\alpha \in \left\{ {c,c_{1} ,c_{2} } \right\}}}\) is the vector of friction forces acting in the joints,
\({{\varvec{\Phi}}}(t,{\mathbf{q}})\) are the programmed and kinematic constraint equations.
Thus, in order to derive the CoPCoD, it is required to determine the kinetic and potential energies, the Rayleigh dissipation functions and external forces for components of kinematic chains, as well as formulate the constraint equations.
2.2.1 Kinetic energy of the system
The kinetic energy of the system structure can be presented in the following forms:
where:
\(\left. {{\mathbf{H}}_{{}}^{(\gamma )} } \right|_{{\gamma \in \left\{ {b,(\alpha ,i),(\alpha ,i,r)} \right\}}}\) is the pseudo-inertia matrix of the link,\({\mathbf{H}}^{(\gamma )} = \left[ {\begin{array}{*{20}c} {h_{(yz)}^{(\gamma )} } & {h_{xy}^{(\gamma )} } & {h_{xz}^{(\gamma )} } & {h_{x}^{(\gamma )} } \\ {} & {h_{(xz)}^{(\gamma )} } & {h_{yz}^{(\gamma )} } & {h_{y}^{(\gamma )} } \\ {} & {} & {h_{(xy)}^{(\gamma )} } & {h_{z}^{(\gamma )} } \\ {{\text{sym}}.} & {} & {} & {m^{(\gamma )} } \\ \end{array} } \right],\)\(m_{{}}^{(\gamma )}\) is the mass of the link, \(\left. {h_{\xi }^{(\gamma )} } \right|_{{\xi \in \{ x,y,z\} }}\) are the static moments of inertia, \(\left. {h_{\xi }^{(\gamma )} } \right|_{{\xi \in \{ xy,xz,yz\} }}\) are the products of inertia, \(\left. {h_{\xi }^{(\gamma )} } \right|_{{\xi \in \left\{ {(yz),(xz),(xy)} \right\}}}\) are the moments of inertia with respect to the planes of the local reference frame of the link, \(I_{{r_{l} }}^{(\alpha )} ,\,\,I_{{f_{l} }}^{(\alpha )}\) are the indices of rigid and flexible links.
In Eq. (9.1) derivatives of the function \(R_{1}\) components with respect to time and generalized coordinates require determining the following derivatives:
where \(\left. {{\mathbf{T}}_{v}^{(\gamma )} } \right|_{{\gamma \in \left\{ {b,(\alpha ,i),(\alpha ,i,r)} \right\}}} = \frac{{\partial {\mathbf{T}}^{(\gamma )} }}{{\partial q_{v}^{(\gamma )} }}.\)
The time derivatives of the transformation matrices are determined by the following formulas:
where: \(\left. {{\mathbf{T}}_{v,w}^{(\gamma )} } \right|_{{\gamma \in \left\{ {b,(\alpha ,i),(\alpha ,i,r)} \right\}}} = \frac{{\partial^{2} {\mathbf{T}}^{(\gamma )} }}{{\partial q_{v}^{(\gamma )} \partial q_{w}^{(\gamma )} }}.\)
2.2.2 Potential energy of the system gravity force
The potential energy of the gravity force that acts on the chains can be presented as follows:
where g is the gravity acceleration, \(\left. {{\tilde{\mathbf{r}}}_{C}^{(\gamma )} } \right|_{{\gamma \in \left\{ {b,(\alpha ,i),(\alpha ,i,r)} \right\}}}\) are position vectors of the mass center of the link, \({\mathbf{j}}_{2}\) is the second row of a reducing matrix \({\mathbf{J}} = \left[ {\begin{array}{*{20}c} {{\mathbf{j}}_{1} } \\ {{\mathbf{j}}_{2} } \\ {{\mathbf{j}}_{3} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}r} \hfill 1 & \hfill 0 & \hfill 0 & \hfill 0 \\ \hfill 0 & \hfill 1 & \hfill 0 & \hfill 0 \\ \hfill 0 & \hfill 0 & \hfill 1 & \hfill 0 \\ \end{array} } \right]\).
The derivatives of Eqs. (13.1 and 13.2) with respect to the generalized coordinates are written as follows:
2.2.3 Potential energy of spring deformations and the Rayleigh dissipation function of the base support
The flexible support of the base is modelled by means of spring-damping elements as shown in Fig. 2. Positions of the supports are described with respect to the base fixed frame. It is assumed that deformations of the spring-damping elements are small and the transformation matrix can be linearized.
The spring deformation energy and the Rayleigh dissipation function of the spring-damping elements are determined according to the following formulas:
where: \({\mathbf{d}}_{{sde_{s} }}^{(i,j)}\) is a vector of deformation of \({\text{sde}}_{s} \,(i,j),\;{\mathbf{d}}_{{sde_{s} }}^{(i,j)} = {\mathbf{J}}{\Delta }{\mathbf{r}}_{{E_{ij} }}^{(b)} = {\mathbf{J}}\left( {{\mathbf{T}}^{(b)} {\tilde{\mathbf{r}}}_{{E_{ij} }}^{(b)} - {\mathbf{r}}_{{E_{ij,0} }}^{(b)} } \right),\;{\mathbf{r}}_{{E_{ij,0} }}^{(b)}\) is a position vector of point \(E_{ij}^{{}}\) in the undeformed state,
\({\mathbf{S}}_{{sde_{s} }}^{(i,j)} = {\text{diag}}\left( {s_{{sde_{s} ,x}}^{(i,j)} ,s_{{sde_{s} ,y}}^{(i,j)} ,s_{{sde_{s} ,z}}^{(i,j)} } \right),\;{\mathbf{D}}_{{sde_{s} }}^{(i,j)} = {\text{diag}}\left( {d_{{sde_{s} ,x}}^{(i,j)} ,d_{{sde_{s} ,y}}^{(i,j)} ,d_{{sde_{s} ,z}}^{(i,j)} } \right)\) are matrices containing stiffness and damping coefficients of \({\text{sde}}_{s} \left( {i,j} \right).\)
The derivatives of Eqs. (15.1) and (15.2) with respect to the generalized coordinates and velocities are written as follows:
2.2.4 Potential energy of spring deformations and the Rayleigh dissipation function of flexible links
The energy of spring deformations and the Rayleigh dissipation function of flexible links are written in the following forms:
where \({\mathbf{d}}_{{sde_{l} }}^{(\alpha ,i,j)}\) is a vector of deformation of \(\begin{gathered} {\text{sde}}_{l} \,(\alpha ,i,j),\;{\mathbf{d}}_{{sde_{l} }}^{(\alpha ,i,j)} = {\tilde{\mathbf{q}}}^{(\alpha ,i,j)} ,\;{\mathbf{S}}_{{sde_{l} }}^{(\alpha ,i,j)} = {\text{diag}}\left( {s_{{sde_{l} ,\psi }}^{(\alpha ,i,j)} ,s_{{sde_{l} ,\theta }}^{(\alpha ,i,j)} ,s_{{sde_{{_{l} }} ,\varphi }}^{(\alpha ,i,j)} } \right), \hfill \\ {\mathbf{D}}_{{sde_{l} }}^{(\alpha ,i,j)} = {\text{diag}}\left( {d_{{sde_{l} ,\psi }}^{(\alpha ,i,j)} ,d_{{sde_{l} ,\theta }}^{(\alpha ,i,j)} ,d_{{sde_{l} ,\varphi }}^{(\alpha ,i,j)} } \right) \hfill \\ \end{gathered}\) are stiffness and damping matrices of \({\text{sde}}_{l} \,(\alpha ,i,j).\)
The derivatives of Eqs. (17.1) and (17.2) with respect to the generalized coordinates and velocities are written as:
It can be seen that deformations and deformation velocities of \({\text{sde}}_{l} \,(\alpha ,i,j)\) are taken directly from the generalized coordinates vector and its derivative.
2.2.5 Generalized forces resulting from actions of friction torques and forces
The LuGre friction model [39] is used to describe friction phenomenon in joints. Planar models of revolute and prismatic joints with friction are presented in Fig. 3.
The generalized forces vector of a chain \(\alpha\) resulting from including friction in joints can be written as follows:
where \({\mathbf{f}}_{fric}^{(\alpha ,i)} = \left[ {\begin{array}{*{20}c} {\mathbf{0}} & \cdots & {f_{fric,j}^{(\alpha ,i)} } & \cdots & {\mathbf{0}} \\ \end{array} } \right].\)
Forces \(f_{fric,j}^{(\alpha ,i)}\) are non-zero elements containing friction forces acting on links \((\alpha ,i)\) and can be presented in the form:
Friction torques and forces are calculated as follows:
where: \(\mu_{{}}^{(\alpha ,i)}\) is a friction coefficient,
\(\tilde{f}_{n}^{(\alpha ,i)}\) is a normal force in a joint, \(\tilde{f}_{n}^{(\alpha ,i)} = \left\{ {\begin{array}{*{20}c} {\sqrt {\left( {\tilde{f}_{x}^{(\alpha ,i)} } \right)^{2} + \left( {\tilde{f}_{y}^{(\alpha ,i)} } \right)^{2} } } & {{\text{for}}\,\,{\text{a revolute}}\,\,{\text{joint}},\,} \\ {\tilde{f}_{x}^{(\alpha ,i)} } & {\,{\text{for}}\,\,{\text{a prismatic}}\,\,{\text{joint}}{.}} \\ \end{array} } \right.\)
\(\tilde{f}_{x}^{(\alpha ,i)} ,\tilde{f}_{y}^{(\alpha ,i)}\) are joint forces, \(d_{{}}^{(\alpha ,i)}\) is a diameter of the journal.
The joint forces can be determined, in each integration step of the dynamics equations of motion, using the recursive Newton–Euler algorithm.
Friction coefficients are calculated using the LuGre friction model from the following formula:
where: \(\sigma_{0}^{(\alpha ,i)} ,\sigma_{1}^{(\alpha ,i)} ,\sigma_{2}^{(\alpha ,i)}\) are stiffness, damping and viscous friction coefficients, \(z_{{}}^{(\alpha ,i)}\) is the state variable, \(\dot{z}^{(\alpha ,i)} = \dot{\tilde{q}}_{{}}^{(\alpha ,i)} \left( {1 - \frac{{\sigma_{0}^{(\alpha ,i)} z_{{}}^{(\alpha ,i)} {\text{sgn}} \left( {\dot{\tilde{q}}_{{}}^{(\alpha ,i)} } \right)}}{{\mu_{k}^{(\alpha ,i)} + \left( {\mu_{s}^{(\alpha ,i)} - \mu_{k}^{(\alpha ,i)} } \right)\exp \left( { - \left( {\frac{{\dot{\tilde{q}}_{{}}^{(\alpha ,i)} }}{{\dot{\tilde{q}}_{S}^{(\alpha ,i)} }}} \right)^{2} } \right)}}} \right),\)
\(\mu_{s}^{(\alpha ,i)} ,\mu_{k}^{(\alpha ,i)}\) are static and kinetic friction coefficients, \(\dot{\tilde{q}}_{S}^{(\alpha ,i)}\) is the Stribeck velocity.
2.3 Kinematic and programmed constraint equations
The GPME (9.1) needs to be supplemented by constraint equations composed of \(n_{k}\) kinematic and \(n_{p}\) programmed constraint equations which can be written in the following form:
where \({{\varvec{\Phi}}}_{k} \left( {\mathbf{q}} \right),\;{{\varvec{\Phi}}}_{p} \left( {\mathbf{q}} \right)\) are kinematic and programmed constraints equations, \({\mathbf{g}}_{p} (t)\) is a vector of known time functions. The kinematic constraints come from closed chains modelling and are material constraints.
Time derivatives of the constraint Eqs. (23) lead to:
where: \({{\varvec{\Phi}}}_{{k,{\mathbf{q}}}} \left( {\mathbf{q}} \right) = \frac{{\partial {{\varvec{\Phi}}}_{k} }}{{\partial {\mathbf{q}}}},\;{{\varvec{\Phi}}}_{{p,{\mathbf{q}}}} \left( {\mathbf{q}} \right) = \frac{{\partial {{\varvec{\Phi}}}_{p} }}{{\partial {\mathbf{q}}}}\) are kinematic and programmed constraint matrices.
The vector of depended velocities calculated from Eq. (24.1) takes the form:
where: \({{\varvec{\Phi}}}_{{{\mathbf{q}},i_{c} }} ,\;{{\varvec{\Phi}}}_{{{\mathbf{q}},d_{c} }}\) are obtained the from the global constraint matrix \({{\varvec{\Phi}}}_{{\mathbf{q}}}^{{}} = \left[ {\begin{array}{*{20}c} {{{\varvec{\Phi}}}_{{k,{\mathbf{q}}}}^{{}} } \\ {{{\varvec{\Phi}}}_{{p,{\mathbf{q}}}}^{{}} } \\ \end{array} } \right]\) by selecting rows and columns corresponding to indices of the independent and dependent variables in vector q.
2.4 The computational procedure for constrained dynamics (CoPCoD) for systems subjected to constraints – the general form
Substituting components from Eqs. (11.1) – (11.4), (14.1), (14.2), (16.1), (16.2), (18.1), (18.2), (19), (24.1) and (24.2), to the GMPE Eq. (9.1), and performing all transformations, the CoPCoD underlying equations are obtained in the following matrix form:
where:
\({\mathbf{M}}_{{i_{c} }} = \left( {{\text{row}}_{i} ({\mathbf{M}})} \right)_{{i \in i_{{i_{c} }} }} ,\;{\mathbf{M}}_{{d_{c} }} = \left( {\sum\limits_{{j \in i_{{d_{c} }} }}^{{}} {{\text{row}}_{j} \left( {\mathbf{M}} \right)\frac{{\partial \dot{q}_{j} }}{{\partial \dot{q}_{i} }}} } \right)_{{i \in i_{{i_{c} }} }} ,\;{\text{row}}_{i} ( \cdot )\) is the i-th matrix row,
\({\mathbf{f}}_{fl}\) is a vector of generalized forces resulting from deformation of a flexible link,
\({\mathbf{f}}_{sup}\) is a vector of generalized forces resulting from deformation of the support,
\({\mathbf{f}}_{fric}\) is a vector of friction torques/forces
Equation (26) form a set of \(n_{dof}\) differential algebraic-equations. It can be seen that the presented approach allows to obtain the dynamics free of the constraint reaction forces. Also, CoPCoD is structured into block architecture such that different systems can be modelled by selecting options provided by its blocks.
3 Examples of application of CoPCoD applications
In this section, two sample systems representing OLKC and CLKC structures are analysed. We demonstrate how the CoPCoD algorithm enables performing efficient numerical simulations. They provide information about the system model behaviour when the programmed constraints are imposed upon motion. It enables, in turn, constrained motion planning.
3.1 The OLKC manipulator model
As the first example, the programmed motion of the spatial OLKC manipulator model is analyzed. The manipulator possesses 5 degrees of freedom with respect to the base frame {b} (Fig. 4). It is assumed that link (1,2) can be flexible and flexibility of the ground is modelled by means of the \(n_{{sde_{s} }}^{{}}\) spring-damping elements, where \(n_{{sde_{s} }} = \sum\limits_{i = 1}^{{n_{e} }} {n_{{sde_{s} }}^{(i)} } .\)
The local frames assigned to each link and generalized coordinates of the manipulator are presented in Fig. 5. The generalized coordinates vector consists of the following
where: \({\mathbf{q}}^{(b)} = \left[ {\begin{array}{*{20}c} {x^{(b)} } & {y^{(b)} } & {z^{(b)} } & {\psi^{(b)} } & {\theta^{(b)} } & {\varphi^{(b)} } \\ \end{array} } \right]^{T}\) contains generalized coordinates of the base,
\({\mathbf{q}}_{f}^{(1,2)}\) is the vector containing generalized coordinates of rfes of the link (1, 2), \({\mathbf{q}}_{f}^{(1,2)} = \left\{ {\begin{array}{*{20}c} \emptyset & {n_{sde}^{(1,2)} = 0,} \\ {\left[ {\begin{array}{*{20}c} {\underbrace {{\begin{array}{*{20}c} {\psi_{{}}^{(1,2,1)} } & {\theta_{{}}^{(1,2,1)} } & {\varphi_{{}}^{(1,2,1)} } \\ \end{array} }}_{{{\tilde{\mathbf{q}}}^{{(1,2,1)^{T} }} }}} & \cdots & {\underbrace {{\begin{array}{*{20}c} {\psi_{{}}^{{(1,2,n_{sde}^{(c,2)} )}} } & {\theta_{{}}^{{(1,2,n_{sde}^{(c,2)} )}} } & {\varphi_{{}}^{{(1,2,n_{sde}^{(1,2)} )}} } \\ \end{array} }}_{{{\tilde{\mathbf{q}}}^{{(1,2,\,n_{sde}^{(c,2)} )^{T} }} }}} \\ \end{array} } \right]^{T} } & {n_{sde}^{(1,2)} > 0.} \\ \end{array} } \right.\)
It is assumed that the end-effector E has to track the rectangle trajectory defined in \({\mathbf{y}}^{(P)} {\mathbf{z}}^{(P)}\) plane (Fig. 4) and it moves between adjacent corners of the rectangle within the scheduled time \({\Delta }t^{(E)} = 1\;{\text{s}}\). The change of the end-effector coordinates in this motion is described by a 5th order polynomial:
where: \({\Delta }s_{E}^{{}} = s_{E,f}^{{}} - s_{E,s}^{{}} ,\;{\Delta }t_{E}^{{}} = t_{E,f}^{{}} - t_{E,s}^{{}} ,\;s_{E,f}^{{}} ,\,\,s_{E,s}^{{}}\) are positions of the end-effector at start \(t_{E,s}^{{}}\) and final time \(t_{E,f}^{{}}\) of its motion. According to the motion description specified for E, the programmed constraint equations have the following form:
where: \({\mathbf{r}}_{E}^{{}} = {\mathbf{B}}^{(1,5)} \,{\tilde{\mathbf{r}}}_{E}^{(1,5)}\) is the calculated global position of the end-effector E at time t,
\({\tilde{\mathbf{r}}}_{E}^{(1,5)}\) is the position of the end-effector defined in the local frame of the link \((1,5)\),
\({\hat{\mathbf{r}}}_{E}^{{}} (t) = {\mathbf{B}}^{(P)} \,{\tilde{\mathbf{r}}}_{E}^{(P)} (t)\) is the required position of the end-effector expressed in the global reference frame,
\({\mathbf{B}}^{(P)} = \left[ {\begin{array}{*{20}c} {{\mathbf{R}}^{(P)} } & {{\mathbf{r}}_{org}^{(P)} } \\ {\mathbf{0}} & 1 \\ \end{array} } \right]\) is the constant transformation matrix from the frame \(\{ P\}\) to the global frame,
\({\mathbf{R}}^{(P)}\) is the rotation matrix from \(\{ P\}\) to {0},
\({\mathbf{r}}_{org}^{(P)}\) is the position vector of the frame {P} origin with respect to the global coordinate system,
\({\hat{\mathbf{r}}}_{E}^{(P)} (t)\) is the required position of the end-effector E expressed directly in the frame \(\{ P\}\).
By differentiating (29) with respect to time, one obtains the constraint equations at the velocity and acceleration levels:
From Eqs. (30.1) and (30.2) and taking into account (24.1), (24.2), the following components can be identified:
When the model with a fixed base is considered, additional constraint equations need to be defined as
Finally, equations of motion (26) for the OLKC manipulator model have the form
where \(\alpha ,\;\beta\)—the Baumgarte method parameters for solution stabilization, \({{\varvec{\Phi}}}_{{b,{\mathbf{q}}}} = \left[ {\begin{array}{*{20}c} {{\mathbf{I}}_{6 \times 6} } & {\mathbf{0}} \\ \end{array} } \right]\)—the \(6 \times n_{dof}^{(1,5)}\) constraint matrix resulting from (30.1), (30.2), \({\mathbf{I}}_{6 \times 6}\)—identity matrix. In the case when the base support is flexible the constraint (32) and its derivatives are not included into (33).
In Table 1 mass parameters of the manipulator are provided. Friction parameters, stiffness, damping and other parameters are gathered in Table 2.
The influence of the base support stiffness, link’s flexibility and friction in joints in the programmed motion performed by the manipulator is analyzed next. Also, forces acting in the joints are inspected. To facilitate the description of subsequent simulation results, the following notation shown in Fig. 6 is introduced. The 4th Runge–Kutta scheme with a constant step size equal to \(10^{ - 5} \,{\text{s}}\) is applied to integrate the dynamic equations of motion. The Baumgarte method parameters for solution stabilization are selected to be \(\alpha = 10^{3} ,\;\beta = 10^{2} .\)
Figure 7 shows the trajectory and time courses of the end-effector. The starting point of the effector motion differs from the assumed point A. The elimination of disturbances resulting from an arbitrary initial configuration of the manipulator end effector is obtained during its transition from the starting point * to B. After this time, the effector moves along the edges of the ABCD rectangle. The effector is stopped at the corner points and then moves to the next point. Figure 8 shows the time course of the magnitude of constraint violations at the displacement level for all analyzed cases. A logarithmic scale on the vertical axis is introduced to increase the resolution of the presented results. Analyzing the results, it can be seen that during the motion from point B to points C, D, and A, violations of the programmed constraints do not exceed the value of \(5 \times 10^{ - 3} \;{\text{m}}\). The constraint violations linearly decrease in about 2.2 s, and then they oscillate not exceeding the value of \(5 \times 10^{ - 7} \;{\text{m}}\).
Time courses of the joint coordinates are presented in Fig. 9. These results show that the most significant influence on the manipulator motion comes from the flexibility of the base support and friction in joints. Comparing the plots for the manipulator with the rigid link (1,2) and ideal joints (\({\text{S}}_{{\text{r}}} {\text{\_L}}_{{\text{r}}} \_{\text{J}}_{{{\text{nf}}}}\)) with those for the flexible link (1,2) and frictionless joints (\({\text{S}}_{{\text{r}}} {\text{\_L}}_{{{\text{fl}}}} \_{\text{J}}_{{{\text{nf}}}}\)), one can conclude that they are close to each other.
Figure 10 displays plots of the time courses of force magnitudes acting in the joints. It can be seen that while the flexibility of the links does not have major impact on the manipulator motion, it has a significant effect on the forces generated in the joints.
In order to analyze the values of the axial and normal forces acting in the joints in the respected cases, the RMS (Root Mean Square) indicator is introduced
where: \(t_{k}\) is the analysis time, \(F(t)\) is the time course of the axial or normal forces.
Figure 11 allows us to analyze RMS values of the particular components of the joint forces.
Analyzing the RMS values calculated for the axial and normal forces it can be observed that the highest values of the RMS are obtained for the case \({\text{S}}_{{\text{r}}} {\text{\_L}}_{{{\text{fl}}}} \_{\text{J}}_{{{\text{nf}}}} ,\), i.e. the link (1,2) is flexible, the support is rigid and friction in joints is neglected. The RMS values determined for this case are up to 8 times bigger than the others. Thus, it can be concluded that the link flexibility, in this case, does not have major impact on the manipulator motion, but may cause a significant increase of the joint loads.
The presented analysis of the system performance in programmed motion enables detailed verification and motion planning for constrained tasks.
3.2 The RPSUP mechanism model
The RPSUP (R-revolute, P-prismatic, S-spherical, U-universal, P-prismatic joint) mechanism is the second example and it is the CLKC system model (Fig. 12). The goal of the simulation is to track programmed motion by the end effector E, which is a rectangular trajectory located on the plane \({\mathbf{y}}^{(P)} {\mathbf{z}}^{(P)}\) that is inclined to \({\mathbf{x}}^{(0)} {\mathbf{z}}^{(0)}\) plane at the angle \(\alpha = 45^\circ\). This trajectory reflects some work regime on the end effector. The transformation matrix from the frame \(\{ P\}\) to the global reference frame has the form:
where \(x_{org}^{(P)} ,\;y_{org}^{(P)} ,\;z_{org}^{(P)}\) are coordinates of the position vector \({\mathbf{r}}_{org}^{(P)}\) describing position of the frame \(\{ P\}\) with respect to the global one. It is assumed that \(x_{org}^{(P)} = 0.0384\,{\text{m,}}\;y_{org}^{(P)} = 0.2335\,{\text{m}},\;z_{org}^{(P)} = 0\,{\text{m}}.\)
In order to formulate the dynamic equations of motion of the mechanism using the CoPCoD algorithm, first it is necessary to remove the kinematic loop using the cut-joint technique. It is assumed that the cut-joint is located at the revolute joint R connecting the flexible link (1,3) with the slider (2,1). Local coordinate systems are assigned to the links as shown in Fig. 13. As a result, two systems of the OLKC types are obtained, for which the generalized coordinates vector results as:
where: \(\left. {{\mathbf{q}}^{(c)} } \right|_{c = 1,2}\) is a vector of generalized coordinates of c sub-chain, \({\mathbf{q}}_{f}^{(1,3)}\) is a vector containing generalized coordinates of the flexible coupler (1,3).
Next, applying the CoPCoD algorithm presented in the paper, the dynamic equations of motion of the mechanism are obtained as:
Equations (36) are additionally supplemented by closing constraint equations formulated for the revolute cut-joint R. In simulations, as in the case of the manipulator, the influence of the base support flexibility, the coupler flexibility, friction in the joints on the generated programmed motion courses and the forces acting in the joints are analyzed. Mass parameters of the mechanism links applied in simulation tests are presented in Table 3. Other parameters are gathered in Table 2.
Runge–Kutta method is used to integrate dynamic Eqs. (36) with a constant step size \(h = 10^{ - 5} \,{\text{s}}\). The applied Baumgarte method coefficient values are \(\alpha = 500\), \(\beta = 50\). Initial conditions for the dynamic analysis are obtained from solving the statics case. Figures 14 and 15 show the obtained end-effector E trajectory and the corresponding time courses of the end-effector coordinates.
Analyzing the solutions obtained from statics, it can be noticed that the application of the base support flexibility leads to the effector displacement with respect to the point A. Moreover, the coupler flexibility has no major effect on the effector position change at the initial time. Initial arbitrary location of the end effector is eliminated during its transition from the point A to B, and then the mechanism moves according to the programmed constraints. Some distortions of the trajectory for y-component of the end-effector displacement can be observed for the case of \({\text{S}}_{{\text{r}}} {\text{\_L}}_{{\text{r}}} \_{\text{J}}_{{{\text{nf}}}}\), in which the base support and the coupler are rigid and all joints are treat as ideal. These distortions are even greater at the velocity and acceleration levels (Fig. 16).
Figure 17 displays magnitudes of the constraint violations for the kinematic and programmed constraints. The plots are presented using the logarithmic scale. Significantly large violations of the kinematic constraints can be observed for the case of \({\text{S}}_{{\text{r}}} {\text{\_L}}_{{\text{r}}} \_{\text{J}}_{{{\text{nf}}}}\) (\(\left\| {{\tilde{\mathbf{\Phi }}}_{k} } \right\| = 4.39\,{\text{cm}}\) for \(t = 2.014{\text{ s}}\)), despite the use of the Baumgarte stabilization method with different parameter settings to eliminate these errors. However, these violations of the programmed constraints are at an acceptable level. One should also pay attention to the different nature of the time courses of violations of the programmed and kinematic constraints. Violations of the programmed constraints, except in the first case, are linear (in the sense of a logarithmic scale), while violations of the kinematic constraints are strongly non-linear. Figure 18 shows the time courses of joint coordinates for the analyzed cases.
Examining the calculated time courses, it can be seen that plots obtained for cases with rigid base support are close to each other. Also, the support flexibility impacts significantly courses of the joint coordinates (cases \({\text{S}}_{{{\text{fl}}}} {\text{\_L}}_{{\text{r}}} \_{\text{J}}_{{{\text{nf}}}}\), \({\text{S}}_{{{\text{fl}}}} {\text{\_L}}_{{\text{r}}} \_{\text{J}}_{{\text{f}}}\), \({\text{S}}_{{{\text{fl}}}} {\text{\_L}}_{{{\text{fl}}}} \_{\text{J}}_{{\text{f}}}\)). Friction in joints also has noticeable impact on the overall mechanism motion. The flexibility of the coupler has the least influence on motion of individual links of the system. It is interesting because analyzing deformations of the coupler (Fig. 19) it can be concluded that they are large (for \(t = 2\,{\text{s}}\) deformation of the coupler is around 4 cm for the cases with rigid support). On the other hand, links flexibility has visible impact on forces acting in joints. Figure 20 shows RMS values calculated for the normal and axial forces acting in each joint of the mechanism.
It can be seen that the highest values of the normal and axial forces are obtained for the case in which the coupler (1,3) is flexible. Links flexibility has significant impact on loading of the mechanism and cannot be neglected in numerical simulations.
4 Conclusions
The general modeling procedure for multibody systems with serial structures of the OLKC and CLKC types subjected to the programmed constraints is presented in the paper. It provides a systematically structured algorithm enabling derivation systems constrained dynamic models with rigid, flexible parts and supports, friction and arbitrary external load. It is based on the joint coordinates formalism and homogeneous transformation matrices. The CoPCoD produces the constrained dynamics, the so called reference dynamics, which enables detailed analysis of the system performance in the desired programmed motion. The underlying dynamics is derived using the GPME algorithm. In simulation tests presented in the paper, for both OLKC and CLKC system models, the influence of the model structure and its properties on the programmed motion were studied. Numerical experiments show that the CoPCoD allows obtaining solutions of the reference dynamics effectively. The computer generation of the model dynamics with the CoPCoD is suitable for various system structures. The presented results indicate how the base flexibility, friction in joints, adoption of rigid or flexible link models impacts motion of the system model. For example, link flexibility can affect motion of the mechanism if the deformation of the link is very large. In our example, the maximum deformations of flexible links are about 10% of the length of links, and their influence on motion of the analyzed systems are negligible. However, the link flexibility has a significant effect on the forces acting in the joints, and cannot be ignored in numerical simulations, even when deformations are small. The future works planned to CoPCoD upgrades to make it more powerful, will be focused on looking for reference dynamics for systems for which the programmed constraints are met with some tolerance, and additional constraints resulting from e.g. design requirements needs to be satisfied.
Data availability
The C + + codes and the datasets generated during the current studies are available from the corresponding author on reasonable request.
Abbreviations
- \(c,\;\left. {c_{\alpha } } \right|_{\alpha = 1,2}\) :
-
Index of a chain
- \(g\) :
-
Gravity acceleration
- \(i_{{i_{c} }} ,\,\,i_{{d_{c} }}\) :
-
Indices of the independent and dependent coordinates
- \(n_{{d_{c} }}\) :
-
Number of dependent coordinates
- \(n_{dof}\) :
-
Number of generalized coordinates which describe a system motion
- \(n_{dof}^{(b)} ,\,\left. {n_{dof}^{(\alpha )} } \right|_{{\alpha \in \left\{ {c,c_{1} ,c_{2} } \right\}}}\) :
-
Number of generalized coordinates of the base and chain \(\alpha\)
- \(n_{e}\) :
-
Number of layers
- \(\left. {n_{{r_{l} }}^{(\alpha )} ,n_{{f_{l} }}^{(\alpha )} } \right|_{{\alpha \in \left\{ {c,c_{1} ,c_{2} } \right\}}}\) :
-
Number of rigid or flexible links in chain \(\alpha\)
- \(\left. {n_{l}^{(\alpha )} } \right|_{{\alpha \in \left\{ {c,c_{1} ,c_{2} } \right\}}}\) :
-
Number of links (rigid and flexible) in chain \(\alpha\)
- \(n_{{rfe_{l} }}^{(\alpha ,i)}\) :
-
Number of rigid finite elements (rfe) related to a flexible link
- \(n_{{sde_{l} }}^{(\alpha ,i)}\) :
-
Number of spring damping elements (sde) related to a flexible link
- \(n_{{sde_{s} }}^{(i)}\) :
-
Number of sde in i-th layer
- \(z_{{}}^{(\alpha ,i)}\) :
-
State variable related to the LuGre friction model
- \(E_{k}^{(b)} ,\,\,\left. {E_{k}^{(\alpha )} } \right|_{{\alpha \in \left\{ {c,c_{1} ,c_{2} } \right\}}}\) :
-
Kinetic energy of the flexibly supported base and chains
- \(E_{p}^{(b)} ,\,\,\left. {E_{p}^{(\alpha )} } \right|_{{\alpha \in \left\{ {c,c_{1} ,c_{2} } \right\}}}\) :
-
Potential energy of the flexibly supported base and chains
- \(R_{sup}^{(b)} ,\,\,\left. {R_{{f_{l} }}^{(\alpha )} } \right|_{{\alpha \in \left\{ {c,c_{1} ,c_{2} } \right\}}}\) :
-
The Rayleigh dissipation functions of the flexibly supported base and chains
- \({\mathbf{h}}\) :
-
Vector of centrifugal forces
- \({\mathbf{g}}\) :
-
Vector of gravity forces
- \({\mathbf{g}}_{p}\) :
-
Vector of known time functions related to programmed constraints
- \({\tilde{\mathbf{r}}}_{C}\) :
-
Position vector of the mass center defined in the local frame
- \({\mathbf{H}}\) :
-
Pseudo-inertia matrix
- \({\mathbf{M}}\) :
-
Mass matrix
- \({\mathbf{Q}}\) :
-
Vector of generalized forces vector resulting from external actions
- \({\tilde{\mathbf{T}}}\) :
-
Transformation matrix from a local frame of a link to a local frame of a preceding link
- \({\mathbf{T}}\) :
-
Transformation matrix from a local frame of a link to the global reference frame
- \(\mu_{{}}^{(\alpha ,i)}\) :
-
Friction coefficient
- \(\mu_{s}^{(\alpha ,i)} ,\mu_{k}^{(\alpha ,i)}\) :
-
Static and kinetic friction coefficients
- \(\dot{\tilde{q}}_{S}^{(\alpha ,i)}\) :
-
Stribeck velocity
- \(\sigma_{0}^{(\alpha ,i)} ,\sigma_{1}^{(\alpha ,i)} ,\sigma_{2}^{(\alpha ,i)}\) :
-
Stiffness, damping and viscous friction coefficients
- \({{\varvec{\Phi}}}\) :
-
Programmed and kinematic constraint equations
- \({{\varvec{\Phi}}}_{k} ,{{\varvec{\Phi}}}_{p}\) :
-
Kinematic and programmed constraints equations
- \({\text{rfe}}_{l}\) :
-
Rigid fininte element related to a flexible link
- \({\text{sde}}_{s}\) :
-
Spring-damping element related to the support
- \({\text{sde}}_{l}\) :
-
Spring-damping element related to a flexible link
References
Schiehlen, W.: Multibody system dynamics: roots and perspectives. Multibody Syst. Dyn. 1(2), 149–188 (1997). https://doi.org/10.1023/A:1009745432698
Shabana, A.: Flexible multibody dynamics: review of past and recent developments. Multibody Syst. Dyn. 1(2), 189–222 (1997). https://doi.org/10.1023/A:1009773505418
De Luca, A., Siciliano, B.: Closed-form dynamic model of planar multilink lightweight robots. IEEE Trans. Syst. Man. Cybern. 21(4), 826–839 (1991). https://doi.org/10.1109/21.108300
Mohan, A., Saha, S.: A recursive, numerically stable, and efficient simulation algorithm for serial robots with flexible links. Multibody Syst. Dyn. 21(1), 1–35 (2009). https://doi.org/10.1007/s11044-008-9122-6
Krauss RW, Book WJ (2010) Transfer matrix modeling of systems with non-collocated feedback, J. Dyn. Syst. Meas. Control. 132(6), 061301, doi:https://doi.org/10.1115/1.4002476.
Theodore, R.J., Ghosal, A.: Comparison of the assumed modes and finite element models for flexible multilink manipulators. Int. J. Robot. Res. 14(2), 91–111 (1995)
Chebbi J, Dubanchet V, Perez Gonzalez JA, Alazard D (2016) Linear dynamics of flexible multibody systems: a system-based approach, Multibody Syst. Dyn. https://doi.org/10.1007/s11044-016-9559-y, hal-01405184.
Leckie, F., Pestel, E.: Transfer-matrix fundamentals. Int. J. Mech. Sci. 2, 137–167 (2016)
Li, H., Zhang, X.: A Method for modeling flexible manipulators: transfer matrix method with finite segments. Int. J. Comput. Inf. Eng. 10(6), 1086–1093 (2016)
Rui, X., Wang, G., Lu, Y., Yun, L.: Transfer matrix method for linear multibody system. Multibody Syst. Dyn. 19(3), 179–207 (2008). https://doi.org/10.1007/s11044-007-9092-0
Jarzębowska E, Augustynek K, Urbaś A (2017) Computational reference dynamical model of a multibody system with first order constraints. In: Proc. ASME 2017 Int. Des. Eng. Technol. Conf. Comput. Inf. Eng. Conf., IDETC/CIE 2017, August 6–9, Cleveland, Ohio, USA.
Hairer, E., Nørsett, S.P., Wanner, G.: Solving ordinary differential equations II: stiff and differential-algebraic problems. Springer, Berlin (1993)
Ascher, U.M., Petzold, L.R.: Stability of computational methods for constrained dynamics systems. SIAM J. Sci. Comput. 14(1), 95–120 (1993)
Schiehlen, W., Guse, N., Seifried, R.: Multibody dynamics in computational mechanics and engineering applications. Comput. Methods Appl. Mech. Eng. 195, 5509–5522 (2006)
Marques, F., Souto, A.P., Flores, P.: On the constraints violation in forward dynamics of multibody systems. Multibody Syst. Dyn. 39, 385–419 (2017). https://doi.org/10.1007/s11044-016-9530-y
Xiaoping, Y., Nilanjan, S.: Unified formulation of robotic systems with holonomic and nonholonomic constraints. IEEE Trans. Robot. Autom. 14(4), 640–650 (1998)
Udwadia, F., Wanihanon, T.: On general nonlinear constrained mechanical systems. Num. Algebra, Control Optim. 3(3), 425–443 (2013). https://doi.org/10.3934/naco.2013.3.425
Liu, X., Zhen, S., Huang, K., Zhao, H., Chen, Y.-H., Shao, K.: A systematic approach for designing analytical dynamics and servo control of constrained mechanical systems. IEEE/CAA J. Autom. Sinica 2(4), 382–384 (2015)
Lot, R., Dalio, M.: Symbolic approach for automatic generation of the equations of motion of multibody systems. Multibody Syst. Dyn. 12, 147–172 (2004)
Koutsovasilis P., Beitelschmidt M (2007) Simulation of constrained mechanical systems. In: Proceedings in Applied Mathematics and Mechanics, doi: https://doi.org/10.1002/pamm.200700900.
Schutte A, Udwadia F (2011) New approach to the modeling of complex multibody dynamical systems. J. Appl. Mech. 78(2), doi:https://doi.org/10.1115/1.4002329.
Balseiro, P., Marrero, J.C., De Diego, M.D., Padron, E.: A unified framework for mechanics – Hamilton-Jacobi equation and applications, London Math. Soc., Nonlinearity 23, 1887–1918 (2010)
Sandino, L.A., Bejar, M., Ollero, A.: A Survey on methods for elaborated modeling of the mechanics of a small-size helicopter; analysis and comparison. J. Intell. Robot. Syst. 72, 219–238 (2013)
Sira-Ramirez, H., Agrawal, S.: Differentially flat systems. CRC Press, London (2004)
Yuh, J.: Design and control of autonomous underwater robots: A survey. Auton. Robot. 8, 7–24 (2000)
Cheng, Yu., Ye, D., Sun, Z.: Attitude-constrained reorientation control for spacecraft based on extended state observer. Adv. Mech. Eng. 10(8), 1–12 (2018). https://doi.org/10.1177/1687814018794525
Ellery, A.: An engineering approach to the dynamic control of space robotic on-orbit servicers. Proc. Inst. Mech. Eng., Part G: J. Aerosp. Eng. 218, 79–98 (2004)
Jarzębowska, E., Pietrak, K.: Constrained mechanical systems modeling and control: a free-floating space manipulator case as a multi-constrained system. Robot. Auton. Syst. 62, 1353–1360 (2014)
Koh, K.C., Cho, H.S.: A smooth path tracking algorithm for wheeled mobile robotics with dynamic constraints. J. Intell. Robot. Syst. 24, 367–385 (1999)
Oriolo G., Nakamura Y (1991) Control of mechanical systems with second-order nonholonomic constraints: underactuated manipulators. In: Proc. of 30th Conf. Decision Contr., 2398–2403.
Scheuer A., Laugier Ch (1998) Planning sub-optimal and continuous-curvature paths for car-like robots. In: Proc. 1998 IEEE/RSJ Intl. Conf. Intell. Robot. Syst: 25–31.
Shekl A.M., Lumelsky V.L (1998) Motion planning for nonholonomic robots in a limited workspace. In: Proc. 1998 IEEE/RSJ Intl. Conf. Intell. Robot. Syst.: 1473 – 1478.
Jarzębowska E., Augustynek K., Urbaś A (2018) Automated generation of reference dynamical models for constrained robotic systems in the presence of friction and damping effects. Concurr. Comput.: Pract. Exp. doi:https://doi.org/10.1002/cpe.4452.
Jarzębowska, E.: Dynamics modeling of nonholonomic mechanical systems: theory and applications. Nonlinear Anal. 63(5–7), 185–197 (2005)
Jarzębowska, E.: Quasi-coordinates based dynamics modeling and control design for nonholonomic systems. Nonlinear Anal. 16(16), 1741–1754 (2008)
Jarzębowska E., (2016) Tracking control design for variable mass and configuration robotic systems, In: Proc. ASME 2016 Dynamic Systems and Control Conference, ASME Digital Collection.
Banaszuk A., Mehta P.G., Hagen G (2006) The role of control in design: from fixing problems to the design of dynamics. In: nternational IFAC Symposium on Advanced Control of Chemical Processes, Gramado, Brazil – April 2–5: 913–928.
Augustynek K, Urbaś A (2017) Two approaches of the rigid finite element method to modelling the flexibility of spatial linkage links, In: Proc. of the ECCOMAS Thematic Conference on Multibody Dynamics, June 19–22, Prague, Czech Republic
Canudas de Wit, C., Ollson, H., Åström, K.J., Lischinsky, P.: A new model for control of systems with friction. IEEE Trans. Autom. Control 40(3), 419–425 (1995)
Funding
Open access funding provided by Warsaw University of Technology and University of Bielsko-Biala.
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The authors declare that they have no conflict of interest.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.
About this article
Cite this article
Jarzębowska, E., Augustynek, K. & Urbaś, A. Dynamics modeling method dedicated to system models with open- and closed-loop structures subjected to kinematic and task based constraints. Nonlinear Dyn 111, 12053–12080 (2023). https://doi.org/10.1007/s11071-023-08471-1
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11071-023-08471-1