SciELO - Scientific Electronic Library Online

vol.22 issue3Accuracy of modelling and identification of malfunctions in rotor systems: experimental resultsDevelopment of a three-dimensional nonlinear viscoelastic constitutive model of solid propellant author indexsubject indexarticles search
Home Pagealphabetic serial listing  

Services on Demand




Related links


Journal of the Brazilian Society of Mechanical Sciences

Print version ISSN 0100-7386

J. Braz. Soc. Mech. Sci. vol.22 n.3 Campinas  2000 

A Modified Contour Error Controller for a High Speed XY Table


Helder Barbieri Lacerda
Universidade Federal de Uberlândia. Faculdade de Engenharia Mecânica. 38400-902 Uberlândia. MG. Brazil
Eduardo Morgado Belo
Universidade de São Paulo. Escola de Engenharia de São Carlos. 13560-970 São Carlos. SP. Brazil



This article deals with a contour error controller (CEC) applied in a high speed biaxial table. It works simultaneously with the table axes controllers, helping them. In the early stages of the investigation, it was observed that its main problem is imprecision when tracking non-linear contours at high speeds. The objectives of this work are to show that this problem is caused by the lack of exactness of the contour error mathematical model and to propose modifications in it. An additional term is included, resulting in a more accurate value of the contour error, enabling the use of this type of motion controller at higher feedrate. The response results from simulated and experimental tests are compared with those of common PID and non-corrected CEC in order to analyse the effectiveness of this controller over the system. The main conclusions are that the proposed contour error mathematical model is simple, accurate, almost insensible to the feedrate and that a 20:1 reduction of the integral absolute contour error is possible.
Keywords: Machine tool, model, motion, controller




Koren and Lo (1992) classified the sources of path error deviation in machine tools into three categories: mechanical hardware deficiencies (backlash, non-straightness, etc.), cutting process effects (tool deflection, tool wear, thermal deformation, etc.) and the controller and drive dynamics. The total dimensional error is a combination of the errors from these sources. The first and the second error sources can be minimised by improving the quality of the mechanical hardware or using compensation techniques. The third set of error sources can be reduced by improving the motion control algorithms. Machine tool builders frequently overlooked this error source, but it can be the dominant one, especially in high speed machining.

Contour error motion controllers were designed in the beginning of the 80’s by Koren (1980) to improve machine tool contouring performance by using a different approach than the usual one. While P, PID, state-feedback and feedforward controllers are intended to reduce the axes positioning errors, the contour error controller had the philosophy that its unique objective is the elimination of the contour error. It helps and works together with the machine axes controllers. The problems with this kind of controllers are the necessity of a fast processor to do real time calculations and the lack of accuracy when tracking non-linear contours at high speeds. The first problem is naturally being solved by the evolution of the microprocessors and the latter is the main objective of this paper. An additional term is introduced in the contour error mathematical model in order to make a better contour error estimation in high speed contouring operations. Simulations performed with Simulink® software (Hicklin, 1992) and actual experimental data support these ideas.



B – damping [N.s / m]
E - axes errors [m]
F - force [N]
I - inertia [Kg.m2]
K- stiffness coefficient [N.m]
L- electrical inductance [H]
N- spindle rotation [rpm]
R- electrical resistance [W]
T- torque [N.m]
V- feedrate [m/min]
c - chip load [feed/tooth]
i – electrical current [A]
k – constant

a06img01.gif (296 bytes) - pitch [m/rad]
n- number of cutter teeth
p- cut depth [m]
r- curvature radius [m]
s- feed [m/rev]
u- input [V]
v- voltage [V]
x- X axis position [m]
y- Y axis position [m]
a - angle in Fig. 4 [rad]
g - angle in Fig. 4 [rad]
w - angular speed [rad / s]
q - angular position [rad]

a- armature or axial
b- bearing; back e.m.f.
c- coupling
f- friction
l- load
m- motor
s- screw
t- torsional
x, y- directions
w- cutting force


Axis Dynamic Model

