High speed CNC system design. Part III: high speed tracking and contouring control of feed drives

High speed CNC system design. Part III: high speed tracking and contouring control of feed drives

International Journal of Machine Tools & Manufacture 41 (2001) 1637–1658 High speed CNC system design. Part III: high speed tracking and contouring c...

251KB Sizes 0 Downloads 52 Views

International Journal of Machine Tools & Manufacture 41 (2001) 1637–1658

High speed CNC system design. Part III: high speed tracking and contouring control of feed drives Kaan Erkorkmaz, Yusuf Altintas

*

The University of British Columbia, Department of Mechanical Engineering, 2324 Main Mall, Vancouver, BC, V6T 1Z4, Canada Received 30 October 2000; accepted 18 December 2000

Abstract A servo control system capable of delivering rapid and accurate feed motion is a necessity for high speed machine tools. The control law must be designed to provide a high tracking bandwidth as well as adequate disturbance rejection and parameter variation robustness, in order minimize the following errors in each axis. This also contributes to the minimization of the contour errors in the machined part. This paper provides a systematic approach for designing such a control law. Position, velocity, and disturbance estimates are obtained using a Kalman filter. The feedback loop is closed using a pole placement controller with disturbance cancellation, in order to counteract the detrimental effects of friction, cutting forces, and drive parameter variations. The overall tracking bandwidth is widened by compensating for the closed loop dynamics in a feedforward manner. Also, the tracking errors due to friction transients at the corners and arc quadrants are reduced by precompensating for the expected friction forces. The contribution of each component in the control scheme to the contouring accuracy has been experimentally verified, and the overall contouring performance has been demonstrated in high speed machining tests. The experimental results were obtained using the smooth trajectory generation algorithm and identified axis and friction models which have been presented in Parts I and II respectively, of this paper.  2001 Elsevier Science Ltd. All rights reserved.

1. Introduction High speed machining techniques require faster feed motion between the tool and workpiece, in proportion to the increased spindle speed. However, due to the limited bandwidth achievable by using only P, PD, or PID types of servo controllers, which are the most common ones used * Corresponding author. Tel.: +1-604-822-2182; fax: +1-604-822-2403. E-mail addresses: [email protected] (K. Erkorkmaz); [email protected] (Y. Altintas).

0890-6955/01/$ - see front matter  2001 Elsevier Science Ltd. All rights reserved. PII: S 0 8 9 0 - 6 9 5 5 ( 0 1 ) 0 0 0 0 4 - 9

1638 K. Erkorkmaz, Y. Altintas / International Journal of Machine Tools & Manufacture 41 (2001) 1637–1658

in industrial CNCs, there will be tracking errors in each axis as the closed loop control system is not able to follow the rapidly varying position commands [1]. On the other hand, the friction in the guideways, as well as cutting forces constitute disturbances to the servo loop, which are detrimental to the tracking accuracy. Furthermore, even if the servo controller is tuned to maintain accurate tracking at high speeds, the performance may degrade if the drive parameters change due to varying workpiece mass and lubrication conditions. The disturbance and parameter variation sensitivity is much more severe in direct drive systems compared to ball screw drives, and a well designed servo controller must be capable of handling both types without requiring any major changes. The contour error, which is defined as the orthogonal deviation from the desired toolpath, arises due to the tracking errors in the individual axes [2]. Although the existence of contour error definitely indicates the existence of tracking errors, the opposite is not always true. For example, if the dynamics of two orthogonal axes are exactly matched, motion along a linear path at constant feedrate results in tracking errors which are proportional to each other in accordance with the slope of the reference path, producing zero contour error. However, this is not the case for nonlinear trajectories such as circles and splines, and the way to diminish the contour errors for such trajectories is to either increase the tracking bandwidth [3] in order to follow the high frequency content of the reference signal, or to use the path shape and contour error information in the control law [4] in order to regulate the tool position according to the desired profile. Hence, two major approaches have emerged for reducing the contour error in high speed drive systems. The first approach, known as tracking control concentrates on only reducing the tracking error in each axis, which indirectly results in the reduction of the contour error. The second approach, known as contouring control aims at estimating the contour error in realtime and using this estimate in the feedback control law. Below, a brief review of the two methodologies has been presented. Increasing the tracking bandwidth by only using a high feedback gain has severe limitations in terms of sensitivity to measurement noise, exciting the unmodeled dynamics, and causing undesirable oscillations. On the other hand, in many CNC systems the reference trajectory is known in advance, allowing the future reference points to be used for improving the tracking accuracy. This has led to active research in the area of feedforward controller design, where the basic philosophy has been to close the servo loop with a sufficiently high feedback gain for disturbance and parameter variation robustness, then to cascade the closed loop dynamics with a prefilter that cancels out most of its stable components, resulting in an overall transfer function very close to unity. The future reference points are then used to provide a phase lead that compensates for the uncancellable components and delays in the axis dynamics. With this design philosophy, Tomizuka [5] has developed the Zero Phase Error Tracking Controller (ZPETC), and Pritschow and Philipp the Modified Inverse Transfer Function (MITF) [6]. In spite of its high tracking accuracy, feedforward control has the disadvantages of generating high frequency components in the control signal as well as being very sensitive to parameter changes and disturbances due to its open loop nature. Weck and Ye [7] as well as Tung and Tomizuka [8] have proposed using a low pass filter with zero phase characteristics before the ZPETC in order to limit the high frequency content of the control signal being generated. Weck and Ye have also reported successful sharp corner following with this strategy. On the other hand, the parameter sensitivity issue was addressed by Pritschow and Philipp [6] and adaptive solutions were proposed by Tsao and Tomizuka [9] as well as Pritschow and Kosiedowski [10]. Tung and

K. Erkorkmaz, Y. Altintas / International Journal of Machine Tools & Manufacture 41 (2001) 1637–1658 1639

