Explicit Model Predictive Control for Reference Tracking on an ...

23 downloads 0 Views 488KB Size Report
Sep 2, 2011 - The proposed approach (formulated as an explicit MPC solution) is successfully ..... control inputs, that is, the thin lines follow the thick line.
Preprints of the 18th IFAC World Congress Milano (Italy) August 28 - September 2, 2011

Explicit Model Predictive Control for Reference Tracking on an Industrial Machine Tool Michael A. Stephens ∗,∗∗ Chris Manzie ∗∗ Malcolm C. Good ∗∗ ∗

ANCA Motion, 1 Bessemer Road, Bayswater North, Victoria 3153 Australia [email protected] ∗∗ Department of Mechanical Engineering, The University of Melbourne, Victoria 3010 Australia {manziec,mcgood}@unimelb.edu.au Abstract: The benefits of Model Predictive Control (MPC) as a control technique have been well established. However its application to reference tracking on Digital Servo Drives (DSDs) which typically have very fast update rates is limited by the computational power of presentday processors. This paper presents a novel MPC formulation, which provides a mechanism to trade-off online computation effort with tracking performance, while maintaining stability. This is achieved by introducing a trajectory horizon, which is distinct from the prediction and control horizons typically encountered in MPC formulations. It is shown that increasing the trajectory horizon inherently leads to improved tracking, however larger horizon lengths also have the unwanted effect of increasing online computation. The proposed MPC formulation is compatible with recently developed explicit MPC solutions, and hence the burden of online optimisation is avoided. The proposed approach (formulated as an explicit MPC solution) is successfully implemented on an industrial machine tool DSD, and is shown to outperform the incumbent approach of cascaded PID control. Keywords: Servomechanisms; Model predictive control; Motion control; Tracking systems; Discrete-time systems. 1. INTRODUCTION Machine tools are a fundamental component of modern manufacturing. Essentially every manufactured good is formed, in part, by a machining process. The demands on high precision machine tools are growing at a significant rate as the competing requirements of high accuracy and low cycle time become differentiators between manufacturers. At the heart of the modern machine tool are the motion control elements, which comprise a Computer Numerical Control (CNC) and a number of Digital Servo Drives (DSDs). Historically, and still today, the majority of DSDs operate on a cascaded PID control architecture (Stephens et al., 2010). While generally effective and simple to implement, the PID controller does have several limitations, especially as the performance requirements become more exacting. By its nature, it is reactive and thus requires a degree of positioning error to enact control effort. Secondly, in practice the process of tuning them with sufficient performance often requires a high level of skill and experience. Model Predictive Control (MPC) on the other hand is proactive (Maciejowski, 2002), in that it predicts what control effort, within the constraints of the system, is required to ensure accurate tracking of the reference trajectory. MPC retains a feedback element to account for model uncertainty. Furthermore, an integrator can be embedded into the Copyright by the International Federation of Automatic Control (IFAC)

formulation to account for unknown disturbances (Wang, 2009). Moreover, given that a suitable dynamic model of the plant is available, tuning the controller is essentially a trade-off between tracking accuracy and control effort. Given the rich literature on system identification (Ljung, 1999), developing a suitable plant model is generally a straightforward task. The main limitation of MPC is that significant online computation is required to perform the optimisation. Bemporad et al. (2002) present an algorithm to develop an equivalent closed-form (explicit) solution to the original MPC problem offline. The result is a gain-scheduling algorithm which is a function of a parameter vector that contains the current state of the system and the desired future output. The solution is shown to be piecewise affine in the parameter vector, where different controllers are defined for discrete polyhedral regions Xi within the parameter space. The online implementation then simplifies to a sequential search through the regions to locate the one which the current parameter vector belongs to. The controller associated with the identified region is then used to generate the input for the plant. The algorithm to construct the explicit solution is further refined by Tøndel et al. (2003a). While these approaches have the potential to reduce the online computation requirements, they do result in an increase in the memory used to store the program in the controller hardware. Moreover, as the MPC problem

