1 Introduction

Industrial robots have been widely used in applications such as assembly and welding. Also, they are used in machining large parts owing to low cost, high scalability, and large working envelopes [1, 2]. Compared to CNC machine, the low stiffness of industrial robots limits machining quality and efficiency in robotic milling [3, 4]. Excessive milling force are induce high levels of form dimensional errors and surface roughness [5]. Hence, measuring or estimating external forces is an essential task. Process monitoring with extra industrial sensors is an effective method to estimate surface quality [6, 7] and deformation [8]. However, the cost and reliability of installing force/vibration sensors make process monitoring challenging in robotic milling.

Estimating cutting force is an essential part of predicting deformation and is divided into sensor measurement or sensorless estimation methods. In the sensor measurement method, the cutting force can be measured directly by force sensors, such as the table force dynamometer [3], wireless sensors mounted on the tool [4], spindle holder [8], smart tool holder [9], multi-axis force/torque sensing systems attached to the robot flange [10], and torque sensors mounted on the joint side [11]. Sensorless force estimation is achieved using the robot controller’s process signals. The researchers extract the external force from the joint signals by separating the joint friction and inertial load when the robot joint motor torque, joint position, velocity, and acceleration are known [12, 13]. Liu and Wang [14] used the joint torque and position provided by the KUKA controller as input values to predict the joint friction force using a neural network and estimate accurate contact force based on a disturbance Kalman filter observer. Huang et al. [15] designed a force estimation observer by fusing a semi-parametric dynamics model with a disturbance Kalman filter by assuming external loads as perturbations. However, these methods are typically used for collaborative robots and are rarely used for heavy-payload industrial robots. In addition, the model-based approach requires obtaining an accurate inertia matrix and friction model. Joint friction is susceptible to load, temperature, and wear state, which increases the difficulty of implementation [16, 17]. For batch machining and handling, the torques of idle and loaded operations can be used to estimate the external load. Yang et al. [18] used robot joint current data before and after loading to predict joint torque for identifying joint stiffness in a heavy-payload industrial robot. Stavropoulos et al. [19] used ‘no-load’ and ‘machining’ joint current signals to estimate cutting forces in robotic matching with a 2-degree-of-freedom robot. Nevertheless, it is difficult to effectively measure the torque of each joint caused by the cutting force, resulting in significant errors between the predicted cutting force and the actual value in heavy-payload robotic machining.

The robot stiffness model was used to calculate force-induced deformation [20, 21]. Xiong et al. [3] adjusted feedrate online based on force measurements to reduce machining deformation. Cen et al. [4] proposed a real-time compensation method based on wireless sensors mounted on the tool. Gonzalez et al. [10] used force-torque sensor measurements to predict and compensate for flexible errors with the joint stiffness model. The above studies assumed that the robot flange center position (FCP) errors are the same as the tool center position (TCP) errors. However, the effect of robot posture errors on tooltip should not be ignored when the cutting area is far from the robot flange coordinate system (RFCS).

Prediction of waviness has not been well studied compared to surface roughness [7]. Waviness is mainly caused by low-frequency vibrations in the equipment-tool-workpiece process system [22, 23]. Furtado et al. [24] analyzed the main influencing factors affecting surface waviness through five experiments in robotic milling, using the surface waviness of the workpiece as an indicator of optimizing the robot pose, feed direction, and best process parameters. Surface waviness is usually monitored using external sensors for processes such as grinding [25] and sawing [26]. Liu et al. [27] proposed a multi-sensor fusion method to accurately achieve the online reconstruction of the surface topography of the entire cutting path, including contour and surface roughness. However, the causes and monitoring methods of surface wave formation in robotic milling have not been explored.