Tomizuka [8] proposed identifying the closed loop dynamics in the low frequency range for accurate ZPETC design. The parameter variation and disturbance robustness issues were also considered by Van Brussel et al. [11] who proposed using a Kalman filter for state and disturbance estimation, Loop Transfer Recovery (LTR) feedback gain synthesis for parameter variation robustness, as well as a feedforward filter to improve the tracking accuracy in linear drives. The design of a robust tracking controller with high axis stiffness was also accomplished using the H⬁ synthesis technique by Alter and Tsao [12]. Later on, Van Brussel and Van den Braembussche [13] also compared sliding mode control and H⬁ design techniques with the classical pole placement approach, favoring the former two for parameter variation robustness. Boucher et al. [14] proposed using Generalized Predictive Control (GPC), which incorporates both reference preview action, as well as disturbance rejection into the same control scheme. The formulation was also extendable to include control law and tracking error constraints [15], but the tuning of the parameters were not trivial. On the other hand, Seethaler and Yellowley [16] have improved the contouring performance of convential position controllers by coordinating multiple axes to suspend new motion commands if the tracking error in one axis exceeds a prespecified value. Umeno and Hori [17] proposed using a simple disturbance observer to improve the disturbance rejection and parameter variation robustness in servomotor control. The disturbance observer scheme was also adopted by Lee and Tomizuka [18], who augmented their control scheme with feedforward friction compensation as well. Other contributions in robust tracking control have been by Yao et al. [19], as well as Altintas et al. [20]. In conventional ball screw drives with high powered actuators, the flexibility of the ball screw becomes a major bottleneck in achieving a high bandwidth. This problem was addressed by Chen and Tlusty [21], who proposed using accelerometric feedback to stabilize the ball screw vibrations, and feedforward control to improve the tracking accuracy. The initial contribution in contouring control was by Koren [22], where he proposed the Cross Coupling Controller (CCC) which estimates the contour error in realtime based on a linear path model, and commands the axis servos to push the actual tool position onto the desired toolpath. Kulkarni and Srinivasan [23] formulated the CCC feedback gain synthesis as an optimal control problem. Koren and Lo [4] later improved the performance of CCC by extending the contour error estimation to also consider circular and parabolic toolpaths. On the other hand, Erkorkmaz and Altintas [24] have developed an accurate real-time contour error estimation algorithm for arbitrarily shaped toolpaths, and they have implemented it in a CCC scheme together with feedforward axis dynamics compensation. This allowed the minimization of tracking and contour errors simultaneously. In spite of its intuitive simplicity and performance improvement, cross coupling control requires the axis controllers to be coupled among themselves, in accordance with the kinematic configuration of the machine tool which has to be accurately known. This is not very practical as the current trend in machine tool design is towards building standard feed drive modules with digital motors which can easily be reconfigured and used in different production arrangements. Furthermore, the recent results in literature [18–20] suggest that tracking control on its own is sufficient for maintaining the necessary contouring accuracy, as long as it is designed to yield a high tracking bandwidth with adequate disturbance rejection and parameter variation robustness. This paper progressively combines the components necessary to build a high performance track-

1640 K. Erkorkmaz, Y. Altintas / International Journal of Machine Tools & Manufacture 41 (2001) 1637–1658

ing control scheme for machine tool drives, as has been done in [25]. In Section 2, the Kalman filter and pole placement feedback controller are designed. This is followed by the analysis of the closed loop dynamics and the design of a ZPETC in Section 3, to improve the overall tracking bandwidth. The friction force, which has been modeled in Part II of this paper, is precompensated in feedforward in order to maintain the contouring accuracy at sharp corners and arc quadrants. The experimental results involving high speed air and metal cutting tests are presented in Section 5, which are followed by the conclusions in Section 6.

2. State feedback control Although there are simpler control approaches such as P, PD, PID, etc. in readily available industrial packages, using a state feedback approach allows the closed loop response to be selected from a larger set of possible solutions. In the following, a Kalman filter state observer is designed that accounts for the noise in the feedback channels and yields accurate and smooth estimates of the axis position, velocity, as well as external disturbance, which are crucial for good control performance. The position and velocity loops are simultaneously closed using a state feedback gain, computed to yield the desired closed loop bandwidth and damping ratio. The disturbance estimate is also injected back into the control signal with negative sign, to improve the disturbance rejection and parameter variation robustness of the control system. The following presents the details of the design procedure. 2.1. Kalman filter state estimator The discrete time representation of the axis dynamics including the external disturbance as well as measurement and input noise was derived in Part II of this paper as,

冤 冥冤 冥 x(k+1)

x(k)

w(k+1) =A w(k) +B[u(k)]+W d(k+1)

d(k)

冋 册 u˜(k)

wd(k)



  

冋 册 xm(k)

wm(k)

where,

冤 冥 x(k)

冋 册

=C w(k) +V d(k)

x˜(k) ˜ (k) w



(1)

K. Erkorkmaz, Y. Altintas / International Journal of Machine Tools & Manufacture 41 (2001) 1637–1658 1641



A⫽

Ad 0

−Bd 0 1

册 冋册 冋 册 , B⫽

Bd

0

, C⫽

1 0 0 0 1 0

冤 冥 Bd 0

, W⫽

冋 册

0 , V⫽

0

1

1 0

0 1

(2)

2×1 are the nominal axis dynamics’ state transition and input matrices, x(k) and w(k) are A2×2 d , Bd the axis position and velocity respectively, xm(k) and wm(k) are the measured axis position and velocity, d(k) is the disturbance, modeled as acting at the amplifier’s input, u˜ (k) is the DAC ˜ (k) is the tachometer measurequantization error, x˜ (k) is the position feedback quantization error, w ment noise, and wd(k) is the perturbation to the disturbance process. ˆ (k) and disturbance dˆ (k) The Kalman filter to obtain the estimates of position xˆ (k), velocity w can be written in the form [26,27],

冤 冥

冤 冥

冋 册

xˆ (k) xˆ (k−1) xm(k) ˆ (k) ⫽(IⴚKobsC)A w ˆ (k−1) ⫹(IⴚKobsC)B[u(k⫺1)]⫹Kobs w wm(k) dˆ (k) dˆ (k−1)

(3)

For the axis dynamics parameters (Ad and Bd), as well as noise and disturbance perturbation covariance values (Ru˜ , Rx˜ , Rw˜ x=Rw˜ y, and Rwdx=Rwdy) which were already given in Part II of this article, the constant observer gain Kobs is computed off-line by iterating the following equations until its value converges to a steady state value,

P(k|k−1)=AP(k−1|k−1)AT+WRwWT



Kobs(k)=P(k|k−1)CT[Rv+CP(k|k−1)CT]−1 P(k|k)=[I−Kobs(k)C]P(k|k−1)

(4)

