Skip to main content

Variable Stiffness Identification and Configuration Optimization of Industrial Robots for Machining Tasks


Industrial robots are increasingly being used in machining tasks because of their high flexibility and intelligence. However, the low structural stiffness of a robot significantly affects its positional accuracy and the machining quality of its operation equipment. Studying robot stiffness characteristics and optimization methods is an effective method of improving the stiffness performance of a robot. Accordingly, aiming at the poor accuracy of stiffness modeling caused by approximating the stiffness of each joint as a constant, a variable stiffness identification method is proposed based on space gridding. Subsequently, a task-oriented axial stiffness evaluation index is proposed to quantitatively assess the stiffness performance in the machining direction. In addition, by analyzing the redundant kinematic characteristics of the robot machining system, a configuration optimization method is further developed to maximize the index. For numerous points or trajectory-processing tasks, a configuration smoothing strategy is proposed to rapidly acquire optimized configurations. Finally, experiments on a KR500 robot were conducted to verify the feasibility and validity of the proposed stiffness identification and configuration optimization methods.

1 Introduction

The application of industrial robots has significantly increased in automatic manufacturing owing to their remarkable advantages such as great operation flexibility, high intelligence, low cost, and low space requirement [1,2,3]. However, the stiffness of industrial robots is only 2% to 5% of that of computer numerical control (CNC) machines because of the inherent characteristics of their series structures [4,5,6]. Such weak stiffnesses of industrial robots significantly affect their positional accuracy and processing quality of products, which severely limits their application in the manufacturing and assembly of high value-added products. Therefore, the stiffness characteristics and strengthening methods must be extensively investigated to improve the operation performance of robot equipment.

Many researchers have investigated robot stiffness characteristics and modeling methods. Dumas and Caro proposed a fast identification method for joint stiffness and established the Cartesian stiffness model of the KUKA KR240-2 robot through experimental results [7]. Zhou et al. identified geometric parameters to revise the robot kinematics model and the Jacobian matrix. Based on this, a more precise joint stiffness matrix and stiffness model could be obtained [8]. Klimchik et al. adopted the method of a virtual axis to couple the connecting rod gravity and external load into the stiffness modeling process, which resulted in a higher accuracy of stiffness modeling [9]. The aforementioned stiffness identification and modeling methods were established based on the assumptions of rigid connecting rods and an elastic rotation axis of the joint. However, the gravity center of the connecting rod and the torsional stiffness of the motor and reducer vary with the operation configuration. In addition, different sampling configurations result in different identification results because of the inherent nonlinearity of joint stiffness [10]. In other words, a set of joint stiffness identification results cannot satisfy the accuracy requirements of the stiffness model in the entire workspace.

Furthermore, the stiffness performance of the robot primarily depends on three factors: (1) the connecting rod structure and material properties, (2) stiffness of the actuator and transmission mechanism, and (3) working configuration. Compared with the first two factors, the optimization of the robot configuration has the advantages of high technical feasibility, good task adaptability, and no need to change the structure and control system of the robot, which indicates a high application value in engineering applications.

Sabourin et al. [11] developed a comprehensive optimization objective function combining kinematic and stiffness performance to optimize the configuration of a robot machining system. Xiong et al. [12] proposed a discrete search algorithm to configure the operation of a milling robot with optimal stiffness performance, and the optimization results significantly increased the trajectory accuracy. Guo et al. [13] used a robot stiffness ellipsoid as the evaluation index to improve robot stiffness performance through configuration optimization, and a higher drilling axial accuracy and countersink depth accuracy were obtained. However, these studies focused on configuration optimization for processing tasks with discrete positions. When many points or trajectory tasks are involved, such as thousands of target positions in drilling tasks of aerospace components, the optimization of individual target points significantly restricts the processing efficiency, which cannot satisfy the requirements of short-cycle manufacturing tasks.

Motivated by these observations, a variable stiffness identification method was investigated for an accurate modeling of industrial robots that overcomes the effects of configurations on stiffness modeling. In addition, a configuration smoothing method is proposed for the rapid acquisition of optimized configurations based on the geometric position features of target machining tasks.

The remainder of this paper is organized as follows. Section 2 presents a planning method for sampling points based on space gridding, and a variable stiffness identification method is proposed. In Section 3, a task-oriented stiffness representation model is established to estimate the stiffness performance in a particular direction, and a configuration optimization strategy is proposed to maximize the performance. Aiming at numerous points or trajectory tasks, Section 4 proposes a robot configuration smoothing method to achieve a rapid acquisition of optimized configurations. In Section 5, verification experiments of the identification results and configuration optimization methods are designed and discussed. Finally, Section 6 concludes the paper.

2 Identifying Variable Stiffness Based on Space Gridding

The Cartesian stiffness of a robot is directly dependent on the joint stiffness and robot configuration according to the traditional static stiffness model. However, joint stiffness identification and robot configuration are interrelated. The stiffness of each joint varies with the robot configuration because of the complex transmission structure, which primarily consists of a motor and a reducer [14]. However, different configurations result in changes in structural gravity centers and deformations in the kinematic parameters, which affect the identification accuracy of joint stiffness [15]. Thus, variable stiffness identification is an effective method of overcoming the effect of configuration on the stiffness identification results.

2.1 Stiffness Identification Principle

Based on the elastic deformation assumption, the relationship between the displacement of the end effector (EE) and the corresponding operating load can be expressed as

$$\user2{F} = \user2{KD} \Rightarrow \user2{D} = \user2{K}^{{ - 1}} \user2{F} = \user2{CF} = \user2{JK}_{\theta }^{{ - 1}} \user2{J}^{{\text{T}}} \user2{F},$$

where F is the generalized force vector acting on the EE, D is the displacement vector, C is the inverse matrix of the stiffness matrix K, i.e., the robot compliance matrix, and J is the robot Jacobian matrix. Kθ is a diagonal matrix composed of the joint stiffness:

$${\user2{K}}_{\theta } = {\text{diag}}\left( {k_{{\theta_{1} }} ,k_{{\theta_{2} }} ,k_{{\theta_{3} }} ,k_{{\theta_{4} }} ,k_{{\theta_{5} }} ,k_{{\theta_{6} }} } \right),$$

where θ1 to θ6 represent the six joints of the industrial robot, and \(k_{{\theta_{1} }}\) to \(k_{{\theta_{6} }}\) denote the stiffness of each joint.

The deformation caused by the working load is nonlinear with the stiffness of each joint. Thus, when identifying the joint stiffness in experiments, numerous sampling experiments are required. Multiple groups of static loads under different robot configurations should be applied, and the displacements at the end of the robot can be subsequently measured. Simplifying the right-hand side of Eq. (1), the relationship between D and joint compliance can be expressed as

$${\user2{D}} = {\user2{A}}({\user2{J}},{\user2{F}}){\user2{C}}_{\theta } ,$$

where F, A, and Cθ can be defined as follows:

$$\begin{gathered} {\user2{F}} = \left[ {\begin{array}{*{20}c} {f_{x} } & {f_{y} } & {f_{z} } & {m_{x} } & {m_{y} } & {m_{z} } \\ \end{array} } \right]^{{\text{T}}} \\ = \left[ {\begin{array}{*{20}c} {F_{1} } & {F_{2} } & {F_{3} } & {F_{4} } & {F_{5} } & {F_{6} } \\ \end{array} } \right]^{{\text{T}}} , \\ \end{gathered}$$

