Keywords

1 Introduction

The ever increasing demands on the throughput of robots requires reduction of their cycle times without compromising the accuracy and the lifetime. Higher velocities induce stronger base reaction forces and moments which in turn cause frame vibration and wear of the manipulator [8]. Dynamic balancing aims to design the kinematics and the mass distribution of the manipulator such that both the changing base reaction forces and moments are eliminated [10]. With force balancing, only the changing reaction forces are considered [1].

Dynamic balancing often involves the addition of linkages and masses - such as counter masses and/or counter rotations - which in general leads to higher complexity and higher motor torques [8]. For parallel mechanisms, the closure equations supports finding dynamic balance without additional linkages or counter-rotations [5]. However, for mechanisms with more DOFs, the dynamic balance conditions become increasingly difficult to find as the number of bodies increase and the kinematic closure equations become more complicated. To overcome this, several synthesis methods are presented; such as stacking of dynamically balanced 4-bar linkages [10], and synthesis based on principal vector linkages [7]. Nevertheless, these synthesis methodologies do not cover all the possible solutions and require considerable effort to find the balancing conditions.

In this paper, a screw theory-based, four step methodology is presented to simplify the process of finding the dynamic balance conditions for planar mechanisms, with a potential extension to spatial mechanisms. The methodology relies on two insights. Firstly, the geometric screw theory gives the conditions for the direct calculation of a subset of the balancing conditions without differentiation or solving the kinematic closure equations. Secondly, the dynamics equations are simplified using an inertia decomposition method derived from Foucault and Gosselin [2]. This approach is illustrated by applying it to a 5-bar mechanism to obtain complete force balance (similar to [4]) with additional moment balance over multiple trajectories (similar to the Dual V [9]). First the kinematic model of a 5-bar mechanism (Sect. 2.1), and the screw dynamics (Sect. 2.2) are described, based on which the four steps are illustrated (Sects. 2.32.6).

2 Method

2.1 Kinematic Model of a 5-Bar Mechanism

The 5-bar mechanism under investigation consists of two RR linkages connected by a revolute joint at \(\varvec{x}\) (see Fig. 1). To each body a reference frame (\(\psi _{i}\)) is associated in the joint as seen in the figure. The base reference frame is placed arbitrarily. The frame in which a point is represented is denoted with a superscript (e.g. \(\varvec{a}^i\)).

The velocity of a body in space is described by a 6D twist vector (\(\varvec{t}_{k}^{j}\)), which is the general global velocity of frame \(\psi _k\) expressed in \(\psi _j\). The angular velocity is denoted by \(\varvec{\omega }\) and the linear velocity by \(\varvec{v}\). The coordinate transformation matrix (\(\varvec{X}_{i}^{j}\)) changes the expression of a twist from frame \(\psi _{i}\) to \(\psi _{j}\). The matrix consists of a rotation matrix (\(\varvec{R}_{i}^{j}\)) and a translation vector (\(\varvec{o}_{i}^{j}\))Footnote 1:

$$\begin{aligned} \varvec{t}_{k}^{j}&= \begin{bmatrix} \varvec{\omega }_{k}^{j} \\ \varvec{v}_{k}^{j} \end{bmatrix} =\varvec{X}_{i}^{j} \varvec{t}_{k}^{i}&\varvec{X}_{i}^{j}= \begin{bmatrix} \varvec{R}_{i}^{j}&{\varvec{0}}\\ \bigl [ \varvec{o}_{i}^{j} \times \bigr ]\varvec{R}_{i}^{j}&\varvec{R}_{i}^{j} \end{bmatrix} \end{aligned}$$
(1)

The body Jacobian (\(\varvec{J}_i\)) relates the joint velocities to the twist (\(\varvec{t}_{i}^{0}\)) of each body. As input joint velocities (\(\dot{\varvec{q}}\)) we choose the base joints. This makes bodies 1 and 3 the active, and 2 and 4 the passive (non-actuated) bodies. The Jacobian of the mechanism can be found using methods such as presented by Zoppi et al. [12]. The body Jacobians are concatenated such that the total mechanism Jacobian (\(\varvec{J}\)) becomes:

