Keywords

1 Introduction

The high demand of aerospace and navigation industry result a great number of applications of large components. Multi-axis NC is the main equipment to machining the large components, however it has the disadvantage of operating time and costs. Machining robot is an alternative strategy since it’s less expensive and more flexible, as shown in Fig. 1. The main disadvantage of industrial robots used for machining processes is their poor stiffness which is less than 1 N/m, while a standard CNC machine very often has stiffness greater than 50 N/m [1]. Thus, the machining error caused by poor stiffness is a critical obstacle for robot milling application.

Fig. 1.
figure 1

Robot milling for large components (left: marine propeller; right: rocket tank).

There have been many researches on the identification of robot joint stiffness and machining error compensation of robot milling. In order to develop the milling application of robot, Zaeh and Roesch [2] identified the stiffness of robot joints and modified the static deflection along the cutting path based on fuzzy control theory. Wu et al. [3] identified the stiffness of robot joints by hanging the mass block on the end of KUKA KR-270 robot. Tyapin and Kaldestad et al. [4, 5] compensated the machining path using the stiffness of robot joints and the static cutting force, and verified the compensation result by utilizing laser tracker. Kamali et al. [6] proposed an elastic geometric calibration method with multiple external loads for the ABB IRB 1600 robot, and calibrated geometrical errors and joint stiffness parameters of various robot poses based on the position measurement of the robot end-effector. Möller et al. [7] measured the spindle location of the robot milling system by using the stereo camera system, and made it as the feedback to adjust the robot movement.

The existing researches have mainly focused on the identification of robot joint stiffness and error compensation for three-axis milling along the cutting path. For the large curved surface parts, such as marine propeller, the multi-axis milling is a necessary cutting mode for the robot machining system. Thus, this paper studies the static stiffness error prediction and compensation of robot multi-axis milling. The static stiffness model of robot milling system is established, and the relationship of the theoretical and actual cutting location based on the tool point deformation is deduced. Based on the static stiffness model, cutting force model and the relationship of cutting location, an equilibrium equation with the variable of tool point deformation is established to predict and compensate the milling error.

2 Error Compensation Model

The robot multi-axis milling system is constructed by the ABB IRB 6660-205/1.9 robot, IBAG high speed spindle and a bull-nose end cutter, as shown in Fig. 2. The tool point of the robot milling system deforms under the action of milling force due to the compliance manipulator base, gearboxes, motors, links and the cutter. For many industrial robots, the compliance of the joints is regarded as the dominant source of the robot deformation [8], and the cutter used in this paper has well rigidity with diameter 25 mm. Thus, the links and cutter are assumed as infinitely stiff, therefore the error prediction and compensation is based on the static rigidity analysis of the joints.

Fig. 2.
figure 2

Robot multi-axis milling system.

2.1 Static Stiffness Model of Robot Milling System

In order to establish the static stiffness model of robot milling system, the kinematic relationship of the tool point and the robot joints movement should be determined firstly. The Denavit Hartenberg (D-H) notion is a classic model to describe the kinematic movement of robot and the coordinate frames assignment for the ABB IRB 6660-205/1.9 robot is shown in Fig. 3. The D-H parameters are provided by the manufacturer and listed in Table 1.

Fig. 3.
figure 3

Kinematic model of ABB IRB 6660-205.

Table 1. D-H kinematic parameters.

The Jacobian matrix J of the robot (the Link 6 contains the structure of spindle-tool) is obtained by using the D-H parameters, and the movement of the tool point can be expressed by the angle values of robot joints.

$$ \varvec{D} = \varvec{J}\Delta \varvec{q} $$
(1)

where D denotes the translation and rotation of tool point, Δq represents the rotation of the six joint angles.

$$ \begin{aligned} & \varvec{D} = \left[ {\begin{array}{*{20}c} {\Delta x} & {\Delta y} & {\Delta z} & {\Delta \theta_{x} } & {\Delta \theta_{y} } & {\Delta \theta_{z} } \\ \end{array} } \right]^{T} \\ &\Delta \varvec{q} = \left[ {\begin{array}{*{20}c} {\Delta \theta_{1} } & {\Delta \theta_{2} } & \cdots & {\Delta \theta_{6} } \\ \end{array} } \right] \\ \end{aligned} $$
(2)

The relationship of torque applied on joint and joint angle rotation can be expressed as

$$ \varvec{\tau}= \varvec{K}\Delta \varvec{q} $$
(3)