This theory is valid to any 2D contouring system, as in a vertical milling machine. An extension to 3D is possible. In this paper, a non-linear dynamic model of a biaxial table is used to simulate the system. Each axis consists of a DC motor, ballscrew and carriage. There is Coulomb friction in the ballscrew and guideways. Inertia, backlash and cutting forces are the other disturbance effects. There are thermal deformations in all these elements, but they were not considered here, because the axis temperature variations were supposed small. Guideways and ballscrew pitch errors were also not considered.

The idealised linear motion axis model is shown in Fig. 1, where I1 is the sum of the motor and ballscrew inertia, I2 is the equivalent carriage plus load inertia, B is the damping coefficient and K is the combined axis stiffness coefficient, given by the Eq.(1), where Ksa is the ballscrew axial stiffness, Kst is the ballscrew torsional stiffness, Ktc is the coupling torsional stiffness and Kba is the bearings axial stiffness and a06img01.gif (296 bytes) is the ballscrew pitch [m/rad].


a06fig01.gif (6735 bytes)


a06frm01.gif (2774 bytes) (1)

The torque from the motor is Tm and q1 and q2 are the angular displacements at the motor and carriage positions, respectively. The DC motor electrical equation was taken from Kuo (1985):

a06frm02.gif (3266 bytes) (2)

where ia is the armature current, La is the electrical inductance, va is the motor applied voltage, Ra is the armature electrical resistance and vb(t) is the back electromotive voltage, which is a function of the motor speed wm:

vb(t) = kb . w m (t) . (3)

where kb is the back electromotive force constant. The motion equations were obtained by making the torque summation equal to zero in both discs. To the first one:

a06frm03.gif (3235 bytes) (4)

where Tl is the load torque. To the second disc:

a06frm04.gif (1167 bytes) (5)

In the state space form, the following set of equations were obtained:

a06frm05.gif (844 bytes) (6)


a06frm06.gif (12509 bytes)

The output equation is given by Eq.(7), where y(t) is the axial displacement of the carriage.

y(t) = [0    0   a06img01.gif (296 bytes)   0   0]. X(t) . (7)

The state variables were chosen in order to describe the internal energy distribution of the system. The angular positions q 1 and q 2 are related to the elastic potential energy, the angular velocities w1 and w2 are related to the kinetic energy and ia is related to the magnetic energy, which produces the motor torque. The system internal energy can always be calculated from the state variables. This is the advantage of the state space equations. The states can be related to the externals inputs and to the system outputs. The internal variables can be related to the inputs and outputs through the states. The transfer functions only relate the input with the output, giving no information about the internal dynamic behaviour of the system.



The disturbances represented in the dynamic model are the guideways friction and the cutting forces. The viscous friction grows linearly with speed and is represented in the model by B parameter. The Coulomb friction is represented as a step input, always opposed to the motion direction. It is part of the motor load torque Tl. The cutting forces are a function of the feed s (m/rev) and the depth of cut p as indicated by Ber et al. (1988):

F w = k s . s k1 . p k2 . (8)

k1 e k2 are constants. The relationship between the feed and the feedrate is:

V = c . n . N . (9)

where c is the chip load (feed/tooth), n is the number of cutter teeth and N is the spindle speed. The cutting force makes a constant angle j with the tangent of the desired trajectory, as can be observed in Fig. 2. The disturbance forces are given by Eq.(10):

a06img02.gif (3002 bytes)

 a06img03.gif (3078 bytes) (10)


a06fig02.gif (10573 bytes)


where Ffx and Ffy are the friction forces and Vx and Vy are the components of the feedrate in the x and y directions.


The Proposed Contour Error Controller

The axes controllers and CEC can be seen in the simplified block diagram shown in Fig. 3. It consists of two main parts: the contour error mathematical model and the control law, which can be a P, PID, Fuzzy Logic (see Lacerda and Belo, 1996 and 1997a) or another type of controller. Note that there is a coupling between the axes. The interpolator sends reference command signals to each axis that are compared with the actual positions. The resulting tracking errors feed the axes controllers, whose function is to move the tool to the reference point R (see Fig. 4), thus reducing these errors. The contour error calculator block utilises the interpolator data and error signals to calculate the contour error in real time. The block diagram to both common and proposed CEC are identical. The difference is the contour error equation, given by Eq.(11) to common CEC and by Eq.(16) to the proposed CEC.


