1 Introduction

This article presents a sequence of three ways to derive the equations of motion of planar linkages. The planar 4R four-bar mechanism is used as an example. It is intended to find methods which present the equations of motion in a meaningful and insightful way such that the influence of varying the individual design parameters on the dynamics can be grasped. Such methods are useful for the synthesis of mechanisms with desired dynamic properties as a starting point in the design process. As a step towards this ultimate goal, the use of principal points and principal vectors in the derivation of the equations of motion and also of two equivalent mass descriptions are considered.

Principal points and principal vectors were introduced by Fischer [1, 2] for determining the equations of motion of articulated bodies. In particular, they were applied for the inverse dynamics for human gait analysis [3]. Later on, the principal points were also found as in the Roberson–Wittenburg formulation [4], where they were named barycentres of so-called augmented bodies, equivalent to the reduced systems introduced by Fischer. It was shown by the second author [5, 6] how the theory of principal vectors is generalized and extended to mechanisms with multiple closed loops. For determining the principal points and principal vectors, a method for equivalent mass modelling was presented, using real and virtual equivalent masses. The theory was applied to the shaking force and shaking moment balancing of mechanisms [7], with the benefit that dynamic balance properties could be set as a starting point in the design process by the synthesis of balanced mechanism solutions from inherently balanced linkage architectures. The presented method for equivalent mass modelling can be considered as a graphical interpretation of the method of complex joint masses by Freudenstein [8, 9].

Another approach for modelling the mass distribution is by the constant mass matrix for planar rigid bodies as derived by García de Jalón in the context of the natural coordinate formulation [10]. This description also includes the rotary inertia and initially removes the velocity-dependent inertia terms from the equations. It is shown that the same mass matrix can be used to model the dynamics of a truss element with a general mass distribution in the program Spacar [11].

The article starts with a kinematic analysis of the four-bar mechanism. Then the traditional derivation of the equations of motion with an opening of the closed kinematic loop is given, but principal points and principal vectors are applied. Next, equivalent complex masses are used for the description of the linear momentum of the links, and it is shown that the procedure for obtaining principal points and principal vectors with these complex masses remains unchanged. Then a description with mass matrices is shown. The equivalent mass matrix as implemented in the multibody program Spacar is applied to a numerical example. This article builds on two previously published conference papers [12, 13], which deal with the same subject.

2 Kinematic relations for a four-bar linkage

A planar 4R four-bar linkage as shown in Fig. 1 is considered. We start by analysing the configuration, velocities and accelerations of this mechanism.

Fig. 1
figure 1

Planar 4R four-bar mechanism with its parameters

2.1 Configuration analysis

Some notation is introduced as follows. The four links are numbered 1, 2, 3 and 4. The length of link \(k\), that is, the distance between its two joints, is denoted by \(l_{k}\). The locations of the revolute joints are at the points \(\mathrm{A}_{0}\), \(\mathrm{A}_{1}\), \(\mathrm{A}_{2}\), and \(\mathrm{A}_{3}\). Link 1 between \(\mathrm{A}_{0}\) and \(\mathrm{A} _{1}\) is the crank. In the use of terminology, we assume that the crank can make a continuous rotation, so the Grashof condition is satisfied, but, except in the singular positions, this condition is not necessary for the equations to be valid. Link 2 between \(\mathrm{A}_{1}\) and \(\mathrm{A}_{2}\) is the coupler, link 3 between \(\mathrm{A}_{2}\) and \(\mathrm{A}_{3}\) is the rocker, and link 4 between \(\mathrm{A}_{3}\) and \(\mathrm{A}_{0}\) is the frame which is held fixed to the ground. A fixed coordinate system \(\mathrm{A}_{0} xy\) has its origin at \(\mathrm{A} _{0}\), its \(x\)-direction is along \(\mathrm{A}_{0} \mathrm{A}_{3}\), and its \(y\)-direction is obtained by rotating the \(x\)-direction by a right angle in the positive direction.

The relative and absolute positions of points will be represented by two-dimensional vectors, which are indicated by an overbar. They will also be considered complex numbers, where the absolute value is the length of the vector, denoted by the same symbol without an overbar, and the argument is the angle of the positive direction of the vector with the \(x\)-axis. For instance, the link lengths and their orientations are denoted by \(\bar{l}_{k} = l_{k} \exp (i\theta _{k}) = l_{k} \cos \theta _{k} + i l_{k} \sin \theta _{k}\), where \(\theta _{k}\) is the angle of link \(k\) with the global \(x\)-direction as shown in Fig. 1. For the fixed link 4, \(\theta _{4}=\pi \).

The scalar product is defined as the usual inner product of two vectors, for which a notation with angle brackets is chosen. If \(\bar{x}\) and \(\bar{y}\) are two complex numbers, the inner product of the corresponding vectors can be expressed as \(\langle \bar{x}, \bar{y} \rangle = \frac{1}{2}( \bar{x}^{*} \bar{y} + \bar{y}^{*} \bar{x}) = \mathrm{Re}(\bar{x}^{*} \bar{y})\), where a superscript asterisk denotes a complex conjugate and \(\mathrm{Re}\) indicates the real part.

With the above notation, the loop-closure conditions can be expressed as

$$ \bar{l}_{1} + \bar{l}_{2} + \bar{l}_{3} + \bar{l}_{4} = \bar{0}, $$
(1)

where \(\bar{0}\) is the zero vector or the complex zero. The angle \(\theta _{1}\) is chosen as the independent coordinate and the angles \(\theta _{2}\) and \(\theta _{3}\) and all position coordinates of the joints and the centres of mass of the links are dependent coordinates. Several ways to determine the dependent coordinates can be found in the literature; see, for instance, [14]. Here, we use a way, similar to a method presented in [15], that limits the introduction of trigonometric functions and their inverses in the equations and is numerically stable if the kinematic problem itself is stable. Furthermore, it makes the choice between the two possible configurations simple. With the vector \(\bar{l}_{23} = \bar{l}_{2}+\bar{l}_{3} = -\bar{l}_{1}-\bar{l}_{4}\) having the length

$$ l_{23} = \sqrt{(l_{4}-l_{1} \cos \theta _{1})^{2} + (l_{1} \sin \theta _{1})^{2}} = \sqrt{l_{1}^{2}+l_{4}^{2}-2l_{1}l_{4} \cos \theta _{1}} , $$
(2)

we introduce the additional lengths \(d_{23}\) and \(h_{23}\) shown in Fig. 1 as

$$ d_{23} = \frac{l_{23}^{2}+l_{2}^{2}-l_{3}^{2}}{2l_{23}}, \qquad h_{23} = \pm \sqrt{l_{2}^{2}-d_{23}^{2}} = \pm \sqrt{l_{3}^{2}-(l_{23}-d _{23})^{2}} . $$
(3)

The triangle inequalities \(|l_{2}-l_{3}| \leq l_{23} \leq l_{2}+l_{3}\) must be satisfied to give meaningful results. The combination of signs comes from the two possible configurations: the plus sign corresponds to the case in which \(\mathrm{A}_{2}\) is to the left of the directed line \(\mathrm{A}_{1} \mathrm{A}_{3}\), as drawn in Fig. 1, and the minus sign corresponds to the case in which this point is to the right of this line. If it is assumed that the Grashof condition is satisfied and link 1 is the crank, no branching between these two configurations can occur. The solution becomes inherently sensitive to perturbations in the data if the length \(l_{23}\) is small or if \(l_{23}\) is close to one of the bounds of the triangle inequalities given above. The dependent link orientation angles \(\theta _{2}\) and \(\theta _{3}\) are obtained from

$$ \bar{l}_{2} = (d_{23} + i h_{23}) \frac{\bar{l}_{23}}{l_{23}} , \qquad \bar{l}_{3} = \bar{l}_{23} - \bar{l}_{2} $$
(4)

as the arguments of \(\bar{l}_{2}\) and \(\bar{l}_{3}\).

2.2 Velocity and acceleration analysis

The rates of the dependent angles are obtained from the time derivative of the loop-closure condition (1),

$$ i(\bar{l}_{1}\dot{\theta }_{1} + \bar{l}_{2}\dot{\theta }_{2} + \bar{l}_{3} \dot{\theta }_{3}) = \bar{0} . $$
(5)

The dependent angular velocities are obtained by taking the inner products of this equation with \(\bar{l}_{3}\) and \(\bar{l}_{2}\), which results in

$$ \dot{\theta }_{2} = \varTheta _{2} \dot{\theta }_{1} , \qquad \dot{\theta }_{3} = \varTheta _{3} \dot{\theta }_{1} $$
(6)

with the first-order kinematic transfer functions

$$ \varTheta _{2} = -\frac{\langle \bar{l}_{3}, i\bar{l}_{1} \rangle }{ \langle \bar{l}_{3}, i\bar{l}_{2} \rangle } = - \frac{l_{1}\sin ( \theta _{3} - \theta _{1})}{l_{2}\sin (\theta _{3} - \theta _{2})}, \qquad \varTheta _{3} = -\frac{\langle \bar{l}_{2}, i\bar{l}_{1} \rangle }{ \langle \bar{l}_{2}, i\bar{l}_{3} \rangle } = - \frac{l_{1}\sin ( \theta _{2} - \theta _{1})}{l_{3}\sin (\theta _{2} - \theta _{3})} . $$
(7)

Taking another time derivative of the loop-closure condition yields

$$ i( \bar{l}_{1}\ddot{\theta }_{1} + \bar{l}_{2}\ddot{\theta }_{2} + \bar{l}_{3} \ddot{\theta }_{3} ) - \bigl( \bar{l}_{1}\dot{\theta }_{1}^{2} + \bar{l}_{2}\dot{\theta }_{2}^{2} + \bar{l}_{3}\dot{\theta }_{3}^{2} \bigr) = \bar{0} . $$
(8)

Again, taking the inner product of this expression with \(\bar{l}_{3}\) and \(\bar{l}_{2}\) yields

$$\begin{aligned} \ddot{\theta }_{2} & = \varTheta _{2} \ddot{\theta }_{1} + \frac{ \langle \bar{l}_{3}, \bar{l}_{1} \rangle \dot{\theta }_{1}^{2} + \langle \bar{l}_{3}, \bar{l}_{2} \rangle \dot{\theta }_{2}^{2} + l_{3}^{2} \dot{\theta }_{3}^{2} }{\langle \bar{l}_{3}, i\bar{l}_{2} \rangle } \\ & = \varTheta _{2} \ddot{\theta }_{1} + \frac{ l_{1} \dot{\theta }_{1}^{2} \cos (\theta _{3} - \theta _{1}) + l_{2} \dot{\theta }_{2}^{2} \cos ( \theta _{3} - \theta _{2}) + l_{3} \dot{\theta }_{3}^{2} }{l_{2}\sin ( \theta _{3} - \theta _{2})} , \end{aligned}$$
(9)
$$\begin{aligned} \ddot{\theta }_{3} & = \varTheta _{3} \ddot{\theta }_{1} + \frac{ \langle \bar{l}_{2}, \bar{l}_{1} \rangle \dot{\theta }_{1}^{2} + l_{2}^{2} \dot{\theta }_{2}^{2} + \langle \bar{l}_{2}, \bar{l}_{3} \rangle \dot{\theta }_{3}^{2} }{\langle \bar{l}_{2}, i\bar{l}_{3} \rangle } \\ & = \varTheta _{3} \ddot{\theta }_{1} + \frac{ l_{1} \dot{\theta }_{1}^{2} \cos (\theta _{2} - \theta _{1}) + l_{2} \dot{\theta }_{2}^{2} + l_{3} \dot{\theta }_{3}^{2} \cos (\theta _{2} - \theta _{3}) }{l_{3}\sin ( \theta _{2} - \theta _{3})} . \end{aligned}$$
(10)