where \( \varvec{\tau} \) is the joint moment vector, and diagonal matrix K = diag(k1, k2, …, k6) denotes the joint stiffness which should be calibrated by experiments.

Based on the Jacobian matrix J, the torque applied on joint caused by the load on tool point can be expressed as

$$ \varvec{\tau}= \varvec{J}^{\text{T}} \varvec{F} $$
(4)

Substituting Eqs. (1) and (3) into Eq. (4), the static stiffness model for tool point of robot milling system is described as

$$ \varvec{D} = \varvec{J{\rm K}}^{ - 1} \varvec{J}^{\text{T}} \varvec{F} $$
(5)

The load \( \varvec{F} \) in Eq. (5) is result from the multi-axis cutting force which is described in Cutter Coordinate System (CCS) as follow referring to Ref. [10].

$$ \begin{array}{*{20}l} {\left[ {\begin{array}{*{20}c} {f_{x} } \\ {f_{y} } \\ {f_{z} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} { - \cos \,\varphi_{j} (z)} & { - \sin \,\kappa (z)\sin \,\varphi_{j} (z)} & { - \cos \,\kappa (z)\sin \,\varphi_{j} (z)} \\ {\sin \,\varphi_{j} (z)} & { - \sin \,\kappa (z)\cos \,\varphi_{j} (z)} & { - \cos \,\kappa (z)\cos \,\varphi_{j} (z)} \\ 0 & {\cos \kappa (z)} & { - \sin \kappa (z)} \\ \end{array} } \right]} \hfill \\ {\left[ {\begin{array}{*{20}c} {\sum\nolimits_{j = 1}^{N} {\int_{0}^{{a_{\text{p}} }} {g(\varphi_{j} (z))K_{t} } } } \\ {\sum\nolimits_{j = 1}^{N} {\int_{0}^{{a_{\text{p}} }} {g(\varphi_{j} (z))K_{r} } } } \\ {\sum\nolimits_{j = 1}^{N} {\int_{0}^{{a_{\text{p}} }} {g(\varphi_{j} (z))K_{a} } } } \\ \end{array} } \right]h_{d} (\varphi_{j} (z))\frac{{{\text{d}}z}}{\sin \,\kappa }} \hfill \\ \end{array} $$
(6)

In this paper, the torque in \( \varvec{F} \) is ignored, thus the load applied on tool point is expressed as

$$ \varvec{F} = \left[ {\begin{array}{*{20}c} {f_{x} } & {f_{y} } & {f_{z} } & 0 & 0 & 0 \\ \end{array} } \right] $$
(7)

2.2 Error Prediction and Compensation

Different from the multi-axis NC milling only considering the radial translational deformation of tool point, the machining error of robot milling system is influenced by the translational and rotational deformation under X, Y and Z direction simultaneously.

In the multi-axis milling process shown in Fig. 4, the theoretical cutter location and orientation only considering kinematics are denoted by \( \varvec{CL} \) and \( \varvec{OZ} \) in Workpiece Coordinate System (WCS). The actual cutter location and orientation transfer to \( \varvec{CL}^{{\prime }} \) and \( \varvec{OZ}^{{\prime }} \) when the joints appear deformation under the action of milling force. However, the milling force is influenced by the variation of the cutter location and orientation again, which produce a closed loop feedback system. Based on the cutter geometry, cutter-contact point (\( CCP \)) can be calculated according to the cutter location and orientation. Consequently, the difference between theoretical \( CCP \) and actual \( CCP^{{\prime }} \) coordinate value in WCS is the milling error. Thus, the key issue is to identify the actual cutter location \( \varvec{CL}^{{\prime }} \) and orientation \( \varvec{OZ}^{{\prime }} \) according to the theoretical \( \varvec{CL} \) and \( \varvec{OZ} \) based on static stiffness model of robot milling system in Eq. (5).

Fig. 4.
figure 4

The theoretical and actual cutter location and orientation.

Firstly, the \( \varvec{CL}^{{\prime }} \) and its relationship with \( \varvec{CL} \) should be predicted. The translation of the tool point in Eq. (2) describes the difference between \( \varvec{CL} \) and \( \varvec{CL}^{{\prime }} \) in X, Y and Z direction, but it is calculated in the Base Coordinate System (BCS) of robot milling system. The homogeneous transformation matrix \( _{B}^{W} \varvec{T} \) of BCS to WCS can be calculated by the Jacobian matrix J, the cutter location and orientation.