14513

Preprints of the 18th IFAC World Congress Milano (Italy) August 28 - September 2, 2011

becomes more complex (higher order plant model, more input/output variables, more constraints, longer horizons, etc.) the number of regions in the explicit solution grows. The computational advantage over online optimisation is then somewhat diminished since it can take a long time to locate the appropriate region within the parameter space. In the worst case every region must be explored.

k

Consider a plant, with n states, m controlled outputs and l inputs, which is modelled as the following LTI discretetime system xp (k + 1) = Ap xp (k) + Bp u(k) (1a) y(k) = Cp xp (k) (1b) where xp ∈ Rn×1 is the state vector, u ∈ Rl×1 is the input vector, y ∈ Rm×1 is the output vector, and Ap , Bp , and Cp are constant matrices of appropriate dimensions. To ensure offset-free tracking in the face of model uncertainties and unknown disturbances, integral action in the controller is desirable. A method for incorporating an integrator within the MPC framework is to modify the plant model so that the input is the control update ∆u(k), rather than control u(k) itself (Prett and Garcia, 1988; Wang, 2009). This is achieved by taking the difference of both sides of (1a) to form ∆xp (k + 1) = Ap ∆xp (k) + Bp ∆u(k), (2) where ∆xp (k) = xp (k) − xp (k − 1) and ∆u(k) = u(k) − u(k − 1). Next ∆xp (k) must be connected to the output y(k). Take the difference of both sides of (1b) to form   y(k + 1) − y(k) = Cp xp (k + 1) − xp (k) = Cp Ap ∆xp (k) + Cp Bp ∆u(k). Finally, defining a new state vector as " # ∆xp (k) x(k) = y(k)

(3)

(4)

Position

r



y

While the problem formulation by Bemporad et al. (2002) is adaptable to trajectory tracking problems, typically only set-point tracking is implemented. In fact the Hybrid Toolbox for MATLAB (Bemporad, 2010) only allows for set-point tracking. Furthermore, Ferreau et al. (2008) claim that, even with Explicit MPC (EMPC) formulated as a binary search tree, trajectory tracking is impossible from a computation standpoint.

2. MPC DESIGN FOR TRAJECTORY TRACKING

k+Hp



Tøndel et al. (2003b) present an algorithm which takes the explicit solution and organises it into a binary search tree. Not only does this drastically reduce the online search time, but it also results in a reduction in the storage requirements.

This paper explores the application of MPC to trajectory tracking on an industrial machine tool DSD where update periods are in the order of 100 µs. The paper is organised as follows. Section 2 sets up the problem for trajectory tracking in a form suitable for EMPC. Section 3 presents simulation and experimental results from implementation on an industrial machine tool. Finally, in Section 4 some concluding remarks are made.

k+Ht

i=0

1 2 3 4 5 6 7 8 9 10

Input

k

k+Hu



u

k+Hp

Time Fig. 1. Comparison of MPC horizons, where Ht = Hu = 6 and Hp = 10. The extended reference trajectory is modelled as a first-order hold (FOH). allows (2) and (3) to be combined to form x(k + 1) = Ax(k) + B∆u(k) (5a) y(k) = Cx(k) (5b) where   # " B   p A p 0T mn , C = 0mn Im , , B= A= Cp Ap Im Cp Bp

and 0mn is an m×n zero matrix and Im is the identity matrix of size m.

Note that if the full state vector xp is not available via direct measurement, as is typically the case, it can be estimated using, for example, a Kalman filter. The state vector xp , which is used to construct (4), is then replaced with its estimate x ˆp . In the interest of a simplified notation, the use of (i|k) in the equations that follow should be interpreted as (k+i|k). Consequently, the optimisation objective considered in this implementation of MPC is ( H −2 t X  T   y ˆ(i|k) − r(i|k) Q(i) y ˆ(i|k) − r(i|k) min ∆U (k)

+

i=1 Hp

X  T   y ˆ(i|k) − ˆ r(i|k) Q(i) y ˆ(i|k) − ˆ r(i|k)

i=Ht −1

+

HX u −1 i=0

)

