Keywords

1 Introduction

At present, the conventional CNC machines are progressively replaced in industry by robotic manipulators to perform main manufacturing tasks. For those applications, industrial robots are considered to be very competitive due to their manufacturing flexibility, large workspace and cost-effectiveness. At the same time, the robotic-based machining introduces some difficulties. For instance, link and joint compliances become non-negligible when robot is under substantial external loading. So, in order to achieve high processing accuracy, essential revision of relevant mathematical models and control strategies are required.

The stiffness modeling of robotic manipulators has been in the focus of the research community for more than 30 years [1]. There exist different approaches that are able to take into account particularities of serial and parallel manipulators [2, 3]. Among a number of existing stiffness modeling approaches, the Virtual Joint Modeling (VJM) method looks the most attractive in robotics. Its main idea is to take into account the elastostatic properties of flexible components by presenting them as equivalent localized virtual springs [4]. However the stiffness modeling of the manipulators with gravity compensators has not found enough attention yet. Another difficulty related to the stiffness modeling of robotic manipulators is the identification of their model parameters. This issue is quite new in robotics, the existing approaches are usually suitable for strictly serial manipulators only [5]. Therefore, this paper aims to obtain a sophisticated elasto-static model for heavy industrial robots with a gravity compensator and to identify their parameters.

2 Problem of the Compliance Errors Compensation

In common engineering practice, robot behavior under an external loading can be described by the following force-deflection relation [6]

$$ \Delta {\mathbf{t}} = \left( {{\mathbf{J}}_{\uptheta } \cdot \left( {{\mathbf{K}}_{\uptheta } - {\mathbf{H}}_{\uptheta \uptheta } } \right)^{ - 1} \, \cdot {\mathbf{J}}_{\uptheta }^{T} } \right) \cdot {\mathbf{F}} $$
(1)

where J θ and H θθ are the Jacobian and Hessian matrices respectively, the matrix K θ describes the elastic properties of the manipulator components. This model allows us to compute the end-effector deflection ∆t due to the external loading F. Since the manipulator deflection caused by the loading is known, it can be used to improve the positioning accuracy by means of error compensation technique (Fig. 1). However in practice, only geometrical parameters are provided by the robot manufacturer, while elastostatic parameters should be identified using dedicated calibration techniques. Usually the force-deflection relation (1) is rearranged in the linear model suitable for the identification procedure, which is a linear mapping between the parameters to be identified and the end-effector displacement

Fig. 1
figure 1

Off-line compliance errors compensation strategy

$$ \Delta {\mathbf{t}}_{i} = {\mathbf{A}}_{i} \,{\mathbf{k}};\,\quad \;\;{\mathbf{A}} = \left[ {{\mathbf{J}}_{1i} {\mathbf{J}}_{1i}^{T} {\mathbf{F}}_{i} , \ldots ,{\mathbf{J}}_{ni} {\mathbf{J}}_{ni}^{T} {\mathbf{F}}_{i} } \right]\quad (i = \overline{1,m} ) $$
(2)

where the vector k collects elastostatic parameters of the matrix \( {\mathbf{k}}_{\uptheta } = {\mathbf{K}}_{\uptheta }^{ - 1} \).

It should be mentioned that such a model can be efficiently applied for strictly serial manipulators (without closed-loops) while for heavy manipulators with a gravity compensator this procedure should be revised in order to take into account particularities of the stiffness model. Another difficulty is related to the gravity compensator modeling, whose parameters are usually not given.

Hence, the goal of this work is to obtain a sophisticated elastostatic model that can be used for compliance errors compensation. Accordingly, two problems should be considered: (i) developing the model for the compensator and methodology for the identification of its parameters; (ii) integration of the compensator into conventional elastostatic model and identification of its parameters.

3 Parameters of the Enhanced Manipulator Model and Their Identification

Considered industrial robot KUKA KR-270 incorporates gravity compensator that is used to balance link-weights but also affects manipulator elastostatic properties. The mechanical structure of the gravity compensator under study is presented in Fig. 2. The compensator incorporates a passive spring attached to the first and second links, which creates a closed loop that generates the torque applied to the second joint of the manipulator. The compensator geometrical model includes three node points P 0, P 1, P 2, which yield three principal geometrical parameters \( L = \left| {P_{1} ,P_{2} } \right|,\;a = \left| {P_{0} ,P_{2} } \right|,\;s\, = \left| {P_{0} ,P_{1} } \right| \). Let us also introduce some auxiliary parameters (such as a x and a y ), whose geometrical meanings are described in Fig. 2. The fact that the gravity compensator affects on the second joint only allows us to replace the constant parameter \( K_{{\theta_{2} }} \) in the model (1) by the non-linear one that also takes into account elasto-static properties of the compensator.

