1 Introduction

The fields of application for industrial robots developed from the classical handling, assembly and welding tasks to a wide range of production applications, e.g. quality control and machining. Especially in new fields where high process loads are affecting the accuracy of the robot a lot of research work is currently done, e.g. robot shaping, friction stir welding, folding and cutting. This article describes a method of robot modeling and parameter identification to analyze its properties and accuracy. The approach provides a basis for the prediction and compensation of the path deviations in a further step. The method described focuses on processes that induce bigger loads into the robot structure, in which the static path displacement is one of the major problems. The reason for these path deviations is the robots up to a 100 times larger compliance compared to a conventional machine tool. Furthermore the compliance is not constant in the directions of space but position and orientation dependant in a non-linear way. Hence, it follows that the direct measurement of the Cartesian compliance in the entire workspace is very time-consuming. Due to this high expenditure of time it is almost impossible to measure the Cartesian compliance for arbitrary tool orientations.

The developed method is applicable for all of the above mentioned machining applications. The following examinations were conducted particularly for vertical articulated robots (see Fig. 1) which are widespread in the manufacturing industry. However, the method can be easily transferred for any open loop serial kinematic, e.g. scara or linear robots.

Fig. 1
figure 1

Vertical articulated robot RV130HSC from Reis robotics

2 Analytically based stiffness model

The investigations at PTW were made with a five axes vertical articulated robot (RV130HSC from Reis robotics). Unlike a standardized industrial robot with six axes, the fork head was modified in the way that axis number six was removed. A high speed motor spindle was integrated directly into axis number five (Fig. 1).

2.1 Virtual joints and robot kinematics

Modeling the robot structure using elastic joints is a common method to describe the compliance behavior of an industrial robot [14]. During this approach, the twist between the drive side \(({\mathsf{ \Theta}}_z)\) and the output side of the gear (q z ) is modeled by a torsion spring, while the robot links and the connection from joint to link (bearings) are considered to be inflexible (Fig. 2 left). This procedure applies if the overall elasticity can be mainly attributed to the elasticity of the gears. If the major elasticity is caused by the links, each flexible link of the manipulator can be modeled by several virtual rigid links and passive joints [5, 6].

Fig. 2
figure 2

Principles of elementary (left) and virtual (right) joint

In this paper a combination of both approaches is chosen, to consider the gears and bearings elasticity as well as the flexible links. With so called virtual joints another two (virtual) degrees of freedom per joint are introduced. These additional virtual joints are orthogonal to the rotation axis of the gears (Fig. 2 right). With this the tipping of the bearing in the orthogonal directions (q x and q y ) can be described. To get an optimized model the overall compliance of the connecting elements is assumed to be a superposition of the bearings tipping and the deformation of the link. Implying only small link deformations the assumption of a concentrated tilting rigidity which represents the bearings and the structure is feasible.

Using this enhanced model the number of joints increases from n (elementary joint model) to 3 × n (virtual joint model). Hence, the number of joints of the robot in focus here increases from 5 axis (elementary joint model) to 15 axis (virtual joint model). The description of the robot kinematics is done by the well known Denavit-Hartenberg convention [7, 8]. To comply with the formalities of this convention and to take the asymmetric construction of the robot into account three additional coordinate systems are introduced. This results in a kinematic model with 15 degrees of freedom which is described by 19 coordinate systems (including the base coordinate system). Figure 3 clarifies the alignment of the coordinate systems respective joints in both presented models.

Fig. 3
figure 3

Kinematic model of the robot with elementary joints (top) and enhanced kinematic model with virtual joints (bottom)

2.2 Modeling of the robot structure

As mentioned above the compliances of the gears and bearings are the major problem for the deviation of the tool center point (TCP). To overcome and analyze this problem, a general model that takes not only the gear’s compliances but also the compliances in the two additional directions of each axis into consideration was established.

The considered manipulator consists of a link series connected by revolute joints. With the direct kinematics one can calculate the position and orientation of the end effector as a function of the joint variables q i . The position and orientation of an arbitrary frame K i (attached at link i) with respect to a reference frame K i-1 are described by the position vector \(\user2{p}^{(i-1)}_{i-1,\,i}\) of the origin and the unit vectors \(\user2{x}^{(i-1)}_{i},\,\,\user2{y}^{(i-1)}_{i},\,\, \user2{z}^{(i-1)}_{i},\) where the upper index in brackets indicates the frame in which a certain vector is described. The calculation of the joint variable dependent homogeneous transformation matrices