a06fig03.gif (21557 bytes)


a06fig04.gif (12057 bytes)


For straight paths, the contour error is obtained by simple geometric calculation, resulting:

PQ = E x . sin a  – E y . cos a . (11)

where Ex and Ey are the axes position errors and a is the angle between the tangent of the instantaneous trajectory and the X axis. It is calculated using the axes speeds Vx and Vy. For curved paths, the contour error is the segment PS. The segment QS can be estimated if we assume that the arc RS approximates the hypotenuse of the triangle POR. In this case, we can calculate the angle g , which is a function of the delay between the reference point and the tool position and the instantaneous curvature radius of the trajectory, ri:

a06frm07.gif (2424 bytes) (12)

The instantaneous curvature radius ri and centre Ci can be easily calculated using the positions of three points pertaining to the trajectory, see Lacerda and Belo (1997b). The interpolator supplies these data. In Fig. 4, projecting the segment QCi in the direction of the perpendicular to the trajectory tangent at reference point R, yields:

a06frm08.gif (1720 bytes) (13)


a06frm09.gif (2026 bytes) (14)

Then, the segment QS is given by:

a06frm10.gif (1844 bytes) (15)

The proposed contour error mathematical model is simply the sum of the segments PQ and QS:

a06frm11.gif (3062 bytes) (16)

During straight paths, the curvature radius is infinite, resulting g equal to zero in Eq.(12), thus making QS also equal to zero. The contour error is fed into the controller, resulting an output which is decomposed in appropriate correction signals to the individual axes in order to move the tool to the point S, in the desired path. This is the function of the blocks Ux and Uy in Fig. 3. In this paper, a PID controller performs the control law.


Contour Error Models Test

The objective of this simulated test is to compare the proposed contour error mathematical model with three others found in the literature, see Kulkarni and Srinivasan, 1989; Koren and Lo, 1991; Chuang and Liu, 1991. During this test, the PID controllers controlled the carriages motions, exclusively. The CEC algorithm was disabled because the interest is on the contour error calculation. The disturbances in all simulated tests are Coulomb friction and cutting forces. More details are given in the appendix. The test consists in tracking a 20 mm diameter circle at constant feedrates. In this case, the contour error analytical value is obtained by Eq.(17), using the distance between two points: the centre of the circle (xc , yc) and the tool position (xp , yp). This was used as a standard for comparison.

a06frm12.gif (2773 bytes) (17)

Initially, a 1 m/min feedrate was chosen to evaluate the model behaviour at a low velocity. The test results (Fig. 5) show that all the obtained curves coincided with the analytical curve, thus indicating good accuracy at this velocity. The feedrate is increased to 25 m/min and the test results are shown in Fig. 6. It can be observed that the Kulkarni and Srinivasan (1989), Koren and Lo (1991) and Chuang and Liu (1991) contour error mathematical models fail in this test, resulting in large discrepancies between the curves. The proposed model curve error still coincided with the analytical error curve. The maximum absolute error, obtained by inspection of the numerical values, is 4 mm. This result shows that the proposed contour error mathematical model (eq. 16) is suitable for contour error controllers applied to high speed machine tools.


a06fig05.gif (15633 bytes)


a06fig06.gif (40440 bytes)


Simulated Circular Tests

The objectives of these tests are two: a) to verify the improvement in the tracking ability of a PID controlled biaxial table when the CEC is implemented; b) to verify the performance of the CEC with the proposed contour error mathematical model.