where fx, fy, and fz represent the three forces applied on the EE in different directions, and mx, my, and mz are the torques in the three directions. These six elements can be expressed as F1 to F6:

$${\user2{A}} = \left[ {\begin{array}{*{20}c} {J_{11} \sum\limits_{i = 1}^{6} {J_{i1} F_{i} } } & \cdots & {J_{16} \sum\limits_{i = 1}^{6} {J_{i6} F_{i} } } \\ \vdots & \ddots & \vdots \\ {J_{61} \sum\limits_{i = 1}^{6} {J_{i1} F_{i} } } & \cdots & {J_{66} \sum\limits_{i = 1}^{6} {J_{i6} F_{i} } } \\ \end{array} } \right],$$

where J11 to J66 are elements of the robot Jacobian matrix.

$${\user2{C}}_{\theta } = \left[ {\begin{array}{*{20}c} {k_{{\theta_{1} }}^{ - 1} } & {k_{{\theta_{2} }}^{ - 1} } & {k_{{\theta_{3} }}^{ - 1} } & {k_{{\theta_{4} }}^{ - 1} } & {k_{{\theta_{5} }}^{ - 1} } & {k_{{\theta_{6} }}^{ - 1} } \\ \end{array} } \right]^{{\text{T}}} ,$$

where \(k_{{\theta_{1} }}^{ - 1}\) to \(k_{{\theta_{6} }}^{ - 1}\) denote the compliance coefficient of each joint.

Based on the concept of a generalized inverse matrix, the robot compliance (Cθ) can be calculated as follows:

$${\user2{C}}_{\theta } = \left( {{\user2{A}}^{{\text{T}}} {\user2{A}}^{ - 1} } \right){\user2{A}}^{{\text{T}}} {\user2{D}}.$$

According to the identification method described above, the quantity and distribution of the selected sampling points, which relate to the robot configurations, directly affect the accuracy of the identification results [16, 17]. Hence, the fitting result of the joint stiffness in the entire workspace cannot accurately reflect the performance of robots in different subspaces [18]. Therefore, joint stiffness parameters suitable for different workspaces must be determined to increase the stiffness identification accuracy.

2.2 Space Gridding Principle Analysis

If the rotation angle and corresponding stiffness of each joint are determined, a robotic stiffness model can be established. If Kc1 is the joint stiffness in a particular configuration (C1) and Kc2 is the joint stiffness in a closed configuration (C2), then

$${\user2{K}}_{c1} \, { = }\left[ {\begin{array}{*{20}c} {k_{11} } & {k_{12} } & {k_{13} } & {\begin{array}{*{20}c} {k_{14} } & {k_{15} } & {k_{16} } \\ \end{array} } \\ \end{array} } \right],$$
$${\user2{K}}_{c2} \, { = }\left[ {\begin{array}{*{20}c} {k_{21} } & {k_{22} } & {k_{23} } & {\begin{array}{*{20}c} {k_{24} } & {k_{25} } & {k_{26} } \\ \end{array} } \\ \end{array} } \right],$$
$$E = \left\| {{\user2{K}}_{c1} - {\user2{K}}_{c2} } \right\| < \xi , \Delta {{\varvec{\theta}}} \to 0,$$

where k11 to k16 are the joint stiffnesses in C1, k21 to k26 are the joint stiffnesses in C2, and E is the 2-norm of the difference between Kc1 and Kc2. A positive number ξ approaching zero always exists, which satisfies E<ξ, with the angle variation θ approaching zero. Therefore, the corresponding joint stiffnesses of the two close configurations can be considered highly similar [19, 20].

Through the above analysis, the workspace of the robot can be divided, and the joint stiffness corresponding to each subspace can be considered to be approximately fixed values. Owing to the advantage of higher processing efficiency, the reachable space of the robot can be divided into a set of cubic grids (Figure 1(a)).

Figure 1
figure 1

Space gridding and sampling postures

Eight vertices of a particular grid can be selected as sampling points to envelop a single grid. In addition, the center point of the grid can be selected as a sampling point to ensure that the stiffness parameter in the grid is closer to the actual value. Thus, nine target points (Tags 1 to 9) are used as sample positions to identify the joint stiffness corresponding to a particular grid space (Figure 1(b)). In the initial sampling posture of a target position, the three axes of the tool coordinate system are consistent with the directions of the three intersecting edges of the grid, such as the sampling posture of Tag 5. In addition, different sampling postures can be obtained by rotating a certain angle around any axis of the tool coordinate system. Figure 1(c) shows the generation of a new posture by rotating the y-axis of the tool coordinate system. Based on this, different sampling postures of the nine sampling positions can be obtained (Figure 1(b)) [21]. Moreover, the joint stiffness tends to be stable with more than ten groups of sampling configurations in a stiffness identification experiment [22,23,24]. Therefore, in each sampling position of a grid space, more than two configurations should be used to ensure the accuracy of the stiffness identification results.

2.3 Variable Stiffness Identification

By combining the static stiffness identification method and the space gridding principle, a variable stiffness identification method is innovatively developed. Sampling positions can be obtained based on space gridding, and the robot stiffness model, which is suitable for an entire workspace, can be built precisely and described as

$${\user2{K}}(j) = {\user2{J}}^{{ - {\text{T}}}} {\user2{K}}_{\theta } (j){\user2{J}}^{ - 1} ,$$
$${\user2{K}}_{\theta } (j) = {\text{diag}}\left( {k_{{\theta_{1} }} (j) \cdots k_{{\theta_{6} }} (j)} \right),$$

where j is the grid serial number, and \({\user2{K}}_{\theta } (j)\) is the joint stiffness corresponding to the grid space in which the target position of the current robot is located. Eq. (12) can be described as the variable-stiffness model. Compared with the traditional static stiffness model, the variable stiffness model can more accurately reflect the stiffness characteristics in different robot position intervals; thus, an accurate evaluation of the stiffness performance and precise prediction of load-induced positional error can be achieved.

The steps of the variable stiffness identification method are shown in Figure 2.

Figure 2
figure 2

Flowchart of variable stiffness identification

According to the identification results, the joint stiffness of the grid space in which the target position is located can be obtained. However, when the location of a target point occurs in some special positions (Figure 3), the selecting which sampling points to calculate joint stiffness is a complex problem.

Figure 3
figure 3

Special scenarios of the target position

When located in a vertex, side, or plane that belongs to only one grid, the joint stiffness in this grid space can be used. In addition, a target position may also appear in the following special locations: (1) in a common vertex of two, four, or eight grids; (2) in a common line of two or four grids; (3) in the contact plane of two grids. When the grid size is sufficiently small, the aforementioned scenarios can be solved by averaging the stiffness of each joint corresponding to all grids containing the target point.

The proposed stiffness identification method is an innovation over improvement of the static stiffness model. Therefore, although this paper uses KUKA KR500 as a discussion case, the method can be utilized for other types of robots. Based on accurate joint stiffness identification and modeling, the evaluation and optimization methods of robot stiffness performance can be studied for the practical application of the stiffness model in engineering, such as machining stiffness enhancement and high-precision positioning control.

3 Stiffness Performance Index and Configuration Optimization

3.1 Task-oriented Axial Stiffness Performance Index