$$ ^{\;\;\;\; i}_{i-1}\user2{T} = \left(\begin{array}{cccc} \user2{x}^{(i-1)}_{i} & \user2{y}^{(i-1)}_{i} & \user2{z}^{(i-1)}_{i} & \user2{p}^{(i-1)}_{i-1,\;i} \\ 0 & 0 & 0 & 1 \end{array}\right) $$
(1)

is usually done by the Denavit-Hartenberg convention [7, 8]. To compute the position and orientation of an arbitrary frame K i with respect to the base frame K 0 Eq. (2) can be used

$$ ^{i}_0\user2{T} = \prod_{k=1}^i {}^{\;\;\;\; k}_{k-1} \user2{T}(q_k) = \left(\begin{array}{cccc} \user2{x}^{(0)}_{i} & \user2{y}^{(0)}_{i} & \user2{z}^{(0)}_{i} & \user2{p}^{(0)}_{0,\;i} \\ 0 & 0 & 0 & 1 \end{array}\right). $$
(2)

For i = n (n = number of joints) the tool frame \(^n_0 \user2{T}(\user2{q}) = \user2{T}_{\text T}(\user2{q})\) can be calculated.

The mapping between static forces applied to the end effector and resulting torques at the joints is described by a matrix, termed Jacobian. The Jacobian has as many rows as there are degrees of freedom (normally six) and the number of columns is equal to the number of joints n:

$$ \user2{J}(\user2{q}) = \left(\begin{array}{cccc} \user2{J}_1 & \user2{J}_2 & \ldots & \user2{J}_n \end{array}\right) $$
(3)

with the column vectors

$$ \user2{J}_i = \left(\begin{array}{c} \user2{z}^{(0)}_{i-1} \times \left( \user2{p}^{(0)}_{0,\;n} - \user2{p}^{(0)}_{0,\;i} \right) \\ \user2{z}^{(0)}_{i-1} \end{array}\right) $$
(4)

To calculate the Cartesian compliance from the compliance of the gears the principle of virtual work is used which allows making certain statements about the static case. The work has to be the same in any set of generalized coordinates, e.g. the work in Cartesian terms dW x has to be the same as the work in joint-space terms dW q

$$ \hbox{d}W_{\rm x} = \user2{F}^{\rm T}\hbox{d}\user2{x} = \varvec{\tau}^{{\rm T}}\hbox{d}\user2{q} = \hbox{d}W_{\rm q} , $$
(5)

where \(\user2{F}\) is the 6 × 1 Cartesian force-torque vector acting at the end effector, dx the 6 × 1 infinitesimal displacement of the end-effector (linear and angular displacement), τ the n × 1 vector of the torques at the joints and dq the n × 1 vector of infinitesimal joint displacements. With the definition of the Jacobian [7, 8]

$$ \hbox{d}{\user2{x}} = {\user2{J}}({\user2{q}})\hbox{d}{\user2{q}}, $$
(6)

Eq. (5) can be rewritten as

$$ {\user2{F}}^{\rm T}{\user2{J}}({\user2{q}})\hbox{d}{\user2{q}} = {\varvec{\tau}}^{\rm T}\hbox{d}{\user2{q}}, $$
(7)

which must hold for all dq. Hence, after transposing both sides one gets

$$ {\varvec{\tau}} = {\user2{J}}({\user2{q}})^{\rm T}{\user2{F}}. $$
(8)

The relationship between the Cartesian force-torque vector and the displacement is given by

$$ \hbox{d}{\user2{x}} = {\user2{H}}_{{\rm x}}({\user2{q}}) {\user2{F}}, $$
(9)

with the Cartesian compliance matrix \({\user2{H}}_{\rm x}({\user2{q}}),\) whereas the relationship between the static torque vector in joint-space and the angular displacement is denoted as

$$ \hbox{d}{\user2{q}} = {\user2{H}}_{\rm q} {\varvec{\tau}}, $$
(10)

with the joint-space compliance matrix

$$ {\user2{H}}_{\rm q} = \hbox{diag}(h_{{\rm q}1},h_{{\rm q}2},\ldots, h_{{\rm q}n}). $$
(11)

Substituting the Cartesian and angular displacements in Eq. (6) with Eqs. (9) and (10) yields