∆ˆ uT (i|k)R(i)∆ˆ u(i|k)

(6)

where y ˆ ∈ Rm×1 is the predicted output, r ∈ Rm×1 is the reference trajectory, ˆ r ∈ Rm×1 is the extended reference trajectory (ERT – a full definition of which is given shortly), ∆ˆ u ∈ Rl×1 is the future change in the control input (∆ˆ u(i|k) = 0 for i>Hu ), and T ∆U(k) , [∆ˆ u(0|k), . . . , ∆ˆ u(Hu − 1|k)] . Furthermore, Hp

14514

Preprints of the 18th IFAC World Congress Milano (Italy) August 28 - September 2, 2011

is the length of the prediction horizon, Hu 6Hp is the length of the control horizon, and Ht 6Hp is the length of the trajectory horizon. The introduction of Ht in the MPC formulation is believed to be a novel approach. Fig. 1 shows the relations between the different horizons. While not necessary, it typically makes sense for Ht = Hu , since the input u ˆ becomes constant as the dynamics in the ERT cease. The prediction horizon Hp usually needs to be large to ensure stability (Mayne et al., 2000; Maciejowski, 2002). Fortunately, extending Hp has only a minimal effect on the complexity of solving the MPC problem. On the other hand, extending Ht and Hu will increase the complexity significantly. Hence, adjusting the length of Ht allows improved tracking precision (large Ht ) to be traded-off against a lower online computation effort (small Ht ). The inclusion of the trajectory horizon in the MPC formulation is especially suited to trajectory tracking with fast update rates. When evaluating (6) the contribution of the predicted tracking error is weighted by the nonnegative diagonal matrix Q ∈ Rm×m , while the magnitudes of changes to the control inputs are weighted by a strictly-positive diagonal matrix R ∈ Rl×l . These weights need not be constant at each step in the horizon, hence the inclusion of the index i. The predicted output is given by   y ˆ(1|k)   ··  = Ψx(k) + Θ∆U(k)  ·   y ˆ(Hp |k)

where



CB

0

···

0

  + (i − Ht + 1) r(Ht |k) − r(Ht − 1|k) ,   ∀i∈ Ht − 1, Hp , or in matrix form h i h i ˆ r(Ht − 1|k), . . . , ˆ r(Hp |k) = r(Ht − 1|k) r(Ht |k) Λ where

Λ=

# Im 0m −Im · · · (Ht − Hp )Im , 0m Im 2Im · · · (Hp − Ht + 1)Im

With respect to   R , diag R(0), . . . , R(Hu − 1) ,   Q , diag Q(1), . . . , Q(Hp ) ,   Qt , diag Q(1), . . . , Q(Ht − 2) , and   Qp , diag Q(Ht − 1), . . . , Q(Hp ) ,

equation (6) may be rewritten as ( ) 1 T ∆U (k)H∆U(k) + θ(k)F∆U(k) . min 2 ∆U (k) Here

(8)

H = 2R + 2ΘT QΘ,  T x(k)     2ΨT QΘ  u(k − 1)      0u     F = , and θ(k) =  r(1|k)  ,    −2Qt Θt  ··     · −2ΛQp Θp r(Ht |k)

where Θt and Θp are respectively the first m(Ht − 2) rows and the last m(Hp − Ht + 2) rows of Θ, and 0u is a zero matrix of size l×lHu .



    CAB CB 0     . ·· ..   · .  Θ=  Hu −1 Hu −2   CA B CA B ··· CB   ·· ·· ··   · · ·   CAHp −1 B CAHp −2 B · · · CAHp −Hu B

"

and 0m is an m×m zero matrix.

(7)



 CA  ·   Ψ=  ·· , and CAHp

ˆ r(i|k) = r(Ht − 1|k)

