# A Novel Time-Varying Friction Compensation Method for Servomechanism

Authors: Bin Feng; Dongsheng Zhang; Jun Yang; Shijie Guo
Journal: Mathematical Problems in Engineering
 (2015)

---

## Abstract

Friction is an inevitable nonlinear phenomenon existing in servomechanisms. Friction errors often affect their motion and contour accuracies during the reverse motion. To reduce friction errors, a novel time-varying friction compensation method is proposed to solve the problem that the traditional friction compensation methods hardly deal with. This problem leads to an unsatisfactory friction compensation performance and the motion and contour accuracies cannot be maintained effectively. In this method, a trapezoidal compensation pulse is adopted to compensate for the friction errors. A generalized regression neural network algorithm is used to generate the optimal pulse amplitude function. The optimal pulse duration function and the pulse amplitude function can be established by the pulse characteristic parameter learning and then the optimal friction compensation pulse can be generated. The feasibility of friction compensation method was verified on a high-precisionX-Y worktable. The experimental results indicated that the motion and contour accuracies were improved greatly with reduction of the friction errors, in different working conditions. Moreover, the overall friction compensation performance indicators were decreased by more than 54% and this friction compensation method can be implemented easily on most of servomechanisms in industry.


---

## Body

## 1. Introduction

Friction is a very complex time-varying phenomenon and exists in the sliding surfaces of servomechanism extensively, such as bearings and guide-ways. Friction errors occur during the reverse motion, and the servo motion controllers hardly deal with them effectively. Friction errors affect motion accuracy significantly and degrade contour accuracy of computer numerical control (CNC) machine tools [1–3]. More and more researchers have suggested that the friction should be taken into consideration seriously for high-precision servomechanisms [4]. Friction phenomenon can be alleviated by modifying servomechanism design or using lubricants. However, even with the proper lubrication and design, friction cannot be completely eliminated [5].To reduce friction errors, the following two ways are usually adopted. One is to improve the bandwidth of servomechanism, such as using a disturbance observer, employing a neural network controller, and optimizing control parameters [6–8]. The other is to develop a friction compensation strategy with small modifications to the servo motion controller, such as adopting a friction model, applying a repetitive control strategy, and using a friction compensation pulse [9]. The disturbance observer is often used to estimate the external perturbations and reduce the adverse effects caused by the nonlinear uncertainties [10]. Using the disturbance observer or optimizing the control parameters, friction errors can be suppressed effectively to a certain extent, but the desired performance can hardly be achieved [11]. Even if the neural network controller can effectively reduce the friction errors, designing such kind of controller is very complicated and it is helpless for most of servomechanisms adopting the conventional proportion-integration-differentiation (PID) controllers [12]. To solve these problems, in-depth study on the friction compensation strategy has been carried out. Friction models are commonly used to predict friction force and to realize friction compensation [13]. Several friction models have been applied in describing the friction characteristics of sliding surfaces, such as Stribeck model, Dahl model, and LuGre model [14]. However, friction is time-varying and closely related to humidity, temperature, ageing, inevitable misalignment of axis, uneven distributed lubricant, and so on. So, it is very difficult to obtain an accurate friction model [15]. Meanwhile, the identification results are unrepeatable even for well-prepared experiments and can hardly be applied in the servomechanisms in industry [16]. The repetitive control strategy proposed by Tung et al. [17] compensated the friction errors by adding the compensation command based on the previous measured friction errors to the position command. Obviously, this approach cannot be applied in the working conditions where the feed rate and trajectory vary frequently. Mei et al. adopted a rectangular compensation pulse to reduce friction errors [18]. The rectangular compensation pulse is added to the position command. The amplitude and duration of optimal rectangular compensation pulse can be obtained by the friction compensation experiments. Similarly, Chen et al. used a double compensation pulse to compensate the friction errors [19]. However, it is well known that the position loop bandwidth is much smaller than the velocity loop bandwidth and the current loop bandwidth in servomechanisms [20]. Therefore, adding the compensation pulse to the position command limits friction errors to be further reduced. Moreover, one of the most important characteristics of friction is the time-varying characteristic. So far, this way neglects the time-varying characteristic. It is considered that the friction is a time-invariant physical phenomenon. However, specifically for servomechanism in industry, friction may vary with time greatly, and the friction compensation performance becomes worse. As a result, motion and contour accuracies will degrade and cannot be maintained effectively. Therefore, it is very urgent to develop a new friction compensation method against the time-varying friction.In this paper, a novel time-varying friction compensation method is proposed to solve this problem. When the friction existing in servomechanism has changed greatly, as a result, the friction compensation performance cannot satisfy the required friction compensation performance. A novel trapezoidal compensation pulse was adopted to compensate the friction errors and a friction compensation performance evaluation function was designed. Then, an optimal pulse duration function and a pulse amplitude function were established by the pulse characteristic parameter learning. According to these functions, the optimal pulse amplitude and the pulse duration can be calculated under different working conditions. Hence, the required friction compensation performance can be obtained, and the motion and contour accuracies of servomechanism can be guaranteed effectively. In addition, according to different working conditions, the friction errors can be compensated adaptively.The paper is organized as follows. The generation mechanism of friction errors and compensation strategy are introduced briefly in Section2. Then, the novel time-varying friction compensation method is mainly described in Sections 3 and 4. Experimental results are presented in Section 5. Finally, conclusions are given in Section 6.


## 2. Analysis of Friction Errors and Friction Compensation

