Keywords

1 Introduction

In robotic applications high stiffness of the mechanical structure and control allow for high precision even for highly dynamic applications and high payloads. The stiffness of a structure relates external forces and torques to the translational and rotational distortion of the elements, caused by these external forces and torques. It is expressed using the stiffness matrix K. The ability to calculate the stiffness of a mechanical structure, considering different mechanical elements such as links, bearings and drives, is crucial for the analysis and optimization of the stiffness properties. In the design process the analysis of the main contributors to the compliance of a structure gives useful information for the efficient improvement of a structure. Furthermore, gravity compensation can be used to increase the accuracy of an robotic system, if the stiffness properties are known. In this paper an easy to use and convenient procedure for the stiffness calculation is presented. It is based on the Matrix Structure Analysis (MSA) using a database with pre-defined flexible elements. The stiffness matrix of the structure is assembled automatically, using the element stiffness matrices and their connection and position. The final goal is to obtain the deformation of the structure under a given external load and this deformation can be calculated directly, as soon as the stiffness matrix of the structure is known. In this procedure, complex links and joints with force dependent (non-linear) stiffness properties can be taken into account. In particular, force dependent, non-linear elements like rolling contact bearings are considered by iteration of the linear model. The implementation is validated by measurements on a robotic arm of the PARAGRIP handling system [1].

2 Methods of Stiffness Analysis—State of the Art

In literature three main methods are introduced to derive the stiffness matrix K of a mechanical structure: The Finite Elements Analysis (FEA), the Virtual Joint Method (VJM) and the Matrix Structure Analysis (MSA).

In the well-known Finite Elements Analysis (FEA) the overall structure is sub-divided into a large number of finite elements that are connected to each other elastically. The solution to the resulting system of partial differential equations is approximated numerically. The FEA is the most accurate and reliable method, its accuracy is only limited by the level of discretization [2]. However, it requires a high computational effort for the calculation of the system of equations and re-meshing the model in each configuration of the manipulator. Hence, the method is mainly used for final design considerations and stiffness analysis of complex sub-systems [3]. Based on the FEA, other methods have been developed, like Floating Frame of Reference Formulation (FFRF) for high rotational distortions and the Absolute Nodal Coordinates Formulation (ANCF) for high rotational and translational distortions [4, 5].

Using the Virtual Joint Method, also known as “lumped modeling”, the compliance of every element in a structure is reduced to the compliance of the actuators by means of virtual compliant joints [6]. It is based on the work of Salisbury and Gosselin [7, 8], where the stiffness of a structure is derived considering only the actuator stiffness. The main drawback of this method is that the stiffness of an element cannot be reduced to the drives if its distortion due to external loads does not correspond to the compliance of an actuator. In comparison to the FEA, the VJM gives accurate results with much lower computational effort [2, 9]. In recent works, the VJM was extended by using 6D virtual joints to account for cross coupling effects and the stiffness properties of all links [10] as well as non-linear properties [11]. The Conservative Congruence Transformation [12] extends the conventional formulation by considering changes in the Jacobian due to deformation of the robotic system.

The Matrix Structure Analysis (MSA) relies on the same ideas as the FEA, modeling the mechanical structure as a combination of beams connected by nodes, where the stiffness properties of every beam element are represented as a stiffness matrix [13]. The displacement of every node is calculated analytically from the overall stiffness matrix. The MSA as introduced originally is limited to relatively simple elements, but however, it can be extended to integrate more complex effects such as joint stiffness [14]. Furthermore, the representation of the elements allow for a parametric description [15, 16]. Compared to the FEA, the MSA is less computational expensive [2, 5] and results in a good balance between computational costs and accuracy [17]. In the proposed stiffness calculation method a catalog of predefined elements is introduced to allow for a fast and convenient assembly of the stiffness model. The stiffness properties are calculated analytically for beam elements and by using characteristic curves for the non-linear and force dependent rolling contact bearings. To account for the force dependency of the stiffness properties, the linear stiffness model is solved iteratively. This approach allows a computational inexpensive determination of stiffness properties for many robotic structures.

3 Extended Procedure for Stiffness Modeling