Fig. 2
figure 2

Gravity compensator and its model

The variable s describing the compensator spring deflection can be computed as a function of the second joint coordinate q 2 as follows:

$$ s^{2} = a^{2} + L^{2} + 2\;a\;L\;\cos (\alpha - q_{2} ) $$
(3)

Therefore, the equivalent stiffness of the second joint (comprising both the manipulator and compensator stiffnesses) can be expressed as

$$ K_{{\theta_{2} }} = K_{{\theta_{2} }}^{0} + K_{c} \;a\,L\,\,\left( {\frac{{s_{0} }}{s}\,\left( {\frac{a\,L}{{s^{2} }}\sin^{2} (\alpha - q_{2} ) + \cos (\alpha - q_{2} )} \right) - \cos (\alpha - q_{2} )} \right) $$
(4)

where K c is the gravity compensator stiffness, the value s 0 corresponds to the distance \( \left| {P_{0} ,P_{1} } \right| \) for the unloaded spring. This allows us to extend the classical stiffness model (1) of the serial manipulator by modifying the virtual spring parameters in accordance with the compensator properties. In this case, the Cartesian stiffness matrix K c can be computed using the following expression:

$$ \begin{array}{*{20}c} {{\mathbf{K}}_{\text{C}} } \\ \end{array} = \left( {{\mathbf{J}}_{\uptheta } \cdot \,\,({\mathbf{K}}_{\uptheta } ({\mathbf{q}}) - {\mathbf{H}}_{\uptheta \uptheta } )^{ - 1} \cdot {\mathbf{J}}_{\uptheta }^{\text{T}} } \right)^{ - 1} $$
(5)

which includes both the first and second order derivatives (Jacobians and Hessians) of the functions g(q, θ) describing the manipulator geometry [4]. Here, the vectors q and θ collect actuator coordinates and the corresponding deflections.

The equivalent stiffness of the second joint (4) depends on several geometrical parameters (L, a x , a y ) that are unknown and should be identified using reference points shown in Fig. 2b. By considering particularities of the experimental setup for the geometric parameters identification, where for each measurement of the point P 1 joint coordinate q 2 is given, the value of L can be computed as

$$ L = {{\sum_{i = 1}^{m} {{\mathbf{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{p} }}_{i}^{T} {\mathbf{R}}\,{\mathbf{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{u} }}_{i} } } \mathord{\left/ {\vphantom {{\sum_{i = 1}^{m} {{\mathbf{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{p} }}_{i}^{T} {\mathbf{R}}\,{\mathbf{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{u} }}_{i} } } {\sum_{i = 1}^{m} {\,{\mathbf{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{u} }}_{i}^{T} {\mathbf{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{u} }}_{i} } }}} \right. \kern-0pt} {\sum_{i = 1}^{m} {\,{\mathbf{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{u} }}_{i}^{T} {\mathbf{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{u} }}_{i} } }} $$
(6)

where \( {\mathbf{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{p} }}_{i} = {\mathbf{p}}_{i} - m^{ - 1} \sum\nolimits_{i = 1}^{m} {{\mathbf{p}}_{i} } ,\;\,{\mathbf{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{u} }}_{i} = {\mathbf{u}}_{i} - m^{ - 1} \sum\nolimits_{i = 1}^{m} {{\mathbf{u}}_{i} } ,\;{\mathbf{u}}_{i} = [\cos q_{i} ,\,\,\,\sin q_{i} ,\,\,\,0]^{T} ,\;{\mathbf{p}}_{i} \) is the Cartesian coordinate vector of point P 1 for the ith measurement and m is the number of measurements and the orthogonal matrix R = VU T can be obtained using the following SVD-factorization \( \sum\nolimits_{i = 1}^{m} {{\mathbf{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{u} }}_{i} {\mathbf{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{p} }}_{i} } = {\mathbf{U}}\,{\varvec{\Sigma}}\,{\mathbf{V}}^{T} \). The remaining geometrical parameters (a x and a y ) are x and y coordinates of the vector

$$ {\mathbf{p}}_{0} = \frac{1}{2}\left( {{\mathbf{I}} - {\mathbf{n}}\,{\mathbf{n}}^{T} } \right)\left( {\sum\limits_{j = 1}^{k} {\sum\limits_{i = 1}^{m} {{\mathbf{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{p} }}_{i}^{j} \,{\mathbf{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{p} }}_{i}^{jT} } } } \right)^{ - 1} \,\sum\limits_{j = 1}^{k} {\sum\limits_{i = 1}^{m} {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{s}_{i}^{j} \,{\mathbf{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{p} }}_{i}^{j} + k^{ - 1} m^{ - 1} \,{\mathbf{n}}\,{\mathbf{n}}^{T} } } \sum\limits_{j = 1}^{k} {\sum\limits_{i = 1}^{m} {{\mathbf{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{p} }}_{i}^{j} } } $$
(7)