In the robot machining process, the working load causes the deformation of the EE, where the deformation in the radial direction of the tool affects the cutting positional accuracy (drilling, boring, etc.) or the trajectory accuracy (milling, grinding, etc.), and the tool axial deformation primarily affects the cutting surface quality (roughness, flatness, etc.). Therefore, the definition of the robot stiffness performance index should be adapted to the load distribution characteristics of the specific task of the robot.

Based on the different dimensions of the elements, Eq. (1) can be transformed as follows:

$$\left[ {\begin{array}{*{20}c} {\user2{f}} \\ {\user2{m}} \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {{\user2{K}}_{fd} } & {{\user2{K}}_{f\delta } } \\ {{\user2{K}}_{md} } & {{\user2{K}}_{m\delta } } \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {\user2{d}} \\ {{\varvec{\delta}}} \\ \end{array} } \right],$$

where f and m indicate the force and torque matrices, respectively, d and δ represent the translational and rotational displacement matrices, respectively, Kfd and K are the force-translational and force-rotational stiffness submatrices, respectively, and Kmd and K are the torque-translational and torque-translational stiffness submatrices, respectively. The posture error caused by the cutting load is very small, and tracking the working posture of EE using the online detection method is difficult; therefore, the error can be ignored. Subsequently,

$${\user2{f}} = {\user2{K}}_{fd} {\user2{d}} + {\user2{K}}_{f\delta } {{\varvec{\delta}}}.$$

In addition, the main key factor of machining quality is the linear displacement of the end of the robot caused by the cutting load, and the change in the end posture caused by the torque has a slight effect on the machining accuracy and quality [25, 26]. Therefore, Eq. (14) can be simplified similarly as

$${\user2{f}} = {\user2{K}}_{fd} {\user2{d}},{{\varvec{\delta}}} = 0.$$

Applying a unit force f to the EE of a robot, we obtain

$$\left\| {\user2{f}} \right\|^{2} = {\user2{f}}^{{\text{T}}} {\user2{f}} = {\user2{d}}^{{\text{T}}} {\user2{K}}_{fd}^{{\text{T}}} {\user2{K}}_{fd} {\user2{d}} = 1.$$

Eq. (16) describes an ellipsoid that changes with the robot operation configuration (Figure 4), whose directions of principal axes are eigenvectors of \({\user2{K}}_{fd}^{{\text{T}}} {\user2{K}}_{fd}\). The singular values of \({\user2{K}}_{fd}^{{\text{T}}} {\user2{K}}_{fd}\), denoted as λ1, λ2, and λ3, which reflect the lengths of the ellipsoid’s semi-axis, represent the square of the stiffness values in three directions, respectively.

Figure 4
figure 4

Stiffness ellipsoid

During the robot operation, the direction of the machining load at the end of the robot is not consistent with the main axis of the robot stiffness ellipsoid. Therefore, the axial stiffness performance of robots must be studied to realize an accurate evaluation of machining performance. In Figure 4, λt1 and λt2 represent the two half axes of the elliptical section of the machining plane in the envelope space of the stiffness ellipsoid, and λd is the semi-axis, which is the normal vector of the elliptical section. The square roots of the three half-axis lengths represent the stiffness values of the three axes in the robot tool coordinate system [27, 28].

The direction of λd in the stiffness ellipsoid coordinate system can be defined as the unit vector [ex ey ez], and the mathematical formula of the line of its location is expressed as follows:

$$\frac{x}{{e_{x} }} = \frac{y}{{e_{y} }} = \frac{z}{{e_{z} }} = t,$$

where t is the proportionality coefficient of the spatial line. Thus, the stiffness ellipsoid can be expressed according to the definition formula of the ellipsoid as

$$\frac{{x^{2} }}{{\lambda_{1}^{2} }} + \frac{{y^{2} }}{{\lambda_{2}^{2} }} + \frac{{z^{2} }}{{\lambda_{3}^{2} }} = 1,$$

where x, y and z represent the coordinates of the intersection point between the straight line shown in Eq. (17) and the stiffness ellipsoid. Combining Eqs. (17) and (18), t can be eliminated, and the coordinates of the intersection point can be obtained as follows:

$$x = {{ \pm e_{x} } \mathord{\left/ {\vphantom {{ \pm e_{x} } {\sqrt {\frac{{e_{x}^{2} }}{{\lambda_{1}^{2} }} + \frac{{e_{y}^{2} }}{{\lambda_{2}^{2} }} + \frac{{e_{z}^{2} }}{{\lambda_{3}^{2} }}} }}} \right. \kern-\nulldelimiterspace} {\sqrt {\frac{{e_{x}^{2} }}{{\lambda_{1}^{2} }} + \frac{{e_{y}^{2} }}{{\lambda_{2}^{2} }} + \frac{{e_{z}^{2} }}{{\lambda_{3}^{2} }}} }},$$
$$y = {{ \pm e_{y} } \mathord{\left/ {\vphantom {{ \pm e_{y} } {\sqrt {\frac{{e_{x}^{2} }}{{\lambda_{1}^{2} }} + \frac{{e_{y}^{2} }}{{\lambda_{2}^{2} }} + \frac{{e_{z}^{2} }}{{\lambda_{3}^{2} }}} }}} \right. \kern-\nulldelimiterspace} {\sqrt {\frac{{e_{x}^{2} }}{{\lambda_{1}^{2} }} + \frac{{e_{y}^{2} }}{{\lambda_{2}^{2} }} + \frac{{e_{z}^{2} }}{{\lambda_{3}^{2} }}} }},$$
$$z = {{ \pm e_{z} } \mathord{\left/ {\vphantom {{ \pm e_{z} } {\sqrt {\frac{{e_{x}^{2} }}{{\lambda_{1}^{2} }} + \frac{{e_{y}^{2} }}{{\lambda_{2}^{2} }} + \frac{{e_{z}^{2} }}{{\lambda_{3}^{2} }}} }}} \right. \kern-\nulldelimiterspace} {\sqrt {\frac{{e_{x}^{2} }}{{\lambda_{1}^{2} }} + \frac{{e_{y}^{2} }}{{\lambda_{2}^{2} }} + \frac{{e_{z}^{2} }}{{\lambda_{3}^{2} }}} }}.$$

Subsequently, λd and kx can be calculated as follows:

$$\lambda_{d} = \sqrt {x^{2} + y^{2} + z^{2} } = {1 \mathord{\left/ {\vphantom {1 {\sqrt {\frac{{e_{x}^{2} }}{{\lambda_{1}^{2} }} + \frac{{e_{y}^{2} }}{{\lambda_{2}^{2} }} + \frac{{e_{z}^{2} }}{{\lambda_{3}^{2} }}} }}} \right. \kern-\nulldelimiterspace} {\sqrt {\frac{{e_{x}^{2} }}{{\lambda_{1}^{2} }} + \frac{{e_{y}^{2} }}{{\lambda_{2}^{2} }} + \frac{{e_{z}^{2} }}{{\lambda_{3}^{2} }}} }},$$
$$k_{x} = \sqrt {\lambda_{d} } = {1 \mathord{\left/ {\vphantom {1 {\sqrt[4]{{\frac{{e_{x}^{2} }}{{\lambda_{1}^{2} }} + \frac{{e_{y}^{2} }}{{\lambda_{2}^{2} }} + \frac{{e_{z}^{2} }}{{\lambda_{3}^{2} }}}}}}} \right. \kern-\nulldelimiterspace} {\sqrt[4]{{\frac{{e_{x}^{2} }}{{\lambda_{1}^{2} }} + \frac{{e_{y}^{2} }}{{\lambda_{2}^{2} }} + \frac{{e_{z}^{2} }}{{\lambda_{3}^{2} }}}}}}.$$