To reveal the generation mechanism of friction errors and to validate the friction compensation method proposed by this paper, a high-precisionX-Y worktable was set up. Figure 1 shows the high-precisionX-Y worktable. Each axis is driven by a ball screw coupled to a servo motor and its amplifier. TheX-Y worktable motion is controlled by an open CNC system composed of a host computer and a slave computer [21, 22]. The host computer is responsible for the operation, data sampling, motion monitoring, and so on. A digital PID motion controller is developed on the slave computer and generates the control signals which are sent to the corresponding amplifiers. Some logic control operations can be implemented by the logic signals, such as emergency stop. The position feedback signals are produced by the grating scales installed on theX-Y worktable. The velocity feedback signals can be obtained by the encoders directly coupled to the servo motors. These feedback signals are sampled by the digital PID motion controller. In addition, the related data of each axis such as position feedback and velocity feedback are transmitted to the host computer in real time. The main specifications of this high-precisionX-Y worktable are shown in Table 1.Table 1
Main specifications of high-precisionX-Y worktable.
Parameter
Value
Worktable area (mm×mm)
560 × 420
X
/
Y stroke (mm×mm)
250 × 150
Maximum allowed accelerational (mm·s−2)
1500
Inertia of the plant forx-axis (kg·m2)
0.00298
Inertia of the plant fory-axis (kg·m2)
0.00358
Torque constant (N·m·V−1)
2.68
Rated torque of servo motor (N·m)
7.16
Sampling periodT (s)
0.001
Screw lead (mm)
16
Resolution of encoder (µm)
0.5
Resolution of scale (µm)
0.5Figure 1
High-precisionX-Y worktable.As shown in Figure2, the controller structure of x-axis includes a cascade PID feedback controller, a velocity feedforward controller and an acceleration feedforward controller. The controller structure of y-axis is similar with the controller structure of x-axis. The cascade PID feedback controller is composed of a position controller, a velocity controller, and a current controller to reject both the steady-state errors and the external disturbances. In addition, these feedforward controllers are used to further improve the dynamics of servomechanism. The position controller and the velocity controller adopt the proportion controller and the proportion-integration controller, respectively. The current controller is contained in the amplifier and can be equivalent as a torque constant. Meanwhile, to show the superiority of the proposed method, a disturbance observer was developed to suppress the friction errors. The current differences between the normal model output and physical plant output are induced by the external nonlinear friction force. These differences are considered as equivalent perturbations which can be added to current command. Thus, the friction errors can be suppressed to a certain extent.Figure 2
Controller structure ofx-axis.To make the proposed method clearly, the friction compensation method is illustrated with the worktable in thex-direction as an example in this paper. Figure 3 shows the actual velocity and the tracking errors during the reverse motion of the worktable in the x-direction with the feed rate F = 1000 mm·min−1 and the circular radius R = 25 mm. As shown in Figure 3, the prominent errors caused by the friction force are friction errors which degrade the motion accuracy of the worktable. The whole process of reverse motion will be briefly introduced as follows.Figure 3
Dynamic reverse motion process of the worktable in thex-direction.When the worktable arrives at a reverse position at the momenttstick, its motion is stopped. From then on, the friction errors begin to generate and to increase until they reach a peak at the moment terr⁡. Then, when the driving force overcomes the break-away force, the worktable starts to slip at the moment tslip. However, it is essential to note that the friction affects the position control system in the form of external force or torque and takes time for the effects of friction to be transformed into the position output. In addition, there exists a backlash during the reverse motion; this contributes to an additional delay. Let Td be the sum of these delays and a transition time Tb from the moment tstick to the moment of tslip can be expressed as(1)Tb=tslip-tstick.The momentterr⁡ can be described as (2)terr⁡=Tmax⁡+tstick,where Tmax⁡ is a time interval from the moment tstick to the moment terr⁡, and it can be expressed as(3)Tmax⁡=Td+Tb.The elastic junctions appear in the sliding surfaces and behave like springs during the reverse motion. There is a presliding displacementDb which is an approximately linear function of the driving force till the driving force reaches the break-away force. Meanwhile, there is an additional measured error ΔE caused by the external noise and grating scale resolution. The presliding displacement Db and measured error ΔE are very small and can be neglected. The delay time Td is inevitable and hard to be further decreased. However, its value is much smaller than the transition time Tb and its effects on the tracking errors can be ignored. Moreover, the position command is not influenced during the reverse motion. Thus, a great peak error Ep is produced and can be expressed as (4)Ep=Pcxtstick+Tmax⁡-Pfxtstick+Db+ΔE=Pcxtstick+Td+Tb-Pfxtstick-Db-ΔE≈Pcxtstick+Tb-Pfxtstick,where Pcx and Pfx are the position command and position feedback of the worktable, respectively. Considering the existing delay Td, the worktable actually starts to slip at the moment terr⁡. At this moment, the position command and position feedback are Pcx(tstick+Tmax⁡) and Pfx(tstick) + Db + ΔE, respectively. The peak error Ep rises as the transition time Tb and it can be further declined by decreasing the transition time Tb. However, the transition time Tb is determined by the break-away force which varies with the time-varying friction. Thus, the time-varying characteristic should be considered seriously in designing a friction compensator. The friction errors begin to attenuate after the moment terr⁡ and disappear at the moment tn. A time interval Tz from the moment tstick to the moment tn can be expressed as(5)Tz=tn-tstick.To reduce the friction errors, an external friction compensation pulse is commonly employed to decrease the transition timeTb. Compared with the position loop, the velocity loop has a much higher bandwidth. Moreover, compared with being added to the current command, the additional external friction compensation pulse is added to velocity command and has a smaller impact on the servomechanism. Therefore, it is reasonable to add the pulse to velocity command. Meanwhile, as shown in Figure 2, a trapezoidal compensation pulse Vb is proposed to compensate the friction errors. Compared with the conventional rectangular friction compensation pulse, the trapezoidal compensation pulse has some advantages such as better friction compensation performance, smaller impact on servomechanism, and better flexibility.When the worktable arrives at a reverse position at the momenttstick, that is, iT, the trapezoidal compensation pulse Vb compensates the friction errors at the moment tstickT, that is, (i+1)T, and can be expressed as(6)Vbt=Ap·sgndr,t∈tstickT,Tm+tstickT0APt=t-tstickFpTr,t∈tstickT,tstickT+TrFp,t∈Tr+tstick,tstick+Tm-Trtstick+Tm-tFpTr,t∈tstick+Tm-Tr,tstick+Tm,dr=Pcxi+1T-PcxiT,sgndr=-1,dr∈-∞,00,dr=01,dr∈0,+∞,whereFp, Tm, and Tr are the amplitude, duration, and rise time of the pulse, respectively. T is the sampling period and dr is the difference between the position command of two consecutive sampling instants. Ap is the value of pulse and Tr is generally set as a constant. The pulse characteristic parameters are the pulse amplitude Fp and the pulse duration Tm. With dr>0, the generated trapezoidal compensation pulse Vb is shown in Figure 4.Figure 4
Trapezoidal compensation pulse.A reasonable friction compensation pulse is essential to achieve the desired friction compensation performance. Even with a smaller friction compensation pulse amplitude or a short friction compensation pulse duration, the great friction errors still appear. On the contrary, with a high friction compensation pulse amplitude or a long friction compensation pulse duration, the great oscillations of tracking errors appear and motion accuracy degrades greatly. To evaluate the friction compensation performance, a friction compensation performance evaluation functionEa can be given as follows:(7)Ea=∑k=ii+NaPcxkT-PfxkTNaNa=TMT,where TM is the monitoring time and Na is the number of sampling points per TM. The friction compensation performance is better as this function value decreases. In this paper, a pulse characteristic parameter learning is proposed to search the optimal pulse duration and the pulse amplitude. The pulse characteristic parameter learning is an automatic optimization process composed of friction compensation pulse amplitude learning and friction compensation pulse duration learning. The friction compensation pulse duration learning is used to search the optimal pulse duration and to establish the optimal pulse duration function. The friction compensation pulse amplitude learning is used to search the optimal pulse amplitude and to establish the optimal pulse amplitude function.To compensate the friction errors in different trajectories, it is necessary to establish the relationships between the friction compensation pulse characteristic parameters and the characteristic parameters of motion trajectory. On one hand, acceleration is one of the main characteristic parameters of motion trajectory and can be easily obtained. On the other hand, the acceleration at the momenttstick, that is, reverse acceleration, is closely related to the transition time Tb and the break-away force [23]. Therefore, relationships between the reverse acceleration and the pulse characteristic parameters need to be established to realize friction compensation in different trajectories. When the high-precisionX-Y worktable performs a circular motion, the reverse acceleration is equal to the centripetal acceleration [24]. Furthermore, the centripetal acceleration can be obtained by the position command of circular motion trajectory and then the reverse acceleration can be calculated as(8)a=F6021R=ω2R,where ω is the angular velocity of circular motion trajectory and a is the reverse acceleration. According to this equation, the reverse acceleration can be obtained and modified easily. The position command of a circular motion trajectory for the high-precisionX-Y worktable can be written as(9)Pcx=RsinωtPcy=Rsinωtω=aR,where Pcy is the position command of the worktable in the y-direction.The relationships can be built by the friction compensation pulse duration learning and the friction compensation pulse amplitude learning. When the friction existing in the servomechanism has changed greatly, the values of pulse characteristic parameters need to be learned to solve the problems caused by the time-varying friction. Thus, the motion and contour accuracies of servomechanism can be guaranteed effectively.