The test procedure was initiated by the optimal adjustment of the PID controllers gains (see Ästrom and Hägglund, 1995) by using the Matlab® optimisation toolbox function FMINS, which uses a Nelder-Mead type simplex search method. The performance criterion is the axis error when tracking a sinusoid. The PID gains are the project variables. The objective is to minimise the axes errors under the constraint that controller output must be in the range ± 10 V. After this, the gains of the PID embedded in the CEC were obtained by using the contour error (eq. 17) as the performance criteria with the same constraint as before. This approach resulted in good initial PID gain estimates, but final "manual tuning" was necessary to improve the tracking performance. These gains were not modified during the test. Initially, the CEC algorithm was disabled and the PID controllers tracked a 40 mm diameter circle at constant 10 m/min feedrate. The results can be viewed in Fig. 7 and Table 1, which shows the normalised IAE (integral absolute error) and the maximum circularity error for each test. It is important to note that at this feedrate, the test duration is only 750 ms.


a06fig07.gif (19547 bytes)


a06tab01.gif (8619 bytes)


The numerical values of the errors are not usual in machine tools, however, the main interest of the authors was in the comparison between them. After this, the CEC is enabled with the contour error calculated by Eq.(11), like in Srinivasan and Kulkarni (1990). The test is performed again, resulting in the curve shown in Fig. 7. Finally, the contour error equation is changed to Eq.(16) and the circle is tracked again. The errors in the first quarter of the circle are bigger because the system starts from rest. It can also be observed a kind of error known as "quadrant glitch" due to friction and inertia. It appears where there is an inversion of the axis motion direction (each 90o). The Table 1 shows the normalised integral absolute error and the circularity error in this test. Figure 8 shows that the errors in the contour error calculation when the proposed contour error mathematical model is used are approximately 50 times smaller when compared to the errors of the model represented by Eq.(11). The results of the second circular test can be observed in the Fig. 9 and Fig.10 and Table 2. Now, the feedrate is increased to 30 m/min and the circle has a 100 mm diameter. The IAE was reduced 20 times when the proposed CEC is used. Figure 10 shows that the proposed contour error mathematical model is almost insensitive to the feedrate.


a06fig08.gif (16936 bytes)


a06fig09.gif (20077 bytes)


a06fig10.gif (18439 bytes)


a06tab02.gif (9311 bytes)


Test Bench Description

The test bench consists of two linear motion axes mounted in the X-Y configuration shown in Fig. 11. Each axis is powered by a DC brushless motor, which is fed by a power amplifier. The motor is coupled with a 5 mm pitch ballscrew. An algorithm created with the LabView® software (National Instruments Corp.) running in a PC (personal computer) with a 233 MHz Pentium processor controls the axes. The PC is equipped with an analogue output (AO) board and a counter board. The AO board sends a ± 10 V signal to the motor amplifiers. The rotary encoders provide the position feedback signal with 1000 pulses per revolution, resulting in a 5 mm resolution. The trajectory is verified by a KGM 101® bidimensional optical encoder (Heidenhaim Corp.) which consists of a circular grid plate (160 mm diameter) which carries two line grids orthogonal to each other and an optical scanning head, which have two optical reader units disposed 90º each other. It simultaneously lights the grid and observes the reflected light. The grid plate is attached to the upper carriage (Y) and the head to a support. The signal is interpolated in 1024 segments, resulting in a resolution of about 5 nm. A PC is then used for storing and further processing of the recorded data.


a06fig11.gif (83199 bytes)


Experimental Circular Test

The closed-loop (ultimate gain) tuning procedure based on the classical work of Ziegler and Nichols (1942) was used to adjust the gains of the PID. The system oscillated a little, but an increase in the derivative time was sufficient to damp it. The adjustment of CEC is more complex, because there is no suitable standard technique to follow in this case. Starting from the PID gains used in the simulated test, a manual tuning was performed which was guided by prior knowledge of the behaviour of the PID controllers. A contour error graph and IAE error criteria displayed on a virtual panel created with the LabView® software were of great value in helping to achieve a compromise between minimum error and system stability. A circular test was performed by using the same procedure as was used in the simulation. The results can be seen in Fig. 12 and Table 3. They show that the proposed CEC (eq.16) can reduce both the IAE and the circularity error when compared with the system driven only by the PID controllers and by the CEC of Eq.(11).


a06fig12.gif (22304 bytes)


a06tab03.gif (8571 bytes)