$$\begin{aligned} \varvec{t}_{i}^{0}&= \varvec{J}_i \dot{\varvec{q}}_f&\varvec{J} = \begin{bmatrix}\varvec{J}_1 \\ \vdots \\ \varvec{J}_4\end{bmatrix}&= \begin{bmatrix} \varvec{X}_{1}^{0}\hat{\varvec{t}}&0\\ \varvec{X}_{1}^{0}\hat{\varvec{t}}+ d_1\varvec{X}_{2}^{0}\hat{\varvec{t}}&d_2 \varvec{X}_{2}^{0}\hat{\varvec{t}}\\ 0&\varvec{X}_{3}^{0}\hat{\varvec{t}}\\ d_3 \varvec{X}_{4}^{0}\hat{\varvec{t}}&\varvec{X}_{3}^{0}\hat{\varvec{t}}+ d_4 \varvec{X}_{4}^{0}\hat{\varvec{t}}\end{bmatrix}&\end{aligned}$$
(2)

in which \(\hat{\varvec{t}}= \begin{bmatrix} (\varvec{n}_{z}^{})^T&\varvec{0}^T\end{bmatrix}^T\) is the local twist axis, in which \(\varvec{n}_{z}^{}\) is the unit vector in z direction. The Jacobian coefficients are:

$$\begin{aligned} d_1&= - \frac{\varvec{x}^{4} \cdot \varvec{R}_{1}^{4} \bigl [ \varvec{n}_{z}^{} \times \bigr ]\varvec{o}_{2}^{1} }{\varvec{x}^{4} \cdot \varvec{R}_{1}^{4}\bigl [ \varvec{n}_{z}^{} \times \bigr ]\varvec{R}_{2}^{1} \varvec{x}^{2} } - 1&d_2&= \frac{\varvec{x}^{4} \cdot \varvec{R}_{3}^{4} \bigl [ \varvec{n}_{z}^{} \times \bigr ]\varvec{o}_{4}^{3} }{\varvec{x}^{4} \cdot \varvec{R}_{3}^{4}\bigl [ \varvec{n}_{z}^{} \times \bigr ]\varvec{R}_{2}^{3} \varvec{x}^{2} } \end{aligned}$$
(3)
$$\begin{aligned} d_3&= \frac{\varvec{o}_{2}^{1} \cdot \varvec{R}_{2}^{1} \bigl [ \varvec{n}_{z}^{} \times \bigr ]\varvec{x}^{2} }{\varvec{x}^{4} \cdot \varvec{R}_{1}^{4}\bigl [ \varvec{n}_{z}^{} \times \bigr ]\varvec{R}_{2}^{1} \varvec{x}^{2} }&d_4&=- \frac{\varvec{o}_{4}^{3} \cdot \varvec{R}_{2}^{3} \bigl [ \varvec{n}_{z}^{} \times \bigr ]\varvec{x}^{2} }{\varvec{x}^{4} \cdot \varvec{R}_{3}^{4}\bigl [ \varvec{n}_{z}^{} \times \bigr ]\varvec{R}_{2}^{3} \varvec{x}^{2} } - 1 \end{aligned}$$
(4)

Note that the denominators of all the coefficients are equal, yet, we write them differently in terms of the rotation matrix in the nominator for later use (Eq. 11).

Fig. 1
figure 1

Kinematic model and instantaneous balance of a 5-bar mechanism. The momentum wrenches sum to zero for a pure motion of joint 1

2.2 Dynamics

The conditions for dynamic balance are usually derived from the momentum equations. Shaking forces and moments are the derivate of momentum. When assuming zero initial velocity, the shaking forces and moments are zero when the momentum is zero for all motions.

In screw theory, this momentum is seen as wrench [6]; the momentum wrench (\(\varvec{h}_{}^{}\)), a concatenation of the angular momentum (\(\varvec{\xi }_{}^{}\)) and the linear momentum (\(\varvec{p}_{}^{}\)). The momentum wrench can be expressed in another frame using a second coordinate transformation matrix. The momentum generated by a body, is calculated from the twist or the Jacobain of that body and the inertia matrix \(\varvec{M}_i\), which is given later (Eq. 7).