## 3. Friction Compensation Pulse Duration Learning

To obtain the optimal pulse duration and to establish the optimal pulse duration function, the friction compensation pulse duration learning is proposed in this paper. Considering the practical working conditions, the learning efficiency and the required friction compensation performance, different reverse acceleration intervals, and their increments are adopted to satisfy different requirements of friction compensation. To make this friction compensation method simple, three different reverse acceleration intervals are adopted in this paper. The related parameters are set as follows:ai: minimum reverse acceleration;am: maximum reverse acceleration;a1: reverse acceleration 1;a2: reverse acceleration 2;Fts: pulse amplitude increment;N1: number of steps in the reverse acceleration interval 1;N2: number of steps in the reverse acceleration interval 2;N3: number of steps in the reverse acceleration interval 3;NC: iteration number of coarse learning;NF: iteration number of fine learning;Te: pulse duration increment.The reverse acceleration configuration is shown in Figure5.Figure 5
Reverse acceleration configuration.The maximum amplitude of friction compensation pulse,Fm, can be expressed as(10)Fm=Tral,where al is the maximum allowed acceleration. The initial amplitude of the friction compensation pulse, Fi, can be obtained as(11)Fi=ηFm,where η is the friction compensation coefficient. Generally, the value of η is between 0.1 and 0.15. Without the friction compensation, the reverse acceleration a updates automatically in the order of ai, a1, a2, and am. At each reverse acceleration a, the worktable performs a sinusoidal movement. As a result, the time interval Tz can be automatically calculated as Tzi, Tz1, Tz2, and Tzm, respectively, based on the tracking errors. The initial pulse duration, Tm, can be expressed as (12)Tm=2Tr.The initial value of pulse amplitudeFp can be obtained as (13)Fp=Fi.At the reverse accelerationai, the worktable performs a sinusoidal movement. The induced friction errors are compensated by the generated friction compensation pulse. In this paper, a pulse duration learning evaluation function Et was designed. The pulse duration learning performance becomes better as this function value decreases. The pulse duration learning evaluation function Et can be given as follows:(14)Et=∑k=ii+NtPcxkT-PfxkTNtNt=2TzT,where Nt is the number of sampling points per 2Tz. When the sinusoidal movement terminates, the pulse amplitude Fp can be updated as(15)Fp=Fp+FtsandFp keeps updating until Fp>Fm. Then, the pulse duration Tm can be updated as(16)Tm=Tm+Te.The aforementioned process is repeated untilTm>Tzi. The value of pulse duration Tm is the Tmi which is considered as the optimal pulse duration Tom at the reverse acceleration ai and it corresponds to the minimum of pulse duration learning evaluation function Et. Similarly, the reverse acceleration a can be updated automatically in the order of a1, a2, and am. The corresponding optimal pulse duration Tom can be obtained as Tm1, Tm2, and Tmm, respectively. According to the results of pulse duration learning, an optimal pulse duration function Tom can be expressed as(17)Tom=Tmi,a∈0,aiTmi+Tm1-Tmia1-aia-ai,a∈ai,a1Tm1+Tm2-Tm1a2-a1a-a1,a∈a1,a2Tm2+Tmm-Tm2am-a2a-a2,a∈a2,amTmm,a∈am,al.Thus, the corresponding optimal pulse durationTom can be calculated at different reverse accelerations.