where \( {\mathbf{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{p} }}_{i}^{j} = {\mathbf{p}}_{i}^{j} - m^{ - 1} \sum\nolimits_{l = 1}^{m} {{\mathbf{p}}_{l}^{j} } ,\;\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{s}_{i}^{j} = {\mathbf{p}}_{i}^{jT} {\mathbf{p}}_{i}^{j} - m^{ - 1} \sum\nolimits_{l = 1}^{m} {{\mathbf{p}}_{i}^{jT} {\mathbf{p}}_{i}^{j} } ,\;{\mathbf{p}}_{i}^{j} \) is the Cartesian coordinate vector of point P 0j for the ith measurement, k is the number of reference points and m is the number of measurements. Here, the vector n is the last column of the matrix V of the following SVD-factorization \( \sum\nolimits_{j = 1}^{k} {\sum\nolimits_{i = 1}^{m} {{\mathbf{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{p} }}_{i}^{j} \,{\mathbf{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{p} }}_{i}^{jT} \,} } = {\mathbf{U}}\,{\varvec{\Sigma}}\,{\mathbf{V}}^{T} \).

Since all geometrical parameters are known, the elastostatic ones can be identified. To take into account the compensator influence while retaining the approach developed for serial robots without compensators, manipulator elastostatic parameters can be identified into two steps. The first step aims to compute the extended set of elastic parameters that includes all equivalent virtual springs for the second joint by using the standard least-square technique

$$ {\mathbf{k}} = \left( {\sum\limits_{i = 1}^{m} {{\mathbf{B}}_{i}^{{(p)^{T} }} {\mathbf{B}}_{i}^{(p)} } } \right)^{ - 1} \cdot \;\left( {\sum\limits_{i = 1}^{m} {{\mathbf{B}}_{i}^{{(p)^{T} }} \Delta {\mathbf{p}}_{i} } } \right) $$
(8)

where the vector ∆p i is the small displacement of the end-effector under the external loading F i , matrix \( {\mathbf{B}}_{i}^{(p)} \) is a rearranged matrix A i that integrates positional components only and considers the shape and meaning of vector k. The second step deals with the identification of the gravity compensator parameters and compliance of joint #2 that can be obtained from the following equation

$$ \left[ {\begin{array}{*{20}c} {K_{{\theta_{2} }}^{0} } & {K_{c} } & {s_{0} \cdot K_{c} } \\ \end{array} } \right]^{T} = \left( {\sum_{i = 1}^{{m_{q} }} {{\mathbf{C}}_{i}^{T} {\mathbf{C}}_{i} } } \right)^{ - 1} \left( {\sum_{i = 1}^{{m_{q} }} {{\mathbf{C}}_{i}^{T} K_{{\theta_{2i} }} } } \right) $$
(9)

where m q is the number of different angles q 2 in the experimental data,

$$ {\mathbf{C}}_{i} = \left[ {1\quad - \,a\,L \cdot \cos \left( {\alpha - q_{2i} } \right)\quad a\,L/s \cdot \left( {a\,L/s^{2} \cdot \sin^{2} \left( {\alpha - q_{2i} } \right) + \cos \left( {\alpha - q_{2i} } \right)} \right)} \right] $$
(10)

In order to ensure high calibration efficiency, the design of experiments should be considered while choosing measurement configurations. To the best of our knowledge, the best results for particular industrial applications can be achieved by using the test-pose based approach [7], which reduces optimal pose selection to the following optimization problem:

$$ {\text{trace}}\left( {{\mathbf{A}}_{0}^{(p)} \sum_{j = 1}^{{m_{q} }} {\left( {\sum_{i = 1}^{m} {{\mathbf{A}}_{i}^{{j(p)^{T} }} {\mathbf{A}}_{i}^{j(p)} } } \right)^{ - 1} {\mathbf{A}}_{0}^{{(p)^{T} }} } } \right) \to \mathop {\hbox{min} }\limits_{{\{ {\mathbf{q}}_{i} ,{\mathbf{w}}_{i} \} }} $$
(11)

Here matrix \( {\mathbf{A}}_{0}^{(p)} \) has the same structure as matrix \( {\mathbf{A}}_{i}^{(p)} \), but is defined by the desired test pose configuration q 0 and the external loading F 0. The values of q 0, F 0 are usually related to a typical machining configuration and force generated by the tool-workpiece interaction. Such an approach allows us to ensure the highest positioning accuracy after compensation compliance errors caused by the technological process.