where Rw=diag{Ru˜ ,Rwd} and Rv=diag{Rx˜ , Rw˜ }. In the above equations, P(k⫺1|k⫺1) is the covariance of state estimation error for iteration k⫺1, and P(k|k⫺1) is its prediction to the next iteration based on knowledge of plant dynamics (A) and input noise (W and Rw). Then, the gain Kobs(k) is computed to yield the optimal state estimate in the presence of measurement noise (Rv). The state estimation error covariance is updated to P(k|k) using the new value of the state estimation gain Kobs(k). In the iterative solution for the optimal observer gain Kobs, P(k|k) is initially set to a large value (e.g. P(0|0)=a2·I where a1) and Kobs is set to zero. Kobs is obtained when the iterative algorithm converges, within 50 or 100 samples. Its steady state value is then used in Eq. (3) as a constant ˆ dˆ ]T on-line. observer gain to obtain the state (and disturbance) estimate [xˆ w

1642 K. Erkorkmaz, Y. Altintas / International Journal of Machine Tools & Manufacture 41 (2001) 1637–1658

It should be noted that the underlying assumption of the Kalman Filter, that requires the noise processes to have normal distributions, is violated due to the uniform distribution of the encoder and DAC quantization error. In spite of this, the Kalman Filter is still preferred for its ability to locate the “optimal” location of observer poles for given plant dynamics and noise properties. Substituting the identified values in Table 1 of Part II of this paper, with the corrected viscous friction values, the A, B, C, W, and V matrices in Eq. (2) are computed as,



1 0.001588 −0.000321

冥 冤 冥 冤 0.000321



0.000321 0

Ax⫽ 0 0.995813 −0.403726 , Bx⫽ 0.403726 , Wx⫽ 0.403726 0 , 0 0



1

0

1 0.001589 −0.000293

0

1

冥 冤 冥 冤 0.000293

0.000293 0



Ay⫽ 0 0.997073 −0.368546 , By⫽ 0.368546 , Wy⫽ 0.368546 0 , Cx⫽Cy⫽ 0 0

1

0

0

1

冋 册 1 0 0

0 1 0

,

冋 册

Vx⫽Vy⫽

1 0 0 1

After iterating Eq. (4) for the above state space matrices, and covariance values,



Rwx⫽Rwy⫽

7.7610×10−9 0 0

0.01



, Rvx⫽Rvy⫽



4.9671×10−7 0

0

0.05



the state estimation gains are obtained as,



0.345996

Kobsx⫽ 65.027891

0.000646 0.346350

冥 冤

−26.040546 −0.308662

0.345094

, Kobsy⫽ 64.365620

0.000639 0.330183

−28.021972 −0.310524



(5)

resulting in the following closed loop poles (i.e. eig [(I⫺KobsC)A]) with the natural frequency and damping ratio values as, pobsx⫽0.6772, 0.6957⫾j0.2877, fn⫽62.01, 77.06 Hz @ z⫽1, 0.59, pobsy⫽0.6829, 0.7074⫾j0.2827, fn⫽60.70, 74.39 Hz @ z⫽1, 0.58.

K. Erkorkmaz, Y. Altintas / International Journal of Machine Tools & Manufacture 41 (2001) 1637–1658 1643

2.2. Pole-placement controller It is known from the Separation Principle [28] that the observer and controller dynamics can be designed separately, as long as the observer poles are sufficiently faster than the controller poles. In this design, the pole placement technique is chosen for determining the feedback gain due to its simplicity and the freedom in imposing the desired closed loop dynamics. The state feedback control law is in the form,

冉冋 册 冋 册冊

u(k)⫽Kc

xref(k)

wref(k)



xˆ (k) ⫹dˆ (k) ˆ (k) w

(6)

The first term (i.e. Kc(…)) in the control law imposes the closed loop response, and the dˆ (k) term cancels the effect of the actual disturbance, which has been represented with ⫺d(k) in Fig. 1. The objective is to choose the state feedback gain Kc such that the closed loop control poles Pci=eig(A⫺BKc) have the desired natural frequency and damping ratio. This can be done using Ackermann’s formula [27,28] as follows. For a desired natural frequency (i.e. closed loop bandwidth) of fc=30 Hz (i.e. wc=2pfc=188.5 rad/s) and a damping ratio of zc=0.7 the desired closed loop poles in the continuous time domain can be written as, s1,2⫽⫺zcwc⫾jwc冑1−z2c⫽⫺131.95⫾j134.61 rad/s

(7)

For the sampling period of Ts=1 ms, the desired discrete time closed loop poles are, p1,2⫽es1,2Ts⫽0.868459⫾j0.117617

Fig. 1. Proposed axis tracking control scheme.

(8)

1644 K. Erkorkmaz, Y. Altintas / International Journal of Machine Tools & Manufacture 41 (2001) 1637–1658

which correspond to the characteristic polynomial of, P(z)⫽z2⫹a1z⫹a2⫽z2⫺1.736918z⫹0.768055

(9)

On the other hand, the controllability matrix for the drive system (excluding the disturbance) can be expressed as, Wc⫽[Bd AdBd … An−1 d Bd]

(10)

and is obtained for each axis as, Wcx⫽





0.000321 0.000963 0.403726 0.402035



, Wcy⫽

0.000293 0.000879



0.368546 0.367467

(11)

which has full rank, indicating that the system is state controllable. The state feedback gains to realize the desired characteristic polynomial in Eq. (9) are computed using Ackermann’s formula as, −1 2 Kc⫽[0 … 0 1]W−1 c P(Ad)⫽[0 … 0 1]Wc (Ad⫹a1Ad⫹a2I)

(12)

resulting in, Kcx⫽[48.4581 0.6027], Kcy⫽[53.0838 0.6636]

(13)

For a low order plant, such as the axis dynamics considered here, using Ackermann’s formula does not bring any major difficulties. However, if higher order dynamics are to be considered, readily available algorithms with better numerical characteristics should be used [28]. It should be noted that the closed loop bandwidth of 30 Hz is adequately high for good tracking and disturbance rejection in an average ball screw drive, and sufficiently below the observer natural frequencies, which are around 60…75 Hz. Increasing the feedback bandwidth further resulted in an increased sensitivity to measurement noise and unwanted high frequency oscillations. On the other hand, decreasing the feedback bandwidth resulted in a degradation in the tracking performance. Hence a bandwidth of 30 Hz was found to be appropriate for controlling the feed drives of the experimental setup.

3. Feedforward compensation of axis dynamics In this work, the ZPETC is used to widen the bandwidth and enhance tracking performance of the axis controller. In the following, the dynamics of the plant, Kalman filter, state feedback controller, and reference state generator are combined to obtain the discrete time closed loop transfer matrix G(z) from the inputs of reference position x∗R(z) and disturbance d(z), to measured axis position xm(z) and velocity wm(z) such that,

冋 册 冋 册冋 xm(z)

wm(z)

⫽G(z)

x∗R(z)

d(z)



G11(z) G12(z) G21(z) G22(z)

册冋 册 x∗R(z)

d(z)

(14)

K. Erkorkmaz, Y. Altintas / International Journal of Machine Tools & Manufacture 41 (2001) 1637–1658 1645

Then, the transfer function G11(z) from the reference position input to the axis position output is cancelled excluding its unstable or poorly damped zeros, which yields a tracking transfer function with zero phase shift and a gain close to unity at low frequencies. 3.1. Kalman filter and state feedback controller The dynamics of the Kalman filter in Eq. (3) can be rewritten in state space form as, 

冤 冥

u(k−1) xf(k)=Afxf(k−1)+[Bf1|Bf2] xm(k−1) wm(k−1)



冤 冥

冤 冥

xˆ (k) u(k) ˆ (k) =Cfxf(k)+[Df1|Df2] xm(k) w wm(k) dˆ (k)

(15)

 

where xf(k) contains the three states of the Kalman filter and, 3×1 3×2 A3×3 f =(I−KobsC)A, Bf1 =(I−KobsC)B, Bf2 =(I−KobsC)AKobs

C3×3 f =I3,

D3×1 f1 =03×1,

D3×2 f2 =Kobs



(16)

On the other hand, by including the disturbance estimate dˆ (k) as an extra state, the state feedback controller can be written as,

冤 冥冤 冥

xˆ (k) ˆ (k) u(k)⫽K wr(k) ⫺K w dr(k) dˆ (k) xr(k)

(17)

where K1×3=[Kc⫺1] to allow cancellation of the true disturbance ⫺d(k) with its estimate dˆ (k) following negative feedback. The “disturbance reference” dr(k) is only a dummy state which always has a value of zero. This formulation allows the difference between all reference and estimated states to be considered with the same feedback gain matrix K. Combining Eqs. (15) and (17) yields the control signal u(k) in terms of the reference inputs [xr(k) wr(k) dr(k)]T and the measured outputs [xm(k) wm(k)]T as,

1646 K. Erkorkmaz, Y. Altintas / International Journal of Machine Tools & Manufacture 41 (2001) 1637–1658

xr(k) 

冤 冤

冥 冥

wr(k)

xf(k⫹1)⫺Afcxf(k)⫹[Bfc1|Bfc2] dr(k) xm(k)

wm(k)

xr(k)

wr(k)

u(k)⫽Cfcxf(k)⫹[Dfc1|Dfc2] dr(k) xm(k) wm(k)

where,

(18)





A3×3 fc =(I−KobsC)(A−BK) 3×2 B3×3 fc1 =(I−KobsC)BK, Bfc2 =(I−KobsC)(A−BK)Kobs 1×3 1×2 C1×3 fc =−K, Dfc1 =K, Dfc2 =−KKobs



(19)

3.2. Kalman Filter, state feedback controller and plant The plant dynamics excluding the input, measurement noise, and disturbance perturbation can be obtained from Eqs. (1) and (2) in the form, xn(k+1)=Adxn(k)+[Bd −Bd]

冋 册 xm(k)

wm(k)

冋 册 u(k)

d(k)

=I2xn(k)



(20)

where xn(k) contains the two states of axis position and velocity. Combining the plant and controller dynamics in Eqs. (18) and (20) yields the following closed loop dynamics, xr(k) 

冋 冋

xn(k+1) xf(k+1)

册冋

xm(k+1)

=



wm(k+1)

Acl21 Acl22

=[Ccl1Ccl2]

冤 冥 冤冥 

册冋 册 冋 | 册

Acl11 Acl12 xn(k) xf(k)

冋 册 xn(k)

xf(k)

+

Bcl11 Bcl12 wr(k) Bcl21 Bcl22 dr(k) d(k)



xr(k)

+[Dcl1|Dcl2]

wr(k)

dr(k) d(k)



(21)

K. Erkorkmaz, Y. Altintas / International Journal of Machine Tools & Manufacture 41 (2001) 1637–1658 1647

where, 2×3 A2×2 cl11=Ad−BdKKobs, Acl12=−BdK 3×3 A3×2 cl21=(I−KobsC)(A−BK)Kobs, Acl22=(I−KobsC)(A−BK) 2×1 2×2 2×3 B2×3 cl11=BdK, Bcl12=−Bd, Ccl1 =I2, Ccl2 =02×3 3×1 2×3 2×1 B3×3 cl21=(I−KobsC)BK, Bcl22=03×1, Dcl1 =02×3, Dcl2 =02×1



(22)

3.3. Closed loop dynamics and reference state generator As noted in Part II of this article, the reference velocity wr(k) is obtained by backward differencing the reference position command x∗r (k) as wr(k)=[x∗R(k)⫺x∗R(k⫺1)]/(Tsrg). Hence, the reference state generator can be expressed in state space as, zr(k)=0·zr(k−1)+1·x∗R(k−1)

冤 冥

 

冤 冥 冤 冥 0

1

 where Cr⫽ −1/(Tsrg) , Dr⫽ 1/(Tsrg)

xr(k)

wr(k) =Crzr(k)+D x (k) ∗ r R

dr(k)

0

(23)

0



where the state zr is used to store the previous position command. Combining Eqs. (21), (22) and (23) yields,

冤 冥 冤 冥 xn(k+1)

xf(k+1) =Aclp xf(k) +Bclp zr(k+1)

zr(k)



 册

冋 册

xn(k)

x∗R(k)

d(k)



冋 册 xm(k)

wm(k)

where,

冤 冥 xn(k)



=Cclp xf(k) +Dclp zr(k)

x∗R(k)

d(k)



(24)

1648 K. Erkorkmaz, Y. Altintas / International Journal of Machine Tools & Manufacture 41 (2001) 1637–1658



Ad−BdKKobs

−BdK



BdKCr

A6×6 clp = (I−KobsC)(A−BK)Kobs (I−KobsC) (A−BK) (I−KobsC)BKCr 01×2

01×3

0

冥 .

B

6×2 clp





−Bd

BdKDr

02×3 02×1] C2×6 clp =[I2 = (I−KobsC)BKDr 03×1 , 2×2 Dclp =02×2 1 0



(25)



Using the above state space notation, the overall transfer matrix G(z) in Eq. (14) can be obtained as,



G(z)⫽

G11(z) G12(z) G21(z) G22(z)



⫽Cclp(zIⴚAclp)−1Bclp⫹Dclp

(26)

and the tracking transfer function G11(z) can be extracted from the above multivariable transfer matrix and expressed in zero, pole, and gain form as, m

k· ⌸ (z−zk) G11(z)⫽

i⫽1 n

(27)

⌸ (z−pk) i⫽1

where k is the transfer function gain, n and m are the number of discrete time poles and zeros respectively, zk corresponds to the discrete time zeros, and pk to the discrete time poles. Using the numerical values identified in Part II of this paper, to obtain Ad, Bd, A, B, and also recalling the Kalman filter and feedback control gains Kobs and Kc from Eqs (5) and (13) (with K=[Kc ⫺ 1]), the zeros, poles, and gains of G11(z) for the x and y axes have been obtained and presented in Table 1. Noting that G11(z) can also be expressed in transfer function form as, B(z) B+(z)B−(z) ⫽ G11(z)⫽ A(z) A(z)

(28)

where A(z) is stable, B+(z) contains the stable and well damped zeros, and B⫺(z) contains the unstable or poorly damped zeros. Tomizuka [5] has shown that a feedforward controller in the form, Gzpetc(z)⫽

A(z)B−(z−1) [B−(1)]2B+(z)

(29)

K. Erkorkmaz, Y. Altintas / International Journal of Machine Tools & Manufacture 41 (2001) 1637–1658 1649 Table 1 Closed loop transfer function zeros, poles, and gains

Zeros z1 z2 z3,4 z5 Poles p1 p2 p3,4 p5,6 Gains k

X axis

Y axis

⫺0.9986 0.6773 0.6957±j0.2877 0.8865

⫺0.9990 0.6829 0.7074±j0.2827 0.8871

0.0 0.6773 0.6957±j0.2877 0.8685±j0.1176

0.0 0.6829 0.7074±j0.2827 0.8685±j0.1176

0.1373

0.1379

when cascaded with G11(z) yields an overall transfer function (i.e. G11(z)Gzpetc(z)) which has zero phase shift at all frequencies and a gain very close to unity at low frequencies. It should be noted that Gzpetc(z) is noncausal, and makes use of future reference points known in advance, to remove the phase lag due to the uncancellable zeros and time delays in G11(z). There is only one poorly damped zero (z1x=⫺0.9986, z1y=⫺0.9990) in each axis. On the other hand, cancelling pole and zeros are observed (p2 is cancelled by z2 and p3,4 are cancelled by z3,4) due to the fact that the dynamics of the Kalman filter does not influence the tracking dynamics (i.e. G11(z)) of the closed loop system, assuming its poles are quicker than the control poles. However, it does influence the disturbance rejection (i.e. G12(z) properties). In order to avoid an unnecessary high order in the ZPETC design, the minimal realization of G11(z) is considered, and the A(z), B+(z) and B⫺(z) polynomials are constructed as, A(z)⫽ ⌸ (z⫺pk), B+(z)⫽z⫺z5, B−(z)⫽k·(z⫺z1)

(30)

k⫽1,5,6

Hence the ZPETC prefilters for the x and y axes are obtained as,



1.8205(z+1.001)(z2−1.737z+0.7681) Gzpetcx(z)= (z−0.8865) 1.8126(z+1.001)(z2−1.737z+0.7681) Gzpetcy(z)= (z−0.8871)

(31)

The x axis tracking and disturbance transfer functions have been shown for only pole placement control without using the disturbance estimate in the feedback (PPC); for the case of cancelling the actual disturbance with its estimate (PPC+DC); as well as cascading the ZPETC in the feedfor-

1650 K. Erkorkmaz, Y. Altintas / International Journal of Machine Tools & Manufacture 41 (2001) 1637–1658

ward path (ZPETC+PPC+DC) in Fig. 2. Considering the tracking transfer function in Fig. 2(a), it is seen that there is no difference between the PPC and PPC+DC cases, indicating that the disturbance observer does not have any undesirable effect on the tracking characteristic unlike the integral action in a typical PID controller. The resonance peak at 24.5 Hz is due to the reference velocity being obtained through backward differencing of the reference position commands. It is seen that by cascading the ZPETC, which was designed to flatten the frequency response of the closed loop dynamics, the resonance peak is avoided and the effective tracking bandwidth is increased from the former value of 67 Hz up to 184.5 Hz, while maintaining zero phase shift at all frequencies. On the other hand, considering the disturbance transfer functions shown in Fig. 2(b) the pole placement controller alone (PPC), yields a nonzero dc gain, indicating a steady state tracking error of 6.5 µm per 1 Nm of disturbance torque. Noting that the average Coulomb friction torque was identified as 1.8 Nm for the x axis (Part II of this paper), one can expect a positioning error of 11.7 µm even when the axis is not moving. This predicted value of steady state error has actually been confirmed in the air cutting tests done for PPC in Section 5. By enabling the disturbance cancellation (PPC+DC), the dc gain of the disturbance transfer function is brought down to zero, and the peak magnitude has been brought down from 6.8 to 3.8 µm/(Nm) which occurs at 30 Hz. As it is not relevant to the disturbance channel, the addition of the ZPETC does not affect the disturbance rejection properties. Hence, the tracking and disturbance rejection characteristics of the servo controller have been designed independently of each other, resulting in an overall favorable performance. 4. Feedforward friction compensation In the previous section, a pole placement feedback controller with disturbance estimation and cancellation was designed. This allowed the disturbances such as cutting force and friction to be

Fig. 2. Closed loop tracking and disturbance transfer functions; PPC, pole placement control; DC, disturbance cancellation; ZPETC, zero phase error tracking control.

K. Erkorkmaz, Y. Altintas / International Journal of Machine Tools & Manufacture 41 (2001) 1637–1658 1651

detected and compensated for, within a certain time period determined by the closed loop poles of the Kalman Filter (i.e. eig((I⫺KobsC)A)). However, when tracking arc quadrants or turning around corners, friction changes direction discontinuously. As the new friction value cannot be estimated and compensated for instantaneously, a quadrant glitch occurs at such critical points on the toolpath. In order to reduce this adverse affect, the friction in the drives is precompensated for in feedforward using the friction model obtained in Part II of this paper. A friction model in the form, +



+

T +state−w/⍀1+T +coul(1−e−w/⍀2)+Tviscw , w⬎0

Tf(w)⫽

T +stat

, w→0+

T −stat

, w→0− −

(32)



T −state−w/⍀1+T −coul(1−e−w/⍀2)+Tviscw , w⬍0

was already obtained with the parameters, T +statx=3.647 Nm,

T +staty=3.652 Nm,

⍀+1x=2.0 rad/s,

⍀+1y=4.1 rad/s

T −statx=−2.702 Nm,

T −staty=−3.218 Nm,

⍀−1x,=−2.0 rad/s, ⍀−1y=−3.6 rad/s

T +coulx=2.205 Nm,

T +couly=3.058 Nm,

⍀+2x=2.0 rad/s,

⍀+2y=5.4 rad/s

T −coulx=−1.656 Nm,

T −couly=−2.739 Nm,

⍀−2x=−2.0 rad/s,

⍀−2y=−4.2 rad/s

Tviscx=0.0321 Nm/(rad/s), Tviscy=0.0287 Nm/(rad/s) Considering that the effect of viscous friction is already handled by the pole placement controller, the Coulomb and static friction terms are compensated in feedforward by making use of the reference axis velocity wr(k). This is done by injecting a friction compensation term ufc(k) into the control signal u(k) to counteract the effect of the actual friction, where ufc(k) is expressed by



a + + [T +state−wr(k)/⍀1+T +coul(1−e−wr(k)/⍀2)] , wr(k)⬎⍀r KaKt

ufc(k)⫽ 0

, 兩wr(k)|ⱕ⍀r

(33)

a − − [T − e−wr(k)/⍀1 +T −coul(1−e−wr(k)/⍀2 )] , wr(k)⬍−⍀r KaKt stat

⍀r is a deadband used to avoid any velocity direction misinterpretations due to numerical errors after obtaining the reference velocity estimate from the position commands. Typically a value of ⍀r=10⫺3 rad/s is appropriate. The amplifier and motor gains were already obtained in Part II of the paper as Kax=6.4898 A/V, Kay=7.5768 A/V, and Ktx=Kty=0.4769 N.m/A. On the other hand, a is a parameter that is tuned during the contouring tests to get the optimal performance from the feedforward friction compensation. It was seen that using 100% of the friction model in addition to the disturbance cancellation resulted in overcompensation, which degraded the contouring performance instead of improving it. In order to avoid this, the amount of friction compensation in each axis was gradually reduced, until the smallest value of contour error was achieved

1652 K. Erkorkmaz, Y. Altintas / International Journal of Machine Tools & Manufacture 41 (2001) 1637–1658

at the quadrants of the circle, which resulted in ax=0.6 and ay=0.7. It should be noted that this does not indicate a problem with the friction model identified, for contouring tests using only feedforward friction compensation with ax=ay=1.0, and without any disturbance cancellation have proven to accomplish very comparable contouring performance with those obtained using the full tracking scheme. On the other hand, the disturbance cancellation is maintained within the proposed scheme to provide a way of rejecting disturbances which cannot be modeled in advance, and also to provide better parameter variation robustness. The overall axis tracking control scheme has been shown in Fig. 1. The original reference position xR(k) provided by the interpolator is passed through the zero phase error tracking controller (ZPETC) to obtain the modified reference position xR*(k) which enables higher tracking bandwidth. As a certain number of time delays have to be added in the practical implementation of ZPETC in order to make the filter causal, this does not pose any problem on the contouring performance because the reference signals in all axes are delayed by the same amount, which is only a few milliseconds. The modified reference signal xR* is also used as the reference position state xr, and the reference velocity state wr, is obtained through backward differencing together with the gain adjustment for the ball screw transmission ratio. The “reference disturbance state” dr(k) is not shown in this block diagram, since its value is always zero. The difference between ˆ ]T is fed the reference position and velocity [xr wr]T and the estimated position and velocity [xˆ w though the state feedback gain Kc, in order to impose the desired closed loop poles. Furthermore, the effect of the true disturbance ⫺d is counteracted by its estimate dˆ (k) which is obtained through the Kalman filter together with the position and velocity estimates. The resulting control signal uppc(k) is combined with the feedforward friction compensation signal ufc(k) and is applied to the axis dynamics through the zero order hold (ZOH). The control signal uppc(k) prior to the injection of the friction compensation signal, as well as the position and velocity measurements (xm(k) and ˆ dˆ ]T. It should be noted that wm(k)) are used by the Kalman filter to obtain the state estimate [xˆ w the Kalman filter uses uppc(k) instead of the overall control signal u(k), in order to estimate and cancel out only the remaining disturbance after feedforward friction compensation (i.e. dˆ ⬵d⫺ ufc). Otherwise, the control system would be compensating for the same disturbance twice, which would degrade the tracking and contouring performance. 5. Experimental results The proposed tracking control scheme was tested in high speed contouring tests on a three axis vertical machining center, of which the dynamics were identified in Part II of this article. The machine tool was retrofitted with an in-house developed open architecture CNC [29], utilizing a TMSC32 based DSP board. The control scheme was tested in tracking circular and diamond shaped trajectories. The circle radius was 35 mm, and the diamond side length was 49.497 mm. The trajectories were generated to achieve a feedrate of 170 mm/s with maximum acceleration and jerk values of 2000 mm/s2 and 50 000 mm/s3, respectively. The tangential acceleration profiles were trapezoidal, resulting in piecewise constant jerk profiles along the toolpath. In each case, the motion originated at the bottom of the toolpath, and progressed in the counterclockwise direction. The tests involved both air cutting as well as machining. The details of the jerk limited trajectory generation scheme have been presented in Part I of this article.

K. Erkorkmaz, Y. Altintas / International Journal of Machine Tools & Manufacture 41 (2001) 1637–1658 1653

During the tests, the encoder signals were logged and compared to the desired trajectory in terms of tracking and contouring error. To confirm the reliability of the measured results, each test was repeated three times and consistent performance was observed. The contouring and tracking performance results of all tests have been summarized in Table 2. 5.1. Air cutting In the first set of tests, the two trajectories were tracked with each module of the control scheme being gradually activated. This allowed the individual contribution of each component to be observed separately. The first test was conducted using only pole placement control (PPC). The disturbance cancellation was not enabled (i.e. the dˆ (k) term in Eq. (6) was omitted). This shows the typical performance that can be expected from a PD type of position controller. In the next test, the disturbance cancellation feature was enabled, putting back the dˆ (k) term in Eq. (6) (PPC+DC). The next step was cascading the zero phase error tracking controller in order to widen the tracking bandwidth (ZPETC+PPC+DC). Finally, the feedforward friction compensation was also added, enabling better performance at the comers and arc quadrants. This final case, which reflects the complete tracking control scheme has been denoted with ZPETC+PPC+DC+FFRIC. Considering the air cutting results summarized in Table 2, it is seen that both the RMS and maximum values of tracking and contour error exhibit a clear descend with the activation of each component in the control scheme. The largest improvement is seen with the addition of the ZPETC. However, it should be noted that feedforward controller on its own would not have been so effective if the parameter variations and disturbances were not handled by the disturbance cancellation feature. On the other hand, the feedforward friction compensation does not appear to be providing a dramatic improvement on the tracking performance, but this is accounted to Table 2 Summary of experimental tracking and contouring results Reference path/control strategy

Circular path (no cutting) PPC PPC+DC ZPETC+PPC+DC ZPETC+PPC+DC+FFRIC Diamond shaped path (no cutting) PPC PPC+DC ZPETC+PPC+DC ZPETC+PPC+DC+FFRIC Circular path (with cutting) ZPETC+PPC+DC+FFRIC Diamond shaped path (no cutting) ZPETC+PPC+DC+FFRIC

Contour error

X axis tracking error

Y axis tracking error

max. (µm)

rms (µm)

max. (µm) rms (µm)

max. (µm) rms (µm)

43.33 40.49 10.78 10.77

21.32 20.69 2.18 1.99

94.23 87.22 12.38 12.83

26.40 24.22 3.28 3.15

51.21 40.44 13.83 11.49

22.65 16.55 2.24 2.08

20.75 24.37 10.31 9.75

8.34 4.54 2.63 2.50

75.67 66.20 12.43 11.49

28.92 25.59 3.39 3.06

72.05 62.93 10.27 7.04

28.94 25.40 1.87 1.79

9.67

2.10

14.80

3.24

11.06

2.12

10.35

2.62

12.99

3.37

7.83

1.82

1654 K. Erkorkmaz, Y. Altintas / International Journal of Machine Tools & Manufacture 41 (2001) 1637–1658

the effect of friction being relatively small compared to the process uncertainty and measurement noise. For drive systems with higher quality feedback devices, the advantage of precompensating for the friction would be much more evident. In Fig. 3, the circular contouring performance achieved with the addition of each component is shown. The convention used when plotting the contour error profiles is that a positive contour error indicates positioning the tool outside the circle or diamond, and a negative contour error indicates being inside. For the sake of conciseness, the diamond toolpath results have been presented only for the cutting case. The contour error plot in Fig. 3(a) has been obtained using only pole placement control without disturbance cancellation. As can be seen, there is steady state error of 12 µm even prior to the circular motion, left over from the previous maneuver to position the table at the starting point of the circle. The maximum contour error reaches about 40 [µm] which is about 16 encoder counts (1 encoder count=2.441 µm). At the quadrants of the circle (0.76 s, 1.08 s, 1.40 s), as friction direction changes, there are sudden changes in the contour error as well. The final contour error is a steady state value of 10 µm. The steady state values of contour error in the absence of changing reference position are due to the absence of integral action in the control system, and the control signal generated due to the corresponding tracking error being insufficient in overcoming the static friction in the guides. The contouring result for pole placement control with disturbance cancellation is shown in Fig. 3(b). As can be seen immediately, the steady state contour errors when the axis is at rest are zero. This is due to the integral action introduced by the disturbance estimation and cancellation process, which assumes the disturbance model d(k)=d(k⫺1)+wd(k) that has an integrator. The contour error during tracking the circular path is consistently around 30 µm and the quadrants appear to be causing small spikes of approx. 10 µm amplitude. The closed loop dynamics of the x and y axes were already matched, hence as noted in [2], the resulting toolpath is a circle with a 30 µm larger radius than the commanded one. Because the relatively slow varying friction (between the quadrants) is estimated and compensated for, the limited tracking bandwidth of the control system is accounted to be the major source of tracking and contour error. In the next step, the tracking bandwidth of the control system has been widened by cascading the zero phase error tracking controller in the reference channel. The contouring result obtained after this improvement has been shown in Fig. 3(c). As can be seen, not only are the steady state

Fig. 3. Circular contouring performance of different control strategies (no cutting).

K. Erkorkmaz, Y. Altintas / International Journal of Machine Tools & Manufacture 41 (2001) 1637–1658 1655

values of contour error zero in the beginning and end of motion, but also there is almost no offset in contour error during tracking the circular path. The peak values of contour error are around 10 µm, as opposed to 40 µm in the previous case (PPC+DC), and the main spikes in the contour error occur at the circle quadrants, where friction discontinuously changes direction. As a final improvement, the feedforward friction compensation has been added, which is shown in the contour error plot in Fig. 3(d). Comparing this contour error profile with the previous one (ZPETC+PPC+DC), it is seen that the spikes at the quadrants (especially at 0.76 s and 1.08 s) have effectively been eliminated. However, a significant improvement in maximum contour error has not been observed, as other spikes are seen at 0.91 and 1.29 s. These spikes are accounted to the relative motion of the lip seals in the telescopic protective cover on the y axis ball screw. It was observed that the cover expanded and contracted at arbitrarily different locations during the tests, hence its effect could not be included into the friction model. Although in this case feedforward friction compensation did not reduce the maximum contour error significantly, for a drive system with more friction compared to measurement noise and process uncertainties, the benefits would have been more apparent. Hence feedforward friction compensation is still maintained as an integral part of the proposed axis control algorithm. 5.2. Machining In the machining tests, the complete control scheme (ZPETC+PPC+DC+FFRIC) was tested with the circular and diamond toolpaths, in order to verify the control system’s ability to maintain the desired contouring performance in the presence of cutting forces. An aluminum 7075 workpiece was cut with a two fluted 25.4 mm diameter carbide cutter at a depth of cut of 2 mm and 14 000 rpm spindle speed. The tracking and contouring errors recorded for the machining tests have been shown in Fig. 4. As can be seen for the circular as well as the diamond shaped toolpaths, the contour errors obtained are very similar to those achieved in the air cutting experiments,

Fig. 4.

Tracking and contour errors for cutting along circular and diamond tool paths.

1656 K. Erkorkmaz, Y. Altintas / International Journal of Machine Tools & Manufacture 41 (2001) 1637–1658

indicating the applicability of the proposed control scheme to high speed machining. The maximum contour error in both cases is around 10 µm, which corresponds to four encoder counts. It is possible to reduce this value even further by using encoders with higher resolution. The contours at the diamond corners have been shown in Fig. 5. Achieving contouring accuracy at sharp corners has been regarded as a major challenge in machine tool control literature [2,7]. By using jerk limited trajectory generation, feedforward control action, together with adequate disturbance compensation this goal has largely been accomplished, as the maximum value of contour error again does not exceed four encoder counts. 6. Conclusions In this study, a systematic approach to feed drive controller design for machine tools was presented. Using the identification results presented Part II of this paper, the axis dynamics were initially stabilized with a pole placement state feedback controller and a Kalman filter. The Kalman filter was synthesized using experimentally identified axis parameters and noise covariances. The only parameter that required tuning was the disturbance perturbation variance, which determined the “activeness” of the filter. The state feedback gain was determined based on desired closed loop bandwidth and damping ratio. The undesirable effect of cutting force and friction disturbances were significantly reduced by injecting the disturbance estimate obtained by the Kalman filter, back into the control signal. Following the state feedback control law, the zero phase error tracking controller was analytically designed, without requiring any design choice by the control engineer. Finally, an extra advantage in coping with friction was provided by using the friction model previously identified to cancel out as much as possible of the true friction, before the Kalman filter has a chance to estimate the sudden friction changes. The effectiveness of the

Fig. 5. Contouring performance at the corners during cutting along the diamond path.

K. Erkorkmaz, Y. Altintas / International Journal of Machine Tools & Manufacture 41 (2001) 1637–1658 1657

proposed scheme was verified experimentally both in air cutting, as well as in machining tests. It was seen that even for difficult tool paths such as arcs and sharp corners, a contouring accuracy of 10 µm (four encoder counts) could be maintained at a feedrate of 170 mm/s. In spite of the simplicity of choosing the desired control bandwidth and tuning the Kalman filter disturbance variance and the friction compensation gains in contouring tests, one major difficulty of this scheme was the computational complexity of designing a third order Kalman filter, a second order state feedback gain, and a third order feedforward filter. Furthermore, the extension of this design scheme to more complex systems would require a certain level of theoretical proficiency. Hence the feed drive research by the authors is currently being continued in developing simpler solutions which provide equivalent or better tracking performance [20]. References [1] Y. Altintas, Manufacturing Automation: Metal Cutting Mechanics, Machine Tool Calibrations, and CNC Design, Cambridge University Press, Cambridge, 2000. [2] Y. Koren, Computer Control of Manufacturing Systems, McGraw-Hill, New York, 1983. [3] G. Pritschow, On the influence of the velocity gain factor on the path deviation, Annals of CIRP 45 (1) (1996) 367–371. [4] Y. Koren, C.-C. Lo, Variable-gain cross coupling controller for contouring, Annals of CIRP 40 (1) (1991) 371–374. [5] M. Tomizuka, Zero phase error tracking algorithm for digital control, Journal of Dynamic Systems, Measurement, and Control 109 (1987) 65–68. [6] G. Pritschow, W. Philipp, Research on the efficiency of feedforward controllers in direct drives, Annals of CIRP 41 (1) (1992) 411–415. [7] M. Weck, G. Ye, Sharp corner tracking using the IKF control strategy, Annals of CIRP 39 (1) (1990) 437–441. [8] E.D. Tung, M. Tomizuka, Feedforward tracking controller design based on the identification of low frequency dynamics, Journal of Dynamic Systems, Measurement and Control 115 (3) (1993) 348–356. [9] T.-C. Tsao, M. Tomizuka, Adaptive zero phase error tracking algorithm for digital control, Journal of Dynamic Systems, Measurement, and Control 109 (1987) 349–354. [10] G. Pritschow, U. Kosiedowski, Optimization strategies for adaptive feedforward control, production engineering research and development in Germany, Annals of the German Academic Society for Production Engineering IV (2) (1997) 69–72. [11] H. Van Brussel, C.-H. Chen, J. Swevers, Accurate motion controller design based on an extended pole placement method and a disturbance observer, Annals of CIRP 43 (1) (1994) 367–372. [12] D.M. Alter, T.-C. Tsao, Control of linear motors for machine tool feed drives: design and implementation of H⬁ optimal feedback control, Journal of Dynamic Systems, Measurement and Control 118 (1996) 649–656. [13] H. Van Brussel, P. Van den Braembussche, Robust control of feed drives with linear motors, Annals of CIRP 47 (1) (1998) 325–328. [14] P. Boucher, D. Dumur, K.F. Rahmani, Generalized predictive cascade control (GPCC) for machine tools drives, Annals of CIRP 39 (1) (1990) 357–360. [15] D. Dumur, P. Boucher, A.U. Ehrlinger, Constrained predictive control for motor drives, Annals of CIRP 45 (1) (1996) 355–358. [16] R.J. Seethaler, I. Yellowley, The regulation of position error in contouring systems, International Journal of Machine Tools and Manufacture 36 (6) (1996) 713–728. [17] T. Umeno, Y. Hori, Robust speed control of DC servomotors using modern two degrees-of-freedom controller design, IEEE Transactions on Industrial Electronics 38 (5) (1991) 363–368. [18] H.S. Lee, M. Tomizuka, Robust motion controller design for high-accuracy positioning systems, IEEE Transactions on Industrial Electronics 43 (1) (1996) 48–55. [19] B. Yao, M. Al-Majed, M. Tomizuka, High-performance robust motion control of machine tools: an adaptive robust control approach and comparative experiments, IEEE/ASME Transactions on Mechatronics 2 (2) (1997) 63–76.

1658 K. Erkorkmaz, Y. Altintas / International Journal of Machine Tools & Manufacture 41 (2001) 1637–1658 [20] Y. Altintas, K. Erkorkmaz, W.-H. Zhu, Sliding mode controller design for high speed drives, Annals of CIRP 49 (1) (2000) 265–270. [21] Y.-C. Chen, J. Tlusty, Effect of low-friction guideways and lead-screw flexibility on dynamics of high-speed machines, Annals of CIRP 44 (1) (1995) 353–356. [22] Y. Koren, Cross-coupled biaxial computer control for manufacturing systems, Journal of Dynamic Systems, Measurement, and Control 102 (1980) 265–272. [23] P.K. Kulkarni, K. Srinivasan, Optimal contouring control of multi-axial feed drive servomechanisms, Journal of Dynamic Systems, Measurement, and Control 111 (2) (1989) 140–148. [24] K. Erkorkmaz, Y. Altintas, High speed contouring control algorithm for CNC machine tools, Proceedings of the ASME Dynamic Systems and Control Division, 1998 ASME International Mechanical Engineering Congress and Exposition, DSC 64 (1998) 463–469. [25] K. Erkorkmaz, High speed contouring control for machine tool drives, M.A.Sc. Thesis, The University of British Columbia, Department of Mechanical Engineering, Vancouver, 1999. [26] R.E. Kalman, A new approach to linear filtering and prediction problems, Journal of Basic Engineering 82 (1960) 35–44. [27] K. Ogata, Discrete-Time Control Systems, Prentice-Hall, Englewood Cliffs, NJ, 1987. [28] K. Astrom, B. Wittenmark, Computer-Controlled Systems: Theory and Design (3rd ed.), Prentice-Hall, Englewood Cliffs, NJ, 1997. [29] N.A. Erol, Y. Altintas, Open architecture modular tool kit for motion and process control, Proceedings of the ASME Manufacturing Engineering Division, 1997 ASME International Mechanical Engineering Congress and Exhibition, MED 6 (1) (1997) 15–22.