## 4. Friction Compensation Pulse Amplitude Learning

To obtain the optimal pulse amplitude, an optimal pulse amplitude function can be established by a coarse learning stage, a fine learning stage, and the generation of optimal pulse amplitude function in this paper.


### 4.1. Coarse Learning Stage

An initial pulse amplitude array can be obtained in the coarse learning stage. The reverse acceleration increment of coarse learning stageΔac in different reverse acceleration intervals can be calculated as(18)Δac=a1-aiN1,a∈ai,a1Δac=a2-a1N2,a∈a1,a2Δac=am-a2N3,a∈a2,am.The amplitude increment of the friction compensation pulse in the coarse learning stageFcs can be calculated as(19)Fcs=Fm-FiNC.At the beginning of the coarse learning stage, the initial value of reverse accelerationa can be expressed as (20)a=ack,where k=1 and a=ack=ai. The initial value of pulse amplitude Fp can be expressed as (21)Fp=Fi.According to (17), the pulse duration Tm can be calculated as (22)Tm=Toma.The monitoring timeTM can be expressed as(23)TM=2Toma.At the reverse accelerationa, the worktable performs a sinusoidal movement. The induced friction errors can be compensated by the generated friction compensation pulse. In this paper, the evaluation function Ea is employed to evaluate the friction compensation performance. The friction compensation performance becomes better as the function value decreases. When the sinusoidal movement terminates, the pulse amplitude Fp can be updated as(24)Fp=Fp+Fcs.AndFp keeps updating until Fp>Fm. The value of pulse amplitude Fp is Fck which corresponds to the minimum of evaluation function Ea at the reverse acceleration a. Then, the reverse acceleration a can be updated as(25)k=k+1a=ack=a+Δac.The aforementioned process is repeated untila>am, and the coarse learning stage is finished. At different reverse accelerations, the pulse amplitude array in the coarse learning stage can be expressed as [Fc1,Fc2,…,Fck,…,Fcn], k=1,2,…,(N1+N2+N3+2), k≤n. The corresponding reverse acceleration array can be expressed as [ac1,ac2,…,ack,…,acn], where am=acn.


### 4.2. Fine Learning Stage

To further improve the friction compensation performance, on the basis of the results obtained in the coarse learning stage, a fine learning stage is adopted. The reverse acceleration array can be expanded as[ac1,acf12,ac2,acf23,ac3,…,acf(i)(i+1),…,ac(h-1),acf(h-1),ach], i=1,2,…,(h-1), where h=2n-1, acn=ach. The element of this array acfii+1 can be expressed as(26)Δaf=Δac2acfii+1=aci+Δaf,i=1,2,…,h-1,where Δaf is the reverse acceleration increment in the fine learning stage. The subscript indexes of these elements are renumbered and can be recorded as (27)af1,af2,…,afj,…,afh,j=1,2,…,h,h=2n-1.Similarly, the generated pulse amplitude array in the coarse learning stage can be expanded as[Fc1,Fcf12,Fc2,Fcf23,Fc3,…,Fcfii+1,…,Fch-1,Fcfh-1,Fch], where h=2n-1, Fcn=Fch, and the element of this pulse amplitude array Fcfii+1 can be expressed as(28)Fcfii+1=Fci+Fci+12,i=1,2,…,h-1.The subscript indexes of the elements in the expanded pulse amplitude array are renumbered and can be recorded as(29)Fbf1,Fbf2,Fbf3,…,Fbfj,…,Fbfh-1,Fbfh,j=1,2,…,h,h=2n-1,where Fbfj is the element of the expanded pulse amplitude array. The pulse amplitude increment in the fine learning stage Ffs can be calculated as(30)Ffs=FcsNF.At the beginning of the fine learning stage, the initial value of reverse accelerationa can be expressed as (31)a=afj,where j=1 and a=af1=ai. The initial value of pulse amplitude Fp can be expressed as (32)Fp=Fbfj-Fcs2.According to (17), the pulse duration Tm can be calculated as(33)Tm=Toma.The worktable performs a sinusoidal movement at the reverse accelerationa. The induced friction errors are compensated by the generated friction compensation pulse. Meanwhile, the evaluation function Ea is also adopted. When the sinusoidal movement terminates, the pulse amplitude Fp can be updated as(34)Fp=Fp+Ffs.AndFp keeps updating until Fp>Fbfj+(Fcs/2). The optimal value of pulse amplitude Fp is Fbfj which corresponds to the minimum of evaluation function Ea at the reverse acceleration a. Then, the reverse acceleration a can be updated as(35)j=j+1a=afj=a+Δaf.The aforementioned process is repeated untila>afh, and the fine learning stage is finished. At different reverse accelerations, the optimal pulse amplitude array can be expressed as(36)Ff1,Ff2,Ff3,…,Ffj,…,Ffh-1,Ffh,j=1,2,…,h,h=2n-1.