$$ _{B}^{W} \varvec{T}{ = }\left[ {\begin{array}{*{20}c} {{}_{B}^{W} \varvec{R}} & {\varvec{CL}_{W} } \\ 0 & 1 \\ \end{array} } \right] $$
(8)

Transforming the deformation of tool point \( \Delta x \), \( \Delta {\text{y}} \) and \( {\Delta z} \) in Eq. (2) from BCS to the WCS, and the geometrical relationship between \( \varvec{CL} \) and \( \varvec{CL}^{{\prime }} \) can be expressed as

$$ \left[ {\begin{array}{*{20}c} {\varvec{CL}^{{\prime }} } \\ 1 \\ \end{array} } \right]{ = }\left[ {{}_{B}^{W} \varvec{T}} \right]\left[ {\begin{array}{*{20}c} {\Delta x} \\ {\Delta y} \\ {\Delta z} \\ 1 \\ \end{array} } \right]{ + }\left[ {\begin{array}{*{20}c} {\varvec{CL}} \\ 1 \\ \end{array} } \right] $$
(9)

Secondly, the relationship of \( \varvec{OZ}^{{\prime }} \) and \( \varvec{OZ} \) should be calculated. Similarly, the rotation of tool point \( \Delta \theta_{x} \), \( \Delta \theta_{y} \) and \( \Delta \theta_{z} \) in Eq. (2) describes the difference between \( \varvec{OZ} \) and \( \varvec{OZ}^{{\prime }} \) in BCS. Using the rotational matrix \( {}_{B}^{W} \varvec{R} \), the \( \varvec{OZ}^{{\prime }} \) in WCS is expressed as

$$ \varvec{OZ}^{{\prime }} { = }\left[ {\varvec{R}_{zyx} \left( {{}_{B}^{W} \varvec{R}\left[ {\begin{array}{*{20}c} {\Delta \theta_{x} } & {\Delta \theta_{y} } & {\Delta \theta_{z} } \\ \end{array} } \right]^{\text{T}} } \right)} \right]\varvec{OZ} $$
(10)

where \( \varvec{R}_{zyx} \) is the z-y-x Euler angle rotation transformation [9].

According to \( \varvec{CL}^{{\prime }} \) and \( \varvec{OZ}^{{\prime }} \), the cutting parameters required in the cutting force prediction in Eq. (6) can be determined, thus the cutting force can be expressed as the function of \( \varvec{CL}^{{\prime }} \) and \( \varvec{OZ}^{{\prime }} \).

$$ \varvec{F} = f\left( {\varvec{CL}^{{\prime }} ,\varvec{OZ}^{{\prime }} } \right) $$
(11)

Combining Eqs. (5), (9), (10) and (11), an equilibrium equation with the variable \( \Delta x,\,\Delta {\text{y,}}\,\Delta {\text{z,}}\,\Delta \theta_{x} ,\,\Delta \theta_{y} \) and \( \Delta \theta_{z} \) can be established. After solving the equilibrium equation, the actual cutter location \( \varvec{CL}^{{\prime }} \) and orientation \( \varvec{OZ}^{{\prime }} \) is calculated to determine the actual \( CCP \).

Referring to Ref. [10], the \( CCP \) in CCS is expressed as

$$ CCP_{CCS} = \left[ {\begin{array}{*{20}c} {\left( {D/2 - r + r\,\sin \left( {LEAD} \right)} \right)\sin \left( {Ficc} \right)} \\ {\left( {D/2 - r + r\,\sin \left( {LEAD} \right)} \right)\cos \left( {Ficc} \right)} \\ {r - r\,\cos \left( {LEAD} \right)} \\ \end{array} } \right] $$
(12)

where