In addition, it is possible to define constraints on the input u ˆ , the input change ∆ˆ u, and the output y ˆ as u ˆ min 6ˆ u(i|k)6ˆ umax ∀i ∈ [0, Hu − 1] , (9) ∆ˆ umin 6∆ˆ u(i|k)6∆ˆ umax ∀i ∈ [0, Hu − 1] , and (10) y ˆmin 6ˆ y(i|k)6ˆ ymax ∀i ∈ [1, Hp ] . (11) These constraints can be expressed in terms of ∆U and combined (see Maciejowski 2002) to form

Noting that for a machine tool DSD the reference trajectory r is typically a set of position commands and the input u is a motor torque (or equivalently a motor current), then the ERT can be defined in several ways. The simplest is ˆ r(i|k) = r(Ht |k), ∀i ∈ [Ht + 1, Hp ]; effectively a zeroorder hold (ZOH). With this choice, the predicted input u ˆ at the end of the control horizon will be required to reverse in order to drive the axis velocity to zero. Since machine tools typically follow smooth contours, a better choice, which is proposed in this paper, is a first-order hold (FOH) as shown in Fig. 1. In this way, at the end of the control horizon the predicted input u ˆ will approach a level that produces a velocity close to that of the reference trajectory at k + Ht . To implement a FOH-ERT, there is the additional requirement that Ht > 2. The FOH-ERT is given by

G∆U(k)6W + X θT (k).

(12)

Equation (8) in conjunction with (12) is in the standard form of a quadratic optimisation problem, where θ(k) is a parameter vector and is known a priori. At each sample instant k, the optimisation is solved and the input u(k) = u(k − 1) + ∆ˆ u(0|k) is applied to the plant. At the next sample instant the optimisation is repeated using the updated parameter vector and a shifted horizon. To address the issue arising from the limited computational power associated with modern industrial DSDs, the problem is formulated as an explicit MPC solution (Bemporad et al., 2002; Tøndel et al., 2003a), yielding solutions for ∆ˆ u of the form  ∆ˆ u θ(k) = Mi θT (k) + mi , θ(k)∈Xi , (13)

14515

Preprints of the 18th IFAC World Congress Milano (Italy) August 28 - September 2, 2011

where Mi ∈ Rl×(n+m+l+mHt ) and mi ∈ Rl×1 represent the controller gains associated with polyhedral region Xi . 3. RESULTS AND DISCUSSION In this section, the performance of the proposed control methodology is demonstrated both in simulation and experimentation. The system chosen for testing is the headstock (servo) axis of the production 5-axis CNC tool and cutter grinding machine shown in Fig. 2. The headstock with a large workpiece mounted is shown in Fig. 3. The architecture of the motion control system for this machine is as follows. The CNC interprets a part program and generates a sequence of position commands for each of the axes at a rate of 250 Hz (or one every 4 ms). These position commands are determined so that constraints on the axes in terms of position, velocity, acceleration and jerk (the time derivative of acceleration) are met. The only constraint which must be maintained at the DSD level is the magnitude of the motor current; that is, the input to the mechanical plant u. Hence only the constraint given by (9) must be included in the MPC formulation.

Fig. 2. A production 5-axis CNC tool and cutter grinding machine.

3.1 Plant Model Derivation of the plant model for the headstock axis of the CNC grinding machine (including the large workpiece) and the methods used for identification, is presented in Stephens et al. (2010). It is given by   3.6×10−1 6.4×10−1 −2.1×103 2.1×103    1.8×10−1 8.2×10−1 5.9×102 −5.9×102  Ap =  ,  3.8×10−4 1.2×10−4 3.7×10−1 6.3×10−1  3.3×10−5 4.7×10−4 1.8×10−1 8.2×10−1 iT h Bp = 8.6×10−5 7.5×10−6 2.5×10−8 9.9×10−10 , and h i Cp = 0 0 5.7×101 0 .

