Variable structure control of a line of manufacturing machines ⋆ Konstantin K. Starkov ∗ Alexander Y. Pogromsky ∗ Jacobus E. Rooda ∗ Department of Mechanical Engineering, Eindhoven University of Technology, Den Dolech 2, PO Box 513, WH 0.119, 5600 MB Eindhoven, Netherlands (e-mail:
[email protected],
[email protected],
[email protected]). ∗
Abstract: In this paper a control method is introduced for a line of manufacturing machines based on the variable structure control. First the flow model of one manufacturing machine with variable structure control is presented where the uniform ultimate boundedness of the tracking error trajectories is proven. Then, the flow model of a manufacturing line with variable structure control is presented where the necessary conditions are derived in order to guaranty the uniform ultimate boundedness of the tracking error trajectories of each machine. Performance and robustness issues of the closed-loop flow models are illustrated in numerical simulations. Keywords: manufacturing systems, variable structure control, tracking systems, discrete time systems, boundary conditions. 1. INTRODUCTION Analysis of manufacturing networks by means of flow models has attracted much attention of researchers (see, e.g., Dallery and Gershwin (1992); Alvarez-Vargas et al. (1994); Gershwin (1989); Pogromsky et al. (2009) and references therein). As these models come with a certain degree of uncertainties and from practical standpoint it is important to consider the constraints which are present in the network, applications of different control methods to such models look attractive. In this paper we present recent results of research on control of complex manufacturing networks. The goal of this research is to develop efficient methods for control of complex manufacturing networks, so that the number of produced products follows the current demand. Particular attention is paid to the constraints present in the network, such as capacity and buffer limitations. Each machine in the network has a restricted number of products that this machine can produce in a fixed period of time, known as the capacity constraint. The content of the buffer between two machines is given by the difference between the total number of products produced by the upstream machine and the total number of products produced by the downstream machine. The buffer content can never be negative considering that the downstream machine cannot produce more than the upstream one. In particular, this paper contains an explicit description of flow models for one and a line of manufacturing machines where a variable structure control is introduced as an alternative control technique, in order to give a solution to the product demand tracking problem. Due to the ⋆ The research leading to these results has received partial funding from the European Community’s Seventh Framework Programme (FP7/2007-2013) under grant agreement no. INFSO-ICT-223844.
fact that in practice all the machines in the line are working in parallel and the control actions are executed in discrete time, the χ language (Beek et al. (2006); Man and Schiffelers (2006)) is used to simulate the manufacturing process. The paper is organized as follows. The variable structure approach for the flow model of one machine is presented in Section 2. In Section 3 the mentioned approach is used in order to derive the flow model for the line of manufacturing machines followed by analytical analysis and simulation results in Section 4. Section 5 presents the conclusions. 2. ONE MACHINE 2.1 Flow Model From previous works (see, e.g., Pogromsky et al. (2009); Kommer et al. (2009); Andrievsky et al. (2009)), it is known that a simple manufacturing machine can be interpreted as an integrator, where the cumulative number of finished products is the integral of the production rate. Considering this, the flow model of one manufacturing machine in discrete time is defined as y(k + 1) = y(k) + u(k) + f (k),
(1)
where y(k) ∈ R is the cumulative output of the machine, f (k) ∈ R is an unknown external disturbance, and u(k) ∈ R is the control signal. We suppose that there is always sufficient raw material to feed the machine. The control aim is to track the non-decreasing cumulative production demand yd (k) ∈ R given by yd (k) = yd0 + vd k + ϕ(k),
(2)
where yd0 is a positive constant that represents the initial production demand, vd is a positive constant that defines the average desired production rate, and ϕ(k) ∈ R is the bounded fluctuation that is imposed on the linear demand vd k where constant k represent the unit of time. In order to give a solution to this tracking problem we propose the following control input u(k) = sign+ (ε(k)).
(3)
Here, sign+ (ε(k)) =(1, if ε(k) > 0|0,otherwise), and ε(k) ∈ R is the output tracking error with respect to the demand. This tracking error is given by ε(k) = yd (k) − y(k), where ε(k + 1)) − ε(k) along the solutions of ε(k) is given by: ε(k + 1) − ε(k) = vd + ∆ϕ(k) − sign+ (ε(k)) − f (k),
(4)
with ∆ϕ(k) = ϕ(k + 1) − ϕ(k). Now, from (4) it is evident that in order to guaranty a proper demand trajectory tracking the product demand can not be higher than the machine processing speed, which in this case is 1 lot per time unit. Thus, let us consider that ∆ϕ(k) − f (k) from (4) is bounded by α1 < ∆ϕ(k) − f (k) < α2
∀k ∈ N,
(6)
α1 > −vd .
(7)
In other words by (6) and (7) we state that the machine can never produce products faster than its maximal speed and that considering the presence of perturbations bounded by (α1 , α2 ) the production rate can never be negative or zero, respectively. Thus, from (5), (6), and (7) the following condition holds (8)
where W (k) = ∆ϕ(k) − f (k), which is considered as an unknown bounded disturbance affecting the machine performance. 2.2 Tracking error trajectory analysis In this section we analyse the tracking error behavior of the flow model (4). Theorem 1. Let the discrete time system defined by (1) with control input (3) satisfy condition (8), then all solutions of (4) are uniformly ultimately bounded by (9)
k→∞
∆Vk = Vk+1 − Vk , (α2 + α1 ) ∆Vk = max ε(k) + W (k) − (12) 2 1 (α2 − α1 ) 1 − , 0 − Vk , − sign+ (ε(k)) + − 2 2 2
where, omitting the detailed analysis, ∆Vk = 0 ∀ε(k) ∈ [vd + α1 − 1, vd + α2 ].
In order to proof that ∆Vk < 0 ∀ε(k) ∈ R − [vd + α1 − 1, vd + α2 ], let us subdivide the analysis in 4 cases. Case 1: Let ε(k) satisfy the following inequality ε(k) > 1 + α2 − W (k).
(13)
(8)
(5,7)
ε(k) > 1 + α2 − W (k) > α2 + vd > 0
(14)
and therefore ∆Vk is defined by (α2 + α1 ) 1 ∆Vk = max ε(k) + W (k) − − 2 2 (α2 − α1 ) 1 − − , 0 − Vk . 2 2
(15)
Thus, it is also possible to state from (13) that (α2 + α1 ) 1 (α2 + α1 ) 1 − > 1 + α2 − − 2 2 2 2 (α2 − α1 ) 1 (5) = + > 0, 2 2 ε(k) + W (k) −
and therefore ε(k) + W (k) − (α2 + α1 ) − 1 2 2 (α2 + α1 ) 1 = ε(k) + W (k) − − , 2 2 which in turn implies from (15) that
k→∞
lim inf ε(k) ≥ vd + α1 − 1.
Here, ∆Vk along the solutions of ε(k) is given by
From (13) it follows that
α2 < 1 − vd ,
lim sup ε(k) ≤ vd + α2 ,
(11)
where, for the sake of brevity, Vk = V (ε(k)), with Vk = 0 ∀ε(k) ∈ [vd + α1 − 1, vd + α2 ].
(5)
where α1 , α2 are some constants that satisfy
0 < vd + W (k) < 1,
(α2 + α1 ) 1 Vk = max ε(k) − vd − + 2 2 (α2 − α1 ) 1 − − , 0 > 0, 2 2
(10) ∆Vk = ε(k) + W (k) − α2 − 1 − Vk .
Proof. For (4) let us introduce the following Lyapunov function
From (11) if follows that
(16)
(α2 − α1 ) 1 + Vk = max ε(k) − vd − α2 + 2 2 (α2 − α1 ) 1 (5,14) − − ,0 = ε(k) − vd − α2 . 2 2
(17)
Substituting (17) into (16) yields
(α2 + α1 ) 1 + ∆Vk = max ε(k) + W (k) − 2 2 (α2 − α1 ) 1 − − , 0 − Vk . 2 2
(26)
Similarly to Case 2 (8)
∆Vk = vd + W (k) − 1 < 0.
(18)
Case 2:
ε(k) + W (k) −
(α2 − α1 ) 1 (α2 + α1 ) 1 + < + (27) 2 2 2 2
and substituting (27) in (26) yields
Let ε(k) satisfy the following inequality vd + α2 < ε(k) ≤ 1 + α2 − W (k).
From (8) it follows that vd + α2 < 1 + α2 − W (k) and hence the set defined by (19) is not empty. Inequalities (5) and (7) imply that vd + α2 > 0 and therefore from (19), ε(k) > 0, so one can rewrite (12) as (15). Let us prove that from (19) the following inequality holds ε(k) + W (k) − (α2 + α1 ) − 1 ≤ (α2 − α1 ) + 1 . (20) 2 2 2 2
Indeed, from the second inequality of (19) it holds that
(α2 + α1 ) 1 (α2 + α1 ) 1 − ≤ 1 + α2 − − 2 2 2 2 (α2 − α1 ) 1 + . (21) = 2 2 ε(k) + W (k) −
Now, from the first inequality of (19) one concludes that (α2 + α1 ) 1 − 2 2 (α2 + α1 ) 1 > vd + W (k) + α2 − − 2 2 (α2 − α1 ) 1 = vd + W (k) + (α2 − α1 ) − − 2 2 (5) (α2 − α1 ) 1 > vd + W (k) − − 2 2 (8) (α2 − α1 ) 1 > − − . 2 2
∆Vk = −Vk .
(19)
ε(k) + W (k) −
(28)
Case 4: Let ε(k) satisfy the following inequality ε(k) < −1 + α1 − W (k).
(29)
Considering (29) and (8) it follows that (5)
ε(k) < vd + α1 − 1 < 0
(30)
and, hence, ∆Vk is given by (26). Following the similar procedure as in Case 1, from (26) and (29) it yields that (α2 + α1 ) 1 (α2 − α1 ) ∆Vk = max −ε(k) − W (k) + − − 2 2 2 1 (29) − , 0 − Vk = −ε(k) − W (k) − 1 + α1 − Vk . (31) 2 Now, from (11) let us rewrite Vk as (α2 − α1 ) 1 (32) Vk = max ε(k) − vd − α1 − + 2 2 (α2 − α1 ) 1 (5,30) − − ,0 = −ε(k) + vd − 1 + α1 . 2 2
(22)
Combining (31) and (32) yields (8)
Combining (21) and (22) one concludes that (20) holds. Substituting (20) into (15) yields ∆Vk = −Vk .
(23)
Case 3: Let ε(k) satisfy the following inequality −1 + α1 − W (k) ≤ ε(k) < vd + α1 − 1.
(24)
From (8) it follows that the set defined by (24) is not empty. Here, from the second inequality of (24) (5)
(6)
ε(k) < vd + α1 − 1 < vd + α2 − 1 < 0 and, therefore, from (12) it follows that
(25)
∆Vk = −(vd + W (k)) < 0.
(33)
Summarizing the 4 cases, we have shown that for the Lyapunov function given by (11) its ∆Vk is defined as: −1 + vd + W (k) < 0, Case 1; Case 2; −Vk , ∆Vk = −Vk , Case 3; −(vd + W (k)) < 0, Case 4; −Vk , otherwise.
Thus, we have proven the uniform ultimate boundedness for the solutions of (4), presented in (9) and (10).
3. A LINE OF MACHINES 3.1 Flow Model
M1
y1
yj-1 Bj
Mj
yj Bj+1
MN
yN
Thus, we can rewrite the flow model (34), (35) in a closedloop with (36), (37) as
Fig. 1. Schematics of a line of N manufacturing machines with machines M, buffers B, and infinite product supply. The flow model of a manufacturing line is presented in this section (Fig. 1). Here the previous control strategy is modified with respect to the number of buffers and machines present in the line. A new limitation such as desired buffer content is considered in the model. The flow model of the manufacturing line is defined as y1 (k + 1) = y1 (k) + β1 (k),
(35)
In order to give a solution to the demand tracking problem we propose the following control inputs: uj (k) = sign+ (εj+1 (k) + (wdj+1 − wj+1 (k))), ∀j = 1, . . . , N − 1, (36) (37)
where wdj+1 is the desirable buffer level of buffer j + 1 and εj+1 is the tracking error of machine j + 1. The tracking error of each machine is given by: εj (k) = εj+1 (k) + (wdj+1 − wj+1 (k))
(38)
εj (k) = yd (k) − yj (k) + wdj+1 + . . . + wdN , j = 1, . . . , N − 2 εN −1 (k) = yd (k) − yN (k)
∆εj (k) = vd + ∆ϕ(k) − (sign+ (εj (k)) + fj (k))signBuff (wj (k) − βj (k)),
(42)
where ∆εj (k) = εj (k + 1) − εj (k) ∀j = 1, . . . , N . Here, it is important to notice that all the machines have the equivalent processing speed of 1 lot per time unit and the buffer capacity condition is considered as (43)
3.2 Tracking error trajectory analysis In this section we provide the necessary conditions under which the solutions of (41), (42) satisfy Theorem 1. Let us use (38), (39) and (43) in order to derive the following tracking errors condition εj (k) − εj−1 (k) ≥ βj (k) − wdj ∀j = 2, . . . , N.
(44)
The complete analysis of manufacturing line will be given in the forth coming paper. In this paper we omit the proof of (44) and consider that this condition is satisfied, meaning that buffer content wj (k) of each buffer j has always sufficient products. Thus, we can rewrite (41), and (42) as ∆εj (k) = vd + ∆ϕ(k) − (sign+ (εj (k)) + fj (k)),
(45)
where j = 1, ..., N . Now, by applying Theorem 1 to each machine j described by flow model (45) we obtain the following bounds on solutions of (41), and (42):
k→∞
lim inf εj (k) ≥ vd + α1 − 1, k→∞
εN −1 (k) = yd (k) − yN −1 (k) + wdN , εN (k) = yd (k) − yN (k).
(41)
lim sup εj (k) ≤ vd + α2
+ (wdN − yN −1 (k) + yN (k)), εN −1 (k) = εN (k) + (wdN − wN (k)),
− (sign+ (ε1 (k)) + f1 (k)),
wj (k) ≥ βj (k) ∀j = 2, . . . , N.
where yj is the output of the machine j, wj = yj−1 − yj is the buffer content of the buffer j, βj (k) = uj (k) + fj (k) ∀j = 1, . . . , N , fj is the external disturbance affecting the machine j, uj is the control input of the machine j and signBuff (wj − βj (k)) = (1, if wj − βj (k) ≥ 0|0, otherwise).
uN (k) = sign+ (yd (k) − yN (k)),
∆ε1 (k) = vd + ∆ϕ(k)
(34)
yj (k + 1) = yj (k) + (βj (k))signBuff (wj (k) − βj (k)), j = 2, . . . , N,
wdj+1 . This means, that every upstream machine needs to manufacture wdj+1 lots more than the downstream one. The wd is introduced in order to prevent downstream machines from lot starvation (for example, in case of a sudden growth of the product demand).
(39) (40)
It follows from (40) that the error of machine N is defined exactly as for the single machine case. The buffer limitation, as seen from (35), is the only difference in the flow model of machine N with the flow model of (1). For (38), (39) the new considerations are applied for the tracking error of each machine j, where j = 1, ..., N − 1. Thus, tracking error εj (k) depends on number of produced products yj (k) with respect to current demand yd (k) plus the desired buffer content of each downstream buffer
where α1 and α2 satisfy conditions (5), (6) for each machine j. 4. SIMULATION RESULTS 4.1 One machine Simulation results for one manufacturing machine, driven by the variable structure regulator (3), are presented in this section. For all the simulation results the machine processing speed was fixed to 1 lot per time unit and the initial conditions (yd0 , y(0)) were set to the zero value.
0.6 0.4 0.2 0 −0.2 −0.4 −0.6 0
50
100
150
200 Time [s]
250
300
350
400
Fig. 5. Tracking Error, with vd = 0.6 and ϕ(k) = 0.2 sin(k).
8
In conclusion the simulation results reflect the expected flow model behavior for all the product demands that are given in this section. These product demands were selected in order to test the model behavior inside the boundary of the given capacity condition (8).
7 6 5 [lot]
0.8
Tracking Error [lot]
The results from Fig. 2 and 3 show that output y(k) follows product demand yd (k) with tracking error ε(k) bounded by 0.2 ≥ ε(k) ≥ −0.6 lots. This error is generated due to the machine production speed limit of 1 lot per time unit with demand yd (k) of 0.2 lots per time unit. This means that after the first time step demand signal yd (k) is 0.2 lots higher than output y(k). For that, the control responds with authorization for a first lot which is generated in the next time step. Thus, the current output is 0.6 lots higher than the current demand. Then for the next 4 time steps the machine remains idle which is when the demand grows to 1.2 lots. Now the machine is activated and the process is repeated.
4 3
4.2 Line of 4 machines
2 yd y
1 0 0
5
10
15
20 Time [s]
25
30
35
40
Fig. 2. Demand vs Output, vd = 0.2.
M1
y1 B2
M2
y2 B3
M3
y3
B4
M4
y4
Fig. 6. Schematics of a line of 4 manufacturing machines with machines M, buffers B, and infinite product supply.
0.6 0.4 Tracking Error [lot]
Simulation results for a line of 4 manufacturing machines (Fig. 6), driven by the variable structure regulators (36), and (37), using χ (Beek et al. (2006); Man and Schiffelers (2006)) are presented in this section.
0.2 0 −0.2 −0.4 −0.6 −0.8 0
50
100
150
200 Time [s]
250
300
350
400
Fig. 3. Tracking Error, vd = 0.2.
The tracking error of Machine 4 is depicted in Fig. 8. The initial conditions (yd0 , y1 (0), y2 (0), y3 (0), y4 (0)) were set to the zero value. After the first 15 time steps, as shown in Fig. 7 and Fig. 8, the system reaches its steady state where the tracking error is maintained inside the [-0.45,0.95] lots bound. The wip (work-in-process) level corresponds to the sum of the desired buffer content of each buffer, which is of 1 lot per buffer.
Fig. 4 and 5 show the tracking error and the output response to the nonlinear demand growth. Here the product demand yd (k) = 0.6k + 0.2 sin(k). The resulting tracking error is bounded by 0.8 > ε(k) > −0.6 lots.
18 16 14 12 [lot]
15
10 8 yd y4 y3 y2 y1
6 10
4
[lot]
2 0 0 5
5
10
Time [s]
15
20
10 Time [s]
15
20
Fig. 7. Outputs yj (k) vs. Demand yd(k), with vd = 0.75 and ϕ(k) = 0.1 sin(2k).
yd y 0 0
5
25
Fig. 4. Demand vs. Output, with vd = 0.6 and ϕ(k) = 0.2 sin(k).
Considering the same initial conditions for the line and demand yd(k) = 0.5k the output response and the tracking error of Machine 4 are depicted in Fig. 9 and 10. Here it is noticeable that the output of Machine 4 attains the current
maintained between 0 and 0.5 lots (Fig. 10). Similar to the previous case the wip level of the line is maintained at 3 lots.
Output Tracking Error [lot]
2.5 2
In conclusion the simulation results reflect the expected flow model behavior for all the product demands that are given in this section. These product demands were selected in order to test the model behavior inside the boundary of the given capacity condition (8).
1.5 1 0.5 0
−0.5 0
5. CONCLUSIONS 50
100
150
200 Time [s]
250
300
350
400
Fig. 8. Tracking Error ε4 (k), with vd = 0.75 and ϕ(k) = 0.1 sin(2k). demand trajectory in less than 8 time steps. The bounds for the tracking error, depicted in Fig. 10, are generated due to the step response of Machine 4. Each time step the demand grows 0.5 lots. After several time steps output y4 of the line manages to reach the current demand and in consequence in a certain point ε4 (k) = 0 lots. Now, on the next time step the current product demand grows to 0.5 lots meaning that ε4 (k) = 0.5 lots. In order to compensate this tracking error, Machine 4 responds with a new lot on the following time step but now the product demand is 0.5 lots more meaning that ε4 (k) = 0 lots. 14
REFERENCES
12
Alvarez-Vargas, R., Dallery, Y., and David, R. (1994). A study of the continuous flow model of production lines with unreliable machines and finite buffers. Journal of Manufacturing Systems, 13(3), 221234. Andrievsky, B., Pogromsky, A., and Rooda, J. (2009). Observer-based production control of manufacturing machines. In Multi-conference on Systems and Control. St. Petersburg, Russian Federation. CD-ROM. Beek, D.A.v., Man, K.L., Reniers, M.A., Rooda, J.E., and Schiffelers, R.R.H. (2006). Syntax and consistent equation semantics of hybrid Chi. Journal of Logic and Algebraic Programming, 68(1-2), 129–210. Dallery, Y. and Gershwin, S. (1992). Manufacturing flow line systems: a review of models and analytical results. Queueing Systems, 12, 3–94. Gershwin, S. (1989). Hierarchical flow control: a framework for scheduling and planning discrete events in manufacturing systems. In Proceedings of the IEEE, volume 77, 195–209. Kommer, A., Pogromsky, A., Andrievsky, B., and Rooda, J. (2009). Discrete-event implementation of observerbased feedback control of manufacturing system. In Multi-conference on Systems and Control. St. Petersburg, Russian Federation. CD-ROM. Man, K.L. and Schiffelers, R.R.H. (2006). Formal Specification and Analysis of Hybrid Systems. Ph.D. thesis, Eindhoven University of Technology. Pogromsky, A., Andrievsky, B., Kommer, A., and Rooda, J. (2009). Decentralized feedback control of manufacturing machines. In 35th Conference of the IEEE Industrial Electronics Society (IECON). Porto, Portugal. CDROM.
[lot]
10 8 6 yd y4 y3 y1 y2
4 2 0 0
5
10 Time [s]
15
20
Fig. 9. Outputs yj (k) vs. Demand yd(k), with vd = 0.5, ϕ(k) = 0 and yd0 = 0. 1.5
Output Tracking Error [lot]
A control technique has been proposed in order to give a solution to the demand trajectory tracking problem. In order to follow the product demand the variable structure controllers were introduced to the flow models of one and a line of manufacturing machines. The uniform ultimate boundedness was proven for the tracking error trajectories of one machine working under unknown bounded perturbations. As well as, sufficient conditions were given in order to show the uniform ultimate boundedness of the tracking errors trajectories for a line of machines under the assumption that the processing speeds are equal for all the machines. Various simulations were presented and discussed in order to support this analytical results. The simulation results showed the effectiveness and robustness of the flow models.
1
0.5
0 0
50
100
150
200 Time [s]
250
300
350
400
Fig. 10. Tracking Error ε4 (k), with vd = 0.5, ϕ(k) = 0 and yd0 = 0. Thus, for the next time step, Machine 4 stays idle while the current demand grows to 0.5 lots. Then, in order to follow the product demand, Machine 4 produces one more lot which is out on the next time step and the tracking error is again at 0 lots. As a result, the tracking error is