Using theoretical results presented in this section, it is possible to obtain a sophisticated elasto-static model that can be used for further error compensation. In the next section, these results are used to obtain the stiffness model of the KUKA KR-270 robot.

4 Experimental Results and Comparison Analysis

The main geometric parameters of the gravity compensator are L, a x and a y (see Fig. 2). They can be identified by using relative locations of points P 0 and P 1 with respect to point P 2. Since the adopted geometric model is a planar one, here the laser tracker base frame is defined in a particular way in order to ensure that the marker locations relative to the XY-plane are not significant. Another important issue is related to the selection of the marker point locations on the rigid part of the gravity compensator. To ensure high identification accuracy, these markers should be located on the opposite sides of the compensator rotational axis, such that the optimal conditions \( \sum\nolimits_{j = 1}^{k} {R_{j} \cos \beta_{j} } = 0 \) and \( \sum\nolimits_{j = 1}^{k} {R_{j} \sin \beta_{j} } = 0 \) are satisfied. To increase the identification accuracy, four marker points are used in the calibration experiments and are denoted as P 01, P 02, P 03 and P 04, respectively. Their locations are shown in Fig. 1, where the radii R 1 = R 3 and R 2 = R 4, and the angles \( \beta_{3} = \pi + \beta_{1} \) and \( \beta_{4} = \pi + \beta_{2} \). The measurement data have been obtained using a Leica laser-tracer for the set \( q_{2} = \left\{ {0^\circ , - 30^\circ , - 60^\circ , - 90^\circ , - 120^\circ , - 140^\circ } \right\} \). The values of the identified geometrical parameters and corresponding confidence intervals are given in Table 1.

Table 1 Identification results for the compensator geometric parameters

For the identification of manipulator elastostatic parameters, 15 measurement configurations (with 5 different values for q2) were obtained based on the industry oriented performance measure (10), for which the Cartesian coordinates of the reference points (P1, P2 and P3) were measured three times (before and after the loading). The corresponding experimental setup is illustrated in Fig. 3. The desired elastostatic parameters have been obtained using a two-step identification procedure. On the first step, the base and tool transformations have been computed. On the second step, all measurement data as well as the obtained base and tool transformations have been used for the identification of the manipulator elastostatic parameters. Corresponding numerical results are given in Table 2.

Fig. 3
figure 3

Experimental setup for manipulator elastostatic calibration

Table 2 Manipulator elastostatic parameters obtained using different approaches, [µrad/Nm]

To show the advantages of the developed approach, the manipulator accuracy after calibration has been compared for two distinct plans of calibration experiments. The first one has been obtained using the industry-oriented performance measure and implements enhanced numerical routines. In this case, the manipulator was presented as a quasi-serial chain, and the calibration data were obtained using the enhanced partial pose measurements. The second plan used measurement configurations that were selected semi-intuitively, in accordance with some kinematic performance measures [5]. A relevant manipulator model corresponding to the strict serial architecture, and the calibration data were obtained using conventional full-pose measurements.

Using these two sets of calibration data, the identification yielded two slightly different sets of manipulator parameters (Table 2). Then, the obtained parameters (both sets) may be used to compute the end-effector positions for the validation configurations (that were not used in both identification routines). Comparing these results with the corresponding position measurements, it is possible to evaluate the “calibration quality” and relevant plans of the experiments.

For comparison purposes, the manipulator accuracy improvement due to elastostatic errors compensation has been studied based on the error analysis before and after compensation. Relevant results are shown in Table 3, where the maximum and RMS values of the distance-based residuals are provided. As follows from the obtained results, using the identified elastostatic parameters, it is possible to compensate 91.2 % of the end-effector deflections (in average). In general, the manipulator positioning accuracy has been improved by a factor of 11.1 compare to a non-compensated robot. Compare to the previous results, the compensation efficiency has been increased by a factor of 2.4 using almost the same number of configurations, which is also referred to as the accuracy improvement factor. Hence, the above presented analysis shows the advantages of theoretical contributions presented in this work. The developed calibration technique allows us to increase essentially the manipulator positioning accuracy under external loading using a reasonable number of measurement configurations. It should be noted that the obtained elastostatic parameters can be used for elaso-dynamic analysis.

Table 3 The manipulator accuracy improvement after elastostatic error compensation

5 Conclusion

The paper deals with the accuracy improvement of a heavy industrial robot used for milling operations. It provides a sophisticated geometric/elastostatic model for quasi serial manipulators with gravity compensator and techniques for the identification of their model parameters. In order to improve the identification accuracy, design of experiments technique based on industry oriented performance measure was used. The advantages and practical significance of the proposed approach have been shown by experimental results and a comparison analysis. The improvement factor is about 2.4.