In this fourth order model (n = 4), the single input (l = 1) is the motor current in milliamps, and the single output (m = 1) is the motor position in degrees. The update period is 500 µs 1 . The only measured state is the motor position; hence the other states must be estimated using a Kalman filter. In addition, it should be noted that this is a direct-drive rotary axes and operates in modulo 360 deg. This must be accounted for when calculating the plant states and also the ERT. 3.2 Simulation Results

Initially, results obtained via simulation are used to compare the different control approaches. The investigation begins with a comparison between cascaded PID control, MPC set-point tracking (where Ht = 1), and MPC trajectory tracking (where Ht > 1), using both ZOH-ERT and FOH-ERT schemes. The objective function weights for the MPC are Q(i) = 106 , ∀i∈[0, Hp ], and R(i) = 1, ∀i∈[1, Hu − 1], and the input constraints are ±1000 mA. Since in simulation there is no requirement for real-time calculation, online optimisation is used. The reference trajectory is a sinusoid with an amplitude of 2 deg and a 1

Interpolation is done in the DSD to convert from 4 ms to 500 µs.

Fig. 3. Headstock axis loaded with a large workpiece. frequency of 10 Hz. Fig. 4 shows the results for a FOH-ERT with Ht = Hu = 8 and Hp = 50. The maximum tracking error is found to be 0.0643 deg or 3.2 % of the reference signal amplitude. This can be compared to the performance of a cascaded PID controller used in industry (Fig. 5). The maximum tracking error is found to be 0.5021 deg or 25.1 %. Fig. 6 shows the normalised cumulative tracking error for each of the control approaches. It is calculated by summing up the magnitude of the tracking error at each control update over a complete cycle of the sinusoidal reference trajectory, and then normalising to the result for MPC set-point tracking. From this graph it can be seen that as the MPC trajectory horizon is increased, the tracking error decreases. Also for Ht > 2, both MPC approaches perform better than the PID controller. And most importantly, for values of Ht which are able to be implemented on the available hardware (Ht = Hu 6 6), FOH-ERT is superior to ZOH-ERT. For insight into why FOH-ERT performs better than ZOH-ERT, Figs. 7 and 8 include waterfall graphs with the motor current. The thin lines show the predicted control input along the entire control horizon.2 In both simulations Ht = Hu = 4 and Hp = 50. Knowing that for a ZOH-ERT, the controller is expecting the trajectory reference to come to rest after Ht updates, it is not surprising that u ˆ (Hu |k) ≈ 0, ∀k. Note that the plant model includes viscous friction, hence the motor current does not actually have to reverse to ensure that the motor velocity approaches zero along the remainder of the prediction horizon. Comparing this to FOH-ERT, it is seen that the predicted control inputs are a closer match to the actual control inputs, that is, the thin lines follow the thick line 2

Recall that only the first control input is actually applied to the plant.

14516

Position [deg]

4.00 Reference Feedback

3.00 2.00 1.00 0.00

0

0.02

0.04

0.06

0.08

0.10

0.12

0.14

0.16

0.18

0.20 Position Error [deg]

Position Error [deg]

Position [deg]

Preprints of the 18th IFAC World Congress Milano (Italy) August 28 - September 2, 2011

0.10 0.05 0.00 −0.05 −0.10

0

0.02

0.04

0.06

0.08

0.10

0.12

0.14

0.16

0.18

0.20

Current [mA]

Current [mA]

200 0 −200 0.02

0.04

0.06

0.08

0.10 0.12 Time [s]

0.14

0.16

0.18

Position [deg]

1.00 0

0.02

0.04

0.06

0.08

0.10

0.12

0.14

0.16

0.18

0.60 0.30 0.00 −0.30 0

0.02

0.04

0.06

0.08

0.10

0.12

0.14

0.16

0.18

0.20

Current [mA]

Current [mA]

0.098

0.100

0.102

0.104

0.106

0.096

0.098

0.100

0.102

0.104

0.106

0.096

0.098