As introduced in the beginning, the Cartesian stiffness matrix \( {}^{0}\varvec{K}_{struc\,O} \) of the structure links the displacement (translation and orientation) of all nodes \( {}^{0}\delta\varvec{\chi}_{O} \) to the external loads \( {}^{0}\varvec{F}_{\text{O}} \):

$$ {}^{0}\varvec{F}_{O} = {}^{0}\varvec{K}_{struc\;O} \cdot {}^{0}\delta\varvec{\chi}_{O} $$
(1)

The superscripts indicate the coordinate system of reference; the last subscript indicates the point of reference for the equivalent load or displacement. In this procedure, the element stiffness matrices are generalized by calculating equivalent displacements and loads at the origin \( {}^{0}O \) of the global coordinate system 0 as introduced by Lončarić [18]. Even though this approach is crucial for the proposed procedure, details of mathematical description cannot be given within the scope of this paper.

3.1 Elements and Element Stiffness Matrices

As described above, different element types are available in the implementation. The calculation of the element stiffness matrix is shown for some elements in this section. The focus is on the elements, used in the later example of the PARAGRIP manipulator. The two most important are beam elements representing the robot links and ball bearings used as revolute joints.

Most robotic links can be approximated by beam elements. Their compliance matrix can be derived from Timoshenko’s beam theory [19] as shown in Eq. 3. Let the rigid node k be attached to beam i with a fixed reference frame \( {}^{i}0 \) as shown in Fig. 1.

Fig. 1
figure 1

General beam element under load

The compliance matrix \( {}^{i}\varvec{C}_{i} \) in Eq. (2) links the displacement \( \delta\varvec{\chi}_{k} \) of the attached rigid node k to the external load \( \varvec{F}_{k} \) on k. Calculating the generalized inverse of \( {}_{{}}^{i} \varvec{C}_{i} \) leads to the required element stiffness matrix \( {}^{0}\varvec{K}_{{\varvec{i}\,\varvec{O}}} \).

$$ \delta\varvec{\chi}_{\varvec{k}} = {}^{i}\varvec{C}_{i} \cdot \varvec{F}_{k} $$
(2)
$$ {}^{i}\varvec{C}_{i} = \frac{l}{E}\left( {\begin{array}{*{20}c} {\frac{1}{A}} & 0 & 0 & 0 & 0 & 0 \\ 0 & {\frac{1}{3}\frac{{l^{2} }}{{I_{z} }} + \frac{E}{G \cdot A}} & 0 & 0 & 0 & {\frac{1}{2}\frac{l}{{I_{z} }}} \\ 0 & 0 & {\frac{1}{3}\frac{{l^{2} }}{{I_{y} }} + \frac{E}{G \cdot A}} & 0 & { - \frac{1}{2}\frac{l}{{I_{y} }}} & 0 \\ 0 & 0 & 0 & {\frac{E}{{G \cdot I_{T} }}} & 0 & 0 \\ 0 & 0 & { - \frac{1}{2}\frac{l}{{I_{z} }}} & 0 & {\frac{1}{{I_{Y} }}} & 0 \\ 0 & {\frac{1}{2}\frac{l}{{I_{z} }}} & 0 & 0 & 0 & {\frac{1}{{I_{z} }}} \\ \end{array} } \right) $$
(3)

The stiffness properties of rolling contact bearings are non-linear and load dependent with cross coupling effects between radial displacement, axial displacement and torsion. Current approaches consider these complex correlations including clearance and dynamic effects but they are very computational expensive e.g. [2022]. The manufacturer of the ball-bearings used in the handling system offers the extensive calculation tool Bearinx® [23] to calculate the nonlinear displacement characteristics, taking into account the internal load distribution, the bearing deformations, the clearance and tolerances, pre-tensioning and a large set of further characteristics. To reduce the complexity of the overall stiffness model, characteristics curves for the axial and radial displacement \( \delta_{ax} \) and \( \delta_{rad} \) and the torsion \( \varphi_{rad} \) under different load conditions were generated for a range of ball-bearings, as shown exemplary in Fig. 2.

Fig. 2
figure 2