### 4.3. Generation of Optimal Pulse Amplitude Function

Due to the fact that there is a complicated nonlinear relationship between the optimal pulse amplitude array and the corresponding reverse acceleration array, it is very difficult to achieve the satisfactory fitting performance with the approximate equation or the conventional least square method. However, the neural network has a strong ability in nonlinear fitting and can map the arbitrary nonlinear relationships [25]. Meanwhile, its learning rule is easy to implement on a computer. Therefore, the GRNN algorithm is proposed to train the complicated nonlinear relationship in this paper.An optimal pulse amplitude function (OFGN) is generated by the generalized regression neural network (GRNN) algorithm due to its advantages such as simple structure, high training efficiency, and global convergence. Moreover, the high accurate fitting can be obtained by the OFGN. The GRNN algorithm includes an input layer, a mode layer, a summation layer, and an output layer. The number of neurons in the input layer is equal to the dimension of the optimal pulse amplitude array and each neuron is a simply distributed unit which transfers the input variables to the mode layer directly. The summation layer sums these neurons, and the output layer exports the value of the optimal pulse amplitudeFop which can be expressed as(37)Fop=Ff1,a∈0,aiOFGN,a∈ai,amFfha∈am,al.Thus, the corresponding value of optimal pulse amplitudeFop can be calculated at different reverse accelerations a.


## 4.1. Coarse Learning Stage

An initial pulse amplitude array can be obtained in the coarse learning stage. The reverse acceleration increment of coarse learning stageΔac in different reverse acceleration intervals can be calculated as(18)Δac=a1-aiN1,a∈ai,a1Δac=a2-a1N2,a∈a1,a2Δac=am-a2N3,a∈a2,am.The amplitude increment of the friction compensation pulse in the coarse learning stageFcs can be calculated as(19)Fcs=Fm-FiNC.At the beginning of the coarse learning stage, the initial value of reverse accelerationa can be expressed as (20)a=ack,where k=1 and a=ack=ai. The initial value of pulse amplitude Fp can be expressed as (21)Fp=Fi.According to (17), the pulse duration Tm can be calculated as (22)Tm=Toma.The monitoring timeTM can be expressed as(23)TM=2Toma.At the reverse accelerationa, the worktable performs a sinusoidal movement. The induced friction errors can be compensated by the generated friction compensation pulse. In this paper, the evaluation function Ea is employed to evaluate the friction compensation performance. The friction compensation performance becomes better as the function value decreases. When the sinusoidal movement terminates, the pulse amplitude Fp can be updated as(24)Fp=Fp+Fcs.AndFp keeps updating until Fp>Fm. The value of pulse amplitude Fp is Fck which corresponds to the minimum of evaluation function Ea at the reverse acceleration a. Then, the reverse acceleration a can be updated as(25)k=k+1a=ack=a+Δac.The aforementioned process is repeated untila>am, and the coarse learning stage is finished. At different reverse accelerations, the pulse amplitude array in the coarse learning stage can be expressed as [Fc1,Fc2,…,Fck,…,Fcn], k=1,2,…,(N1+N2+N3+2), k≤n. The corresponding reverse acceleration array can be expressed as [ac1,ac2,…,ack,…,acn], where am=acn.


## 4.2. Fine Learning Stage

To further improve the friction compensation performance, on the basis of the results obtained in the coarse learning stage, a fine learning stage is adopted. The reverse acceleration array can be expanded as[ac1,acf12,ac2,acf23,ac3,…,acf(i)(i+1),…,ac(h-1),acf(h-1),ach], i=1,2,…,(h-1), where h=2n-1, acn=ach. The element of this array acfii+1 can be expressed as(26)Δaf=Δac2acfii+1=aci+Δaf,i=1,2,…,h-1,where Δaf is the reverse acceleration increment in the fine learning stage. The subscript indexes of these elements are renumbered and can be recorded as (27)af1,af2,…,afj,…,afh,j=1,2,…,h,h=2n-1.Similarly, the generated pulse amplitude array in the coarse learning stage can be expanded as[Fc1,Fcf12,Fc2,Fcf23,Fc3,…,Fcfii+1,…,Fch-1,Fcfh-1,Fch], where h=2n-1, Fcn=Fch, and the element of this pulse amplitude array Fcfii+1 can be expressed as(28)Fcfii+1=Fci+Fci+12,i=1,2,…,h-1.The subscript indexes of the elements in the expanded pulse amplitude array are renumbered and can be recorded as(29)Fbf1,Fbf2,Fbf3,…,Fbfj,…,Fbfh-1,Fbfh,j=1,2,…,h,h=2n-1,where Fbfj is the element of the expanded pulse amplitude array. The pulse amplitude increment in the fine learning stage Ffs can be calculated as(30)Ffs=FcsNF.At the beginning of the fine learning stage, the initial value of reverse accelerationa can be expressed as (31)a=afj,where j=1 and a=af1=ai. The initial value of pulse amplitude Fp can be expressed as (32)Fp=Fbfj-Fcs2.According to (17), the pulse duration Tm can be calculated as(33)Tm=Toma.The worktable performs a sinusoidal movement at the reverse accelerationa. The induced friction errors are compensated by the generated friction compensation pulse. Meanwhile, the evaluation function Ea is also adopted. When the sinusoidal movement terminates, the pulse amplitude Fp can be updated as(34)Fp=Fp+Ffs.AndFp keeps updating until Fp>Fbfj+(Fcs/2). The optimal value of pulse amplitude Fp is Fbfj which corresponds to the minimum of evaluation function Ea at the reverse acceleration a. Then, the reverse acceleration a can be updated as(35)j=j+1a=afj=a+Δaf.The aforementioned process is repeated untila>afh, and the fine learning stage is finished. At different reverse accelerations, the optimal pulse amplitude array can be expressed as(36)Ff1,Ff2,Ff3,…,Ffj,…,Ffh-1,Ffh,j=1,2,…,h,h=2n-1.