0.100 Time [s]

0.102

0.104

0.106

0.04 0.00 −0.04 −0.08

50 0 −50

0.20 Reference Feedback

0.15 0.10 0.05 0.00

0.096

0.098

0.100

0.102

0.104

0.106

0.096

0.098

0.100

0.102

0.104

0.106

0.096

0.098

0.100 Time [s]

0.102

0.104

0.106

0.08 0.04 0.00 −0.04 −0.08 100

400 200 0 −200

50 0 −50 −100

0

0.02

0.04

0.06

0.08

0.10 0.12 Time [s]

0.14

0.16

0.18

0.20

Fig. 5. Tracking performance for a cascaded PID controller typically used in industry. 1.0 MPC with ZOH−ERT MPC with FOH−ERT Cascaded PID

0.9 Normalised Cumulative Tracking Error

0.096

0.08

0.20 Position Error [deg]

Position [deg] Position Error [deg]

2.00

0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0.0

0.00

Fig. 7. A waterfall chart for MPC with ZOH-ERT, Ht = Hu = 4 and Hp = 50.

Reference Feedback

3.00

−400

0.05

0.20

4.00

−0.60

0.10

−100

0

Fig. 4. Tracking performance for MPC using a FOH-ERT, Ht = Hu = 8 and Hp = 50.

0.00

Reference Feedback

0.15

100

400

−400

0.20

1

2

3

4

5

6

7

8

9 10 11 12 13 14 15 16 17 18 19 20 H t

Fig. 6. Comparison of tracking performance between cascaded PID control, MPC set-point tracking, and MPC trajectory tracking for both ZOH-ERT and FOH-ERT schemes, where Ht = Hu and Hp = 50, for a 10 Hz sinusoidal reference. more closely. As a result, the tracking error is greatly reduced. 3.3 Experimental Results Finally, implementation of MPC on a production CNC machine tool (Fig. 2) is presented. The performance of

Fig. 8. A waterfall chart for MPC with FOH-ERT, Ht = Hu = 4 and Hp = 50. MPC is compared to that of a typical PID controller used in industry (Stephens et al., 2010). Again the input constraints are set to ±1000 mA.3 Due to the limited computation power of the processor on the DSD, online optimisation is not possible; even EMPC with sequential search is found to be unachievable for Ht = Hu > 2 (essentially when more than 15 regions, or approximately 50 hyperplanes, must be checked to locate which region the parameter vector belongs to). However, using the binary search tree approach (Tøndel et al., 2003b), it is possible to implement MPC with longer horizons; as stated previously, up to Ht = Hu = 6. Fig. 9 shows how an EMPC controller with a FOH-ERT, Ht = Hu = 3, and Hp = 50 performs on the machine. The EMPC contains 11 controllers across 25 polyhedral regions, and is organised into a binary search tree with 127 nodes, where the maximum depth is 7. The trajectory being tracked by the axis is essentially a trapezoidal velocity profile, with a stroke of 270 deg and a maximum velocity of 60 RPM. Since the current remains well within the input limits, the EMPC never leaves region 1, which corresponds to controller #1 and linear operation (no constraints are active over the entire control horizon). This can be compared to the PID controller (Fig. 10) where the magnitude of the tracking error is much larger. Fig. 11 shows how the MPC responds to a large position disturbance. As can be 3 The motor is actually rated to 12 A. The setting of such a low value allows the authors to introduce a sizeable disturbance manually.

14517

270 180

Reference Feedback

90 0

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Current [mA]

20 0 −20 0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

0

0

0.1

0.2

0.3

0.4

0.5 0.6 Time [s]

0.7

0.8

0.9

1.0

Position [deg]

Fig. 9. The headstock axis of the CNC machine tool tracking a portion of a trapezoidal velocity profile using EMPC with FOH-ERT, Ht = Hu = 3, and Hp = 50.

Position Error [deg]

130

360

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

0

0.1

0.2

0.3

0.4