Characteristics curves for axial displacement of a FAG 3807 ball-bearing under axial (uniaxial) and combined loads

The characteristics curves were calculated for a uniaxial load (\( F_{ax} \), \( F_{rad} \) and \( M_{rad} \)) and for all possible load combinations and take into account the backlash of the bearing. The combined loads are scaled with respect to the maximum load considered. For example an axial load \( F_{ax} = 500\,{\text{N}} \) (20 % of the 2500 N maximum force) was combined with a moment \( M_{rad} = 40\,{\text{Nm}} \) (also 20 % of the 200 Nm maximum moment).

It is evident that combined loads influence the stiffness properties of the ball-bearings. These combined loads can be interpreted as pre-tensioning, increasing the stiffness of the bearing. This effect can be accounted for with a linear interpolation between the uniaxial characteristic curve and the curve for the combined load. The stiffness matrix in Eq. (4) for the ball-bearings is derived by linear interpolation from the characteristic curves, neglecting cross-coupling effects.

$$ \begin{aligned} \varvec{K}_{\text{i}} & = \left( {\begin{array}{*{20}c} {k_{rad} } & 0 & 0 & 0 & 0 & 0 \\ 0 & {k_{ax} } & 0 & 0 & 0 & 0 \\ 0 & 0 & {k_{rad} } & 0 & 0 & 0 \\ 0 & 0 & 0 & {k_{tor} } & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & {k_{tor} } \\ \end{array} } \right) \\ k_{rad} & = \frac{{F_{rad} }}{{\delta_{rad} }}\quad k_{ax} = \frac{{F_{ax} }}{{\delta_{ax} }}\quad k_{tor} = \frac{{M_{rad} }}{{\varphi_{rad} }} \\ \end{aligned} $$
(4)

Further elements (e.g. linear ball bearings, linear spindle-drive actuators and complex links using FEA results) are implemented in the proposed method, but will not be discussed in detail. For the end-effector used at the PARAGRIP prototype, characteristic curves were determined in measurements. Furthermore, any other kind of stiffness properties based on analytical relations, characteristic curves or fixed values can be implemented easily by defining new element types. The introduced element stiffness matrices are expressed with respect to the local element coordinate system. For the matrix assembly, described below, the element stiffness matrices are generalized. That means displacements and loads are expressed with respect to a global coordinate system by calculating equivalent displacements and loads as introduced by Lončarić [18].

3.2 Stiffness Modeling by Matrix Assembly

The generalized Cartesian stiffness matrix of the structure \( {}^{0}\varvec{K}_{struc\,O} \) is assembled from the generalized element stiffness matrices \( {}^{0}\varvec{K}_{i\,O} \) for element i. They link the equivalent relative (translational and rotational) displacement of two attached rigid nodes k and l to the equivalent cut load \( {}^{0}\varvec{F}_{{i\,{\text{O}}}} \), both at the origin \( {}^{0}O \) of the global coordinate system 0:

$$ {}^{0}\varvec{F}_{i\;O} = {}^{0}\varvec{K}_{i\;O} \cdot \left( {{}^{0}\delta\varvec{\chi}_{k\;O} - {}^{0}\delta\varvec{\chi}_{l\;O} } \right) $$
(5)

The generalized Cartesian Stiffness Matrix the whole structure \( {}_{{}}^{0} \varvec{K}_{struc O} \) can be derived by superposition of all \( {}^{0}\varvec{K}_{i\;O} \). Let n be the number of elements in the structure and i be the explicit index to identify each element of the structure. Each element is attached to two rigid nodes k and l with \( k < l \) and we index the according element stiffness matrix \( {}_{{}}^{0} \varvec{K}_{i kl O} \). Let j be the number of rigid nodes in the structure, including the fixed base \( k = 0 \). \( {}^{0}\varvec{K}_{struc\;O} \) is a \( 6j \times 6j \) zero matrix, filled up with the superposition of \( {}^{0}\varvec{K}_{i\;kl\;O} \):