## 4.3. Generation of Optimal Pulse Amplitude Function

Due to the fact that there is a complicated nonlinear relationship between the optimal pulse amplitude array and the corresponding reverse acceleration array, it is very difficult to achieve the satisfactory fitting performance with the approximate equation or the conventional least square method. However, the neural network has a strong ability in nonlinear fitting and can map the arbitrary nonlinear relationships [25]. Meanwhile, its learning rule is easy to implement on a computer. Therefore, the GRNN algorithm is proposed to train the complicated nonlinear relationship in this paper.An optimal pulse amplitude function (OFGN) is generated by the generalized regression neural network (GRNN) algorithm due to its advantages such as simple structure, high training efficiency, and global convergence. Moreover, the high accurate fitting can be obtained by the OFGN. The GRNN algorithm includes an input layer, a mode layer, a summation layer, and an output layer. The number of neurons in the input layer is equal to the dimension of the optimal pulse amplitude array and each neuron is a simply distributed unit which transfers the input variables to the mode layer directly. The summation layer sums these neurons, and the output layer exports the value of the optimal pulse amplitudeFop which can be expressed as(37)Fop=Ff1,a∈0,aiOFGN,a∈ai,amFfha∈am,al.Thus, the corresponding value of optimal pulse amplitudeFop can be calculated at different reverse accelerations a.


## 5. Experimental Investigation