The method can also be extended to calculate ky and kz, which can be expressed as follows:

$$k_{y} = \sqrt {\lambda_{{{\text{t1}}}} } = {1 \mathord{\left/ {\vphantom {1 {\sqrt[4]{{\frac{{h_{x}^{2} }}{{\lambda_{1}^{2} }} + \frac{{h_{y}^{2} }}{{\lambda_{2}^{2} }} + \frac{{h_{z}^{2} }}{{\lambda_{3}^{2} }}}}}}} \right. \kern-\nulldelimiterspace} {\sqrt[4]{{\frac{{h_{x}^{2} }}{{\lambda_{1}^{2} }} + \frac{{h_{y}^{2} }}{{\lambda_{2}^{2} }} + \frac{{h_{z}^{2} }}{{\lambda_{3}^{2} }}}}}},$$
$$k_{z} = \sqrt {\lambda_{{{\text{t2}}}} } = {1 \mathord{\left/ {\vphantom {1 {\sqrt[4]{{\frac{{l_{x}^{2} }}{{\lambda_{1}^{2} }} + \frac{{l_{y}^{2} }}{{\lambda_{2}^{2} }} + \frac{{l_{z}^{2} }}{{\lambda_{3}^{2} }}}}}}} \right. \kern-\nulldelimiterspace} {\sqrt[4]{{\frac{{l_{x}^{2} }}{{\lambda_{1}^{2} }} + \frac{{l_{y}^{2} }}{{\lambda_{2}^{2} }} + \frac{{l_{z}^{2} }}{{\lambda_{3}^{2} }}}}}},$$

where [hx hy hz] and [lx ly lz] are the unit vectors of λt1 and λt2, respectively. Using these three formulas, the three-dimensional stiffness in the robot tool coordinate system can be accurately calculated, which provides a theoretical basis and evaluation standard for precision control and quality improvement of machining tasks.

3.2 Stiffness-Oriented Configuration Optimization Method

Redundant degrees of freedom (DOFs) increase the task adaptability of a robot operating system. Consequently, the tasks of the robot operating system can be divided into two subtask levels. The first-level subtask controls the EE to move to the initial position and posture to satisfy the requirements of the operation task. As a second-level subtask, configuration optimization improves machining performance by using redundant DOFs [29].

The 6-DOF industrial robot has a functional redundant DOF in the direction of the tool axis, whether for position processing tasks (drilling, boring, etc.) or trajectory processing tasks (milling, grinding, etc.). In other words, theoretically, an infinite number of poses of the EE can be used to execute machining tasks [30]. Therefore, the change step of the rotation angle of the EE can be set to reduce the amount of calculation in the optimization process and then promote the running speed of the optimization method.

The feasible posture of the EE is described in the Cartesian coordinate system. However, the stiffness performance index of the robot is evaluated in the joint space. Therefore, the inverse kinematics algorithm and the uniqueness principle must be used to solve the joint angles corresponding to the current robot configuration.