$$\begin{aligned} \varvec{h}_{}^{j}&= \begin{bmatrix} \varvec{\xi }_{}^{j} \\ \varvec{p}_{}^{j} \end{bmatrix} =(\varvec{X}_{j}^{i})^T \varvec{h}_{}^{i}&\varvec{h}_{i}^{0}&= \varvec{M}_i\varvec{t}_{i}^{0}= \varvec{M}_i\varvec{J}_i \dot{\varvec{q}}&\end{aligned}$$
(5)

The admissible momentum wrench of a mechanism is defined by its momentum span. As the 5-bar mechanism is a 2 DOF mechanism, the dimension of the span is maximally two. In the current study we choose the bases of this momentum span (indicated with a hat) as the momenta generated by unit velocity of the two base joints.

$$\begin{aligned} \begin{bmatrix}\hat{\varvec{h}}_{1}^{0}&\hat{\varvec{h}}_{3}^{0} \end{bmatrix} = \sum _{i}^{4} \varvec{M}_i \varvec{J}_i =0 \end{aligned}$$
(6)

When the momentum span is only zero for a certain pose we have obtained a local momentum equilibrium or instantaneous balance, this is a necessarily but not sufficient condition for dynamic balance. For global dynamic balance, these instantaneous conditions have to be extended over the complete workspace.

2.3 Step 1. Inertia Decomposition

Wu and Gosselin [11] used the property that the inertia of a body can be represented as a collection of point masses to study the dynamic equivalence of robotic platforms. Continuing on that, we recognize that the inertia of a planar body can be sufficiently represented by two point masses. For a given center of mass (COM), inertia and mass, four equations have to be satisfied [2]. As two point masses give six variables, the location of one point mass can be chosen freely, fixing the location of the other mass and the mass distribution over the two points.

When the free point mass is placed on the revolute joint, this joint has no influence on the motion of the free point. Therefore this point can also be regarded to be fixed to the connecting body. This leaves the initial body with one point mass representation (\(\varvec{r}_{i}^{}\), \(m_i\)). This inertia decomposition can be applied throughout the whole mechanism, such that the inertia properties of each body are characterized by a single point mass. This reduces the number of dynamic parameters from 4 to 3 per body. This finally gives the inertia matrix for a planar body:

$$\begin{aligned} \varvec{M}_i = m_{i} \begin{bmatrix} -\bigl [ \varvec{r}_{i}^{0} \times \bigr ]^2&\bigl [ \varvec{r}_{i}^{0} \times \bigr ]\\ - \bigl [ \varvec{r}_{i}^{0} \times \bigr ]&\varvec{I}_3 \end{bmatrix} \end{aligned}$$
(7)

2.4 Step 2. Instantaneous Balance

Dynamic balancing occurs when the location and mass of these points are such that the momentum span reduces to zero. For a 5-bar, the mechanism’s momentum basis is defined by the motion of one joint while the other joint (and body) is fixed. This means that only three bodies contribute to each mechanism’s momentum basis.

$$\begin{aligned} - \hat{\varvec{h}}_{1,1}^{0}&= \hat{\varvec{h}}_{2,1}^{0} + \hat{\varvec{h}}_{4,1}^{0}&- \hat{\varvec{h}}_{3,3}^{0} = \hat{\varvec{h}}_{2,3}^{0} + \hat{\varvec{h}}_{4,3}^{0}&\end{aligned}$$
(8)

The three body momentum bases are represented as wrenches (see to Fig. 1). For force balance, the vector sum of the linear momenta has be to zero. For additional moment balance, the three wrenches have to intersect at one point. A momentum wrench generated by rotation of a point mass around an axis passes trough the point mass in a direction perpendicular to the point and the axis location. Therefore it follows that the point mass of the base body has to be on the intersection point of a line perpendicular to the wrench line (\(\hat{\varvec{h}}_{1,1}^{}\)) and the axis of rotation, as indicated in Fig. 1. The mass to be located at this point is given by ratio of linear and angular momentum.