To verify the effectiveness of this friction compensation method, a friction compensation module was developed and embedded into the open CNC system. The flowchart of the module is shown in Figure6. When the actual value of friction compensation performance evaluation function cannot satisfy the required friction compensation performance, that is, Ea>Er, it indicates that the pulse characteristic parameter learning is necessary. Exiting the module or performing the pulse characteristic parameter learning is optional. If the pulse characteristic parameter learning is required, according to working conditions and the required friction compensation performance, the related parameters of friction compensation module are set. The friction compensation pulse duration learning is performed automatically and an optimal pulse duration function is established. Then, the friction compensation pulse amplitude learning is performed automatically and an optimal pulse amplitude function is generated. The process of pulse characteristic parameter learning is finished. When the friction compensation is enabled, the optimal characteristic parameters can be calculated by the optimal pulse amplitude function and the pulse duration function. The friction errors are compensated by the generated friction compensation pulse during the reverse motion. In addition, the friction compensation performance can be evaluated and monitored online. In this paper, the setting values of this module are shown in Table 2.Table 2
Setting values of friction compensation module.
Parameter
x-axis
y-axis
a
i (mm·s−2)
5
5
a
m (mm·s−2)
150
150
a
1 (mm·s−2)
50
50
a
2 (mm·s−2)
100
100
N
1
10
10
N
2
8
8
N
3
8
8
N
C
10
10
N
F
4
4
E
r (mm)
0.01
0.01
F
ts
(mm·s−1)
0.5
0.5
F
i (mm·s−1)
0.5
0.5
T
e (s)
0.005
0.005
T
r (s)
0.003
0.003Figure 6
Flowchart of friction compensation module.With the circular radiusR = 50 mm, the high-precisionX-Y worktable carries out the friction compensation pulse characteristic parameter learning automatically. Figure 7 shows the results of friction compensation pulse characteristic parameter learning at the reverse acceleration a∈[ai,am]. As shown in Figure 7(a), the optimal friction compensation pulse durations of high-precisionX-Y worktable decrease continuously with the reverse acceleration a. The optimal friction compensation pulse duration of y-axis is longer than that of x-axis. The optimal pulse amplitude arrays of high-precisionX-Y worktable and the corresponding optimal pulse amplitude function curves are shown in Figure 7(b). The optimal pulse amplitude of x-axis is larger than that of y-axis. Moreover, it shows that these optimal pulse amplitude functions generated by the GRNN algorithm can achieve the accurate fitting of optimal pulse amplitude arrays.Figure 7
Results of friction compensation pulse characteristic parameter learning: (a) optimal friction compensation pulse duration curves; (b) optimal pulse amplitude arrays and the corresponding optimal pulse amplitude function curves.
(a)
(b)Figure8 shows the circular contour errors, with the feed rate F = 500 mm·min−1 and the circular radius R = 25 mm. It is noted that the prominent contour errors occur in four quadrants. The prominent contour errors in quadrants A and C are mainly induced by the nonlinear friction during the reverse motion of x-axis. Similarly, the prominent contour errors in quadrants B and D are mainly induced by the nonlinear friction during the reverse motion of y-axis. Generally, the prominent contour errors in quadrants A and C are similar. The same is true with the prominent contour errors in quadrants B and D. Therefore, the friction compensation performance can be studied by these tracking errors and contour errors in quadrants A and B and can be monitored during the monitoring time TM.Figure 8
Circular contour errors withF = 500 mm·min−1; R = 25 mm.To verify the feasibility of this friction compensation method, friction compensation experiments were carried out on the high-precisionX-Y worktable, with the radius R = 25 mm and the feed rates F = 500 mm·min−1, 1000 mm·min−1, 2000 mm·min−1, and 3000 mm·min−1. Moreover, to show the superiority of the proposed method, a disturbance observer was designed to suppress the friction errors under the aforementioned working conditions. In this paper, the friction compensation performances for the high-precisionX-Y worktable are comprehensively evaluated by a set of friction compensation performance indicators as follows:CXE: peak value of the contour errors during the reverse motion of x-axis;CYE: peak value of the contour errors during the reverse motion of y-axis;PXE: absolute peak value of the tracking errors during the reverse motion of x-axis;PYE: absolute peak value of the tracking errors during the reverse motion of y-axis;EXR: root mean square of the tracking errors during the reverse motion of x-axis;EYR: root mean square of the tracking errors during the reverse motion of y-axis;EXM: absolute mean of the tracking errors during the reverse motion of x-axis;EYM: absolute mean of the tracking errors during the reverse motion of y-axis.These indicators can be calculated by sampling the position command and the position feedback during the monitoring timeTM and are compared with friction compensation (WFC), disturbance observer (WDOB), and without friction compensation (WTFC).With the circular radiusR = 25 mm and the feed rates F = 500 mm·min−1 and 3000 mm·min−1, as shown in Figures 9 and 10, the tracking errors and the contour errors in quadrants A and B are compared during the monitoring time TM, under three situations: with friction compensation, with disturbance observer, and without friction compensation. As shown in Figures 9 and 10, the friction errors can be decreased with friction compensation and disturbance observer, and the contour errors as well as the tracking errors were decreased with the reduction of friction errors. So, it can be seen that the better friction compensation performance can be achieved by the proposed friction compensation method. With different feed rates and reverse accelerations, the friction compensation performance indicators are shown in Tables 3 and 4. As shown in Tables 3 and 4, these friction compensation performance indicators with the friction compensation are smaller than those with the disturbance observer. Furthermore, as shown in Table 3, during the reverse motion of x-axis, the friction compensation performance indicators were decreased greatly with the friction compensation. The CXE, EXM, PXE, and  EXR with different feed rates were decreased more than 63%, 54%, 63%, and 58%, respectively. Meanwhile, as shown in Table 4, during the reverse motion of y-axis, the friction compensation performance indicators were decreased greatly as well. The CYE, EYM, PYE, and  EYR with different feed rates were decreased more than 71%, 62%, 71% and 69%, respectively. Compared with the disturbance observer, the friction compensation method proposed by this paper is more effective and feasible to compensate the friction errors.Table 3
Friction compensation performance indicators during the reverse motion ofx-axis.
Trajectory
WTFC (µm)
WFC (µm)
WDOB (µm)
C
X
E
E
X
M
P
X
E
E
X
R
C
X
E
E
X
M
P
X
E
E
X
R
C
X
E
E
X
M
P
X
E
E
X
R
F = 500 mm·min−1 R = 25 mm, a=2.78 mm·s−2
6.89
3.33
6.93
3.84
2.50
1.54
2.53
1.61
4.96
2.24
4.73
2.62
F = 1000 mm·min−1 R = 25 mm, a=11.11 mm·s−2
13.37
4.70
13.36
6.25
2.06
0.81
2.07
0.97
10.56
3.19
10.01
2.92
F = 2000 mm·min−1 R = 25 mm, a=44.44 mm·s−2
18.99
6.26
19.11
8.56
4.15
1.36
4.09
1.72
17.09
4.63
16.79
5.7
F = 3000 mm·min−1 R = 25 mm, a=100 mm·s−2
20.09
7.46
20.21
9.66
5.3
2.09
5.29
2.46
18.95
5.84
17.95
8.15
WTFC: without friction compensation; WFC: with friction compensation; WDOB: with disturbance observer.Table 4
Friction compensation performance indicators during the reverse motion ofy-axis.
Trajectory
WTFC (µm)
WFC (µm)
WDOB (µm)
C
Y
E
E
Y
M
P
Y
E
E
Y
R
C
Y
E
E
Y
M
P
Y
E
E
Y
R
C
Y
E
E
Y
M
P
Y
E
E
Y
R
F
=
500 mm·min−1 R=25 mm, a=2.78 mm·s−2
6.18
2.49
6.17
3.09
1.72
0.74
1.69
0.80
3.13
1.45
3.10
1.68
F
=
1000 mm·min−1 R=25 mm, a=11.11 mm·s−2
7.47
2.52
7.42
3.32
1.37
0.43
1.32
0.53
4.79
1.67
4.58
1.56
F
=
2000 mm·min−1 R=25 mm, a=44.44 mm·s−2
10.94
3.09
10.89
4.32
2.75
0.78
2.66
1.02
8.24
2.08
8.03
2.48
F
=
3000 mm·min−1 R=25 mm, a=100 mm·s−2
14.42
3.91
14.41
5.76
4.14
1.45
4.16
1.78
12.90
2.99
11.25
4.39
WTFC: without friction compensation; WFC: with friction compensation; WDOB: with disturbance observer.Figure 9
F = 500 mm·min−1; R = 25 mm: (a) contour errors in quadrant A; (b) contour errors in quadrant B; (c) corresponding tracking errors of x-axis in quadrant A; and (d) corresponding tracking errors of y-axis in quadrant B. WTFC: without friction compensation; WFC: with friction compensation; WDOB: with disturbance observer.
(a)
(b)
(c)
(d)Figure 10
F = 3000 mm·min−1; R = 25 mm: (a) contour errors in quadrant A; (b) contour errors in quadrant B; (c) corresponding tracking errors of x-axis in quadrant A; and (d) corresponding tracking errors of y-axis in quadrant B. WTFC: without friction compensation; WFC: with friction compensation; WDOB: with disturbance observer.
(a)
(b)
(c)
(d)To verify the conclusion that this friction compensation method can be applied to compensating friction errors with different motion trajectories, different S-shaped motion trajectories S1, S2, S3, and S4 based on trapezoidal velocity profile, are adopted. The parameters of motion trajectories S1, S2, S3, and S4 are as follows: the accelerations in the acceleration and deceleration sections are 10 mm·s−2, 20 mm·s−2, 20 mm·s−2, and 30 mm·s−2, respectively. The velocities in constant velocity sections are 10 mm·s−1, 20 mm·s−1, 30 mm·s−1, and 30 mm·s−1, respectively. The motion distances are 30 mm, 30 mm, 50 mm, and 80 mm, respectively. Moreover, these motion trajectories have different accelerations, velocities, and distances, which can be used to test the limitations of this proposed method. This friction compensation experiment is carried out on the worktable in the y-direction.Figure11 shows the experimental results with the motion trajectories of S1, S2, S3, and S4. Figures 11(b) and 11(d) indicate that the friction errors were decreased greatly in same motion distances at different accelerations. Figures 11(d) and 11(f) show that the friction errors were decreased greatly in different motion distances at same accelerations. Figures 11(b), 11(f), and 11(h) illustrate the friction errors were decreased greatly in different motion distances at different accelerations. Meanwhile, the different accelerations imply different velocities. As shown in Figure 11, the motion and contour accuracies were improved with the reduction of the friction errors. Table 5 shows that the friction compensation performance indicators were decreased significantly, with different motion trajectories. Moreover, the CYE, EYM, PYE, and  EYR with the motion trajectories of S1, S2, S3, and  S4 were decreased by more than 76%, 71%, 76%, and 75%, respectively. Tables 4 and 5 together indicate that this friction compensation method proposed by this paper can be applied to different motion trajectories.Table 5
Friction compensation performance indicators with different S-shaped motion trajectories.
Trajectory
WTFC (µm)
WFC (µm)
C
Y
E
E
Y
M
P
Y
E
E
Y
R
C
Y
E
E
Y
M
P
Y
E
E
Y
R
S1 L=30 mm, a=10 mm·s−2
7.18
2.25
7.18
3.02
1.00
0.38
1.00
0.47
S
2 L=30 mm, a=20 mm·s−2
7.89
2.32
7.89
3.29
1.84
0.69
1.84
0.77
S
3 L=50 mm, a=20 mm·s−2
8.46
2.45
8.46
3.32
1.92
0.71
1.92
0.82
S
4 L=80 mm, a=30 mm·s−2
9.28
3.66
9.28
4.55
2.15
0.73
2.15
0.85
WTFC: without friction compensation; WFC: with friction compensation.Figure 11
Experimental results with the motion trajectories of S1, S2, and S3 as well as S4: (a) S-shaped motion trajectory S1; (b) tracking errors at the reverse position of motion trajectory S1; (c) S-shaped motion trajectory S2; (d) tracking errors at the reverse position of motion trajectory S2; (e) S-shaped motion trajectory S3; (f) tracking errors at the reverse position of motion trajectory S3; (g) S-shaped curve motion trajectory S4; and (h) tracking errors at the reverse position of motion trajectory S4. WTFC: without friction compensation; WFC: with friction compensation.
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)