The expressions for the dependent angles and angular velocities can be substituted in the right-hand sides to obtain explicit results. In most cases, the dependent angles and their time derivatives will be kept in the equations, where it has to be understood that they are functions of the independent angle and its time derivatives. Another form to write the angular velocity and acceleration of link 2 that only contains the angles \(\theta _{1}\) and \(\theta _{3}\) and their derivatives is

$$\begin{aligned} \begin{aligned} l_{2}^{2} \dot{\theta }_{2} & = \langle i\bar{l}_{2}, \dot{ \bar{l}}_{2} \rangle = \bigl\langle -i(\bar{l}_{1}+ \bar{l}_{3}+\bar{l}_{4}), -i( \bar{l}_{1} \dot{\theta }_{1} + \bar{l}_{3} \dot{\theta }_{3}) \bigr\rangle \\ & = l_{1} \bigl[ l_{1} + l_{3} \cos ( \theta _{1}-\theta _{3}) - l_{4}\cos \theta _{1} \bigr] \dot{\theta }_{1} + l_{3} \bigl[ l_{3} + l_{1} \cos (\theta _{1}- \theta _{3}) - l_{4}\cos \theta _{3} \bigr] \dot{\theta }_{3} , \\ l_{2}^{2} \ddot{\theta }_{2} & = \langle i \bar{l}_{2}, \ddot{\bar{l}} _{2} \rangle = \bigl\langle -i(\bar{l}_{1}+\bar{l}_{3}+\bar{l}_{4}), -i( \bar{l}_{1} \ddot{\theta }_{1} + \bar{l}_{3} \ddot{\theta }_{3}) +\bigl( \bar{l}_{1} \dot{\theta }_{1}^{2} + \bar{l}_{3} \dot{\theta }_{3}^{2}\bigr) \bigr\rangle \\ & = l_{1} \bigl[ l_{1} + l_{3} \cos ( \theta _{1}-\theta _{3}) - l_{4}\cos \theta _{1} \bigr] \ddot{\theta }_{1} - l_{1} \bigl[ l_{3} \sin (\theta _{1}- \theta _{3}) - l_{4}\sin \theta _{1} \bigr] \dot{\theta }_{1}^{2} \\ &\quad{}+ l_{3} \bigl[ l_{3} + l_{1} \cos ( \theta _{1}-\theta _{3}) - l_{4}\cos \theta _{3} \bigr] \ddot{\theta }_{3} + l_{3} \bigl[ l_{1} \sin (\theta _{1}- \theta _{3}) + l_{4}\sin \theta _{3} \bigr] \dot{\theta }_{3}^{2}. \end{aligned} \end{aligned}$$
(11)

Use has been made of the loop closure condition (1) and its time derivatives (5) and (8).

3 Opened kinematic loop approach

In this section, the dynamics of the four-bar linkage are analysed by the method of principal vectors in the way Fischer used them [2]. While Fischer used them only for deriving Lagrange’s equations of motion of open trees of links, here the method of principal vectors is applied in the analysis of a closed-loop linkage, where the principle of virtual work is used to obtain the equations of motion. The advantage of using the principle of virtual work is that the equations of motion are often found in a simpler way and it leads to more insight in how parameters contribute to the equations of motion.

In Fig. 2, the four-bar mechanism is shown with a system of principal vectors \(\bar{a}_{12}\), \(\bar{a}_{21}\), \(\bar{a}_{23}\) and \(\bar{a}_{32}\). These vectors fix the locations of the principal points \(\mathrm{P}_{k}\)\((k=1,2,3)\) within the links as illustrated. These principal points, also known as barycentres [4], are fixed within the links and are the centres of mass of the reduced systems of the links [1, 2, 5, 6]. In this case, the reduced system of link 1 has the mass of link 1, \(m_{1}\), in its centre of mass \(\mathrm{S}_{1}\), a moment of inertia \(I_{1}\) about its centre of mass and the mass of link 2, \(m_{2}\), together with the mass of link 3, \(m_{3}\), placed in \(\mathrm{A}_{1}\). The reduced system of link 2 has the mass \(m_{2}\) in its centre of mass \(\mathrm{S} _{2}\), a moment of inertia \(I_{2}\) about its centre of mass, the mass \(m_{1}\) placed in \(\mathrm{A}_{1}\) and the mass \(m_{3}\) placed in \(\mathrm{A}_{2}\). The reduced system of link 3 has the mass \(m_{3}\) in its centre of mass \(\mathrm{S} _{3}\), a moment of inertia \(I_{3}\) about its centre of mass and a mass \(m_{1}\) together with a mass \(m_{2}\) placed in \(\mathrm{A}_{2}\). The principal point \(\mathrm{P}_{1}\) is the centre of mass of the reduced system of link 1, the principal point \(\mathrm{P}_{2}\) is the centre of mass of the reduced system of link 2, and the principal point \(\mathrm{P}_{3}\) is the centre of mass of the reduced system of link 3.

Fig. 2
figure 2

System of principal vectors which describes the motion of the link masses with respect to the system centre of mass in S, with principal points \(\mathrm{P}_{1}\), \(\mathrm{P}_{2}\) and \(\mathrm{P}_{3}\)

The principal vectors form parallelograms with the linkage and their lengths are constant, equal to the distances between the principal points and the link joints. This means that the graphical construction can be regarded as a linkage tracing the system centre of mass S during its motion along with the four-bar linkage. This is shown in Fig. 3, where the vectors have been transformed into links with revolute pairs at the principal points, the centre of mass and the two intermediate points \(\mathrm{B}_{1}\) and \(\mathrm{B}_{2}\).

Fig. 3
figure 3

Moving links as separate system of three links in series with the principal vectors transformed into links which trace the system centre of mass in S

In the opened kinematic loop approach, the closed kinematic loop of the mechanism is opened at one or more joints to form a system with a tree connectivity. In particular, the mechanism is removed from its supports to form a free system. The constraint forces are included as additional variables. The number of variables to describe the system and hence the number of resulting equations can be reduced by reimposing one of the supports. The free system for the four-bar mechanism is shown in Fig. 3. At the joints \(\mathrm{A}_{0}\) and \(\mathrm{A}_{3}\) the constraint forces \(\bar{R}_{\mathrm{A0}}\) and \(\bar{R}_{\mathrm{A3}}\) are included as additional variables. The positions of the link centres of mass \(\mathrm{S} _{k}\) with respect to the link coordinate system defined by the vector \(\bar{l}_{k}\) and the first joint as the origin is given by the vector \(\bar{s}_{k}=s_{k} \exp (i\sigma _{k})\)\((k=1,2,3)\), as shown in Fig. 1. This means that the absolute vector pointing from the first joint to the centre of mass is expressed as a complex number as \(\bar{s}_{k}\bar{l}_{k}/l_{k}\).

For this free system of planar bodies interconnected by revolute joints in a tree, the generalized coordinates can be chosen as the position coordinates of the point S and the three rotation angles of the links about the principal points. The individual rotations leave the point S invariant and owing to the definition of the principal points, leave the centre of mass of the system invariant, which is the point S. This will be confirmed by explicitly calculating the position of the centre of mass.

In vector notation, the principal vectors can be calculated from

$$ \begin{aligned} m_{\mathrm{tot}} \bar{a}_{12} &= \bar{l}_{1} (1 - \bar{s}_{1}/l _{1} ) m_{1} , \\ m_{\mathrm{tot}} \bar{a}_{21} &= -\bar{l}_{2} ( m_{3} + m_{2} \bar{s}_{2}/l_{2} ), \\ m_{\mathrm{tot}} \bar{a}_{23} &= m_{\mathrm{tot}}( \bar{a}_{21} + \bar{l}_{2}) = \bar{l}_{2} \bigl[ m_{1} + m_{2} (1 - \bar{s}_{2}/l _{2} ) \bigr], \\ m_{\mathrm{tot}} \bar{a}_{32} &= - \bar{l}_{3} ( \bar{s}_{3}/l_{3}) m _{3}, \end{aligned} $$
(12)

with \(m_{\mathrm{tot}}=m_{1}+m_{2}+m_{3}\). These equations are comparable to the notation without vectors in [5, 6]. The derived vectors \(\bar{a}_{14}'\) and \(\bar{a}_{34}'\) are calculated as

$$ \begin{aligned} m_{\mathrm{tot}} \bar{a}_{14}' &= m_{\mathrm{tot}}( \bar{a}_{12} - \bar{l}_{1}) = -\bar{l}_{1} ( m_{2} + m_{3} + m_{1} \bar{s}_{1}/l _{1} ) , \\ m_{\mathrm{tot}} \bar{a}_{34}' &= m_{\mathrm{tot}}(\bar{a}_{32} + \bar{l}_{3}) = \bar{l}_{3} \bigl[ m_{1} + m_{2} + m_{3} ( 1 - \bar{s}_{3}/l_{3} ) \bigr] . \end{aligned} $$
(13)

Note that the vectors \(\bar{l}_{k}\) can be expressed as the difference of two principal vectors or derived vectors associated with the same link, so they are fixed in this link.

That S is the centre of mass of the mechanism can also be seen from the expressions for the positions of the centres of mass of the links in terms of the position vector of \(\mathrm{S}\), which is denoted by \(\bar{r}_{\mathrm{S}}\), and the principal vectors. As the positions of the centres of mass in the links can be expressed in the principal vectors and the derived vectors,

$$ \begin{aligned} m_{1} \bar{s}_{1} \bar{l}_{1}/l_{1} &= -m_{1}\bar{a}_{14}' - (m_{2}+m _{3})\bar{a}_{12} , \\ m_{2} \bar{s}_{2} \bar{l}_{2}/l_{2} &= -(m_{1}+m_{2})\bar{a}_{21} - m _{3}\bar{a}_{23} , \\ m_{3} \bar{s}_{3} \bar{l}_{3}/l_{3} &= -m_{\mathrm{tot}} \bar{a}_{32} , \end{aligned} $$
(14)

we have

$$ \begin{aligned} m_{1} \bar{r}_{1} &= m_{1} \bar{r}_{\mathrm{S}} - (m_{2}+m_{3})\bar{a} _{12} + m_{1} \bar{a}_{21} + m_{1} \bar{a}_{32} , \\ m_{2} \bar{r}_{2} &= m_{2} \bar{r}_{\mathrm{S}} + m_{2}\bar{a}_{12} - m _{1} \bar{a}_{21} - m_{3} \bar{a}_{23} + m_{2} \bar{a}_{32} , \\ m_{3} \bar{r}_{3} &= m_{3} \bar{r}_{\mathrm{S}} + m_{3}\bar{a}_{12} + m _{3} \bar{a}_{23} - (m_{1}+m_{2}) \bar{a}_{32} . \end{aligned} $$
(15)

Indeed, \(m_{1}\bar{r}_{1}+m_{2}\bar{r}_{2}+m_{3}\bar{r}_{3}=m_{ \mathrm{tot}}\bar{r}_{\mathrm{S}}\). If the constraint for joint \(\mathrm{A}_{0}\),

$$ \bar{r}_{\mathrm{A0}} = \bar{r}_{\mathrm{S}} + \bar{a}_{14}' + \bar{a}_{21} + \bar{a}_{32} = \bar{0}, $$
(16)

is reimposed and used to eliminate the position of the centre of mass \(\bar{r}_{\mathrm{S}}\) from the equations, the position vectors of the centres of mass of the links become

$$ \begin{aligned} m_{1} \bar{r}_{1} &= -m_{1} \bar{a}_{14}' - (m_{2}+m_{3})\bar{a}_{12}, \\ m_{2} \bar{r}_{2} &= m_{2} \bar{l}_{1} - (m_{1} + m_{2}) \bar{a}_{21} - m_{3} \bar{a}_{23}, \\ m_{3} \bar{r}_{3} &= m_{3}( \bar{l}_{1} + \bar{l}_{2}) -m_{\mathrm{tot}} \bar{a}_{32} . \end{aligned} $$
(17)