$$\begin{aligned} \varvec{r}_{1}^{1}&= \frac{1}{m_1}\bigl [ \varvec{n}_{z}^{} \times \bigr ]\left( { \hat{\varvec{p}} }_{2,1}^{1} + { \hat{\varvec{p}}}_{4,1}^{1} \right)&m_1&= - \frac{ ||{ \hat{\varvec{p}} }_{2,1}^{1} + { \hat{\varvec{p}} }_{4,1}^{1} ||^2 }{ \varvec{n}_{z}^{} \cdot \left( { \hat{\varvec{\xi }} }_{2,1}^{1} + { \hat{\varvec{\xi }} }_{4,1}^{1} \right) } \end{aligned}$$
(9)

If similar conditions are imposed on the second base link (\(\varvec{r}_{3}^{3}\), and \(m_3\)), we have obtained six instantaneous balance conditions.

2.5 Step 3. Global Force Balance

Global force balance is obtained when the sum of the linear momentum span of the passive bodies (2 and 4) - expressed in the base bodies reference frames - is constant over the workspace. This is required to enforce a pose independent solution for Eq. 9. Therefore, the global force balance conditions only depends on the dynamic properties of the passive bodies. After coordinate transformation of the linear part of Eq. 8, the following constraint equation is obtained:

$$\begin{aligned} - { \hat{\varvec{p}}}_{1,1}^{1} = m_2 \bigl [ \varvec{n}_{z}^{} \times \bigr ]\varvec{o}_{2}^{1} + m_2 (1+ d_1) \bigl [ \varvec{n}_{z}^{} \times \bigr ]\varvec{R}_{2}^{1} \varvec{r}_{2}^{2} + m_4 d_3 \bigl [ \varvec{n}_{z}^{} \times \bigr ]\varvec{R}_{4}^{1} \varvec{r}_{4}^{4} = const. \end{aligned}$$
(10)

Inspection shows that Eq. 10 and the terms \(d_1\) and \(d_3\) of Eqs. 3 and 4 are only written in terms of the variables \(\varvec{R}_{2}^{1}(q_{2,1})\) and \(\varvec{R}_{4}^{1}(q_{4,1})\). For global force balance, the derivative of Eq. 10 with respect to these two angles should remain zero:

$$\begin{aligned} \frac{\delta }{\delta q_{1,4} } \left( { \hat{\varvec{p}} }_{1,1}^{1} \right)&= \frac{d_3}{\varvec{x}^{4} \cdot \varvec{R}_{1}^{4} \bigl [ \varvec{n}_{z}^{} \times \bigr ]\varvec{R}_{2}^{1} \varvec{x}^{2} } \left( m_2 ||\varvec{x}^{4} ||^2 \bigl [ \varvec{n}_{z}^{} \times \bigr ]\varvec{R}_{2}^{1} \varvec{r}_{2}^{2} \right. \nonumber \\&\qquad \qquad \left. +\, m_4 \left( \left( \varvec{x}^{4} \cdot \varvec{x}^{2} \right) + \left( \varvec{x}^{4} \cdot \bigl [ \varvec{n}_{z}^{} \times \bigr ]\varvec{x}^{2} \right) \varvec{I}_3 \right) \varvec{R}_{2}^{1} \varvec{r}_{4}^{4} \right) = 0 \end{aligned}$$
(11)

From this derivative, the following global force balance conditions is obtained.

$$\begin{aligned} \varvec{r}_{2}^{2} = \frac{m_4}{m_2}\frac{1}{||\varvec{x}^{4}||^2} \left( \left( \varvec{x}^{4} \cdot \bigl [ \varvec{n}_{z}^{} \times \bigr ]\varvec{x}^{2} \right) \bigl [ \varvec{n}_{z}^{} \times \bigr ]- \left( \varvec{x}^{4} \cdot \varvec{x}^{2} \right) \varvec{I}_3 \right) \varvec{r}_{4}^{4} \end{aligned}$$
(12)

This constraint equation can also be obtained when differentiating Eq. 10 to the other angles (\(q_{1,2}\)), and from the derivatives of (\( { \hat{\varvec{p}} }_{3,3}^{3}\)). The implications of global force balance and additionally instantaneous dynamic balance on reactionless trajectories are discussed in Sect. 2.7. This global solution step still requires considerable algebraic effort.

2.6 Step 4. Inertia Recomposition