0.5 0.6 Time [s]

0.7

0.8

0.9

1.0

1000 500 0 −500 −1000

1.0

−500 −1000

5 4 3 2 1

Fig. 11. The headstock axis of the CNC machine tool rejecting a large position disturbance using EMPC with FOH-ERT, Ht = Hu = 3, and Hp = 50. be achieved in comparison to both MPC set-point tracking and cascaded PID control.

270 180 0

ACKNOWLEDGEMENTS

Reference Feedback

90 0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

This work was supported in part by ANCA Motion, as part of its extensive R&D program on precision motion control.

40 20 0 −20 −40

REFERENCES

1000 Current [mA]

150

1000 500

Reference Feedback

170

1.0

40

−40

190

Position [deg]

360

Controller Number

Current [mA]

Position Error [deg]

Position [deg]

Preprints of the 18th IFAC World Congress Milano (Italy) August 28 - September 2, 2011

500 0 −500 −1000

0

0.1

0.2

0.3

0.4

0.5 0.6 Time [s]

0.7

0.8

0.9

1.0

Fig. 10. The headstock axis of the CNC machine tool tracking a portion of a trapezoidal velocity profile using a cascaded PID controller used in industry. seen, shortly after the disturbance is removed at 0.35 s, the position feedback initially overshoots but eventually settles at the set-point. The graph also shows how the controller transitions between different polyhedral regions (with different controllers) as the input constraints along the control horizon become active. Note that while the EMPC solution actually contains 11 controllers, only three (#1, #2 and #3) are required during the transient stage after the disturbance is removed. As a final note, with the current limits set to 12 A, the axis is found to be very stiff and the integrator within the MPC effectively rejects realistic disturbances. 4. CONCLUSIONS Where previously trajectory tracking MPC using standard industrial processors was only possible on systems with relatively slow updates, this paper has shown that it is possible to implement MPC on industrial machine tool servo drives, where the update periods are of the order 100 µs. By using the proposed MPC formulation, specifically the inclusion of the trajectory horizon (Ht ) and the first-order hold extended reference trajectory (FOHERT), it was demonstrated that superior performance can

Bemporad, A., 2010. Hybrid Toolbox – User’s Guide. www.ing.unitn.it/∼bemporad/hybrid/toolbox/. Bemporad, A., Morari, M., Dua, V., Pistikopoulos, E. N., 2002. The explicit linear quadratic regulator for constrained systems. Automatica 39 (10), 1845–1846. Ferreau, H. J., Bock, H. G., Diehl, M., 2008. An online active set strategy to overcome the limitations of explicit MPC. International Journal of Robust and Nonlinear Control 18 (8), 816–830. Ljung, L., 1999. System Identification: Theory for the User, 2nd Edition. Prentice Hall, Upper Saddle River NJ, USA. Maciejowski, J. M., 2002. Predicitive Control with Constraints. Prentice Hall, Harlow, UK. Mayne, D. Q., Rawlings, J. B., Rao, C. V., Scokaert, P. O. M., 2000. Constrained model predictive control: Stability and optimality. Automatica 36 (6), 789–814. Prett, D. M., Garcia, C. E., 1988. Fundamental Process Control. Butterworth Publishers, Stoneham MA, USA. Stephens, M. A., Manzie, C., Good, M. C., 2010. On the stability analysis and modelling of a multirate control direct-drive machine tool axis subject to large changes in load dynamics. In: Proceedings of the American Control Conference. pp. 1550–1555. Tøndel, P., Johansen, T. A., Bemporad, A., 2003a. An algorithm for multi-parametric quadratic programming and explicit MPC solutions. Automatica 39 (3), 489– 497. Tøndel, P., Johansen, T. A., Bemporad, A., 2003b. Evaluation of piecewise affine control via binary search tree. Automatica 39 (3), 945–950. Wang, L., 2009. Model Predictive Control System Design and Implementation Using MATLAB. Springer-Verlog, London, UK.

14518