## 6. Conclusion and Discussion

Friction is a complex physical phenomenon and varies with time. It exerts some adverse effects on precision motion. The conventional friction compensation methods neglect the time-varying characteristic and cannot cope with the problems caused by the time-varying friction, effectively. Meanwhile, these methods can hardly compensate the friction errors under different working conditions. In this paper, a novel time-varying friction compensation method is proposed. The main contributions are as follows.(1)
A novel trapezoidal compensation pulse is adopted in this paper. The friction errors can be compensated by adding the friction compensation pulse to the velocity command. A reasonable friction compensation pulse is essential to achieve the desired friction compensation performance. To evaluate the friction compensation performance, a friction compensation performance evaluation function was designed. The pulse characteristic parameter learning is an automatic optimization process and can be employed to search the optimal pulse characteristic parameter and to establish the optimal pulse duration function and pulse amplitude function. Then, the optimal pulse duration and the pulse amplitude under different working conditions can be obtained. When the friction has changed greatly, these functions can be established by the pulse characteristic parameter learning. Thus, the required friction compensation performance can be achieved even if the friction varies with time. Moreover, this method has some advantages such as automation, intelligence, flexibility, and practicality. It can be implemented easily on most of servomechanisms in industry.(2)
A generalized regression neural network algorithm is employed to train the nonlinear relationship between the optimal pulse amplitude array and the corresponding reverse acceleration array. An optimal pulse amplitude function is generated by this algorithm. The experimental results show that the accurate fitting of optimal pulse amplitude arrays can be achieved by the generated optimal pulse amplitude function.(3)
The novel time-varying friction compensation method was verified on a high-precisionX-Y worktable with different feed rates in different trajectories. The friction errors were compensated adaptively, and the friction compensation performance was evaluated comprehensively by the friction compensation indicators. Meanwhile, to show the superiority of the proposed friction compensation method, the disturbance observer was developed to suppress the friction errors. The experiment results show that the proposed friction compensation method is more effective and feasible to compensate the friction errors. The friction compensation performance indicators were decreased by more than 54% and this friction compensation method can be used in different working conditions.



---

*Source: 269391-2015-03-19.xml*