The resulting balancing conditions are written in terms of the point masses, describing a range of inertias. To select a proper inertias, we recognize that at the joints (\(\varvec{u}_{i,j}^{}\)) - connecting body i with j - a point mass (\(a_{i,j}\)) can be exchanged between the bodies (see to Fig. 2). The mass which is added to one link has to be subtracted from the connecting link (\(a_{i,j}=-a_{j,i}\)). In such a way the inertia (\(g_i\)) and COM (\(\varvec{c}_{i}^{}\)) of mass (\(m_{t,i}\)) can be selected which satisfy the balance conditions.

$$\begin{aligned}&m_{t,i} = m_{i} + \sum _{j=1}^{n}a_{ij}\quad m_{t,i} \varvec{c}_{i}^{} = m_{i}\varvec{r}_{i}^{} + \sum _{j=1}^{n}a_{ij} \varvec{u}_{ij}^{} \nonumber \\&g_i +m_{t,i} ||\varvec{c}_{i}^{}||^2 = m_{i}||\varvec{r}_{i}^{} ||^2 + \sum _{j=1}^{n}a_{ij}||\varvec{u}_{ij}^{} ||^2 \end{aligned}$$
(13)

The mechanism can be built as long as the inertia and mass are positive. This precludes a range selectable inertia distributions.

2.7 Reactionless Trajectories

With global force balance the dimension of momentum for planar mechanism is reduced to one. Since a 5-bar mechanism has 2 DOF, there exist a velocity vector in each pose for which the momentum is zero. This null space motion of Eq. 5 is numerically integrated to form a reactionless trajectory. In the instantaneous balance poses, the momentum for both directions is always zero. This implies that in these poses, two reactionless trajectories meet.

Fig. 2
figure 2

Inertia decomposition of the 5 bar mechanism. The COM (\(\varvec{c}_{4}^{}\)), inertia (\(g_4\)), and mass (\(m_4\)) of body 4 is given by sum of three point masses (\(\varvec{u}_{4,2}^{}\), \(\varvec{u}_{4,3}^{}\), and \(\varvec{r}_{4}^{}\))

3 Results

To evaluate the presented method, a geometry is selected, as depicted in Fig. 3a and Table 1. The dynamic balance of the mechanism is evaluated using multibody software package Spacar [3]. The mechanism moves over two reactionless trajectories (red and blue) and one arbitrary unbalanced trajectory (yellow).

The maximal shaking forces of all the trajectories are in the order of computation accuracy (max: \(1.07^{-09}\) N), confirming that the mechanism is force balanced. Also the shaking moments are approximately zero (max: \(3.01^{-04}\) N m) for the two balanced trajectories. For the unbalanced trajectory a maximal shaking moment of 6.69 N m is found (Fig. 3b).

Fig. 3
figure 3

a Geometry and trajectories. b Shaking moments

Table 1 Geometrical and dynamic parameters

4 Discussion and Conclusion

Using the presented method a simplification of the balancing process is obtained, such that six (Eq. 9 for \(\varvec{r}_{1}^{1}\), \(\varvec{r}_{3}^{3}\), \(m_1\), and \(m_3\)) out of eight conditions for dynamic balance can be calculated directly from the momentum equations without manipulation of the kineto-dynamic relationships. Furthermore, the two remaining conditions for global balance (Eq. 12 for \(\varvec{r}_{2}^{2}\)) are found to be only dependent on the dynamic properties of the passive bodies. However, these last two conditions require effort in taking derivatives and manipulation of the momentum equations. The applicability of this balance methodology to more complex planar and ultimately spatial mechanisms is under investigation.

In this paper, a screw-based balancing method is presented and applied to a 5-bar mechanism. The balancing conditions are found for force balance over the complete workspace and additional moment balance over multiple trajectories, as shown by simulation results. To arrive at these dynamic balance conditions, a screw-based approach was presented. It consists of four steps. In the first step it was recognized that the dynamic properties of a planar mechanism with revolute joints can be simplified to one point mass per body. In the second step, instantaneous balance was found by placing the point masses of the base links orthogonal to the momentum wrench line generated by the rest of the mechanism. In the third step, the place of the remaining point masses was calculated such that the force balance extends over the workspace. In the last step, the resulting point masses where converted into actual inertias such that the mechanism can be built.