The specific steps of robot configuration optimization are as follows:

  1. (1)

    Extract the position coordinates P (px, py, pz) of the target point from the process digital model, and plan the initial posture N(α, β, γ) in the offline programming software. The current configuration \({\user2{C}}_{0}\) of the robot can be obtained using an inverse kinematics algorithm and the uniqueness principle of the inverse solution.

  2. (2)

    Use the axial stiffness evaluation index to calculate the target stiffness value in the initial configuration, denoted as k.

  3. (3)

    Rotate the EE along the tool axis with θx (Figure 5), where − 180° ≤ θx ≤ 180°, and define the variable step of θx as \(\Delta \theta_{x} = 10^\circ\). Thus, θx can be calculated as follows:

    $$\theta_{x} = \left\{ {\begin{array}{*{20}l} {j\Delta \theta_{x} {, }\, j = 1{,} 2, \, \ldots , \, n,n \le 18,} \hfill \\ {180^\circ - j\Delta \theta_{x} {,}\, j = 19{,} 20, \, \ldots , \, n,n \le 36.} \hfill \\ \end{array} } \right.$$
  4. (4)

    Examine the safety and rationality of the new configuration. If the posture of the EE is unreachable or interfered, the configuration is abandoned. Otherwise, calculate the current configuration \({\user2{C^{\prime}}}\) and corresponding stiffness performance index \(k^{\prime}\), and update k through the larger value of k and \(k^{\prime}\).

  5. (5)

    Repeat steps 3 and 4 to obtain the rotation angle with the best axial stiffness, and the corresponding optimal configuration can be determined.

Figure 5
figure 5

Rotation angle of the EE

The workflow of configuration optimization is shown in Figure 6.

Figure 6
figure 6

Workflow of configuration optimization

4 Smooth Processing Strategy

In the aviation manufacturing industry, some parts require numerous drilling tasks. If the operation configuration of each target machining position is optimized individually, the workload of the optimization processing is large and the efficiency is low. Therefore, for processing tasks with numerous discrete positions, according to the geometric characteristics of the product or distribution of these positions, considering the typical operation positions as the optimization objective, the optimization efficiency of the robot configuration in other target positions can be significantly increased using the interpolation smoothing method. Similarly, this method can be extended to milling and other trajectory processing tasks, which are controlled by interpolation points. The above optimization strategies are the extended applications of the configuration optimization method proposed in Section 3. The typical operation points are shown in Figure 7.

Figure 7
figure 7

Several typical operation points

In addition to the special scenario in which the workpiece surface is a plane, the direction of each axis in the tool coordinate system of each machining position cannot be guaranteed to be in the same direction or plane. Therefore, all target positions must be unified to the same reference coordinate system. In this paper, the base coordinate system is selected as the reference.

The rotation matrix of the posture of the EE can be expressed as an RPY angle:

$${}_{i}^{{{\text{Base}}}} {\user2{R}}\left( {\gamma_{i} ,\beta_{i} ,\alpha_{i} } \right) = {\text{Rot}}\left( {z,\alpha_{i} } \right){\text{Rot}}\left( {y,\beta_{i} } \right){\text{Rot}}\left( {x,\gamma_{i} } \right),$$

where Rot expresses the rotation matrix, \(\gamma_{i} ,\beta_{i} ,{\text{ and }}\alpha_{i}\) are the corresponding rotation angles of \({}_{i}^{{{\text{Base}}}} {\user2{R}}\) in three directions, respectively. Because \({}_{i}^{{{\text{Base}}}} {\user2{R}}\) is an identity invertible matrix,

$${}_{i}^{{{\text{Base}}}} {\user2{R}}^{ - 1} \left( {\gamma_{i} ,\beta_{i} ,\alpha_{i} } \right) = {}_{i}^{{{\text{Base}}}} {\user2{R}}^{{\text{T}}} \left( {\gamma_{i} ,\beta_{i} ,\alpha_{i} } \right).$$

Expressing \({}_{i}^{{{\text{Base}}}} {\user2{R}}^{ - 1}\) as an RPY angle:

$$\begin{gathered} {}_{i}^{{{\text{Base}}}} {\user2{R}}^{ - 1} \left( {\gamma_{i} ,\beta_{i} ,\alpha_{i} } \right) = {}_{i}^{{{\text{Base}}}} {\user2{R}}\left( {\gamma^{\prime}_{i} ,\beta^{\prime}_{i} ,\alpha^{\prime}_{i} } \right) \hfill \\ \, = {\text{Rot}}\left( {z,\alpha^{\prime}_{i} } \right){\text{Rot}}\left( {y,\beta^{\prime}_{i} } \right){\text{Rot}}\left( {x,\gamma^{\prime}_{i} } \right), \hfill \\ \end{gathered}$$

where \(\gamma^{\prime}_{i} ,\beta^{\prime}_{i} ,\alpha^{\prime}_{i}\) are the corresponding RPY angles \({}_{i}^{{{\text{Base}}}} {\user2{R}}^{ - 1}\) in three directions, respectively. Subsequently, unit vector I can be obtained as

$${\user2{I}} = {\text{Rot}}\left( {z,\alpha^{\prime}_{i} } \right){\text{Rot}}\left( {y,\beta^{\prime}_{i} } \right){\text{Rot}}\left( {x,\gamma^{\prime}_{i} } \right){}_{i}^{{{\text{Base}}}} {\user2{R}}\left( {\gamma_{i} ,\beta_{i} ,\alpha_{i} } \right).$$

Adjusting the structure of Eq. (30), the expression of \({\text{Rot}}\left( {x,\gamma^{\prime}_{i} } \right)\) can be obtained:

$${\text{Rot}}\left( {x,\gamma^{\prime}_{i} } \right) = \left[ {{\text{Rot}}\left( {z,\alpha^{\prime}_{i} } \right){\text{Rot}}\left( {y,\beta^{\prime}_{i} } \right)} \right]^{ - 1} {}_{i}^{{{\text{Base}}}} {\user2{R}}^{ - 1} \left( {\gamma_{i} ,\beta_{i} ,\alpha_{i} } \right).$$

\({}_{i}^{{{\text{Base}}}} {\user2{R}}_{x}\) represents a coordinate system obtained by rotating the robot base coordinate system around its x-axis at a certain angle \(\gamma^{\prime\prime}_{i}\), whose RPY angle can be expressed as \({}_{i}^{{{\text{Base}}}} {\user2{R}}_{x} \left( {\gamma^{\prime\prime}_{i} ,0,0} \right)\). The transformation of the rotation matrix from \({}_{i}^{{{\text{Base}}}} {\user2{R}}\) to \({}_{i}^{{{\text{Base}}}} {\user2{R}}_{x}\) can be obtained using

$$\begin{aligned} {}_{i}^{{{\text{Base}}}} {\user2{R}}_{x} {\text{ = }} & \,{\text{Rot}}^{{ - 1}} \left( {x,\gamma ^{\prime}_{i} } \right) \\ = & {}_{i}^{{{\text{Base}}}} {\user2{R}}\left( {\gamma _{i} ,\beta _{i} ,\alpha _{i} } \right)\left[ {{\text{Rot}}\left( {z,\alpha ^{\prime}_{i} } \right){\text{Rot}}\left( {y,\beta ^{\prime}_{i} } \right)} \right]. \\ \end{aligned}$$

Figure 8 shows the transformation relationship between the starting and ending points of a machining range, where φx is the difference in the rotation angle around the x-axis of the position of the starting and ending points.

Figure 8
figure 8

Transformation relationship of endpoint locations

Thus, φx can be expressed as

$$\varphi_{x} = \gamma^{\prime\prime}_{1} - \gamma^{\prime\prime}_{{\text{n}}} .$$

Therefore, the corresponding posture of the target position can be solved according to the proportional coefficient of the distance from the beginning to the end positions to achieve posture smoothing.

For point machining tasks, the appropriate reference coordinate axis (y-axis or z-axis direction) can be selected according to the position coordinate distribution law of the point, and the theoretical deflection angle of the rotation matrix corresponding to any machining position can be obtained using Eq. (34):

$$\gamma^{\prime\prime}_{i} = \left\{ {\begin{array}{*{20}c} {\gamma^{\prime\prime}_{1} + \frac{{\left| {y_{i} - y_{1} } \right|}}{{\left| {y_{{\text{n}}} - y_{1} } \right|}}\varphi_{x} {\text{, take the }}y{\text{ - axis as a reference,}}} \\ {\gamma^{\prime\prime}_{1} + \frac{{\left| {z_{i} - z_{1} } \right|}}{{\left| {z_{{\text{n}}} - z_{1} } \right|}}\varphi_{x} {\text{, take the }}z{\text{ - axis as a reference}}{.}} \\ \end{array} } \right.$$

The interpolation points are generally evenly distributed in the trajectory of the processing task. Similarly, the theoretical deflection angle \(\gamma^{\prime\prime}_{i}\) corresponding to any interpolation position in the trajectory of the processing operation can be expressed as

$$\gamma^{\prime\prime}_{i} = \gamma^{\prime\prime}_{1} + \frac{i - 1}{{n - 1}}\varphi_{x} .$$

Therefore, for any intermediate position, the adjustment angle obtained from the smooth processing can be expressed as

$$\Delta \gamma_{i} = \gamma^{\prime}_{i} - \gamma^{\prime\prime}_{i} .$$

Therefore, the optimized posture of the EE (\({}_{i}^{{{\text{Base}}}} {\user2{R}}_{{{\text{new}}}}\)) can be expressed as

$${}_{i}^{{{\text{Base}}}} {\user2{R}}_{{{\text{new}}}} = {}_{i}^{{{\text{Base}}}} {\user2{R}} \cdot {\text{Rot}}\left( {x,\Delta \gamma_{i} } \right).$$

The corresponding RPY angle of \({}_{i}^{{{\text{Base}}}} {\user2{R}}_{{{\text{new}}}}\) can be solved to complete the posture optimization of the current position, and finally, the posture optimization of all positions can be completed by smooth processing. Through posture smoothing, the efficiency of the configuration optimization is increased and the stable movement of the robot can be ensured, which has high engineering application value.

5 Experiments

Figure 9 shows the experimental platform of the study. A KUKA KR500 industrial robot was used as the operation carrier in the identification and machining tasks. An ATI IP60 Omega160 force transducer, which was fixed on the flange, was used to measure the working loads. An API laser tracker was used to establish coordinate systems and measure the positional errors of the robot.

Figure 9
figure 9

Experimental system

5.1 Experimental Verification of Variable Stiffness Identification

In the stiffness identification experiment, a 1200 mm × 600 mm × 600 mm cuboid was planned as the calibration space, and 600 mm, 300 mm, and 150 mm were selected as the side lengths of the cubes to study the effects of different grid sizes. Therefore, the calibration space was divided into 2, 16, and 128 cubic grids, respectively. Based on this, the initial configuration of the samplings could be determined. When rotating the EE at ± 10° along the y-axis of the tool coordinate system, a total of 27 sampling configurations were obtained in a cubic space.

The joint stiffness without space gridding was identified as

$$\begin{gathered} {\user2{K}}_{\theta } = {\text{diag}}(1.58 \times 10^{10} ,6.12 \times 10^{9} ,5.28 \times 10^{9} ,\; \hfill \\ 4.66 \times 10^{8} ,2.19 \times 10^{8} ,3.49 \times 10^{8} ) \, {\rm {N \cdot mm/rad.}} \hfill \\ \end{gathered}$$

Dividing the calibration space into two symmetrical cubic grids (Figure 10(a)), the joint stiffness in two grids, namely Grids 1 and 2, were identified as

$$\begin{gathered} {\user2{K}}_{\theta G1} = {\text{diag}}(1.48 \times 10^{10} ,5.57 \times 10^{9} ,6.80 \times 10^{9} ,\; \hfill \\ 3.38 \times 10^{8} ,1.20 \times 10^{8} ,2.17 \times 10^{8} ) \,{\rm {N \cdot mm/rad,}} \hfill \\ \end{gathered}$$
$$\begin{gathered} {\user2{K}}_{\theta G2} = {\text{diag}}(1.50 \times 10^{10} ,6.29 \times 10^{9} ,4.56 \times 10^{9} , \hfill \\ 2.79 \times 10^{8} ,3.28 \times 10^{8} ,1.61 \times 10^{8} ) \,{\rm { N \cdot mm/rad.}} \hfill \\ \end{gathered}$$
Figure 10
figure 10

Space gridding with different grid sizes

By selecting a 300 mm cubic grid as a sampling unit, the calibration space was divided into 16 grids (Figure 10(b)). The entire space was observed as four cuboid spaces: Cuboids 1 to 4, whose longest sides were parallel to the y-axis of the base coordinate system. The joint stiffness of each grid space was identified, and the fluctuation of values was observed according to these four cuboid spaces (Figure 11).

Figure 11
figure 11

Joint stiffness in different 300 mm grids

A 150 mm cubic grid was selected as a sampling unit and the calibration space was divided into 128 grid spaces (Figure 10(c)). The entire space was divided into four cuboid spaces, i.e., Cuboids 1 to 4, which could be referred to as first-order cuboid spaces. Each first-order cuboid space was further split into four second-order cuboid spaces, such as Cuboids 1.1 to 1.4, which were formed with eight grid spaces. The joint stiffness of each grid space could be calculated, and the variation regularity of the stiffness value could be investigated based on the second-order cuboid spaces (Figures 12, 13, 14, 15).

Figure 12
figure 12

Joint stiffness in Cuboid 1

Figure 13
figure 13

Joint stiffness in Cuboid 2

Figure 14
figure 14

Joint stiffness in Cuboid 3

Figure 15
figure 15

Joint stiffness in Cuboid 4

Analyzing the variation trend of the joint stiffness in Figures 11 and 12, 13, 14, 15, the stiffness of the second, third, and fifth joints largely maintained the same tendency by dividing the robot calibration space into smaller grid spaces. However, the stiffness of the first, fourth, and sixth joints exhibited different change trends, compared with the tendency with larger grid spaces. Thus, the variation trend with larger grids cannot indicate the local change in joint stiffness, which inevitably reduces the accuracy of the stiffness model of robots.

In addition, the joints whose axes were parallel to the y-direction of the base coordinate system, namely the second, third, and fifth joints, exhibited stable change trends of stiffness in the entire calibration space. However, the joints whose axes were perpendicular to the y-direction of the base coordinate system, namely the first, fourth, and sixth joints, had similar stiffness tendencies in the calibration space. We can conclude that the axis direction of a robot joint is related to the stiffness distribution of the joint, which can be used to optimize the machining configuration of industrial robots.

The effectiveness of the variable stiffness identification method was verified through compensation experiments of the load-induced positional error. In the calibration space, a sampling position was randomly selected in each 150 mm grid. Thus, 128 verification points were obtained. A load of 50 kg was fixed to the EE to produce position errors.

The load-induced positional errors were measured by executing control commands before and after loading. According to Eqs. (1) and (15), the load-induced positional errors were calculated as follows:

$${\user2{d}} = {\user2{K}}_{fd}^{ - 1} {\user2{f}} = {\user2{E}}\left( {{\user2{JK}}_{\theta }^{ - 1} (j){\user2{J}}^{{\text{T}}} } \right){\user2{f}},$$

where E is a matrix composed of the first three columns of the first three rows of the objective matrix. By combining the working load and the identified joint stiffness, the load-induced positional errors were predicted, and the control commands were modified through reverse compensation. Subsequently, the compensation effect of load-induced errors was evaluated by executing the modified commands under the loaded state. Defining Ex(i), Ey(i), and Ez(i) as the load-induced positional errors of the ith position on the x-, y-, and z-axes of the base coordinate system, the load-induced absolute errors E(i) were calculated using the following equation:

$$E(i) = \sqrt {\left( {E_{x} (i)} \right)^{2} + \left( {E_{y} (i)} \right)^{2} + \left( {E_{z} (i)} \right)^{2} } .$$

The absolute positional errors before and after compensation with different grid sizes are shown in Figure 16, and Figure 17 shows the error distribution for different grids. The average absolute positional error induced by the working load was 0.2868 mm, and the maximum error was 0.3587 mm. As the number of space grids increased from 1 to 128, the average value of load-induced positional errors after compensation decreased from 0.1201 mm to 0.0570 mm, and the maximum error decreased from 0.1610 mm to 0.1134 mm. The compensation effect with a 150 mm grid improved by approximately 52.54%. In conclusion, the validity of the identification results was verified, and the variable parameter error could better characterize the error model of a robot and obtain better positional accuracy.

Figure 16
figure 16

Compensation results of different size grids

Figure 17
figure 17

Error distribution after compensation with different grids

5.2 Configuration Optimization and Smooth Processing Experiments

The operation configuration optimization strategy and smooth processing method were verified through the simulation layout of a robot operation system in the DELMIA software. Using a workblank fixed on the tooling as the processing object, the machining path was planned in the software (Figure 18). The path from Tag 1 to Tag 2 was parallel to the y-axis of the base coordinate system, and the path from Tag 3 to Tag 4 also satisfied this scenario. According to the requirements of not using singular and joint-limit configurations, the rotation angle range of the robot EE was selected as − 90° ≤ θx ≤ 90°.

Figure 18
figure 18

Simulation environment and machining trajectory

In the verification experiments, the normal stiffness of the robot motion trajectory in its work plane, defined as kv, and the tool axial stiffness kx, which were directly related to the trajectory accuracy and surface cutting quality, respectively, were considered as the evaluation indexes. The normal stiffness kv was calculated using the following equation:

$$k_{v} = \sqrt {\left( {k_{z} {\text{cos}}\theta_{x} } \right)^{2} + \left( {k_{y} {\text{sin}}\theta_{x} } \right)^{2} } .$$

Thus, the fluctuations of kx and kv with different rotation angles (θx) in Tags 1 to 4 are shown in Figures 19, 20, 21, 22. Specifically, all the rotation angles corresponding to the configuration with optimal axial stiffness in Tags 1 to 4 were θx = 0°, that is, the initial robot configuration. The fluctuation of kv in Tags 1 and 4 formed a trough with θx = 0°, and two peaks were formed with θx = − 20° and θx = 10°. The optimal kv was observed at θx = − 20°. Similarly, two peaks formed in Tags 2 and 3 at θx = − 10° and θx = 20°, respectively, and the optimal kv was observed at θx =20°.

Figure 19
figure 19

Stiffness fluctuation in Tag 1

Figure 20
figure 20

Stiffness fluctuation in Tag 2

Figure 21
figure 21

Stiffness fluctuation in Tag 3

Figure 22
figure 22

Stiffness fluctuation in Tag 4

With the rotation angle farther from θx corresponding to the configuration with optimal stiffness performance, the stiffness in the target direction gradually decreased. Note that when the EE rotated away from the base coordinate system, the stiffness value decreased gradually.

Figures 23 and 24 compare kx and kv at different positions, respectively. The four positions were symmetrically distributed along the y-axis of the robot base coordinate system, and the stiffness change curves at the corresponding positions also exhibited spatial symmetry along the y-axis of the base coordinate system. In addition, the stiffness value exhibited a downward trend along the positive x-axis direction of the base coordinate system. In other words, under the same operational posture of the EE, kx or kv in Tag 1 was lower than the corresponding directional stiffness in Tag 3, and kx or kv in Tag 2 was lower than the corresponding directional stiffness in Tag 4.

Figure 23
figure 23

Comparison of kx in different positions

Figure 24
figure 24

Comparison of kv in different positions

To increase the trajectory accuracy in the operation process, the operation configuration with optimal kv was selected first. Based on the optimized configuration of Tags 1 to 4, the smoothing processing of the trajectory interpolation point was conducted to achieve the rapid acquisition of the optimal stiffness configuration of corresponding positions and smoothing results (Figure 25).

Figure 25
figure 25

Smoothing results of interpolation positions

The smooth processing strategy simplified the configuration optimization of all target positions into several geometric feature positions, which significantly increased the configuration optimization efficiency. The optimization effect of smooth processing was evaluated by comparing it with the optimal stiffness performance obtained from the configuration optimization of the interpolation points. The interpolation positions of Tags 3 and 4 were selected, and the seven interpolation positions were defined as Tags 5 to 11. The kv obtained using the configuration optimization method and smooth processing are shown in Table 1, and Figure 26 shows a comparison between the smooth processing and configuration optimization.

Table 1 Stiffness performance comparison between smoothing processing and configuration optimization
Figure 26
figure 26

Optimized posture comparison between smoothing processing and configuration optimization

As Table 1 shows, the stiffness index kv after smooth processing was highly similar to the result of configuration optimization, and the stiffness loss after fairing was less than 0.409% (in Tag 8). The stiffness of the target direction in Tags 5 and 11 after smoothing was slightly higher than that of configuration optimization. This was because the step size of the rotation angle was larger in the process of optimization, which resulted in the optimized configuration obtained by smoothing closer to the configuration with optimal stiffness.

In summary, smooth processing effectively increases the optimization efficiency of a robot operating configuration and ensures that the improvement effect of the axial stiffness through smooth processing is not significantly reduced compared with that of configuration optimization, which fully proves the effectiveness of the fairing method.

5.3 Machining Experiment

The effects of configuration optimization and smoothing on milling quality were studied using a robot machining system. In the verification experiment, the milling task was performed in the cylinder head of an automobile engine. The planned trajectory in the machining experiment is shown in Figure 27, where Tags 1 and 2 represent the start and end positions of the trajectory, respectively.

Figure 27
figure 27

Milling trajectory in the machining task

By selecting the tool axial stiffness as the optimization objective, the rotation angles corresponding to the start and end positions of the machining trajectory were obtained using the configuration optimization method; the optimized configurations of Tags 1 and 2 are shown in Table 2, and smooth processing of the interpolation positions was conducted to obtain optimal configurations. Based on this, the trajectory control program of the robot was generated through offline programming software, and the robot could be driven to perform milling tasks. The process parameters of the robot milling experiment are listed in Table 3.

Table 2 Factors and their levels
Table 3 Robot processing parameters

The comparison results of the milling process after configuration optimization are shown in Figure 28. The milling surface quality before configuration optimization was relatively poor, and the blades severely vibrated. The roughness of the surface was Ra 2.356, as measured using a roughness meter (Sanfeng SJ-210). After optimizing the operation configuration of the robot to increase the end operation rigidity, the obtained milling surface of the workpiece was relatively smooth, the surface roughness was Ra 0.597, and the accuracy and quality of milling were significantly improved.

Figure 28
figure 28

Comparison of milling results after configuration optimization

6 Conclusions

  1. (1)

    A regular sampling point selection method is proposed based on space gridding. On this foundation, considering joint stiffness as approximately constant values in any grid space, a variable stiffness identification method is proposed.

  2. (2)

    A task-oriented axial stiffness evaluation index is proposed to estimate the stiffness performance in a particular processing direction, and a configuration optimization strategy is developed to maximize the performance by utilizing the redundant DOF of the robot equipment.

  3. (3)

    Aiming at many points or trajectory tasks, a robot configuration smoothing method is developed to achieve rapid acquisition of optimized configurations, which effectively increases the efficiency of posture optimization.

  4. (4)

    A stiffness identification experiment was completed using the KUKA KR500 system. The difference in joint stiffness in different spaces was verified by analyzing the identification results, and the stiffness variation regularity of each joint was clearly obtained in the calibration space.

  5. (5)

    The configuration optimization and smooth processing methods were tested in a simulation environment. The experimental results indicated that a smooth processing strategy increases the optimization efficiency, while the stiffness loss is very small. According to the machining results in the cylinder head of an automobile engine, the milling quality improved after configuration optimization, and the validity of these methods was verified.


  1. C Lehmann, M Pelliciari, M Drust, et al. Machining with industrial robots: the COMET project approach. International Workshop on Robotics in Smart Manufacturing, Porto, Portugal, June 26-28, 2013: 27-36.

  2. S Garnier, K Subrin, K Waiyagan. Modelling of robotic drilling. Procedia CIRP, 2017, 58: 416-421.

    Article  Google Scholar 

  3. D Song, Z Kan, L Wenhe. Stability of lateral vibration in robotic rotary ultrasonic drilling. International Journal of Mechanical Sciences, 2018, 145: 346-352.

    Article  Google Scholar 

  4. Y Guo, H Dong, G Wang, et al. Vibration analysis and suppression in robotic boring process. International Journal of Machine Tools and Manufacture, 2016, 101: 102-110.

    Article  Google Scholar 

  5. E Abele, S Rothenbücher, M Weigold. Cartesian compliance model for industrial robots using virtual joints. Production Engineering, 2008, 2(3): 339-343.

    Article  Google Scholar 

  6. E Abele, M Weigold, S Rothenbücher. Modeling and identification of an industrial robot for machining applications. CIRP Annals - Manufacturing Technology, 2007, 56(1): 387-390.

    Article  Google Scholar 

  7. C Dumas, S Caro, M Cherif, et al. Joint stiffness identification of industrial serial robots. Robotica, 2012, 30(4): 649-659.

    Article  Google Scholar 

  8. J Zhou, H N Nguyen, H J Kang. Simultaneous identification of joint compliance and kinematic parameters of industrial robots. International Journal of Precision Engineering and Manufacturing, 2014, 15(11): 2257-2264.

    Article  Google Scholar 

  9. A Klimchik, B Furet, S Caro, et al. Identification of the manipulator stiffness model parameters in industrial environment. Mechanism & Machine Theory, 2015, 90: 1-22.

    Article  Google Scholar 

  10. G Alici, B Shirinzadeh. Enhanced stiffness modeling, identification and characterization for robot manipulators. IEEE Transactions on Robotics, 2005, 21(4): 554-564.

    Article  Google Scholar 

  11. L Sabourin, K Subrin, R Cousturier, et al. Redundancy-based optimization approach to optimize robotic cell behaviour: Application to robotic machining. Industrial Robot, 2015, 42(2): 167-178.

    Article  Google Scholar 

  12. G Xiong, Y Ding, L M Zhu. Stiffness-based pose optimization of an industrial robot for five-axis milling. Robotics and Computer-Integrated Manufacturing, 2019, 55: 19-28.

    Article  Google Scholar 

  13. Y Guo, H Dong, Y Ke. Stiffness-oriented posture optimization in robotic machining applications. Robotics and Computer-Integrated Manufacturing, 2015, 35: 69-76.

    Article  Google Scholar 

  14. U Schneider, M Drust, M Ansaloni, et al. Improving robotic machining accuracy through experimental error investigation and modular compensation. International Journal of Advanced Manufacturing Technology, 2016, 85(1-4): 3-15.

    Article  Google Scholar 

  15. A Klimchik, Y Wu, C Dumas, et al. Identification of geometrical and elastostatic parameters of heavy industrial robots. The IEEE International Conference on Robotics and Automation (ICRA), 2013 May 6-10, Karlsruhe, Germany. New York: IEEE, 2013: 3707-3714.

  16. W Tian, D Mei, P Li, et al. Determination of optimal samples for robot calibration based on error similarity. Chinese Journal of Aeronautics, 2015, 28(3): 946-953.

    Article  Google Scholar 

  17. K Yang, W Yang, G Cheng, et al. A new methodology for joint stiffness identification of heavy duty industrial robots with the counterbalancing system. Robotics and Computer-Integrated Manufacturing, 2018, 53: 58-71.

    Article  Google Scholar 

  18. Y Lin, H Zhao, H Ding. Posture optimization methodology of 6R industrial robots for machining using performance evaluation indexes. Robotics and Computer-Integrated Manufacturing, 2017, 48: 59-72.

    Article  Google Scholar 

  19. Y Zeng, W Tian, D Li, et al. An error-similarity-based robot positional accuracy improvement method for a robotic drilling and riveting system. International Journal of Advanced Manufacturing Technology, 2017, 88(9-12): 2745-2755.

    Article  Google Scholar 

  20. Y Zeng, W Tian, W Liao. Positional error similarity analysis for error compensation of industrial robots. Robotics and Computer-Integrated Manufacturing, 2016, 42: 113-120.

    Article  Google Scholar 

  21. J Jiao, W Tian, L Zhang, et al. Variable parameters stiffness identification and modeling for positional compensation of industrial robots. International Conference on Control Engineering and Artificial Intelligence, Singapore, January 17-19, 2020: 401-410.

  22. C Dumas, S Caro, S Gamier, et al. Joint stiffness identification of six-revolute industrial serial robots. Robotics and Computer-Integrated Manufacturing, 2011, 27: 881-888.

    Article  Google Scholar 

  23. Y Bu, W Liao, W Tian, et al. Modeling and experimental investigation of Cartesian compliance characterization for drilling robot. International Journal of Advanced Manufacturing Technology, 2017, 91(9-12): 3253-3264.

    Article  Google Scholar 

  24. Y Bu, W Liao, W Tian, et al. Stiffness analysis and optimization in robotic drilling application. Precision Engineering, 2017, 49: 388-400.

    Article  Google Scholar 

  25. M Cordes, W Hintze. Offline simulation of path deviation due to joint compliance and hysteresis for robot machining. International Journal of Advanced Manufacturing Technology, 2017, 90: 1075-1083.

    Article  Google Scholar 

  26. G Wang, H Dong, Y Guo, et al. Dynamic cutting force modeling and experimental study of industrial robotic boring. International Journal of Advanced Manufacturing Technology, 2016, 86(1-4): 179-190.

    Article  Google Scholar 

  27. W W Qu, P H Hou, G J Yang, et al. Research on the stiffness performance for robot machining system. Acta Aeronautica ET Astronautica Sinica, 2013, 34(11): 2823-2832.

    Google Scholar 

  28. A Ajoudani, G T Nikos, A Bicchi. On the role of robot configuration in Cartesian stiffness control. IEEE International Conference on Robotics and Automation (ICRA), Washington, USA, May 26-30, 2015: 1010-1016.

  29. J Andres, L Gracia, J Tornero. Implementation and testing of a CAM postprocessor for an industrial redundant workcell with evaluation of several fuzzified Redundancy Resolution Schemes. Robotics and Computer-Integrated Manufacturing, 2012, 28(2): 265-274.

    Article  Google Scholar 

  30. H Xie, W Li, Z Yin. Posture optimization based on both joint parameter error and stiffness for robotic milling. International Conference on Intelligent Robotics and Applications, Newcastle, Australia, Aug 9-11, 2018: 277-286.

Download references


Not applicable.


Supported by National Natural Science Foundation of China (Grant No. 51875287), National Defense Basic Scientific Research Program of China (Grant No. JCKY2018605C002) and Jiangsu Provincial Natural Science Foundation of China (Grant No. BK20190417).

Author information

Authors and Affiliations



WT was responsible for the entire trial; JJ wrote the manuscript; BL and JH were responsible for polishing the manuscript; LZ, YL, DL and JZ assisted with sampling and laboratory analyses. All authors read and approved the final manuscript.

Authors’ Information

Jiachen Jiao, born in 1993, is currently a PhD candidate at Nanjing University of Aeronautics and Astronautics, China. He received his bachelor degree from Shenyang Aerospace University, China, in 2014. His research interests include robot stiffness identification and improvement.

Wei Tian, born in 1977, is currently a professor at Nanjing University of Aeronautics and Astronautics, China. He received his PhD degree from Nanjing University of Science and Technology, China, in 2006. His research interests include robot automatic manufacturing and assembly technologies.

Lin Zhang, born in 1975, is currently a lecturer at Nanjing University of Aeronautics and Astronautics, China. He received his PhD degree from Nanjing University of Aeronautics and Astronautics, China, in 2008. His research interests include robotic operation equipment and key technologies.

Bo Li, born in 1988, is currently a lecturer at Nanjing University of Aeronautics and Astronautics, China. He received his PhD degree from Nanjing University of Science and Technology, China, in 2018. His research interests include robotic dynamic analysis and control.

Junshan Hu, born in 1988, is currently a lecturer at Nanjing University of Aeronautics and Astronautics, China. He received his PhD degree from Northwestern Polytechnical University, China, in 2018. His research interests include assembly technology of aviation composite parts.

Yufei Li, born in 1996, is currently a PhD candidate at Nanjing University of Aeronautics and Astronautics, China. He received his bachelor degree from Nanjing University of Aeronautics and Astronautics, China, in 2018. His research interests include robot control and precision compensation.

Dawei Li, born in 1992, is currently an engineer at Beijing Institute of Mechanical Equipment, China. He received his master degree from Nanjing University of Aeronautics and Astronautics, China, in 2017. His research interests include robot control technology.

Jianlong Zhang, born in 1976, is currently a PhD candidate at Nanjing University of Aeronautics and Astronautics, China, and simultaneously a senior engineer at AVIC Helicopter Design and Research Institute, China. His main research interests include robot stiffness characteristics and robotic assembly process.

Corresponding author

Correspondence to Wei Tian.

Ethics declarations

Competing interests

The authors declare no competing financial interests.

Rights and permissions

Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit

Reprints and Permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Jiao, J., Tian, W., Zhang, L. et al. Variable Stiffness Identification and Configuration Optimization of Industrial Robots for Machining Tasks. Chin. J. Mech. Eng. 35, 115 (2022).

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • DOI:


  • Industrial robot
  • Space gridding
  • Variable stiffness identification
  • Configuration optimization
  • Smooth processing