In summary, the low stiffness of the industrial robots limit their application in high-precision machining. Offline or online process optimization using measured milling forces is an effective method to improve machining accuracy. However, expensive external force sensors can increase the cost for manufacturing companies. Therefore, there is a need to develop a low-cost approach for estimating milling forces and deformation. The method that estimate external loads based on internal robot data has significant advantages and has been widely used for collaborative or light robots; the method has not been validated for heavy-payload robots due to the significant measurement noise. In addition, waviness is also an important surface accuracy indicator. The formation and prediction of waviness has not been explored in robotic milling. To solve the above problems, a sensorless machining deformation and waviness prediction method is proposed, and the main contributions of this paper are as follows:

  1. (1)

    A sensorless-based milling force acting on tooltip estimation method using internal data of the robot controller is proposed for a heavy-payload industrial robot. The selected joint cutting torque set and robot statics model were used to estimate milling force considering the tooltip-force-induced bending moment of RFCS.

  2. (2)

    The tooltip deformation is predicted using the estimated milling force and stiffness model considering the force-induced posture error in the robot flange coordinate system (RFCS) during milling process.

  3. (3)

    The formation of waviness is related to the robot tooltip tracking error, which is mainly influenced by the posture error and position error in robotic milling. The robot joint tracking errors and the kinematic model were used to calculate the tooltip tracking error.

The remainder of this paper is organized as follows: Sect. 2 introduces the model of tooltip tracking errors. A method for estimating cutting forces and predicting tooltip’s deformation using process monitoring values recorded by the controller is presented in Sect. 3. Section 4 describes the milling experiments and corresponding results of the KUKA KR-160 robot based on the proposed method. Finally, Sect. 5 summarizes the main results and contributions of this work.

2 Robot kinematic and tracking error modeling

As illustrated in Fig. 1, a heavy-payload industrial robot (KUKA KR160 Nano) with an electric spindle mounted on the robot flange was used for modeling and analysis. And the robot base coordinate system (RBCS), the workpiece coordinate system (WCS), the robot flange coordinate system (RFCS), the tool coordinate system (TCS), and the engagement coordinate system (ECS) are defined.

Fig. 1
figure 1

KUKA KR160 robot with electric spindle and coordinate system

First, the forward kinematic model of the robot is established according to the D-H method [28]; it can be expressed as

$${T}_{\textrm{fl}}^{\textrm{base}}={T}_6^0={A}_1{A}_2\cdots {A}_6=\left[\begin{array}{cc}{R}_{\textrm{fl}}^{\textrm{base}}& {P}_{\textrm{fl}}^{\textrm{base}}\\ {}O& 1\end{array}\right],$$
(1)

where \({T}_{\textrm{fl}}^{\textrm{base}}\) is the transformation from RBCS to RFCS. \({R}_{\textrm{fl}}^{\textrm{base}}\) and \({P}_{\textrm{fl}}^{\textrm{base}}\) are the rotation matrix and the translation matrix. Ai, i = 1, 2⋯6 can be calculated as follows:

$$A_i=\begin{bmatrix}\cos\theta_i&-\sin\theta_i\cos\alpha_i&\cos\theta_i\cos\alpha_i&a_i\cos\theta_i\\\sin\theta_i&\cos\theta_i\cos\alpha_i&-\cos\theta_i\sin\alpha_i&a_i\sin\theta_i\\0&\sin\alpha_i&\cos\alpha_i&d_i\\0&0&0&1\end{bmatrix}.$$
(2)

where θi, αi, di, and αi are the DH parameters of the KUKA KR160 robot and are shown in Table 1.

Table 1 DH parameters of the KUKA KR160 robot

The encoder sensors installed in the robot are used to record tracking errors between the command and actual positions of the robot axes. KUKA controller provides the KUKA.RobotSensorInterface (RSI) software that enables periodic signal sampling and robot control [29]. This study uses python to develop an interface program to obtain the actual joint position θmeas and the commanded joint angle θset with a sampling period of 12 ms. As seen in Fig. 1, the actual Cartesian position and the commanded Cartesian position are calculated according to the robot forward kinematic model and tooltip position in WCS, and the following equation calculates the tracking errors of the FCP:

$${\delta}_{\textrm{tcp}}={\left({T}_{\textrm{wp}}^{\textrm{base}}\right)}^{-T}{T}_{\textrm{fl},\textrm{meas}}^{\textrm{base}}\left[\begin{array}{c}{O}_{3\times 1}\\ {}1\end{array}\right]-{\left({T}_{\textrm{wp}}^{\textrm{base}}\right)}^{-T}{T}_{\textrm{fl},\textrm{set}}^{\textrm{base}}\left[\begin{array}{c}{O}_{3\times 1}\\ {}1\end{array}\right],$$
(3)