$$ \left\{ {\begin{array}{*{20}c} {LEAD = \arccos \left( {\cos \left( {lead} \right)\cos \left( {tilt} \right)} \right)} \\ {Ficc = \pi / 2 {\text{ + arcsin}}\left( {\frac{{\sin \left( {\arctan \left( {\frac{{\sin \left( {tilt} \right)}}{{\tan \left( {lead} \right)}}} \right)} \right)}}{{\cos \left( {lead} \right)}}} \right)} \\ \end{array} } \right. $$
(13)

\( lead \) and \( tilt \) in Eq. (13) are the lead and tilt angle respectively which are identified by the cutter orientation.

The homogeneous transformation matrix \( {}_{C}^{W} \varvec{T} \) of CCS to WCS can be constructed utilizing the cutter location and orientation. Thus the value of the \( CCP \) in WCS is calculated as

$$ \left[ {\begin{array}{*{20}c} {CCP_{WCS} } \\ 1 \\ \end{array} } \right]{ = }\left[ {{}_{C}^{W} \varvec{T}} \right]\left[ {\begin{array}{*{20}c} {CCP_{CCS} } \\ 1 \\ \end{array} } \right] $$
(14)

Using Eq. (14), the theoretical and actual \( CCP \) in WCS are calculated as \( CCP_{WCS} \) and \( CCP_{WCS}^{{\prime }} \). The milling error is expressed as

$$ {\text{Error}} = \left[ {CCP_{WCS}^{{\prime }} - CCP_{WCS} } \right] $$
(15)

In order to compensate the milling error, the actual cutter location \( \varvec{CL}^{{\prime }} \) and orientation \( \varvec{OZ}^{{\prime }} \) in the equilibrium equation are set as the required value and regarded as the input parameters; the theoretical cutter location \( \varvec{CL} \) and orientation \( \varvec{OZ} \) are regarded as the output parameters. And, the solved \( \varvec{CL} \) and \( \varvec{OZ} \) are set as the cutting parameters of the robot milling system.

3 Experimental Verification

The verification experiment is carried out on the robot milling system shown in Fig. 2. The calibrated joint stiffness of the ABB IRB 6660 robot is listed in Table 2 referring to Ref. [11]. The theoretical cutting depth is 1.5 mm and a feed per tooth is 0.07 mm. The used cutting style is slotting and the lead and tilt angle of the tool are set as 5° and 10° which determined the cutter orientation. The calculated theoretical CL in WCS is x = 0, y = 0, z = 0.048.

Table 2. Joint stiffness of the ABB IRB 6660 robot.

First, using the numerical iterative method, the deformation of tool point in WCS is calculated by the proposed method under the given theoretical cutting parameters and listed in Table 3. As shown in Table 3, the maximal error occurs along the z direction, and the rotation of tool point can be ignored compared to the translation.

Table 3. The deformation of tool point in WCS.

The verification experiment is show in Fig. 5, the machining error is predicted by the proposed method, and the predicted and experimental errors are listed in Table 4.

Fig. 5.
figure 5

Cutting experiment with set cutting depth 1.5 mm.

Table 4. Machining error and compensation value.

In order to obtained the required cutting depth (1.5 mm), the cutter location CL set in the machining program is calculated by using the error compensation method proposed in this paper, and the set CL value and the actual cutting depth are listed in Table 5.

Table 5. The set CL value and actual cutting depth.

As seen in Tables 4 and 5, the actual cutting depth without compensation is 1.394 mm, however it increase to 1.529 mm (the required cutting depth is 1.5 mm) after compensation. Thus, the compensation method can improve the machining accuracy observably.

Because of only the static stiffness and the average cutting force is considered in the compensation method proposed by this paper, the dynamic error still influence the machining accuracy of the robot milling. To further improve the robot milling accuracy, the research on the dynamic error prediction and compensation will be carried out in our future work.

4 Conclusions

The machining error caused by poor stiffness of the joint is a critical obstacle for robot milling application. For the multi-axis milling based on industrial robot, the machining error is more difficult to predict and compensate due to the complicated coordinate transformation between the deformation of tool point and the cutting force feedback. The static stiffness error prediction and compensation of robot multi-axis milling is studied in this paper. In order to predict the machining error, the static stiffness model of robot milling system is established based on the joint stiffness matrix and Jacobian matrix. Based on the static stiffness model and the cutting force model, an equilibrium equation with the variable of tool point deformation is established by using the relationship of theoretical cutting location and actual cutting location. And the milling error is defined by the solved actual cutting location. The predicted results show that the rotational deformation under the cutting force can be ignored compared to the translational deformation, thus the milling error is mainly influenced by the translation of tool point. The compensation result and the experiment verification demonstrate that the proposed compensation method can improve the machining accuracy observably.

However for actual robot milling of large components, such as large scale marine propeller, the milling error is influenced by the translation of tool point and workpiece simultaneously. The stiffness of the workpiece should be considered in the deformation compensation model. The next steps to achieve that goal are already planned at our research group.