$$ \begin{aligned} & {}^{0}\varvec{K}_{struc\;O} \left( {6k - 5 : 6k , 6k - 5 : 6k} \right) = \mathop \sum \limits_{i = 1}^{n} \left( { + {}^{0}\varvec{K}_{{{\text{i}} \;kl \;O}} |k > 0} \right) \\ & {}^{0}\varvec{K}_{struc\;O} \left( {6k - 5 : 6k, 6l - 5 : 6l} \right) = \mathop \sum \limits_{i = 1}^{n} \left( { - {}^{0}\varvec{K}_{{{\text{i}} \;kl \;O}} |k > 0} \right) \\ & {}^{0}\varvec{K}_{struc\;O} \left( {6l - 5 : 6l , 6k - 5 : 6k} \right) = \mathop \sum \limits_{i = 1}^{n} \left( { - {}^{0}\varvec{K}_{{{\text{i}} \;kl \;O}} |k > 0} \right) \\ & {}^{0}\varvec{K}_{struc\;O} \left( {6l - 5 : 6l , 6l - 5 : 6l} \right) = \mathop \sum \limits_{i = 1}^{n} \left( { + {}^{0}\varvec{K}_{{{\text{i}} \;kl \;O}} |l > 0} \right) \\ \end{aligned} $$
(6)

where \( {}^{0}\varvec{K}_{struc\;O} ({\text{a}}:{\text{b}},{\text{c}}:{\text{d}}) \) indicate the sub-matrix of \( {}_{{}}^{0} \varvec{K}_{struc O} \) in the columns a to b and the rows c to d. With exception of elements attached to the fixed base, that is \( {\text{k}} = 0 \), the generalized \( 6 \times 6 \) element stiffness matrices are super-positioned four times to the stiffness matrix of the structure. This corresponds to the well-known \( 12 \times 12 \) stiffness matrices used for the MSA of connected beam elements [24, 25].

3.3 Implementation of the Extended Procedure

To overcome the limitations of the original MSA element representation exclusively by beam theory, a method to automatically calculate the global stiffness matrix and distortion of a given structure composed of different elements under external load is introduced. The stiffness assembly is universally valid for all stiffness matrices representing an element, as long as the local stiffness matrix is given or can be determined automatically. The proposed method and database is implemented in MATLAB. For each type of flexible element the specific calculation procedure for the local stiffness matrix is stored. For each element the following parameters need to be predefined:

  • Connecting nodes.

  • Position of the flexible element represented in the global coordinate system.

  • Orientation of the flexible element represented in the global coordinate system.

  • Element type (e.g. Euler beam (rectangular/cylindrical, solid/hollow), rolling contact bearing, linear bearing, rotary drive, spindle drive (linear actuation), predefined local stiffness matrix (e.g. derived from FEA analysis for complex elements)).

  • Element properties dependent on the element type (e.g. length, height, width, Young’s modulus, shear modulus for rectangular beams or identification number for bearings).

The positions and orientations of the elements are not calculated automatically, as the method does not include the kinematic calculation. However, usually the kinematic calculations are known and the position and orientation of each element can be calculated with minor effort. With the predefined properties the generalized stiffness matrix and distortion of the given structure is assembled automatically using the following algorithm:

  1. (1)

    Calculation of the local stiffness matrix for each flexible element based on the element type and element properties (compare Sect. 3.1). For elements with a force dependent local stiffness matrix (e.g. ball bearings) a predefined unit force effective on the element is assumed.

  2. (2)

    Generalization of the local stiffness matrices to the global coordinate system based on the position and orientation of the element.

  3. (3)

    Stiffness assembly of the overall stiffness matrix \( {}^{0}\varvec{K}_{struc\;O} \), based on the connecting nodes (Eq. 6).

  4. (4)

    Derivation of \( {}_{{}}^{0} \delta\varvec{\chi}_{O} \) by solving Eq. (1).