where \({T}_{\textrm{wp}}^{\textrm{base}}\) is the transformation from RBCS to WCS according to the program value. \({T}_{\textrm{fl},\textrm{meas}}^{\textrm{base}}\) and \({T}_{\textrm{fl},\textrm{set}}^{\textrm{base}}\) are the transformations from RBCS to RFCS calculated from the actual and commanded joint positions using Eq. (1). The tracking errors of the TCP are influenced by the position errors and posture errors of the RFCS, which are calculated by the following equation:

$${\delta}_{\textrm{tool}}={\left({T}_{\textrm{wp}}^{\textrm{base}}\right)}^{-T}{T}_{\textrm{fl},\textrm{meas}}^{\textrm{base}}{P}_{\textrm{tool}}^{\textrm{fl}}-{\left({T}_{\textrm{wp}}^{\textrm{base}}\right)}^{-T}{T}_{\textrm{fl},\textrm{set}}^{\textrm{base}}{P}_{\textrm{tool}}^{\textrm{fl}},$$
(4)

where \({P}_{\textrm{tool}}^{\textrm{fl}}\) is the coordinate value of TCP in the RFCS. It should be noted that tooltip is set as TCP in robotic milling.

3 Prediction of force-induced deformation

This paper proposed a sensorless method to estimate cutting forces and tooltip deformation. Considering idle running test is usually performed before actual machining, this paper extracts the cutting force from the process torque and historical torque signals using the Kalman filter method and observability index. Finally, the flexibility model and the estimation values of cutting force were used to predict tooltip deformation.

3.1 Joint torque estimation by Kalman filter

The joint torque can be calculated by the rigid body dynamics model of 6-DOF robot that appears in Eq. (5) [28]:

$$M(q)\ddot{q}+C\left(q,\dot{q}\right)\dot{q}+G(q)+{\tau}_f+{\tau}_{\textrm{ext}}={\tau}_m,$$
(5)

where M(q) and G(q) are the inertia matrix and gravity matrix and the centrifugal and Coriolis effects are described by \(C\left(q,\dot{q}\right)\). τm, τf, and τext denote the total joint torque, joint torque caused by friction, and joint torque caused by cutting force (cutting torque). The idle running test effectively verifies the NC program before machining and records historical torque as reference data. On this base, the cutting torque τext can be obtained as follows:

$${\tau}_{\textrm{ext}}={\tau}_{\textrm{m}}-\overline{\tau},$$
(6)

where \(\overline{\tau}=M(q)\ddot{q}+C\left(q,\dot{q}\right)\dot{q}+G(q)+{\tau}_f\) is the total joint torque of idle running.

This section used the RSI software to acquire joint torque, and the sampling period was 12 ms. The heavy-payload robot does not have joint torque sensors mounted on the joint side, and its torque signal should be estimated using the motor current signal. It is important to emphasize that the idle-running and the milling process signals were not collected synchronously, leading to significant estimation errors. To solve the problem of signal asynchrony, the reference position was set to use the position information to align the idle-running signal with the cutting process signal, as shown in Fig. 2.

Fig. 2
figure 2

Signal alignment. (a) Position signals and (b) Torque signals of joint 1

The cutting torque is calculated by Eq. (5) using the mean value of the torques of at the specified distance interval (recommended to be greater than 0.5 mm) or the specified time interval. Then a Kalman filter is designed to estimate the actual cutting torque due to the measurement noise. The system can be approximated as a linear time-varying system; therefore, the state space of the discrete system can be written as [30]