By taking the time derivatives of these equations two times, the accelerations of the centres of mass of the links, multiplied by their respective masses, are found to be

$$ \begin{aligned} m_{1} \ddot{ \bar{r}}_{1} &= - \bigl[m_{1} \bar{a}_{14}' + (m_{2}+m_{3}) \bar{a}_{12} \bigr] \bigl(i \ddot{\theta }_{1}-\dot{\theta }_{1}^{2} \bigr) , \\ m_{2} \ddot{\bar{r}}_{2} &= m_{2} \bar{l}_{1} \bigl(i\ddot{\theta }_{1}- \dot{\theta }_{1}^{2}\bigr) - \bigl[(m_{1} + m_{2})\bar{a}_{21} + m_{3} \bar{a}_{23} \bigr] \bigl(i\ddot{\theta }_{2}-\dot{\theta }_{2}^{2}\bigr) , \\ m_{3} \ddot{\bar{r}}_{3} &= m_{3} \bar{l}_{1} \bigl(i\ddot{\theta }_{1}- \dot{\theta }_{1}^{2}\bigr) + m_{3} \bar{l}_{2} \bigl(i\ddot{\theta }_{2}- \dot{\theta }_{2}^{2}\bigr) -m_{\mathrm{tot}} \bar{a}_{32} \bigl(i \ddot{\theta }_{3}-\dot{\theta }_{3}^{2} \bigr) . \end{aligned} $$
(18)

The virtual displacements of the centres of mass are easily found from

$$ \begin{aligned} m_{1} \updelta \bar{r}_{1} &= - \bigl[m_{1} \bar{a}_{14}' + (m_{2}+m_{3}) \bar{a}_{12} \bigr] i\updelta {\theta }_{1} , \\ m_{2} \updelta \bar{r}_{2} &= m_{2} \bar{l}_{1} i\updelta {\theta } _{1} - \bigl[(m_{1} + m_{2})\bar{a}_{21} + m_{3} \bar{a}_{23} \bigr] i \updelta {\theta }_{2} , \\ m_{3} \updelta \bar{r}_{3} &= m_{3} \bar{l}_{1} i\updelta {\theta } _{1} + m_{3} \bar{l}_{2} i\updelta {\theta }_{2} -m_{\mathrm{tot}} \bar{a}_{32} i\updelta {\theta }_{3} , \end{aligned} $$
(19)

and the virtual displacements of the joint \(\mathrm{A}_{3}\), considered a point of link 3, as

$$ \updelta \bar{r}_{\mathrm{A3}} = \bar{l}_{1}i \updelta \theta _{1} + \bar{l}_{2}i\updelta \theta _{2} + \bar{l}_{3}i\updelta \theta _{3} . $$
(20)

The corresponding reaction force of the linkage on the ground at \(\mathrm{A}_{3}\) is \(\bar{R}_{\mathrm{A3}}\).

The virtual work of the inertia terms, the applied forces and moments, and the constraint forces are given by

$$ \updelta W = \sum_{k=1}^{3} \bigl[ \updelta \theta _{k}(M_{k} - I_{k} \ddot{\theta }_{k}) + \bigl\langle \updelta \bar{r}_{k}, (\bar{F}_{k} - m _{k}\ddot{\bar{r}}_{k}) \bigr\rangle \bigr] - \langle \updelta \bar{r}_{ \mathrm{A3}}, \bar{R}_{\mathrm{A3}} \rangle, $$
(21)

where \(M_{k}\) is the resultant applied moment with respect to the centre of mass of link \(k\) and \(\bar{F}_{k}\) is the resultant applied force, represented as a complex number, as illustrated in Fig. 1. Substituting the quantities in this equation, while keeping the link angles provisionally as independent variables, one obtains three equations of motion for the three orientation angles of the links of the form

$$ \sum_{k=1}^{3} \bigl( M_{jk} \ddot{\theta }_{k} + C_{jk} \dot{ \theta } _{k}^{2} \bigr) + D_{jx} R_{\mathrm{A3}x} + D_{jy} R_{\mathrm{A3}y} = Q _{j} \quad (j=1,2,3). $$
(22)

In this equation, the coefficients of the symmetric mass matrix, \(M_{jk}\), are given by

$$ \begin{aligned} M_{11} &= I_{1} + m_{1} \bigl(a_{14}' \bigr)^{2} + 2(m_{2}+m_{3}) \bigl\langle \bar{a} _{14}', \bar{a}_{12} \bigr\rangle + \frac{(m_{2}+m_{3})^{2}}{m_{1}} a_{12} ^{2} + (m_{2}+m_{3}) l_{1}^{2} \\ & = I_{1} + m_{1} s_{1}^{2} + (m_{2}+m_{3}) l_{1}^{2} , \end{aligned} $$
$$\begin{aligned} M_{12} & = M_{21} = -m_{\mathrm{tot}} \langle \bar{l}_{1}, \bar{a}_{21} \rangle , \\ M_{13} &= M_{31} = -m_{\mathrm{tot}} \langle \bar{l}_{1}, \bar{a}_{32} \rangle , \\ M_{22} & = I_{2} + \frac{(m_{1}+m_{2})^{2}}{m_{2}} a_{21}^{2} + \frac{2(m _{1}+m_{2})m_{3}}{m_{2}} \langle \bar{a}_{21}, \bar{a}_{23} \rangle + \frac{m_{3}^{2}}{m_{2}} a_{23}^{2} + m_{3} l_{2}^{2} \\ & = I_{2} + m_{2} s_{2}^{2} + m_{3} l_{2}^{2} , \\ M_{23} & = M_{32} = -m_{\mathrm{tot}} \langle \bar{l}_{2}, \bar{a}_{32} \rangle , \\ M_{33} & = I_{3} + \frac{m_{\mathrm{tot}}^{2}}{m_{3}} a_{32}^{2} = I _{3} + m_{3} s_{3}^{2} . \end{aligned}$$

The diagonal terms are the moments of inertia of the reduced systems of the links about their first joint and, hence, they are constant. The off-diagonal terms \(M_{ij}\)\((i \neq j)\) have a simple structure if they are expressed in terms of principal vectors: they are minus the total mass multiplied by the inner product of the link vector \(l_{i}\) and the principal vector of link \(j\) pointing towards the link. They are zero if the two vectors are perpendicular to each other. The skew-symmetric coefficients of the convective inertia terms, \(C_{jk}\), are given by

$$ \begin{aligned} C_{11} &= C_{22} = C_{33} = 0, \\ C_{12} &= -C_{21} = m_{\mathrm{tot}} \langle i \bar{l}_{1}, \bar{a}_{21} \rangle , \\ C_{13} &= -C_{31} = m_{\mathrm{tot}} \langle i \bar{l}_{1}, \bar{a}_{32} \rangle , \\ C_{23} &= -C_{32} = m_{\mathrm{tot}} \langle i \bar{l}_{2}, \bar{a}_{32} \rangle . \end{aligned} $$
(23)

There are no couplings in the angular velocities in the convective inertia terms because the absolute rotation angles of the links are taken as coordinates, so the acceleration of a vector only contains the angular velocity of the link to which this vector belongs. The skew symmetry comes from the fact that the vectors in the inner products change place, but the factor \(i\) remains at the first term, so, because for general vectors \(\bar{x}\) and \(\bar{y}\) we have \(\langle i\bar{x}, \bar{y} \rangle = - \langle i\bar{y}, \bar{x} \rangle \), the terms change their sign and the matrix becomes skew-symmetric. The coefficients for the reaction forces, \(D_{jx}\) and \(D_{jy}\), are

$$ D_{jx} = -l_{j} \sin \theta _{j}, \qquad D_{jy} = l_{j} \cos \theta _{j} \quad (j=1,2,3). $$
(24)

The generalized applied forces, \(Q_{j}\), are given by

$$ \begin{aligned} Q_{1} &= M_{1} - \bigl\langle i\bar{a}_{14}', \bar{F}_{1} \bigr\rangle - \frac{m _{2}+m_{3}}{m_{1}} \langle i \bar{a}_{12}, \bar{F}_{1} \rangle + \langle i \bar{l}_{1}, \bar{F}_{2} + \bar{F}_{3} \rangle , \\ Q_{2} &= M_{2} - \frac{m_{1}+m_{2}}{m_{2}} \langle i \bar{a}_{21}, \bar{F}_{2} \rangle - \frac{m_{3}}{m_{2}} \langle i\bar{a}_{23}, \bar{F}_{2} \rangle + \langle i \bar{l}_{2}, \bar{F}_{3} \rangle , \\ Q_{3} &= M_{3} - \frac{m_{\mathrm{tot}}}{m_{3}} \langle i \bar{a}_{32}, \bar{F}_{3} \rangle . \end{aligned} $$
(25)

These are the moments on the links about their first joint with the forces on the links connected to the second joint shifted towards this second joint.

The constraint equations to enforce the connection of the joint \(\mathrm{A}_{3}\) to the ground are

$$ \bar{l}_{1} + \bar{l}_{2} + \bar{l}_{3} = -\bar{l}_{4} . $$
(26)

Differentiating these constraints two times with respect to time yields the constraints on the accelerations,

$$ \bar{l}_{1} \bigl(i\ddot{\theta }_{1}- \dot{\theta }_{1}^{2} \bigr) + \bar{l}_{2} \bigl(i \ddot{\theta }_{2}-\dot{\theta }_{2}^{2} \bigr) + \bar{l}_{3} \bigl(i \ddot{ \theta }_{3}-\dot{\theta }_{3}^{2} \bigr) = \bar{0} . $$
(27)

The five scalar equations (22) and (28) form a system of differential-algebraic equations that can be solved for the three unknown accelerations, that is, the three angular accelerations \(\ddot{\theta }_{k}\)\((k=1,2,3)\), and the two components of the reaction forces, \(R_{\mathrm{A}3x}\) and \(R_{\mathrm{A}3y}\), as these equations are linear in these five unknowns. Once the three angles of the links and their velocities and accelerations are known, together with the reaction force at \(\mathrm{A}_{3}\), the reaction force at \(\mathrm{A} _{0}\) can be found from the equation of motion of the centre of mass,

$$ m_{\mathrm{tot}} \ddot{\bar{r}}_{\mathrm{S}} = \bar{F}_{1} + \bar{F} _{2} + \bar{F}_{3} - \bar{R}_{\mathrm{A0}} - \bar{R}_{\mathrm{A3}} , $$
(28)

where \(\ddot{\bar{r}}_{\mathrm{S}}\) follows from Eq. (16) and \(\bar{R}_{\mathrm{A0}}\) is the force of the mechanism on the foundation at \(\mathrm{A}_{0}\) as shown in Fig. 1.

Alternatively, a single equation of motion can be obtained by multiplying the second equation of (22) by \(\varTheta _{2}\) and the third equation by \(\varTheta _{3}\) and adding these to the first equation, which eliminates the constraint forces and yields the equation of motion of the mechanism in \(\theta _{1}\) if the expressions for the dependent quantities are substituted. The reaction forces can then be found by substituting the accelerations in the original differential-algebraic equations.

4 Closed kinematic loop approach with equivalent mass formulations

In this section, a different way of using the principal vectors is shown and two methods to represent the mass distribution are presented. In the first method, the linear momentum of the centre of mass of a link is replaced by two linear momenta at the joints by means of a complex mass representation, which do not contribute to the moment of inertia. In the second method, the mass is represented by a mass matrix, which is only related to the translations of the joints. The methods have in common that the kinematic loop is not opened and no explicit constraint forces appear in the equations.

4.1 Method of complex joint masses

Let us consider a general binary planar link \(k\), which can be any link of the four-bar linkage in the present context, with joints \(p\) and \(q\) having the respective position vectors \(\bar{r}_{p}\) and \(\bar{r}_{q}\). The vector connecting the joints is \(\bar{l}_{k} = \bar{r}_{q} - \bar{r}_{p}\) with a length \(l_{k}\) and the position of the centre of mass relative to \(\bar{l}_{k}\) and \(\bar{r}_{p}\) is given by \(\bar{s}_{k}\), as in Fig. 1, so the absolute position of the centre of mass can be written as \(\bar{r}_{k} = \bar{r}_{p} + \bar{s} _{k} \bar{l}_{k}/l_{k}\). If we multiply the position of the centre of mass with the mass of the link, \(m_{k}\), we obtain an expression for the centre of mass of a link in terms of the positions of the two joints at its ends,

$$ m_{k} \bar{r}_{k} = m_{k} \bar{r}_{p} + m_{k} \bar{s}_{k} \bar{l}_{k}/l _{k} = m_{k}(1-\bar{s}_{k}/l_{k}) \bar{r}_{p} + m_{k} (\bar{s}_{k}/l _{k}) \bar{r}_{q} . $$
(29)

For convenience, the position of the centre of mass of the link is written in terms of two distances as \(\bar{s}_{k} = e_{k} + i f_{k}\), where \(e_{k}\) is the real part, or the distance along the line connecting the two joints, and \(f_{k}\) from the imaginary part is the distance with the appropriate sign to the line connecting the two joints of the link, as is shown for link 2 in Fig. 3. The result in Eq. (30) can be interpreted as the expression for determining the centre of mass from two equivalent complex masses at the joints, \(\bar{m}_{kp} = m_{k}(1-\bar{s}_{k}/l_{k}) = m_{k}(1 - e_{k}/l_{k}) - i m_{k} f_{k}/l_{k}\) and \(\bar{m}_{kq} = m_{k} \bar{s}_{k}/l_{k} = m _{k} e_{k}/l_{k} + i m_{k} f_{k}/l_{k}\), whose sum is \(m_{k}\). This representation by equivalent complex masses was first proposed by Freudenstein [8]. The application to shaking force balancing was later called the complex mass method [9]. In the case that the centre of mass of the link is on the line connecting the two revolute joints, so \(f_{k}=0\), these are the two usual real equivalent masses, one in each joint. In the general case we have a real mass \(m_{k}^{\mathrm{a}} = m_{k}(1 - e_{k}/l_{k})\) and an imaginary mass \(-im_{k}^{\mathrm{c}} = -im_{k} f_{k}/l_{k}\) at node \(p\) and a real mass \(m_{k}^{\mathrm{b}} = m_{k} e_{k}/l_{k}\) and an imaginary mass \(im_{k}^{\mathrm{c}}\) at node \(q\), as was introduced in [5, 6]. There, \(m_{k}^{\mathrm{a}}\) and \(m_{k}^{\mathrm{b}}\) were called real equivalent masses and \(m_{k}^{\mathrm{c}}\) a virtual equivalent mass. With these three equivalent masses, a graphical construction of modelling the masses of open- and closed-loop kinematic chains was presented and applied for the determination of the principal points. The linear momentum can be found by differentiating Eq. (30) with respect to time and can be interpreted as consisting of two contributions of the equivalent complex masses at the joints. The real part of the complex mass gives a linear momentum in the same direction as the velocity vector at the joint, but the imaginary part gives a linear momentum that is perpendicular to the direction of the velocity vector.

It should be stressed that no equivalence for the angular momentum can exist if \(f_{k}\) is not zero: a velocity \(v\) of the centre of mass in the direction of the link vector gives rise to an angular momentum for the equivalent masses, \(2m_{k} f_{k} v\), which cannot be compensated for by adjusting the moment of inertia of the link, so there is no dynamical equivalence. In the special case that \(f_{k}=0\), a reduced moment of inertia \(I_{k,\mathrm{red}} = I_{k} - m_{k} e_{k}(l_{k}-e_{k})\) gives a dynamically equivalent model.

In Fig. 4, a new way to apply the principal vectors for the analysis of the four-bar linkage is presented. Here the principal vector system is located about the frame, including links 1, 3 and 4, and the graphical construction traces the centre of mass, S, of the combination of links 1, 2 and 3 for all motions of the four-bar linkage. The principal points in this case are \(\mathrm{P}_{1}\), \(\mathrm{P}_{3}\) and \(\mathrm{P}_{4}\), of which the first two are not the same as their namesakes in Figs. 2 and 3. Also the principal vectors \(\bar{a}_{14}\), \(\bar{a} _{41}\), \(\bar{a}_{43}\) and \(\bar{a}_{34}\) are a new set.

Fig. 4
figure 4

New method for analysis with a principal vector system about the frame

The locations of the principal points and the principal vectors can be calculated by using the complex equivalent mass description. As explained, the coupler mass \(m_{2}\) can be redistributed by an equivalent complex mass \(m_{2}(1-\bar{s}_{2}/l_{2})=m_{2}^{\mathrm{a}}-im _{2}^{\mathrm{c}}\) in \(\mathrm{A}_{1}\) and another equivalent complex mass \(m_{2}\bar{s}_{2}/l_{2}=m_{2}^{\mathrm{b}}+im_{2}^{\mathrm{c}}\) in \(\mathrm{A} _{2}\). The projection of these masses on the links 1, 3 and 4 was presented graphically in [5, 6] and is shown in Fig. 5. Here a real equivalent mass \(m_{2}^{\mathrm{a}}\) is located in \(\mathrm{A}_{1}\), a real equivalent mass \(m_{2}^{\mathrm{b}}\) is located in \(\mathrm{A}_{2}\) and a virtual equivalent mass \(m_{2}^{\mathrm{c}}\) is located twice about each principal point as illustrated. With the methods fully explained in these references, the principal points are found as the centres of mass of the three resulting reduced mass models in a way that is similar in form to the method without equivalent masses. The results can be rewritten in terms of complex vectors as

$$ \begin{aligned} m_{\mathrm{tot}} \bar{a}_{14} &= - \bigl[ m_{1} \bar{s}_{1}/l_{1} + m _{2}(1-\bar{s}_{2}/l_{2}) \bigr] \bar{l}_{1} = - \bigl( m_{1} \bar{s} _{1}/l_{1} + m_{2}^{\mathrm{a}} - i m_{2}^{\mathrm{c}} \bigr) \bar{l} _{1} , \\ m_{\mathrm{tot}} \bar{a}_{41} &= ( m_{2} \bar{s}_{2}/l_{2} + m_{3} ) \bar{l}_{4} = \bigl( m_{2}^{\mathrm{b}} + i m_{2}^{\mathrm{c}} + m_{3} \bigr) \bar{l}_{4} , \\ m_{\mathrm{tot}} \bar{a}_{43} &= - \bigl[ m_{1} + m_{2}(1-\bar{s}_{2}/l _{2}) \bigr] \bar{l}_{4} = - \bigl( m_{1} + m_{2}^{\mathrm{a}} - i m_{2} ^{\mathrm{c}} \bigr) \bar{l}_{4} , \\ m_{\mathrm{tot}} \bar{a}_{34} &= \bigl[ m_{2} \bar{s}_{2}/l_{2} + m_{3}(1- \bar{s}_{3}/l_{3}) \bigr] \bar{l}_{3} = \bigl( m_{2}^{\mathrm{b}} + i m _{2}^{\mathrm{c}} + m_{3}(1-\bar{s}_{3}/l_{3}) \bigr) \bar{l}_{3} . \end{aligned} $$
(30)

Clearly, \(\bar{l}_{4} = \bar{a}_{41} - \bar{a}_{43}\). The derived vectors \(\bar{a}_{12}'\) and \(\bar{a}_{32}'\) are obtained from

$$ \begin{aligned} m_{\mathrm{tot}} \bar{a}_{12}' &= m_{\mathrm{tot}}( \bar{a}_{14} + \bar{l}_{1}) = \bigl[ m_{1}(1- \bar{s}_{1}/l_{1}) + m_{2}^{\mathrm{b}} + i m_{2}^{\mathrm{c}} + m_{3} \bigr] \bar{l}_{1} , \\ m_{\mathrm{tot}} \bar{a}_{32}' &= m_{\mathrm{tot}}(\bar{a}_{34} - \bar{l}_{3}) = - \bigl[ m_{1} + m_{2}^{\mathrm{a}} - i m_{2}^{ \mathrm{c}} + m_{3}\bar{s}_{3}/l_{3} \bigr] \bar{l}_{3} . \end{aligned} $$
(31)
Fig. 5
figure 5

Projections of the real equivalent masses \(m_{2}^{\mathrm{a}}\) and \(m_{2}^{\mathrm{b}}\) and the virtual equivalent mass \(m_{2}^{\mathrm{c}}\) onto the principal vector system to mass equivalently model the coupler link 2

The centre of mass of the system, \(\mathrm{S}\), can be found from the parallelogram construction shown in Fig. 4. The correctness of this construction can easily be seen by writing the position of the centre of mass of the system starting from one of the joints or principal points. The position of the centre of mass of the linkage S in terms of the principal vectors is

$$ \bar{r}_{\mathrm{S}} = -\bar{a}_{14} - \bar{a}_{41} - \bar{a}_{34} . $$
(32)

This can be compared with Eq. (16), where the same vector is expressed in terms of a different set of vectors. The vectors locating the centres of mass multiplied by their respective masses of the movable links expressed in the principal vectors and the derived vectors become

$$ \begin{aligned} m_{1} \bar{r}_{1} &= -\bigl(m_{1} + m_{2}^{\mathrm{b}} + i m_{2}^{ \mathrm{c}} + m_{3}\bigr) \bar{a}_{14} - \bigl(m_{2}^{\mathrm{a}} - i m_{2}^{ \mathrm{c}}\bigr) \bar{a}_{12}' , \\ m_{2} \bar{r}_{2} &= \bar{l}_{1} \bigl(m_{2}^{\mathrm{a}} - i m_{2}^{ \mathrm{c}} \bigr) + (-\bar{l}_{4} - \bar{l}_{3}) \bigl(m_{2}^{\mathrm{b}} + i m _{2}^{\mathrm{c}} \bigr) , \\ m_{3} \bar{r}_{3} &= -m_{3} \bar{l}_{4} - \bigl(m_{1} + m_{2}^{\mathrm{a}} - i m_{2}^{\mathrm{c}} + m_{3}\bigr) \bar{a}_{34} - \bigl(m_{2}^{\mathrm{b}} + i m _{2}^{\mathrm{c}}\bigr) \bar{a}_{32}' . \end{aligned} $$
(33)

From Eq. (34), the virtual displacements are found as

$$ \begin{aligned} m_{1} \updelta \bar{r}_{1} &= - \bigl[ \bigl(m_{1} + m_{2}^{\mathrm{b}} + i m _{2}^{\mathrm{c}} + m_{3}\bigr) \bar{a}_{14} + \bigl(m_{2}^{\mathrm{a}} - i m _{2}^{\mathrm{c}}\bigr) \bar{a}_{12}' \bigr] i \updelta {\theta }_{1} , \\ m_{2} \updelta \bar{r}_{2} &= \bar{l}_{1} \bigl(m_{2}^{\mathrm{a}} - i m_{2} ^{\mathrm{c}} \bigr) i\updelta {\theta }_{1} - \bar{l}_{3} \bigl(m_{2}^{ \mathrm{b}} + i m_{2}^{\mathrm{c}} \bigr) i\updelta {\theta }_{3} , \\ m_{3} \updelta \bar{r}_{3} &= - \bigl[ \bigl(m_{1} + m_{2}^{\mathrm{a}} - i m _{2}^{\mathrm{c}} + m_{3}\bigr) \bar{a}_{34} + \bigl(m_{2}^{\mathrm{b}} + i m _{2}^{\mathrm{c}} \bigr) \bar{a}_{32}' \bigr] i \updelta {\theta }_{3} . \end{aligned} $$
(34)

Two differentiations with respect to time give the accelerations,

$$ \begin{aligned} m_{1} \ddot{ \bar{r}}_{1} &= - \bigl[ \bigl(m_{1} + m_{2}^{\mathrm{b}} + i m _{2}^{\mathrm{c}} + m_{3}\bigr) \bar{a}_{14} + \bigl(m_{2}^{\mathrm{a}} - i m _{2}^{\mathrm{c}}\bigr) \bar{a}_{12}' \bigr] \bigl(i \ddot{\theta }_{1} - \dot{\theta }_{1}^{2} \bigr) , \\ m_{2} \ddot{\bar{r}}_{2} &= \bar{l}_{1} \bigl(m_{2}^{\mathrm{a}} - i m_{2} ^{\mathrm{c}} \bigr) \bigl(i\ddot{\theta }_{1} - \dot{\theta }_{1}^{2} \bigr) - \bar{l}_{3} \bigl(m_{2}^{\mathrm{b}} + i m_{2}^{\mathrm{c}}\bigr) \bigl(i \ddot{\theta }_{3} - \dot{\theta }_{3}^{2}\bigr) , \\ m_{3} \ddot{\bar{r}}_{3}& = - \bigl[ \bigl(m_{1} + m_{2}^{\mathrm{a}} - i m _{2}^{\mathrm{c}} + m_{3}\bigr) \bar{a}_{34} + \bigl(m_{2}^{\mathrm{b}} + i m _{2}^{\mathrm{c}} \bigr) \bar{a}_{32}' \bigr] \bigl(i \ddot{\theta }_{3} - \dot{\theta }_{3}^{2}\bigr) . \end{aligned} $$
(35)

The equations of motion are again obtained from the virtual work expression (21), without the explicit contribution of the constraint forces, which leads to the equations of motion having the form

$$ \sum_{k=1}^{3} \bigl( M_{jk} \ddot{\theta }_{k} + C_{jk} \dot{ \theta } _{k}^{2} \bigr) = Q_{j} + Q_{j}^{\mathrm{c}} \quad (j=1,2,3), $$
(36)

where \(Q_{j}^{\mathrm{c}}\) are the generalized constraint forces, which will be eventually eliminated. The non-zero entries of the mass matrix now become (\(s_{3}'\) is the distance of the centre of mass of link 3 to the joint \(\mathrm{A}_{3}\))

$$\begin{aligned} & M_{12} = M_{21} = M_{23} = M_{32} = 0, \\ & M_{11} = I_{1} + \bigl(a_{14}^{2}/m_{1} \bigr) \bigl[ \bigl(m_{1} + m_{2}^{\mathrm{b}} + m_{3}\bigr)^{2} + \bigl(m_{2}^{\mathrm{c}} \bigr)^{2} \bigr] \\ &\phantom{M_{11} =}{} + \bigl[ \bigl(a_{12}'\bigr)^{2}/m_{1} + l_{1}^{2}/m_{2} \bigr] \bigl[ \bigl(m_{2}^{ \mathrm{a}}\bigr)^{2} + \bigl(m_{2}^{\mathrm{c}}\bigr)^{2} \bigr] \\ &\phantom{M_{11} =}{} + 2 \bigl\langle \bigl(m_{1}+m_{2}^{\mathrm{b}}+im_{2}^{\mathrm{c}}+m_{3} \bigr) \bar{a}_{14}, \bigl(m_{2}^{\mathrm{a}} - im_{2}^{\mathrm{c}}\bigr) \bar{a}_{12}' \bigr\rangle /m_{1} \\ &\phantom{M_{11}}{}= I_{1} + m_{1} s_{1}^{2} + l_{1}^{2} \bigl[ \bigl(m_{2}^{\mathrm{a}} \bigr)^{2} + \bigl(m_{2}^{\mathrm{c}} \bigr)^{2} \bigr] /m_{2} , \\ & \begin{aligned} M_{13} & = M_{31} = - \bigl\langle \bigl(m_{2}^{\mathrm{a}}-im_{2}^{ \mathrm{c}} \bigr)\bar{l}_{1}, \bigl(m_{2}^{\mathrm{b}} + i m_{2}^{\mathrm{c}}\bigr) \bar{l}_{3} \bigr\rangle /m_{2} \\ & = l_{1} l_{3} \bigl[ m_{2}^{\mathrm{c}}m_{2} \sin (\theta _{3}-\theta _{1}) - \bigl(m_{2}^{\mathrm{a}}m_{2}^{\mathrm{b}}-m_{2}^{\mathrm{c}}m_{2} ^{\mathrm{c}}\bigr) \cos (\theta _{3}-\theta _{1}) \bigr]/m_{2} , \end{aligned} \end{aligned}$$
(37)
$$ \begin{aligned} M_{22} & = I_{2}, \\ M_{33} & = I_{3} + \bigl(a_{34}^{2}/m_{3} \bigr) \bigl[ \bigl(m_{1} + m_{2}^{\mathrm{a}} + m_{3}\bigr)^{2} + \bigl(m_{2}^{\mathrm{c}} \bigr)^{2} \bigr] \\ &\quad{} + \bigl[ \bigl(a_{32}'\bigr)^{2}/m_{3} + l_{3}^{2}/m_{2} \bigr] \bigl[ \bigl(m_{2}^{ \mathrm{b}}\bigr)^{2} + \bigl(m_{2}^{\mathrm{c}}\bigr)^{2} \bigr] \\ &\quad{} + 2 \bigl\langle \bigl(m_{1}+m_{2}^{\mathrm{a}}-im_{2}^{\mathrm{c}}+m_{3} \bigr) \bar{a}_{34}, \bigl(m_{2}^{\mathrm{b}} + i m_{2}^{\mathrm{c}}\bigr) \bar{a}_{32}' \bigr\rangle /m_{3} \\ & = I_{3} + m_{3} \bigl( s_{3}' \bigr)^{2} + l_{3}^{2} \bigl[ \bigl(m_{2}^{ \mathrm{b}}\bigr)^{2} + \bigl(m_{2}^{\mathrm{c}}\bigr)^{2} \bigr] /m_{2} . \end{aligned} $$

The only two non-zero terms in \(C_{jk}\) are \(C_{13}\) and \(C_{31} = -C _{13}\),

$$ \begin{aligned}[b] C_{13} & = \bigl\langle \bigl(im_{2}^{\mathrm{a}} + m_{2}^{\mathrm{c}} \bigr) \bar{l}_{1}, \bigl(m_{2}^{\mathrm{b}} + i m_{2}^{\mathrm{c}}\bigr) \bar{l}_{3} \bigr\rangle /m_{2} \\ & = l_{1} l_{3} \bigl[ m_{2}^{\mathrm{c}}m_{2} \cos (\theta _{3}-\theta _{1}) + \bigl(m_{2}^{\mathrm{a}}m_{2}^{\mathrm{b}}-m_{2}^{\mathrm{c}}m_{2} ^{\mathrm{c}}\bigr) \sin (\theta _{3}-\theta _{1}) \bigr]/m_{2} . \end{aligned} $$
(38)

Note that there are off-diagonal terms in the mass matrix and the convective inertia terms, so the replacement of the mass of link 2 by complex masses at the nodes does not necessarily lead to a full dynamic equivalence. The generalized applied forces are given by

$$ \begin{aligned} Q_{1} &= M_{1} - \bigl\langle i \bigl[ \bigl(m_{1} + m_{2}^{\mathrm{b}} + i m _{2}^{\mathrm{c}} + m_{3} \bigr) \bar{a}_{14} + \bigl(m_{2}^{\mathrm{a}} - i m_{2}^{\mathrm{c}}\bigr) \bar{a}_{12}' \bigr], \bar{F}_{1}/m_{1} \bigr\rangle \\ &\quad{} + \bigl\langle i \bigl(m_{2}^{\mathrm{a}} - i m_{2}^{\mathrm{c}}\bigr) \bar{l}_{1}, \bar{F}_{2}/m_{2} \bigr\rangle \\ & = M_{1} - s_{1} F_{1x} \sin (\theta _{1}+\sigma _{1}) + s_{1} F_{1y} \cos (\theta _{1}+\sigma _{1}) \\ &\quad{} - l_{1} \bigl(m_{2}^{\mathrm{a}} F_{2x} - m_{2}^{\mathrm{c}} F_{2y}\bigr) \sin \theta _{1}/m_{2} + l_{1} \bigl(m_{2}^{\mathrm{a}} F_{2y} + m_{2}^{ \mathrm{c}} F_{2x}\bigr) \cos \theta _{1}/m_{2}, \\ Q_{2} & = M_{2} , \\ Q_{3} & = M_{3} + \bigl\langle -i \bar{l}_{3} \bigl(m_{2}^{\mathrm{b}} + i m_{2} ^{\mathrm{c}} \bigr), \bar{F}_{2}/m_{2} \bigr\rangle \\ &\quad{} - \bigl\langle i \bigl(m_{1} + m_{2}^{\mathrm{a}} - i m_{2}^{\mathrm{c}} + m _{3}\bigr) \bar{a}_{34} + \bigl(m_{2}^{\mathrm{b}} + i m_{2}^{\mathrm{c}}\bigr) \bar{a}_{32}', \bar{F}_{3}/m_{3} \bigr\rangle \\ & = M_{3} - s_{3} F_{3x} \sin (\theta _{3}+\sigma _{3}) + s_{3} F_{3y} \cos (\theta _{3}+\sigma _{3}) \\ &\quad{} + l_{3} \bigl[ F_{3x} + \bigl(m_{2}^{\mathrm{b}} F_{2x} + m_{2}^{\mathrm{c}} F_{2y} \bigr)/m_{2} \bigr] \sin \theta _{3} \\ &\quad{} - l_{3} \bigl[ F_{3y} + \bigl(m_{2}^{ \mathrm{b}} F_{2y} - m_{2}^{\mathrm{c}} F_{2x} \bigr)/m_{2} \bigr] \cos \theta _{3}. \end{aligned} $$
(39)

It is seen that \(Q_{1}\) is the moment of the forces on link 1 with respect to the joint \(\mathrm{A}_{0}\), including the force on link 2 that has been distributed over the joints \(\mathrm{A}_{1}\) and \(\mathrm{A}_{2}\); likewise, \(Q_{3}\) is the moment of the forces on link 3 about the joint \(\mathrm{A}_{3}\), including the contribution of the distributed force of link 2.

The reduced equation of motion, in which the constraint forces have been eliminated, are obtained by multiplying the second equation of (37) by \(\varTheta _{2}\), the third equation of (37) by \(\varTheta _{3}\) and adding the resulting equations. Also, the relations (11) can be used to remove the dependency on \(\theta _{2}\) in a first step of the reduction and then to combine the two remaining equations to a single equation of motion. Finally, the expressions of the dependent angles, angular velocities and angular accelerations can be substituted to obtain a single second-order differential equation in \(\theta _{1}\), the degree of freedom.

The virtual displacements used for the calculation of the reactions are chosen as a virtual displacement of the centre of mass, \(\updelta \bar{r}_{\mathrm{S}}\), and a rotation of the whole system, without changing its relative configuration, about the point \(\mathrm{S}\), denoted by \(\updelta \theta _{\mathrm{S}}\). The corresponding virtual displacements of the centres of mass of the bodies are

$$ \begin{aligned} m_{1} \updelta \bar{r}_{1} &= m_{1} \updelta \bar{r}_{\mathrm{S}} \\ &\quad{} + \bigl[ m_{1} (\bar{a}_{34} + \bar{a}_{41}) - \bigl( m_{2}^{\mathrm{b}} + i m_{2}^{\mathrm{c}} + m_{3} \bigr) \bar{a}_{14} - \bigl(m_{2}^{\mathrm{a}} - i m _{2}^{\mathrm{c}}\bigr) \bar{a}_{12}' \bigr] i\updelta \theta _{\mathrm{S}}, \\ m_{2} \updelta \bar{r}_{2} & = m_{2} \updelta \bar{r}_{\mathrm{S}} \\ &\quad{} + \bigl[ \bigl(\bar{a}_{34} + \bar{a}_{41} + \bar{a}_{12}'\bigr) \bigl(m_{2}^{ \mathrm{a}} - i m_{2}^{\mathrm{c}}\bigr) + \bigl(\bar{a}_{14} + \bar{a}_{43} + \bar{a}_{32}'\bigr) \bigl(m_{2}^{\mathrm{b}} + i m_{2}^{\mathrm{c}} \bigr) \bigr] i \updelta \theta _{\mathrm{S}} , \\ m_{3} \updelta \bar{r}_{3} & = m_{3} \updelta \bar{r}_{\mathrm{S}} \\ &\quad{} + \bigl[ m_{3} (\bar{a}_{14} + \bar{a}_{43}) - \bigl(m_{1}+m_{2}^{ \mathrm{a}} + i m_{2}^{\mathrm{c}}\bigr) \bar{a}_{34} - \bigl(m_{2}^{\mathrm{b}} + i m_{2}^{\mathrm{c}} \bigr) \bar{a}_{32}' \bigr] i \updelta \theta _{ \mathrm{S}} . \end{aligned} $$
(40)

The resultant reaction force and moment are now obtained from the virtual work equation with these variations and the calculated accelerations.

4.2 Method of the equivalent mass matrix

Instead of expressing the positions of the centres of mass of the links in terms of the principal vectors, in this section equivalent mass matrices for the links are derived. For this purpose, the constraint that the distance between the two joints of a link is constant is released. This means that the links are considered to be pseudorigid bodies [16], which are allowed to undergo a uniform dilatation in the plane. A body of this kind can be approximately realized in so-called auxetic metamaterials with a negative value of Poisson’s ratio close to −1 [17]. The joints of the binary link as described above \(p\) and \(q\) have coordinates \(\bar{r}_{p}\) and \(\bar{r}_{q}\), respectively, and define local coordinate axes directed from \(p\) to \(q\) and in the perpendicular direction with their origin at \(p\). The position of a material point of the link is described by the dimensionless coordinates \(\xi \) and \(\eta \), scaled with the distance \(l\) between the points \(p\) and \(q\). In a way similar to Eq. (30), the position of a point in the plane of the link can be expressed as (the index \(k\) for a specific link is omitted here)

$$ \bar{r}(\xi + i\eta ) = (1 - \xi - i\eta ) \bar{r}_{p} + (\xi + i \eta ) \bar{r}_{q}. $$
(41)

The position of the centre of mass of the link is given by \(\xi =e/l\), \(\eta =f/l\), its mass is \(m\), and its moment of inertia with respect to its centre of mass is \(I\). The mass is independent of the deformation, but the moment of inertia scales with the square of \(l\), so \(I/l^{2}\) is constant. The velocity and acceleration of the point, as well as its virtual displacement, are given by

$$\begin{aligned} \dot{\bar{r}}(\xi + i\eta ) &= (1 - \xi - i\eta ) \dot{ \bar{r}}_{p} + ( \xi + i \eta ) \dot{\bar{r}}_{q} , \end{aligned}$$
(42)
$$\begin{aligned} \ddot{\bar{r}}(\xi + i\eta ) &= (1 - \xi - i\eta ) \ddot{ \bar{r}}_{p} + (\xi + i\eta ) \ddot{\bar{r}}_{q} , \end{aligned}$$
(43)
$$\begin{aligned} \updelta \bar{r}(\xi + i\eta ) &= (1 - \xi - i\eta ) \updelta \bar{r} _{p} + (\xi + i\eta ) \updelta \bar{r}_{q} . \end{aligned}$$
(44)

The virtual work due to the inertia terms can be determined by evaluating the integral \(-\int \langle \updelta \bar{r}, \ddot{\bar{r}} \rangle \,\mathrm{d}m\), which yields

$$\begin{aligned} & - \mathrm{Re} [ \updelta r_{px}, \updelta r_{py}, \updelta r_{qx}, \updelta r_{qy} ] \int \left [ \textstyle\begin{array}{c} 1-\xi +i\eta \\ \eta - i(1-\xi ) \\ \xi - i\eta \\ -\eta - i\xi \end{array}\displaystyle \right ] \left [ \textstyle\begin{array}{c} 1-\xi -i\eta \\ \eta + i(1-\xi ) \\ \xi + i\eta \\ -\eta + i\xi \end{array}\displaystyle \right ]^{\mathrm{T}} \,\mathrm{d}m \left [ \textstyle\begin{array}{c} \ddot{r}_{px} \\ \ddot{r}_{py} \\ \ddot{r}_{qx} \\ \ddot{r}_{qy} \end{array}\displaystyle \right ] \\ &\quad = - [ \updelta r_{px}, \updelta r_{py}, \updelta r_{qx}, \updelta r _{qy} ] \left [ \textstyle\begin{array}{c@{\quad }c@{\quad }c@{\quad }c} \frac{I_{q}}{l^{2}} & 0 & -\frac{I_{\mathrm{red}}}{l^{2}} & -m\frac{f}{l} \\ 0 & \frac{I_{q}}{l^{2}} & m\frac{f}{l} & -\frac{I_{\mathrm{red}}}{l^{2}} \\ -\frac{I_{\mathrm{red}}}{l^{2}} & m\frac{f}{l} & \frac{I_{p}}{l^{2}} & 0 \\ -m\frac{f}{l} & -\frac{I_{\mathrm{red}}}{l^{2}} & 0 & \frac{I_{p}}{l^{2}} \end{array}\displaystyle \right ] \left [ \textstyle\begin{array}{c} \ddot{r}_{px} \\ \ddot{r}_{py} \\ \ddot{r}_{qx} \\ \ddot{r}_{qy} \end{array}\displaystyle \right ] \\ & \quad = - [ \updelta r_{px}, \updelta r_{py}, \updelta r_{qx}, \updelta r _{qy} ] \boldsymbol{M}_{\mathrm{e}} \left [ \textstyle\begin{array}{c} \ddot{r}_{px} \\ \ddot{r}_{py} \\ \ddot{r}_{qx} \\ \ddot{r}_{qy} \end{array}\displaystyle \right ] , \end{aligned}$$
(45)

where \(r_{px}\), \(r_{py}\), \(r_{qx}\) and \(r_{qy}\) are the components of the coordinates of the joints in the global \(x\)- and \(y\)-directions, \(I_{p} = I + m (e^{2}+f^{2} )\) and \(I_{q} = I + m ((l-e)^{2}+f ^{2} )\) are the moments of inertia with respect to the joints \(p\) and \(q\) and \(I_{\mathrm{red}} = I - me(l-e) + mf^{2}\) is a reduced moment of inertia. The mass matrix \(\boldsymbol{M}_{\mathrm{e}}\) in Eq. (46) is constant, even when the link can deform, and no terms quadratic in the velocities appear. It is the same mass matrix as the one derived in [10]. The applied forces can be reduced to equivalent forces at the joints. For the case in which the link is rigid, the applied forces in the directions of the global coordinate axes, \(F_{x}\) and \(F_{y}\), and the moment about the centre of mass, \(M\), can be replaced as

$$ \left [ \textstyle\begin{array}{c} F_{px} \\ F_{py} \\ F_{qx} \\ F_{qy} \end{array}\displaystyle \right ] = \left [ \textstyle\begin{array}{c} ( 1-\frac{e}{l} ) F_{x} - \frac{f}{l} F_{y} + \frac{r_{qy}-r _{py}}{l^{2}} M \\ ( 1-\frac{e}{l} ) F_{y} + \frac{f}{l} F_{x} - \frac{r_{qx}-r _{px}}{l^{2}} M \\ \frac{e}{l} F_{x} + \frac{f}{l} F_{y} - \frac{r_{qy}-r_{py}}{l^{2}} M \\ \frac{e}{l} F_{y} - \frac{f}{l} F_{x} + \frac{r_{qx}-r_{px}}{l^{2}} M \end{array}\displaystyle \right ] . $$
(46)

Note that a constant moment gives rise to time-dependent equivalent forces if the orientation of the link changes.

By collecting the terms from the three moving links of the four-bar mechanism, one gets the virtual work equation

$$ [ \updelta r_{\mathrm{A1}x} \ \updelta r_{\mathrm{A1}y} \ \updelta r_{\mathrm{A2}x} \ \updelta r_{\mathrm{A2}y} ] \left \{ \boldsymbol{M} \left [ \textstyle\begin{array}{c} \ddot{r}_{\mathrm{A1}x} \\ \ddot{r}_{\mathrm{A1}y} \\ \ddot{r}_{\mathrm{A2}x} \\ \ddot{r}_{\mathrm{A2}y} \end{array}\displaystyle \right ] - \boldsymbol{F} \right \} = 0, $$
(47)

where the non-zero coefficients of the \(4 \times 4\) mass matrix \(\boldsymbol{M}\) are given by

$$ \begin{aligned} M_{11} &= M_{22} = \frac{I_{1} + m_{1} s_{1}^{2}}{l_{1}^{2}} + \frac{I _{2} + m_{2} ( (l_{2}-e_{2})^{2} + f_{2}^{2} )}{l_{2}^{2}}, \\ \displaystyle M_{13} &= M_{24} = M_{31} = M_{42} = \frac{m_{2} e_{2} (l_{2}-e_{2}) - m_{2} f_{2}^{2} - I_{2}}{l_{2}^{2}}, \\ \displaystyle M_{14} &= -M_{23} = -M_{32} = M_{41} = - \frac{m_{2} f_{2}}{l_{2}}, \\ \displaystyle M_{33} &= M_{44} = \frac{I_{2} + m_{2} s_{2}^{2}}{l_{2}^{2}} + \frac{I _{3} + m_{3} ( (l_{3}-e_{3})^{2} + f_{3}^{2} )}{l_{3}^{2}}, \end{aligned} $$
(48)

and the components of the force vector \(\boldsymbol{F}\) are given by

$$ \begin{aligned} \displaystyle F_{1} &= \frac{e_{1}}{l_{1}} F_{1x} + \frac{f_{1}}{l_{1}} F_{1y} - \frac{r _{\mathrm{A1}y}-r_{\mathrm{A0}y}}{l_{1}^{2}} M_{1} + \biggl( 1- \frac{e _{2}}{l_{2}} \biggr) F_{2x} - \frac{f_{2}}{l_{2}} F_{2y} + \frac{r_{ \mathrm{A2}y}-r_{\mathrm{A1}y}}{l_{2}^{2}} M_{2} , \\ \displaystyle F_{2} &= \frac{e_{1}}{l_{1}} F_{1y} - \frac{f_{1}}{l_{1}} F_{1x} + \frac{r _{\mathrm{A1}x}-r_{\mathrm{A0}x}}{l_{1}^{2}} M_{1} + \biggl( 1-\frac{e _{2}}{l_{2}} \biggr) F_{2y} + \frac{f_{2}}{l_{2}} F_{2x} - \frac{r_{ \mathrm{A2}x}-r_{\mathrm{A1}x}}{l_{2}^{2}} M_{2} , \\ \displaystyle F_{3} &= \frac{e_{2}}{l_{2}} F_{2x} + \frac{f_{2}}{l_{2}} F_{2y} - \frac{r _{\mathrm{A2}y}-r_{\mathrm{A1}y}}{l_{2}^{2}} M_{2} + \biggl( 1-\frac{e _{3}}{l_{3}} \biggr) F_{3x} - \frac{f_{3}}{l_{3}} F_{3y} + \frac{r_{ \mathrm{A3}y}-r_{\mathrm{A2}y}}{l_{3}^{2}} M_{3} , \\ \displaystyle F_{4} &= \frac{e_{2}}{l_{2}} F_{2y} - \frac{f_{2}}{l_{2}} F_{2x} + \frac{r _{\mathrm{A2}x}-r_{\mathrm{A1}x}}{l_{2}^{2}} M_{2} + \biggl( 1-\frac{e _{3}}{l_{3}} \biggr) F_{3y} + \frac{f_{3}}{l_{3}} F_{3x} - \frac{r_{ \mathrm{A3}x}-r_{\mathrm{A2}x}}{l_{3}^{2}} M_{3} . \end{aligned} $$
(49)

The position coordinates of the movable joints and their virtual variations are

$$ \left [ \textstyle\begin{array}{c} r_{\mathrm{A1}x} \\ r_{\mathrm{A1}y} \\ r_{\mathrm{A2}x} \\ r_{\mathrm{A2}y} \end{array}\displaystyle \right ] = \left [ \textstyle\begin{array}{c} l_{1}\cos \theta _{1} \\ l_{1}\sin \theta _{1} \\ l_{4} - l_{3}\cos \theta _{3} \\ -l_{3}\sin \theta _{3} \end{array}\displaystyle \right ] , \qquad \left [ \textstyle\begin{array}{c} \updelta r_{\mathrm{A1}x} \\ \updelta r_{\mathrm{A1}y} \\ \updelta r_{\mathrm{A2}x} \\ \updelta r_{\mathrm{A2}y} \end{array}\displaystyle \right ] = \left [ \textstyle\begin{array}{c} -l_{1}\updelta \theta _{1} \sin \theta _{1} \\ l_{1}\updelta \theta _{1} \cos \theta _{1} \\ l_{3}\varTheta _{3} \updelta \theta _{1} \sin \theta _{3} \\ -l_{3}\varTheta _{3} \updelta \theta _{1} \cos \theta _{3} \end{array}\displaystyle \right ] , $$
(50)

and the accelerations are given by

$$ \left [ \textstyle\begin{array}{c} \ddot{r}_{\mathrm{A1}x} \\ \ddot{r}_{\mathrm{A1}y} \\ \ddot{r}_{\mathrm{A2}x} \\ \ddot{r}_{\mathrm{A2}y} \end{array}\displaystyle \right ] = \left [ \textstyle\begin{array}{c} -l_{1}\ddot{\theta }_{1} \sin \theta _{1} - l_{1}\dot{\theta }_{1}^{2} \cos \theta _{1} \\ l_{1}\ddot{\theta }_{1} \cos \theta _{1} - l_{1}\dot{\theta }_{1}^{2} \sin \theta _{1} \\ l_{3}\ddot{\theta }_{3} \sin \theta _{3} + l_{3}\dot{\theta }_{3}^{2} \cos \theta _{3} \\ -l_{3}\ddot{\theta }_{3} \cos \theta _{3} + l_{3}\dot{\theta }_{3}^{2} \sin \theta _{3} \end{array}\displaystyle \right ] , $$
(51)

where the expression for \(\dot{\theta }_{3}\) from Eqs. (6) and (7) and the expression for \(\ddot{\theta }_{3}\) from Eq. (10) have to be substituted. The equation of motion can be obtained by substituting these expressions into the virtual work equation (48). The angular acceleration \(\ddot{\theta }_{1}\) can be obtained from this and all dependent accelerations can be calculated.

The reaction forces can be obtained if variations of the coordinates of the fixed joints are taken and the reaction forces are introduced as

$$ [ \updelta r_{\mathrm{A0}x} \ \updelta r_{\mathrm{A0}y} \ \updelta r_{\mathrm{A3}x} \ \updelta r_{\mathrm{A3}y} ] \left \{ \boldsymbol{M}_{ \mathrm{r}} \left [ \textstyle\begin{array}{c} \ddot{r}_{\mathrm{A1}x} \\ \ddot{r}_{\mathrm{A1}y} \\ \ddot{r}_{\mathrm{A2}x} \\ \ddot{r}_{\mathrm{A2}y} \end{array}\displaystyle \right ] - \boldsymbol{F}_{\mathrm{r}} \right \} = 0, $$
(52)

where the non-zero coefficients of the \(4 \times 4\) mass matrix \(\boldsymbol{M}_{\mathrm{r}}\) are given by

$$ \begin{aligned} \displaystyle M_{\mathrm{r,11}} &= M_{\mathrm{r,22}} = \frac{m_{1} e_{1} (l_{1}-e _{1}) - m_{1} f_{1}^{2} - I_{1}}{l_{1}^{2}}, \\ \displaystyle M_{\mathrm{r,12}} &= -M_{\mathrm{r,21}} = - \frac{m_{1} f_{1}}{l_{1}}, \\ \displaystyle M_{\mathrm{r,33}} &= M_{\mathrm{r,44}} = \frac{m_{3} e_{3} (l_{3}-e _{3}) - m_{3} f_{3}^{2} - I_{3}}{l_{3}^{2}}, \\ \displaystyle M_{\mathrm{r,34}} &= -M_{\mathrm{r,43}} = \frac{m_{3} f_{3}}{l_{3}}, \end{aligned} $$
(53)

and the components of the force vector \(\boldsymbol{F}_{\mathrm{r}}\) are given by

$$ \begin{aligned} \displaystyle F_{\mathrm{r,1}} & = \biggl( 1-\frac{e_{1}}{l_{1}} \biggr) F_{1x} - \frac{f _{1}}{l_{1}} F_{1y} + \frac{r_{\mathrm{A1}y}-r_{\mathrm{A0}y}}{l_{1} ^{2}} M_{1} - R_{\mathrm{A0}x} , \\ \displaystyle F_{\mathrm{r,2}} &= \biggl( 1-\frac{e_{1}}{l_{1}} \biggr) F_{1y} + \frac{f _{1}}{l_{1}} F_{1x} - \frac{r_{\mathrm{A1}x}-r_{\mathrm{A0}x}}{l_{1} ^{2}} M_{1} - R_{\mathrm{A0}y} , \\ \displaystyle F_{\mathrm{r,3}} &= \frac{e_{3}}{l_{3}} F_{3x} + \frac{f_{3}}{l_{3}} F _{3y} - \frac{r_{\mathrm{A3}y}-r_{\mathrm{A2}y}}{l_{3}^{2}} M_{3} - R _{\mathrm{A3}x} , \\ \displaystyle F_{\mathrm{r,4}} &= \frac{e_{3}}{l_{3}} F_{3y} - \frac{f_{3}}{l_{3}} F _{3x} + \frac{r_{\mathrm{A3}x}-r_{\mathrm{A2}x}}{l_{3}^{2}} M_{3} - R _{\mathrm{A3}y} . \end{aligned} $$
(54)

By taking appropriate combinations of variations, the reaction forces, or their resultant force and moment, can be obtained.

5 Application to multibody system dynamics

5.1 Truss element

The mass matrix in Eq. (46) can be used to specify the mass properties of a planar truss element. This element as illustrated in Fig. 6(a) has two nodal points, \(p\) and \(q\), with their Cartesian positions as the nodal coordinates, \(\boldsymbol{x} = [r_{px}, r _{py}, r_{qx}, r_{qy}]^{\mathrm{T}}\), and its elongation as its only generalized strain, \(\varepsilon _{1} = l - l_{0} = \sqrt{(r_{qx}-r _{px})^{2}+(r_{qy}-r_{py})^{2}} - l_{0}\), where \(l_{0}\) is the reference length. This truss element was applied in the context of multibody system dynamics by van der Werff [18]. This element with the present extended mass matrix allows us to model the four-bar system with only three truss elements instead of three (or more) beam elements, which improves the efficiency of the calculations. However, the applied forces and moments have to be replaced by nodal forces as described in Eq. (47). The equations of motion are fully equivalent to Eq. (48). The rotation angles \(\theta \) are not directly available as results of calculations, but they can be extracted from the nodal coordinates of the element by noting

$$ \cos \theta = (r_{qx} - r_{px})/l, \qquad \sin \theta = (r_{qy} - r _{py})/l $$
(55)

and using the two-argument arctangent function. However, in the modelling, a massless rigid beam element is laid over the truss element representing the crank to be able to choose the crank angle as the degree of freedom. This adds one coordinate and two generalized strains to the model. In total, there are nine coordinates (the eight Cartesian coordinates of the joints and the rotation angle of the beam), of which four are fixed to the ground, five generalized strains (one for each truss element and two for the beam element of which one is dependent and can be ignored), and one degree of freedom. For a model with rigid beams only, six rigid beam elements are needed, one for each movable link and one for connecting the centre of mass to each link with mass. This leads to a system with 17 coordinates (14 Cartesian coordinates and three angles), of which four are fixed, twelve generalized strains (two for each beam element) and one degree of freedom. It is seen that the model with the truss elements is smaller and simpler.

Fig. 6
figure 6

Single truss element (a) and the example four-bar mechanism (b)

As an example to verify the equations, dimensions and masses of a four-bar mechanism are chosen as (see Fig. 6(b))

$$ \textstyle\begin{array}{l@{\qquad }l@{\qquad }l@{\qquad }l} l_{1} = 1.0~\mbox{m}, & l_{2} = 3.0~\mbox{m}, & l_{3} = 2.0~\mbox{m}, & l_{4} = 3.2~\mbox{m}, \\ s_{1} = 0.6~\mbox{m}, & \sigma _{1} = 0.3~\mbox{rad}, & m_{1} = 2.1~\mbox{kg}, & I_{1} = 1.1~\mbox{kg}\,\mbox{m}^{2}, \\ s_{2} = 1.45~\mbox{m}, & \sigma _{2} = 0.4~\mbox{rad}, & m_{2} = 3.0~\mbox{kg}, & I_{2} = 3.1~\mbox{kg}\,\mbox{m}^{2}, \\ s_{3} = 1.66~\mbox{m}, & \sigma _{3} = -0.4~\mbox{rad}, & m_{3} = 2.2~\mbox{kg}, & I_{3} = 2.1~\mbox{kg}\,\mbox{m}^{2}, \\ F_{1x} = 1.1~\mbox{N}, & F_{1y} = 1.2~\mbox{N}, & M_{1} = 0.37~\mbox{N}\,\mbox{m}, \\ F_{2x} = 1.3~\mbox{N}, & F_{2y} = -1.4~\mbox{N}, & M_{2} = 0.28~\mbox{N}\,\mbox{m}, \\ F_{3x} = 1.5~\mbox{N}, & F_{3y} = 1.6~\mbox{N}, & M_{3} = 0.19~\mbox{N}\,\mbox{m} . \end{array} $$
(56)

There is no gravity.

The system was modelled in the multibody dynamics program Spacar [11] and the motion was simulated, starting from a rest position with \(\theta _{1} = 1\text{ rad}\) over 5 s. The results for the link angles are shown in Fig. 7 and the reaction forces at the support points are given in Fig. 8. For 501 values of the crank angle and the crank angular velocity obtained by the simulation, the accelerations and reaction forces as obtained by the different methods were checked. All results were in agreement up to truncation errors in the numerics. The initial and final values of the link angles, angular velocities and angular accelerations are given in Table 1.

Fig. 7
figure 7

Angles of the links of the example four-bar mechanism

Fig. 8
figure 8

Components of the reaction forces at the support points for the example four-bar mechanism

Table 1 Initial and final values of the link angles, angular velocities and angular accelerations

5.2 Shaking force balance and shaking moment balance conditions

The conditions for dynamic force balance can be found from the open-loop approach and the principal vectors obtained in it [5], but they become almost trivial if the parallelogram construction for the system with equivalent complex masses in Fig. 4 is considered. The centre of mass S of the linkage remains stationary with respect to the ground link 4 if the principal vectors \(\bar{a}_{14}\) and \(\bar{a}_{34}\) are zero. This gives the conditions

$$ m_{1} \bar{s}_{1}/l_{1} + m_{2}(1-\bar{s}_{2}/l_{2}) =0, \qquad m_{2} \bar{s}_{2}/l_{2} + m_{3}(1-\bar{s}_{3}/l_{3}) =0 , $$
(57)

or written out in scalar form,

$$ \begin{aligned} &m_{1} e_{1}/l_{1} + m_{2} (l_{2}-e_{2})/l_{2} = 0, \qquad m_{1} f_{1}/l _{1} - m_{2} f_{2}/l_{2} = 0, \\ &m_{2} e_{2}/l_{2} + m_{3} (l_{3}-e_{3})/l_{3} = 0, \qquad m_{2} f_{2}/l _{2} - m_{3} f_{3}/l_{3} = 0. \end{aligned} $$
(58)

If the masses of all links are replaced by equivalent masses, these conditions mean that the total equivalent mass at the moving joints must be zero.

On the other hand, the resultant reaction forces or shaking forces can be found from the equations with equivalent mass matrices by taking the same virtual displacements for all joints in Eqs. (48) and (53), which leads, for virtual displacements in the \(x\)- and \(y\)-direction, respectively, to

$$ \begin{aligned} \displaystyle R_{\mathrm{A0}x} + R_{\mathrm{A3}x} &= F_{1x}+F_{2x}+F_{3x} \\ \displaystyle &\quad{} - \biggl[ \frac{m_{1} e_{1}}{l_{1}} + \frac{m_{2} (l_{2}-e_{2})}{l _{2}} \biggr] \ddot{r}_{\mathrm{A1}x} - \biggl[ -\frac{m_{1} f_{1}}{l _{1}} + \frac{m_{2} f_{2}}{l_{2}} \biggr] \ddot{r}_{\mathrm{A1}y} \\ \displaystyle &\quad{} - \biggl[ \frac{m_{2} e_{2}}{l_{2}} + \frac{m_{3} (l_{3}-e_{3})}{l _{3}} \biggr] \ddot{r}_{\mathrm{A2}x} - \biggl[ -\frac{m_{2} f_{2}}{l _{2}} + \frac{m_{3} f_{3}}{l_{3}} \biggr] \ddot{r}_{\mathrm{A2}y} , \\ \displaystyle R_{\mathrm{A0}y} + R_{\mathrm{A3}y} &= F_{1y}+F_{2y}+F_{3y} \\ \displaystyle &\quad{} - \biggl[ \frac{m_{1} f_{1}}{l_{1}} - \frac{m_{2} f_{2}}{l_{2}} \biggr] \ddot{r}_{\mathrm{A1}x} - \biggl[ \frac{m_{1} e_{1}}{l_{1}} + \frac{m_{2} (l_{2}-e_{2})}{l_{2}} \biggr] \ddot{r}_{\mathrm{A1}y} \\ \displaystyle &\quad{} - \biggl[ \frac{m_{2} f_{2}}{l_{2}} - \frac{m_{3} f_{3}}{l_{3}} \biggr] \ddot{r}_{\mathrm{A2}x} - \biggl[ \frac{m_{2} e_{2}}{l_{2}} + \frac{m_{3} (l_{3}-e_{3})}{l_{3}} \biggr] \ddot{r}_{\mathrm{A2}y} . \end{aligned} $$
(59)

This, again, leads to the conditions (59) for which the shaking forces are zero and the mechanism is shaking force balanced.

Also a sufficient condition for the shaking moment balance if the shaking force balance conditions are fulfilled can easily be derived by considering the mass matrix in Eq. (49), which becomes diagonal for the conditions that \(f_{2}=0\) and \(I_{2} = m_{2} e_{2} (l_{2}-e _{2})\). Then also \(f_{1} = f_{3} = 0\), and this results in a reduced moment of inertia of \(I_{1}+m_{1} e_{1}^{2}+m_{2} l_{1}^{2}(1-e_{2}/l _{2}) = I_{1} - m_{1}e_{1}(l_{1}-e_{1})\) on the crank and a reduced moment of inertia of \(m_{2} l_{3}^{2} e_{2}/l_{2}+I_{3}+m_{3}(e_{3}-l _{3})^{2} = I_{3} + m_{3}e_{3}(e_{3}-l_{3})\) on the rocker, of which the shaking moments can be compensated by connecting the crank and the rocker to additional counterrotating masses. The moment balance can be checked by giving the whole linkage a virtual rotation \(\updelta \theta _{0}\) about the origin, \(\mathrm{A}_{0}\). This gives virtual displacements \(\updelta r_{\mathrm{A3}y} = l_{4}\updelta \theta _{0}\), \(\updelta r _{\mathrm{A1}x} = -l_{1}\updelta \theta _{0}\sin \theta _{1}\), \(\updelta r_{\mathrm{A1}y} = l_{1}\updelta \theta _{0}\cos \theta _{1}\), \(\updelta r_{\mathrm{A2}x} = l_{3}\updelta \theta _{0}\sin \theta _{3}\), \(\updelta r_{\mathrm{A2}y} = (l_{4}-l_{3}\cos \theta _{3})\updelta \theta _{0}\). The terms with \(l_{1}\) and \(l_{3}\) give no contribution because of the counterrotating masses. The terms with \(l_{4}\) give a contribution which has a factor \(M_{44}+M_{\mathrm{r,}44}\), which is equal to zero for the considered case. So there are no forces on the supports in the \(y\)-direction and there is no shaking moment. This could be expected from the exact dynamic equivalence of the mass distribution of the coupler with two point masses at the links. These conditions were derived by Berkof [19].

For a force balanced case, the values of \(s_{1}\), \(s_{3}\), \(\sigma _{1}\), and \(\sigma _{3}\) in Eq. (57) are adjusted to fulfil the force balancing conditions. The applied forces and moments are set to zero and the initial conditions are chosen as \(\theta _{1} =1\text{ rad}\), \(\dot{\theta }_{1} = 1\text{ rad}/\text{s}\). The simulations with the program Spacar gave the reaction forces at the supports as shown in Fig. 9. The sum of the forces in the \(x\)-direction as well as the sum of the forces in the \(y\)-direction is zero up to truncation errors in the numerics.

Fig. 9
figure 9

Components of the reaction forces at the support points for the example balanced four-bar mechanism

6 Discussion

If we compare the opened kinematic loop approach in Sect. 3 with the conventional Newton–Euler method, we see that it is almost as simple, but fewer constraint forces have to be introduced. The entries in the mass matrix still have a clear meaning. However, there is stronger coupling between the equations, as the mass matrix is no longer a diagonal matrix. The centre of gravity can easily be found, and hence the linear momentum of the linkage as a whole and of the individual links. Also the sum of the reaction forces on the ground can be easily obtained, which is advantageous for shaking force balancing. A possible disadvantage is that there are still more equations than degrees of freedom, which leads to a system of differential-algebraic equations.

If the mass of one or more links is represented by equivalent complex masses at the joints as explained in Sect. 4.1, the centre of mass and hence the linear momentum of the system can easily be found; the conditions of shaking force balancing (58) for the four-bar linkage become almost trivial. The mass description remains relatively simple. A disadvantage is that the equivalent masses are not fully dynamically equivalent, so the equations of motion cannot be derived by applying standard techniques to the equivalent masses only.

Principal points and principal vectors are useful for the opened kinematic loop approach, as the off-diagonal terms of the mass matrix and the convective inertia terms are easily obtained. To a lesser extent, this applies also for the method with equivalent complex masses, although this is not so obvious in the considered simple example. In both approaches, the motion of the centre of mass of the system is easily found with the principal vectors, which yields conditions for shaking force balance.

The description with equivalent mass matrices in Sect. 4.2 includes the complete dynamics, although the mass matrix is filled and does not have a block diagonal structure. The equations of motion can initially be described in terms of the joint coordinates, without making use of the angles of the links. The independent coordinate can be chosen as one of the angles or one of the position coordinates of the joints. This mass description can be used for the finite truss element, leading to simpler models in terms of the kind of element used and the number of coordinates and constraints.

The methods presented can be applied to other linkages, with similar advantages and disadvantages, although the equations can become more complicated. General planar mechanisms with links interconnected by pin joints can be directly treated by the methods shown here. An example is the seven-body mechanism form [20], which was modelled by truss elements and simulated in another publication [21].

Principal points and principal vectors can also be defined for systems of spatial bodies interconnected with spherical joints [2, 4] and they can be used to obtain the equations of motion. Some other types of joints, such as a revolute joint, a universal joint or a homokinetic coupling, can be described by adding constraints on the relative motion in a spherical joint. The method of equivalent masses can be extended to some special spatial systems. In general, a binary link between spherical joints cannot be modelled in this way, as the orientation of this link is not determined by the positions of two its joints and even the linear momentum is generally not determined by the velocities of these two joints. Six classical spatial truss elements which interconnect four points can be used to describe the dynamic properties of a rigid body [21].

7 Conclusions

This article has led us from a familiar approach with opened kinematic loops via a method with equivalent complex masses to a method using a constant mass matrix, which were all applied to formulate the equations of motion of a general 4R planar four-bar mechanism. In the first two methods, the use of principal vectors has been shown. The principle of virtual work with the inclusion of inertia terms was used to derive the equations of motion.

The opened kinematic loop approach, compared with the conventional Newton–Euler method, results in fewer equations and constraint forces, while the mass matrix entries remain meaningful, but there is a stronger coupling between the equations. For the closed kinematic loop approach with equivalent complex masses, no explicit loop constraint forces are introduced in the equations. The mass of the coupler link could be modelled onto the other links of the four-bar linkage by using real and virtual equivalent masses, defining the principal points. The complex masses give a correct representation of the linear momentum, but they do not give a full dynamic equivalence if the centre of mass of the link is not on the line connecting the two joint positions. This makes this approach useful in problems mainly involving linear momentum, such as shaking force analysis.

With the method of the equivalent mass matrix, it was shown how a constant mass matrix can be used to describe the dynamics of binary links with an arbitrary mass distribution. This seems to lead to the simplest form of the equations of motion, but has as a disadvantage that the link angles appear as derived quantities and are no longer directly present in the equations of motion.

The constant mass matrix, which makes use of the joint coordinates only, can describe the mass properties of a truss element in a finite element formulation, which is fully dynamically equivalent to that of a rigid link. In addition, a body which is allowed to undergo a uniform dilatation, as is approximately the case in some auxetic metamaterials, can be described by this element. As an example, the general 4R four-bar linkage was modelled with only three truss elements instead of three or more beam elements, which is a significant reduction in the complexity of the model.

Although all three presented methods can be used to obtain the equations of motion and the reaction forces of the four-bar linkage, the equations remain complicated for all methods if an explicit form is aimed at. For different purposes, different methods to derive the equation can be useful. In particular, the methods which use principal points and principal vectors have advantages if the main interest is in the linear momentum and the resultant reaction forces, which can be used to obtain conditions for dynamic force balance.

The described methods are a step towards obtaining insight into the dynamic equations such that they can direct the synthesis process towards desired dynamic conditions.