$$ {\user2{H}}_{\rm x} {\user2{F}} = {\user2{J}}({\user2{q}}) {\user2{H}}_{{\rm q}} {\varvec{\tau}}. $$
(12)

Substituting \({\varvec{\tau}}\) with Eq. (8) equals

$$ {\user2{H}}_{{\rm x}}({\user2{q}}) = {\user2{J}}({\user2{q}}) {\user2{H}}_{{\rm q}} {\user2{J}}({\user2{q}})^{{\rm T}} $$
(13)

[9]. Equation (13) is a very interesting relationship, that allows converting the joint-space compliance \({\user2{H}}_{\rm q}\) into the Cartesian compliance \({\user2{H}}_{{\rm x}}({\varvec{q}})\) without calculating any inverse kinematic functions.

3 Model validation

3.1 Measurement of the joint compliances

The compliance of the gears and the bearings was identified by experiments. For the measurement of each axis the robot structure was not disassembled. To ensure the decoupling of the axes only one joint at a time was loaded. Therefore while measuring axis (i) all axes from the base to axis (i  − 1) were clamped.

The experiments showed that the overall compliance around the joint’s axis of rotation consists mostly of the compliance of the gears. So, the link deformation and the bearing’s stiffness can be neglected in this direction. This is not valid for the two other directions. There, the consideration of the bearing and the link deformation leads to an eminent advancement of the model.

3.2 Direct measurement of the Cartesian compliances

For the analysis of the absolute static stiffness the investigations were made within a work space of 800 × 800 × 800 mm3. The work space was subdivided into smaller segments and the direct-compliances in the three Cartesian directions were measured at 27 positions in three Z-levels. For the whole investigation the spindle orientation was perpendicular to the XY-plane. The load was induced with a connecting rod and measured with a force cartridge. The displacement of the tool center point (TCP) was captured with dial gages in the three Cartesian directions. Figure 1 shows the examined work space and the focused Z-level. To calculate interim values for the comliances in-between the measuring points a cubic interpolation with so called Lagrange interpolating polynomials was applied.

3.3 Comparing both approaches

Figure 4 shows the compliances in the focused work space at Z-zero-level. The three plots in the first row present the experimentally determined compliances in the three spatial directions X, Y and Z. The three plots in the center row are based on the elementary joint model (see Fig. 3, top) and the three plots below show the results using the enhanced model with virtual joints (see Fig. 3, bottom). In comparison with the analytical based compliances of the elementary joint model the measured compliances are higher. This results from the neglection of the structure elements and bearings in the simple analytical model. It can be seen that beside the fact of overall larger compliance the trend of the robot behavior is comparable. With the extended model a clear improvement is obtained. The remaining inaccuracies between the measured values and the enhanced model are on the one hand caused by the introduced simplifications of the analytical model. On the other hand are uncertainties both in measuring the Cartesian compliance and the rotational joint compliances. In spite of the existing deviations it is possible to obtain realistic values for the position and direction dependant Cartesian compliances. The maximum deviations amongst experimental data and enhanced model are 0.5 μm/N in X- and Y-direction and 0.3 μm/N, in Z-direction. So, the maximum relative error related to the experimental approach is always smaller than 30% and smaller than 20% in two third of the workspace. In one third of the workspace the relative error is even smaller than 10%. The great advance of the analytical joint space model compared with the experimental model is the minor time and effort for the evaluation of model data. Moreover, with the analytical model the compliance at every position and orientation in the entire workspace of the robot can be calculated.

Fig. 4
figure 4

Cartesian compliance characteristics of the robot. Above direct measurement, center elementary joint model, below enhanced model with virtual joints

4 Summary

The static path displacement is one of the major problems in robotic machining. This article describes three different methods to obtain the static compliance of a robot. The analytical methods are comfortable to calculate the Cartesian compliance with the help of the known joint rotational compliances. The enhanced method allows to calculate realistic values for the overall Cartesian compliance at any position and orientation in the entire work space. The disadvantage of the experimental method is the large effort when analyzing a bigger work space and the limited transferability to another work space.

To calculate and compensate the path deviation with the analytic model in combination with predicted or measured (e.g. with a 6D-force-torqe sensor) process forces is a great opportunity to increase the accuracy of an industrial robot for machining applications. For the realization of such an application further research activities are currently undertaken at PTW.