$$\left\{\begin{array}{c}\dot{x}(t)= Ax(t)+ Bu(t)+w(t)\\ {}y(t)= Hx(t)+v(t)\end{array}\right.,$$
(7)

where x(t),y(t), and u(t) are the state vector, output vector (estimated cutting torque), and input vector (measured cutting torque), respectively. u(t) can be obtained using Eq. (6). A, B, and H are called the state matrices and are given as

$$A=I,H=I,B=I.$$
(8)

Kalman gain matrix L and covariance matrix P of the sensor system are identified by minimizing the state estimation error covariance and using the Riccati equation:

$$L=P{H}^T{R}^{-1},$$
(9)
$$AP+P{A}^T-P{H}^TH{P}^T{R}^{-T}+ BQ{B}^T,$$
(10)

where Q and R are the covariance of process noise and measurement noise.

3.2 Cutting force estimation based on static model

The joint torque caused by external force can be calculated from the Jacobi matrix and external force using based on the static model of the robots [28]:

$${\tau}_{\textrm{ext}}={J}^T{F}_{\textrm{fl}},$$
(11)

where J is the Jacobi matrix of the robot and Ffl is the external force acting in RFCS, which is described as Ffl = [Ffl, x, Ffl, y, Ffl, z, Mfl, x, Mfl, y, Mfl, z]T. Ffl can be calculated by the coordinate conversion below based on the cutting force of tooltip Ftool.

$${F}_{\textrm{fl}}={R}_{\textrm{tool}}^{\textrm{fl}}{F}_{\textrm{tool}},$$
(12)

where Ftool = [Ftool, x, Ftool, y, Ftool, z]T and \({R}_{\textrm{tool}}^{\textrm{fl}}\) is the transformation from RFCS to TCS and is calculated as

$${R}_{\textrm{tool}}^{\textrm{fl}}={\left[\begin{array}{cccccc}0& 0& -1& 0& -{P}_{tool,z}& 0\\ {}0& -1& 0& {P}_{tool,z}& 0& -{P}_{tool,x}\\ {}-1& 0& 0& 0& {P}_{tool,x}& 0\end{array}\right]}^T,$$
(13)

where Ptool,x and Ptool,z are the coordinate values of tooltip under the RFCS. Ptool,y can be ignored in the calculation.

For heavy-payload robots, it is difficult to effectively estimate the cutting force when the cutting torque is smaller than the torque fluctuation (torque measurement noise) caused by joint friction and inertial load. To reduce the estimation error, it is necessary to reasonably select the joint torques for calculation according to the cutting torque measurement value and the measurement noise. Hence, the observability index is expressed as

$$P{I}_{\textrm{i}}=\frac{\textrm{abs}\left(\textrm{mean}\left({\tau}_{\textrm{cut},\textrm{i}}\right)\right)}{\max \left({\tau}_{\textrm{move},\textrm{i}}\right)-\min \left({\tau}_{\textrm{move},\textrm{i}}\right)},$$
(14)

where τcut, i and τmove, i are the cutting and idle-running torques of the ith joint. PIi describes the observability of the ith joint cutting torque measurement, and the threshold value is set to 2. Robot joints with observability indexes greater than the threshold are used for subsequent force estimation, and the cutting force in the TCS is calculated by substituting Eqs. (12) and (13) into Eq. (11), which is

$${F}_{\textrm{tool}}={\left({J}_{\textrm{m}}^T{R}_{\textrm{tool}}^{\textrm{fl}}\right)}^{-1}{\tau}_{\operatorname{ext},\textrm{m}},$$
(15)

where τext, m and \({J}_{\textrm{m}}^T\) are the n × 1 (n ≥ 3) joint torque matrix and the n × 6 generalized Jacobi matrix corresponding to the selected joints. When less than three-joint torque data are available for measurement, it is difficult to calculate the three-direction milling force by Eq. (15).

3.3 Deformation prediction considering posture errors

A robot flexibility model based on the assumption of a single degree of freedom linear spring was used to calculate force-induced deformation in the RFCS using Eq. (16) when the cutting torque of each joint is effectively observed.

$${\delta}_{\textrm{fcp}}=J{C}_{\uptheta}{\tau}_{\textrm{ext}},$$
(16)

where Cθ is the robot flexibility matrix that can be described by \({C}_{\theta }={K}_{\theta}^{-1}\), where Kθ is the robot joint stiffness matrix Kθ = diag([k1, k2, k3, k4, k5, k6]). In general, only the cutting torques of 3 to 4 joints can be used for estimation. By inserting Eq. (15) into Eq. (16), the deformation can be calculated as follow:

$${\delta}_{\textrm{fcp}}= JC{J}^T{R}_{\textrm{tool}}^{\textrm{fl}}{F}_{\textrm{tool}}.$$
(17)

The posture error is usually neglected in the calculation of force-induced deformation. Hence, the deformation of tooltip is assumed to be the same as the deformation of FCP [3, 4, 10, 18, 20]. However, the influence of the posture error of FCP on the position error of tooltip cannot be neglected, considering the distance between tooltip and the FCP. As a result, the deformation of tooltip is obtained by the following equation:

$${\delta}_{\textrm{tool}}=\left[\begin{array}{cccccc}0& 0& -1& 0& -{P}_{tool,z}& 0\\ {}0& -1& 0& {P}_{tool,z}& 0& -{P}_{tool,x}\\ {}-1& 0& 0& 0& {P}_{tool,x}& 0\end{array}\right]{\delta}_{\textrm{fcp}}.$$
(18)

Although the joints of the robot have obvious nonlinear characteristics, many researchers assume that the stiffness of the joints is a linear constant-value spring. And the machining deformation predicted by this linear model can meet the accuracy requirements in robotic milling [1, 3, 4, 10, 18, 20]. According to the method proposed in references [20, 21], the identification results of the robot joint stiffness are shown in Table 2.

Table 2 Joint stiffness of KUKA KR160 Nano robot

4 Experiment and discussion

To verify the effectiveness of the proposed method in this paper, a series of cutting experiments were conducted using a KUKA KR 160 robot whose rated payload and pose repeatability are 160 kg and ±0.06 mm. As shown in Fig. 3 (a) and (b), an electric spindle, whose maximum speed and rated torque are 16,000 rpm and 6 Nm, was mounted on the robot flange. Robotic milling experiments were conducted at different pose. The poses and its WCS of two experiments are indicated in Fig. 3(c). The tool parameters and chemical composition of the workpiece (aluminum alloy 6061-T6) are listed in Tables 3 and 4, respectively. Table 5 lists the experimental details and cutting parameters. The maximum radial run-out of the tooltip of the tool no. 1 was measured by a dial indicator and was 7.35 μm. The axial and radial runouts of the tooltip usually affect the instantaneous milling force of each tooth [31, 32]. The low measurement bandwidth of the robot joint torque makes it difficult to predict the instantaneous milling force acting on the tooltip, so the effect of the tool runout value on the predicted forces can be ignored.

Fig. 3
figure 3

Experiment setup. a Robotic slot milling in pose No. 1. b Robotic side milling experiment in pose No. 2. c The test pose and its WCS

Table 3 Parameters of the cutting tool
Table 4 Chemical composition of the aluminum alloy 6061-T6
Table 5 Experimental details and cutting parameters

4.1 Robotic slot milling experiment

Test No. 1 to No. 3 were used to verify the force estimation method proposed in Sects. 3.1 and 3.2. As shown in Fig. 3(a), the tool fed along the x-direction in WCS. Kistler 9257B dynamometer was used to measure milling force for comparison with estimation forces. The force components were defined in the TCS as y — feed normal force Fy, x — feed force Fx, and z — thrust force Fz. The measured forces were converted from the WCS into the TCS based on the kinematic model and calibration conversion between MCS and RBCS (Fig. 1).

The measured and filtered cutting torques for six joints in test No. 1 were compared in Fig. 4. The parameters of Kalman filters were designed using measured joint torques. The measurement noise covariance R of Eq. (10) are determined according to the root mean square of the idle running data, and the process noise covariance Q of Eq. (10) are adjusted accordingly to improve the identification accuracy. The covariance matrix of measurement noise and system noise of each axis is taken as shown in Table 6. As can be seen, the observed cutting torques for joint 1 and joint 4 were more significant, and measurement noise had minimal effect. The torque signal of the cutting process contains three parts: air cutting, cut-in process, and steady cutting. It can also be observed obviously that the joint torque gradually increases as the tool cuts into the material. The filtered torques for joint 3 and joint 5 with greater measurement noise could also be used for estimating cutting force compared to the filtered torque of joint 1. Cutting torques could not be observed from the signals of joint 2 and joint 6.

Fig. 4
figure 4

Raw and filtered values of cutting torque for a joint 1, b joint 2, c joint 3, d joint 4, e joint 5, and f joint 6 in test No. 1

Table 6 The covariance matrix of measurement noise and system noise

The estimated and measured values of the three-direction milling forces in TCS were compared in Figs. 5, 6, and 7 using the proposed method in Sect. 3.2. The estimated milling forces using the robot controller’s torque signals could capture the cut-in workpiece, steady cutting, and cut-leave workpiece processes. However, the predicted values cannot accurately reflect the cyclic fluctuation of milling forces. The estimated force Fxc was more susceptible to joint torque measurement noise and had larger fluctuations than other Fyc and Fzc. In addition, there were computation residuals during the air cutting process owing to measurement noise, when the actual milling force should be zero.

Fig. 5
figure 5

Estimated and measured milling force values in test No. 1

Fig. 6
figure 6

Estimated and measured milling force values in test No. 2

Fig. 7
figure 7

Estimated and measured milling force values in test No. 3

Table 7 compares the mean measured and the mean estimated forces of three directions in the selected cutting area (15–25 mm) in test No. 1, No. 2, and No. 3. As can be seen, both the average of the measured milling forces and the estimated milling forces were linearly related to the axial depth of cut. In general, the estimated milling forces Fxc and Fyc were lower than the measured values. In contrast, the estimated values in the Fzc were higher. As shown in Table 7, the estimated forces deviate from the average measured forces primarily due to the following reasons: (1) the joint torque measurement bandwidth and measurement error provided by the robot controller are significant, to accurately measure high-frequency milling force signals. (2) The transmission of cutting force from tooltip to each joint is affected by geometric errors, deformation, backlash, friction, and other factors. (3) The average force is used as a reference value and is not reflective of the true load on each joint of the robot under high-frequency milling forces [3,4,5,6,7, 15, 17]. Therefore, although there is a significant difference between the estimated milling force acting on the tooltip using joint torque and the measured milling force, it is considered to be more reflective of the actual loads imposed on the robot joints by the milling force [18].

Table 7 Mean values of measured and estimated milling forces in TCS

4.2 Robotic sliding milling experiment

In accordance with the cutting parameters recorded in Table 5, test No. 4, No. 5, and No. 6 were used to verify the deformation prediction and surface wave formation. Figure 3(b) shows that a 16-mm-diameter carbide end mill with 3-tooth was used to conduct a robotic side milling experiment at different spindle speeds and the tool fed along x-direction of TCS. The cutting length of the aluminum alloy workpiece was 35 mm. Taylor Form Talysurf inductive (Fig. 8) was used to measure the surface contours of the cut-in area (0–10 mm from the entry point) and steady-cutting area (12.5–22.5 mm from the entry point). The cut-in area and steady-cutting area can be shown in Fig. 3(b).

Fig. 8
figure 8

Using Taylor Form Talysurf inductive to measure the workpiece surface

Figure 9(a) compares the tracking errors of FCP in the y-direction of TCS at idle running and cutting process in test No. 5 using the Eq. (3). And the tracking errors of tooltip, calculated from Eq. (4), are analyzed in Fig. 9(b). It can be seen that the tracking errors of tooltip were much larger than the values of FCP. The tracking error amplitudes of tooltip were approximately 40 μm, while the tracking error amplitudes of FCP were about 10 μm. Consequently, the robot posture errors of FCS significantly impact the tracking errors of tooltip. Also, the tracking errors during the cutting process and idle running were similar because the milling force excitation frequency was higher than the natural frequency of the robot structure.

Fig. 9
figure 9

Tracking error during the cutting process and idle running in test No. 5. a Tracking error of FCP. b Tracking error of tooltip

Tracking error calculated by all joints’ tracking errors and joint 6 tracking errors are analyzed in Fig. 10, and it can be seen that joint 6 tracking errors is an essential factor in the tracking errors of tooltip, compared to the error of FCP (Fig. 9). Figure 11 shows that the torque curve of joint 6 is similar to the tracking error curve of joint 6. That means that the torque fluctuation of joint 6 is mainly caused by friction when machining small-sized workpieces at low feedrate. The acceleration of joint 6 remains stable, and the variation of inertial and gravitational loads can be negligible. It should be noted that the variation of the velocity direction of joint 6 at 50.9 mm leads to the variation in the joint torque value.

Fig. 10
figure 10

Comparison of tooltip tracking errors and tooltip errors calculated by joint 6 tracking errors in test No. 5

Fig. 11
figure 11

Comparison of joint 6 tracking errors and joint 6 torque in test No. 5

The tracking errors of tooltip and surface profile measurements of steady cutting areas are compared in Fig. 12 (test No. 4 to No. 6). The measured waviness curves of the workpiece surface were similar to the tracking error curves of tooltip, so the formation of waves on the workpiece surface is related to the operating state of the robot. Combined with the previous analysis, the tracking errors of tooltip, which are obtained in the idle running and cutting process, can be used to predict the surface waviness in robotic side milling. This means we can obtain the machining parameters for optimal surface waviness by monitoring tooltip tracking errors through idle running tests before formal machining without cutting experiments.

Fig. 12
figure 12

Comparison of surface waviness and tooltip tracking errors in a test No. 4, b test No. 5, and c test No. 6

The milling force of the side milling was calculated using the filtered cutting torque based on the proposed method in Sects. 3.1 and 3.2. Figure 14(d) shows the estimated three-direction milling force using the selected robot joints’ cutting torque. Compared with test 1 (Fig. 4), the torque measurement noise of joint 3 was increased, while the noise of joint 6 was decreased. Therefore, the cutting torques of joint 1, joint 5, and joint 6 were used for estimating milling force acting on tooltip.

Figures 14(a), 15(a), and 16(a) show the predicted tooltip force-induced deformation curves, calculated from Eq. (18), using estimated milling forces. It can be seen that tooltip deformation gradually increases during the tool cutting into the workpiece and gradually decreases when the tool cut-leave the workpiece. The predicted value fluctuates mainly due to the fluctuation of the estimated forces caused by the measurement noise. However, there are fluctuations in the predicted curves during air cutting, mainly related to the estimated force errors (see Fig. 13(d)). Figures 14(b), 15(b), and 16(b) depict the contour of the tool cutting into the workpiece, and it can be seen that the contour changes as the tool cuts into the workpiece, and the workpiece contour error is almost constant when in the steady cutting process. The predicted and measured values in Table 8 are the average values of the deformation in the steady cutting area after the tool is completely cut into the workpiece to reduce the influence of surface waviness, and the prediction error is below 11% (<0.02 mm), which can meet the actual machining requirements.

Fig. 13
figure 13

Joint cutting torque measurement and estimated milling force in test No. 5. Cutting torque values of a robot joint 1, b joint 5, and c joint 6 and d predicted milling force value

Fig. 14
figure 14

Comparison of predicted tooltip deformation and measured workpiece surface contour in test No. 4. a Predicted tooltip deformation and b measured workpiece surface contour in cut-in area of the workpiece

Fig. 15
figure 15

Comparison of predicted tooltip deformation and measured workpiece surface contour in test No. 5. a Predicted tooltip deformation and b measured workpiece surface contour in cut-in area of the workpiece

Fig. 16
figure 16

Comparison of predicted tooltip deformation and measured workpiece surface contour in test No. 6. a Predicted tooltip deformation and b measured workpiece surface contour in cut-in area of the workpiece

Table 8 Measured surface errors and predicted tooltip deformation

5 Conclusions

In this paper, a sensorless method for predicting tooltip deformation and surface waviness is proposed, and the main contributions of this paper can be summarized as follows:

The cutting forces acting on tooltip were estimated using selected joint torques provided by the robot controller based on the Kalman filter method and observability index. Robotic slot milling experiments were used to validate the proposed method, and the estimated cutting forces were close to the average of the reference values measured by a force dynamometer.

The estimated milling force and the flexible model were used to predict the force-induced deformation of tooltip, considering the robot posture error of FCS. Compared with the measured data from the surface profiler, the machining deformation prediction errors at the steady cutting areas were less than 11% (<0.02 mm), which meets the accuracy requirement.

The estimated cutting force and deformation curves distinguish the process of air cutting, the cut-into workpiece, steady cutting, and cut-leave workpiece during milling process.

The cutting experiments proved that the formation of surface waviness in robotic side milling is closely related to the tracking errors of tooltip. The robot posture error caused by the joint 6 friction is an important cause of the tracking errors of tooltip when the robot feed along the x-direction of the TCS.

Real-time sensorless deformation compensation method for curved workpiece considering pose-oriented stiffness model will be further investigated.