The main contribution of this paper is the proposed contour error mathematical model. It is simple, accurate and almost insensible to feedrate, thus enabling the use of this type of cross-coupled controllers in high speed machine tools. The simulation results showed that the contour error mathematical models used in earlier controllers are not suitable for high speed machine tools. The experimental results showed a smaller improvement than expected when compared with the other two mentioned controllers. This fact is due to the limitations of the LabView® software and the limitations of the PID controller embedded in the CEC. Therefore, the benefits due to the improvement in the contour error estimation when using the proposed mathematical model were partially masked by these physical limitations. A better result can be expected by using a more effective software than LabView® and a better controller than the PID. Another contribution of this work is the non-linear, fifth order XY table simulator, which include the system elasticity and Coulomb friction. It is able to reproduce well the behaviour of the physical system and was very useful in the development of this and previous works of the authors.



The authors gratefully acknowledge the financial support provided by FAPESP (São Paulo State Foundation for Research Support - Brazil) through contract no 1997/5099-0.



Ästrom, K. and T. Hägglund, 1995, "PID Controllers: theory, design and tuning", Instrument Society of America, Research Triangle Park, NC, USA.        [ Links ]

Ber, A.; Rotberg, J.; Zombach, S., 1988, "A method for cutting force evaluation of end mills", Annals of the CIRP, v. 37, n. 1, p. 37-40.        [ Links ]

Chuang, H. and C. Liu, 1991, "Cross-coupled adaptive feedrate control for multiaxis machine tools", ASME J. Dyn. Sys., Meas Control, v. 113, p. 451-457.        [ Links ]

Hicklin, J. et al., 1992, "Simulink - A program for simulating dynamic systems", The MathWorks Inc., Massachusetts, USA.        [ Links ]

Koren, Y., 1980, "Cross-coupled biaxial computer control for manufacturing systems", ASME J. Dyn. Sys., Meas. Control, v. 102, p.265-272.        [ Links ]

Koren, Y. and C. Lo, 1991, "Variable-gain cross-coupling controller for contouring", Annals of the CIRP, v. 40, n. 1, p. 371-374.        [ Links ]

Koren, Y. and C. Lo, 1992, "Advanced controllers for feed drives", Annals of the CIRP, v. 41, n. 2, p.689-698.        [ Links ]

Kulkarni, P.K. and K. Srinivasan, 1989, "Optimal contouring control of multi-axial feed drive servomechanisms", ASME J. of Eng. for Ind., v. 111, p. 140-148.        [ Links ]

Kuo, B, 1985, "Automatic Control Systems", Prentice-Hall, Englewoods Cliffs.        [ Links ]

Lacerda, H. B. and E. M. Belo, 1996, "Application of fuzzy logic on motion control systems in machine tools", Proceedings of the ICONE’96 - Second International Conference on Non-linear Dynamics, Chaos, Control and their Applications in Engineering Sciences, São Pedro (SP), Brazil, vol.1(1997), p. 301-305.        [ Links ]

Lacerda, H.B. and E. M. Belo, 1997a, "Application of a PID-Fuzzy controller on the motion control system in machine tools", Proceedings of the DINAME 97 - 7th International Conference on Dynamic Problems in Mechanics, Angra dos Reis (RJ), Brazil.        [ Links ]

Lacerda, H.B. and E. M. Belo, 1997b, "Motion control of a biaxial machine tool using a versatile cross-coupling controller", CD-ROM of the XIV COBEM – Brazilian congress of mechanical engineers (COB221), Bauru (SP), Brazil.        [ Links ]

Srinivasan, K. and P. K. Kulkarni, 1990, "Cross-coupled control of biaxial feed drive servomechanisms", ASME J. of Dyn Sys, Meas. and Contr., v. 112, p.225-232.        [ Links ]



Presented at DINAME 99 – 8th International Conference on Dynamics Problems in Mechanics, 4-8 January 1999, Rio de Janeiro. RJ. Brazil. Technical Editor: Hans Ingo Weber.

Creative Commons License All the contents of this journal, except where otherwise noted, is licensed under a Creative Commons Attribution License