If elements with a force dependent local stiffness matrix exist, proceed with step (5), otherwise jump to step (7).

  1. (5)

    Calculation of the cut load \( {}_{{}}^{0} \varvec{F}_{i 0} \), effective on the element i with the attached rigid nodes k and l, as shown in Eq. (5). The displacement vectors \( {}^{0}\delta\varvec{\chi}_{k\;0} \) and \( {}^{0}\delta\varvec{\chi}_{l \;0} \) can be extracted from \( {}^{0}\updelta{\varvec{\upchi}}_{O} \).

  2. (6)

    Repeat step 1–4 with the calculated force, effective on the elements until a defined threshold divergence or maximum number of iterations is reached.

  3. (7)

    Reverse the generalization of the distortion \( {}^{0}\updelta{\varvec{\upchi}}_{O} \) to the local coordinate systems if requested.

  4. 8)

    Output of the global stiffness matrix and displacement for each element.

As described above, the linear system of equations is solved in a set of iterations based on an updated overall stiffness matrix \( {}^{0}\varvec{K}_{struc\;O} \), if elements with a force dependent local stiffness matrix (e.g. bearings) are present. Comparison with kinetostatic calculations and the analysis of multiple iteration steps show that two additional iterations are sufficiently accurate for low distortions in comparison to the dimensions of the given structure. As shown in Fig. 3, the maximum divergence (for any direction of translation or rotation) to the previous iteration is about 0.1 % for the second iteration.

Fig. 3
figure 3

Relative divergence in the stiffness calculations from previous iterations (for 100 combinations of arbitrary load and position of the PARAGRIP arm)

4 Application and Validation for the Example Structure PARAGGRIP

The reconfigurable modular multi-arm robot system PARAGRIP was developed, designed and tested at the Department of Mechanism Theory and Dynamics of Machines (IGM) of the RWTH Aachen University [1]. With this multi-arm robotic system, object integrative handling operations are performed. The proposed stiffness model is implemented and validated by measurements for a single robotic arm.

The arm structure is modeled using the introduced stiffness elements (Fig. 4): Beams (k3, k5, k6, k10), ball-bearings (k2, k4, k7, k9, k11) and pre-defined stiffness elements from FEA analysis (k8). The drive stiffness (kdrive0, kdrive1 and kdrive2), including the belt gear and the stiffness properties of the central housing k1 cannot be derived analytically or by FEA. The stiffness parameters are derived by optimization, based on 3 simple load cases for the structure using static loads on the joints k4 and k9 and on the end-effector.

Fig. 4
figure 4

Structure and stiffness representation of a single PARAGRIP arm

The translational deviation of the end-effector under static load in z-direction is measured to validate the stiffness model. The load was applied using a spring balance (accuracy 2.25 % for the given load), while the displacement is measured using an optical coordinate measurement machine (accuracy 0.15 mm). The different load cases are listed in Table 1, they represent typical positions within the workspace. All measurements were performed for the same position of the actuator at the base, as a rotation of the planar structure will not alter its stiffness properties.

Table 1 Load cases

The calculated displacements are in very good agreement with the measurements, as shown in Figs. 5 and 6. The displacement in the direction of load, as well as cross coupling effects can be calculated within the measurement precision, using the introduced model. Furthermore, the model and measurements show a similar agreement for higher and lower loads. First Measurements for arbitrary loads in x- and y-direction show a convincing agreement with the model and will be subject to further investigation. The very good agreement for loads in z-direction enables the use for the compensation of position dependent deformations due to gravitational forces.

Fig. 5
figure 5

Measured and calculated z-displacement of the end-effector under uniaxial load in z-direction

Fig. 6
figure 6

Measured and calculated x- and y-displacement of the end-effector under uniaxial load in z-direction

5 Conclusions

An extended method for the stiffness calculation of mechanical structures based on the MSA has been introduced and has been proven to be effective. Complex joints and links, e.g. with force dependent stiffness properties, can be implemented with minor effort as shown for the PARAGRIP handling system. The implementation of predefined elements e.g. Euler Beams and especially rolling contact bearings (using characteristic curves to determine the stiffness properties) allows an easy set up and calculation of complex structures. Force dependent, non-linear stiffness properties can be accounted for with few iterations of the linear model. The stiffness model was validated by measurements on a robotic arm. The comparison to the measurements showed a very good agreement for the main deviations and cross coupling effects for loads in z-direction. In the future work, the derived stiffness model will be used to increase the capabilities of kinematic parameter identification by compensating the gravitational forces on the structure.