2048
IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 50, NO. 12, DECEMBER 2005
Algebraic Approaches for Fault Identification in Discrete-Event Systems Yingquan Wu and Christoforos N. Hadjicostis Abstract—In this note, we develop algebraic approaches for fault identification in discrete-event systems that are described by Petri nets. We consider faults in both Petri net transitions and places, and assume that system events are not directly observable but that the system state is periodically observable. The particular methodology we explore incorporates redundancy into a given Petri net in a way that enables fault detection and identification to be performed efficiently using algebraic decoding techniques. The guiding principle in adding redundancy is to keep the number of additional Petri net places small while retaining enough information to be able to systematically detect and identify faults when the system state becomes available. The end result is a redundant Petri net embedding that uses 2 additional places and enables the simultaneous identification of 2 1 transition faults and place faults (that may occur at various instants during the operation of the Petri net). The proposed identification scheme and has worst-case complexity of ( ( + )) operations where are respectively the number of transitions and places in the given Petri net. Index Terms—Algebraic decoding, discrete-event systems (DESs), fault detection and identification, Petri nets.
I. INTRODUCTION A commonly used approach to fault diagnosis in dynamic systems is to introduce analytical redundancy (characterized in terms of a parity space) and diagnose faults based on parity relations [1], [2]. The methodology in [3] uses a similar idea to monitor faults in discrete-event systems (DESs) that can be modeled by Petri nets [4], [5]. This approach encodes the state (marking) of the original Petri net by embedding it into a redundant one in a way that enables the diagnosis of faults in the Petri net transitions and/or places via linear parity checks on the overall encoded state of the redundant Petri net embedding. Place faults are associated with conditions that cause the corruption of the number of tokens in a certain place of the Petri net whereas transition faults are associated with conditions that prevent tokens from being removed from (deposited at) the input (output) places of a particular transition. In this note, we consider fault identification in a Petri net where activity (transition firing) is unobservable but the state (Petri net marking) is periodically observable. More specifically, at the end of a period we observe the final state (marking) of the redundant Petri net embedding and, based on this information, we aim at detecting and identifying faults that may have occurred during this period. To achieve this, we construct redundant Petri net embeddings in which the identification of multiple and mixed (transition and/or place) faults, even when certain state information is missing, can be done systematically via algebraic coding/decoding techniques. Apart from fault detection and identification guarantees, our goal in choosing an appropriate redundant Petri
Manuscript received September 15, 2003; revised February 2, 2005. Recommended by Associate Editor R. Boel. This material is based upon work supported in part by the National Science Foundation under NSF Career Award 0092696 and NSF ITR Award 0085917, and in part by the Air Force Office of Scientific Research under Award AFOSR DoD F49620-01-1-0365URI. Any opinions, findings, and conclusions or recommendations expressed in this publication are those of the authors and do not necessarily reflect the views of the NSF or the AFOSR. The authors are with the Coordinated Science Laboratory and the Department of Electrical and Computer Engineering, University of Illinois at Urbana-Champaign, Urbana, IL 61801–2307 USA (e-mail:
[email protected]). Digital Object Identifier 10.1109/TAC.2005.860249
net embedding is to keep the amount of redundancy (as indicated by the number of additional places/sensors) small. As we show in this note, the use of a redundant Petri net embedding with 2k additional places (and the connections and tokens associated with them) allows the simultaneous identification of up to 2k 0 1 transition faults and up to k place faults. The worst-case complexity of the fault identification procedure involves O(k(m + n)) operations where m and n are the number of Petri net transitions and places, respectively. The identification procedure is based on algebraic techniques, such as traditional decoding methods (e.g., Berlekamp–Massey decoding [6]) and more recently developed methodologies for solving systems of composite power polynomial equations [7]. Note that the efficiency in the identification process comes at the cost of adding redundancy into the original Petri net—in the form of additional places (sensors) and the connections (acknowledgments) associated with them. This redundancy is chosen strategically so as to guarantee diagnosability and enable fast detection and identification. II. PROBLEM FORMULATION The functionality of a Petri net S is best described by a directed, bipartite graph with two types of nodes: places (denoted by fP1 ; P2 ; . . . ; Pn g and drawn as circles) and transitions (denoted by fT1; T2; . . . ; Tm g and drawn as rectangles). Weighted directed arcs connect transitions to places and vice versa. The arc weights have to be nonnegative integers (we use b0 ij to denote the weight of the arc from place Pi to transition Tj and b+ lj to denote the weight of the arc from transition Tj to place Pl ). Places function as storage locations for tokens (drawn as black dots). If s [t] denotes the state/marking of the Petri net at time epoch t (i.e., it indicates the number of tokens in each place of the Petri net at time 4 ] (respectively, + = 4 [b+ ]) denotes the n 2 m epoch t) and 0 = [b0 ij ij 0 + matrix with bij (respectively, bij ) at its ith row, j th column position, then the state evolution of Petri net S is captured by
q
B
B
q [ + 1] = q [ ] + B+ x[ ] 0 B0 x[ ] = q [ ] + Bx[ ] (1) 4 where B = B+ 0 B0 and the input vector x[ ] 2 ( + ) indicates the transitions that take place (fire) at time epoch . The input vector x[ ] s t
s t
t
t
s t
t
m
t
t
t
is usually assumed to be a unit vector with a single nonzero entry at its j th position indicating that transition Tj has fired. Note that transition 0 (:; j ) (where the Tj is enabled at time epoch t if and only if s [t] 0 (:; j ) denotes the j th column inequality is taken element-wise and of 0 ). We consider two types of faults that may occur in a Petri net. i) A transition fault models a fault in the mechanism that implements a certain Petri net transition. We say that transition Tj has a postcondition fault if no tokens are deposited at its output places (even though the tokens from its input places are consumed). Similarly, we say that transition Tj has a precondition fault if the tokens that are supposed to be removed from the input places are not removed (even though tokens are deposited at the corresponding output places). As will be shown shortly, each postcondition fault can be indicated by an error of “+1,” whereas each precondition fault can be indicated by an error of “01;” thus, in terms of coding theory terminology, transition faults are measured under the Lee distance metric [6]. ii) A place fault models a fault that corrupts the number of tokens in a single place of the Petri net. Note that place faults are measured in terms of the number of faulty places, independent of the number of erroneous tokens in each faulty
B
0018-9286/$20.00 © 2005 IEEE
B
q
B
IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 50, NO. 12, DECEMBER 2005
place. Thus, in terms of coding theory terminology, place faults are measured under the Hamming distance metric [6]. Note also that, when state information from a certain place is unobservable or missing, one can treat this situation as an erasure [6]. Clearly, a precondition (postcondition) fault on a transition that has nT input (output) places can also be treated as a combination of nT place faults. In order for the fault identification algorithm to be able to resolve such conflicts, we aim at determining the minimum number of transition and/or place faults that explain the behavior observed in the Petri net. The underlying assumption in this formulation is that the most likely explanation is the one that involves the minimum number of faults (as would be the case if all transition and/or place faults are equally likely and independent). Note that multiple faulty firings of the same transition are allowed in our model (but count toward the maximum number of transition faults that we can tolerate). We assume that the firing of transitions in the redundant Petri net is not directly observable while the Petri net marking is periodically observable. We aim to identify faults based on the observed marking at the end of a period. We use the term “nonconcurrent” to capture the fact that diagnosis is performed over a period of several time epochs, in this case once every N time epochs. We assume that within the epoch interval [1; N ], each transition may suffer possibly multiple precondition or postcondition faults, but not both (actually, if a particular transition suffers both a pre-condition and a postcondition fault within [1; N ], their effects will be canceled, making their nonconcurrent detection impossible). III. FAULT IDENTIFICATION The operations involved in the Petri net state evolution in (1) are regular integer operations. The proposed fault identification schemes, however, will actually be performed based on operations in a finite field due to the simplicity of the resulting identification algorithm. More specifically, our identification algorithms will operate in GF(p), the finite field of order p where p is prime: GF(p) consists of the set f0; 1; 2; . . . ; p 0 1g with all arithmetic operations taken modulo p. Due to page limitations, we omit most mathematical derivations regarding assertions about fault identifiability and the identification procedure. The readers who are interested in these mathematical details are referred to [7], [8] for the analysis of transition faults, and to [6] for the analysis of the identification procedure for place faults. A. Redundant Petri Net Embeddings
The identification of faults in a given Petri net S can be facilitated by the construction of a redundant Petri net embedding H [3]. More specifically, d places are added to the original Petri net S to form a composite Petri net H whose state (marking) qh [t] is -dimensional ( = n + d; d > 0) and under fault-free conditions satisfies
q h [t] =
In q [t] C s
(2)
for all time epochs t. Here, qs [t] is the state of the original Petri net S ; In denotes the n 2 n identity matrix and C is a d 2 n integer matrix to be designed. In order to guarantee that (2) remains valid for all t, the state evolution of H is chosen to be of the form
qh [t + 1] = qh [t] +
B+ x [t] CB+ 0 D
B
0
B0 x[t] (3) CB0 0 D
B
2049
where D is a d 2m integer matrix, also to be designed. The d additional places together with the n original places comprise the places of the redundant Petri net embedding H. A valid (redundant) marking/state 4 can be checked by using the parity check matrix P = [0C Id ] to verify that the syndrome
4
s[t] = Pqh [t] = [0C Id ]
In q [t] = 0 : C s
(4)
In [3], it is shown that if matrices C and D have integer nonnegative entries and satisfy CB+ 0 D 0 and CB0 0 D 0 (element-wise), then a properly initialized redundant Petri net embedding H (i.e., one that satisfies (2) at t = 0) admits any firing sequence that is admissible in the original Petri net S . B. Identification of Transition Faults Recall that within the epoch interval [1; N ] each transition may suffer multiple precondition or postcondition faults, but not both. Let +m e+ T 2 ( ) denote an indicator vector of postcondition faults and 0 + eT 2 ( )m denote an indicator vector of pre-condition faults within the epoch interval [1; N ]. Assuming no place faults, the erroneous state qf [N ] at time epoch N is given by
qf [N ] = qh [N ] 0 B+ e+T + B0 e0 T
(5)
where qh [N ] is the state that would have been reached under fault-free conditions. The fault syndrome at time epoch N is then
sT [N ] = [0C Id ](qh [N ] 0 B+ e+T + B0 e0 T) B+ = [0C Id ] qh [N ] 0 e+ CB+ 0 D T B0 + e0 CB0 0 D T and is easily calculated to be
sT [N ] = DeT
(6)
4
0 where eT = e+ T 0 eT . Clearly, the identification of transition faults based on the syndrome sT [N ] is completely determined by matrix D. Note that a transition fault corresponds to a Lee (“61”) error [6], with “+1” meaning a single postcondition fault and “01” meaning a single precondition fault as indicated by (6). Let D take the form 1
4
Dk+1 =
1
1
1 2 3 21 22 23
.. . k
1
.. . k
2
.. . k
3
... ... ...
..
.
...
1
m 2m .. . km
(7)
where 1 ; 2 ; . . . ; m are m distinct nonzero elements in GF(p) (note that this requires p > m) and ji is exponentiation in GF(p) (the subscript “k+1 ” is used to indicate the row dimension of D, which corresponds to the number of additional places). When up to k transition faults (i.e., “61” errors) occur, [7, Prop. 3(i)] indicates that the syndrome sT = [s0 s1 s2 . . . sk ] is nonzero and uniquely determines those erroneous locations. Furthermore, by adopting the approach in [7], we can identify up to k transition faults with complexity of O(km) operations. The details of translating these results to the set-up here can be found in [8]. Note that matrix C does not directly enter the development here and we consider it later when we discuss the identification of place faults.
2050
IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 50, NO. 12, DECEMBER 2005
Note that, for k = 1, the first row of matrix thus, we only need
D1 =4 (1; 2; . . . ; m);
D in (7) is redundant;
k = 1:
(8)
For k = 2, the first row is again redundant. This is justified by the fact that the equations x1 x2 + x3 and x21 x22 + x23 do not have a nonzero (nontrivial) solution in GF(p); thus, there is no confusion about the number of faults. Therefore, for k = 2, we can use the following matrix :
D
D2
4 =
1
2
3
...
1
2
3
...
2
2
m m2
mod
p;
k = 2:
(9)
To transform our problem to the algebraic decoding problem in (13), we make the reasonable assumption that the number of erroneous tokens in a place is bounded. More specifically, we assume that eP , the erroneous number of tokens in place Pi , is within the interval [0(p 0 1=2); (p 0 1=2)]. Under this assumption, eP can be interpreted to fall within [0; p 0 1] in GF(p) (by naturally mapping eP to [eP mod p]). The transformation from (11) to (13) can be achieved by setting d = 2k , and = n + 2k and by enforcing the transformation
H2k = 8[0C~ I2k ] 8
We now focus on the identification of place faults under the assumption of no transition faults. Let the place faults within the time epoch interval [1; N ] result in a corrupted state
q
e
e
e
sP [N ] = [0C Id ](qh [N ] + eP ) = [0C Id ]eP
(11)
i.e., the identifiability of place faults is exclusively determined by matrix . We next associate the design of matrix with well-known algebraic decoding techniques. Let 2k be defined as
C
C
H
H2k =
1 21 31 .. .
2 22 32 .. .
3 23 33
... ... ...
.. .
21k 22k 23k
..
.
...
01 201 2 301 3 .. .
(12)
.. .
2k01 2k
where 1 ; 2 ; . . . ; are distinct nonzero elements in GF(p) (note that this requires p > ).1 It is well-known that syndrome in the form
s
s = H2k e
(13)
e
e
uniquely determines as long as the Hamming weight of is up to k (cf. [6]). Furthermore, the Berlekamp–Massey algorithm can be used to identify up to k Hamming errors with computational complexity of O(k) operations (cf. [6]). Note that, in the case of place faults, the syndrome in (12) is a linear combination of columns of 2k where the weights with which columns are combined are arbitrary integers; in the case of transition faults, however, the syndrome in (7) is a linear combination of columns of k+1 where the weights with which columns are combined are restricted to be 61. Since the all “1’s” row that is present in k+1 is not useful for the Berlekamp–Massey algorithm, it is not included in the construction of 2k .
H
D
D
8 =4
H
1The code whose parity check matrix is defined by (12) is called a Reed–Solomon code whereas the code whose parity check matrix is defined by (7) is called an extended Reed–Solomon code (cf. [6]).
H
n+1 n+2 n+3 2n+1 2n+2 2n+3 3n+1 3n+2 3n+3 .. .
.. .
.. .
2nk+1 2nk+2 2nk+3
(10)
where h [N ] is the state that would have been reached under fault-free transitions and P 2 denotes the (accumulated) place fault vector. Note that P is an dimensional vector and can model faults on all places of the Petri net, including the redundant ones. We are interested in identifying up to k place faults, which implies that P has Hamming weight up to k . The place fault syndrome is given by
(14)
where the multiplication and inversion operations are defined in GF(p) and matrix denotes the last 2k columns of 2k
C. Identification of Place Faults
q f [N ] = q h [N ] + e P
P2k = 801H~ 2k
or
8 CI
... ... ...
..
.
...
01 201 2 301 3 .. .
.. .
:
(15)
2k01 2k
Note that forms a nonsingular Vandermonde matrix. Clearly, if we set = [0 ~ 2k ] = 01 2k (by interpreting the entries as integer entries in [0; p 0 1], i.e., by inverting the natural mapping mentioned above), then we can easily convert (11) to the decoding problem (13). By taking both sides of (11) modulo p we obtain
P
8 H
sP [N ] = Pqf [N ] = [0C~ I2k ]eP ) 8sP [N ] H2k eP where the symbol “” denotes equality modulo p. To efficiently identify k place faults, we pre-process the syndrome P [N ] = 2k P by (left) multiplying by matrix , i.e., we obtain the modified syn4 0 drome 0P [N ] = P [N ], which satisfies P [N ] 2k P and can be solved efficiently for P using the Berlekamp–Massey algorithm. The complexity of the identification procedure is O(k ) operations [6]. When a few places are unobservable, we can set the number of tokens in the unobservable places to zero2 and apply error-and-erasure decoding which is again empowered by the Berlekamp-Massey algorithm (cf. [6]). In such a case, the error correction capability is characterized by f + 2t 2k , where f denotes the number of unobservable places and t denotes the number of place faults (among observable places).
s
8s
8
e
s
s
P e
H e
D. Simultaneous Identification of Transition and Place Faults In this section, we show that with 2k additional places it is possible to simultaneously identify 2k 0 1 transition faults and k place faults. As in the previous sections, we assume that no transition suffers simultaneous precondition and postcondition faults during the epoch interval [1; N ] and that the number of erroneous tokens added to or subtracted from each place does not exceed +(p 0 1)=(2). By combining (6) and (11), we have the following fault syndrome at time epoch N :
s[N ] = P(qh [N ] 0 B+ e+T + B0 e0T + eP ) = DeT + PeP :
(16)
Recall that the identification schemes for transition faults and place faults that we presented earlier were essentially based on operations in 2Essentially here we are treating a place whose number of tokens is unobservable as an erasure [6].
IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 50, NO. 12, DECEMBER 2005
2051
GF(p) (modulo p operations). To identify both types of faults simultaneously, the key idea is to incorporate regular integer operations into and , as well as in the identification prothe design of matrices cedure (note that the marking consists of nonnegative integers rather than elements in GF(p)). For notational simplicity, we ignore the subscript “2k ” in the sequel. Let p be a prime number larger than both m and , and let follow the design in (7) and be chosen such that 4 3 and 3 by =[ ] (mod p) satisfies (14). Define
D
C
D
P C I
D
C
P
D3 =4 0p 1 D C3 =4 p 1 1 0 C P3 =4 [0C3 I] = [C 0 p 1 1 I] 1
(17) (18)
where is a 2k 2 n matrix with all entries being 1. Note that the design in (17) and (18) satisfies 3 > ; 3 < (element-wise). This guarantees that the marking of the additional places 3 s [ 1 ] is nonnegative and that the arc weights associated with the additional places (given by 3 0 0 3 and 3 + 0 3 ) are nonnegative. It is possible, however, that after the occurrence of a fault some firings that are enabled in the original Petri net become disabled in the redundant Petri net embedding due to the (erroneous) marking of the additional places. Clearly, this is not an issue if the enabling and disabling of transitions is not influenced by the number of tokens in the additional places. Even when the additional places function as controllers (as in [9], for instance), this problem can be avoided in straightforward ways (e.g., by adding a sufficiently large number of extra tokens to each additional place and ignoring this extra number of tokens when performing parity checks at the end of time epoch N ). We now address the identification procedure. Clearly, the syndrome 4 3 [N ] at time epoch N satisfies [N ] = f
Cq
s
CB
D
C
0D
CB
D
0
Pq
sP s[N ] [C I]eP (mod p): (19) By left multiplying by 8 on both sides of (19), we obtain the modified
Fig. 1. Petri net model of a manufacturing system with three machines and three robots.
(utilizing our developments in this section), then when a transition associated with a shared place fires in subsystem Si , its effect on the other subsystems Sj ; j 6= i, will be treated as a place fault in the shared place. One way to overcome this limitation is to compensate for the fault syndrome in each subsystem Sj ; j 6= i, by appropriately adjusting the number of tokens in its additional places. Note that the decomposition of a Petri net into subsystems with disjoint sets of transitions and shared places is essentially an arbitrary assignment of transitions into subsystems; a good choice, however, would be one that minimizes the interactions between the transitions of one subsystem and the places of another. This would be the case, for example, if the number of shared places is small. More details can be found in [8].
syndrome
s0P =4 8sP 8[C I]eP HeP (mod p):
(20)
When k or less place faults occur, they can be identified by the Berlekamp-Massey algorithm based on 0P . Once the place faults have been successfully identified and P has been obtained, we can compute
e
s
sT =4 (s[N ] 0 P3 eP )=p = (D3 =p)eT = 0DeT
(21)
which immediately enables us to identify up to 2k 0 1 transition faults using the algorithm discussed in the previous section (note that the symbol “=” denotes integer equality). Overall, the identification of place faults requires O(k ) = O(k2 + kn) operations and the identification of transition faults requires O(km) operations; thus, the entire identification complexity is O(k(m + )) operations. Note that in the approach presented previously the identification of transition and place faults is essentially separated. As a result, no matter how many transition faults occur, place faults are always identifiable, as long as no more than k place faults happen. E. Distributed Fault Identification Consider a Petri net which can be conveniently decomposed into a set of M interacting subsystems fS1 ; S2 ; . . . ; SM g that have disjoint sets of transitions and share (a small number of) places. If we design a redundant Petri net embedding for each of the subsystems separately
IV. EXAMPLE The Petri net shown in Fig. 1 appears in [10] and represents the control logic for three machines and three robots. There are twelve transitions (i.e., m = 12) and eighteen places (i.e., n = 18). The initial marking of the Petri net, as indicated in Fig. 1 by the number of tokens in each place, is
qs [0] = (1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0)T : We describe the details for a fault diagnosis scheme in which we aim to simultaneously detect and identify two transition faults and one place fault. We assume that the number of faulty tokens in any place is bounded by [05; 5]. By our development in Section III, we need two redundant places (d = 2) and, since the smallest prime number that it is greater than both m = 12 and = 18 + 2 = 20 is 23, we set p = 23. Following the construction in Section III, we obtain 3 ; ~ and 3 as in Fig. 2. The weights to (from) the redundant places from (to) the transitions in the original system (shown in Fig. 3 with dotted arcs) are given by matrices 3 + 0 3 and 3 0 0 3 which are also indicated in Fig. 2. Furthermore, the initial marking of the overall system is
D H
C
CB
D
CB
D
qh [0] = CI183 qs [0] = (1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 53 36)T : Assume that the applied firing sequence is T7 ; T1 ; T2 ; T8 ; T3 ; T9 , and that the following faults occur: A precondition fault in transition
2052
IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 50, NO. 12, DECEMBER 2005
Fig. 2. Matrices associated with the monitoring scheme for the system of Fig. 1.
Fig. 3. Fault detection and identification for the manufacturing system of Fig. 1 using a redundant Petri net embedding.
(during time epoch 3), a place fault that corrupts the number of tokens in P7 by +2 (during time epoch 5), and a post-condition fault in transition T9 (during time epoch 6). The sequence of markings is T2
T7 :
Fault-free
qf [1] = (1 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 1 1
T1 :
Fault-free
qf [2] = (0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1
T2 :
113
Fault-free
qf [4] = (0 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 1
T 3 : P7
T
74)
s
8s
8 H
C I q
De
s
Pe
D
D
T
58)
T
0 10 27 0 21 0 22 8
161)
121
T 156)
169
204)
corrupted by + 2
qf [5] = (0 1 0 1 1 0 2 0 1 0 0 0 0 0 1 1 2 1
T9 :
61
Precondition fault in T2
qf [3] = (0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1
T8 :
102
s
The resulting syndrome is [6] = [0 3 2 ] f [6] (5 21)T (mod 23) and, by left multiplying by , we obtain the modified place fault T [6] (mod 23) (16 13) . By inspecting the syndrome as 0P = punctured parity check matrix ~ , we easily identify place P7 as faulty with the erroneous number of tokens being +2. This is consistent with what took place during the operation of the system. Next, utilizing (21), 3 T we obtain T = 0( [6] 0 P )=23 = (7 8) (where is given by (9) with m = 12). We note that the above syndrome does not coincide with any column of 6 , so there must be two transition faults (if identifiable). We first consider the case of both faults undergoing precondition faults, which results in the following equation array: x
x
x
:
We quickly realize that there does not exist a proper solution. Similarly, we eliminate the possibility of both faults being postcondition faults. We then try the case of a precondition fault and a postcondition fault, which translates to solving
T
Postcondition fault in T9
qf [6] = (0 1 0 1 1 0 2 0 0 0 0 0 0 0 0 1 1 1 0 73 0 113)T
x
x1 :
2
x1
0 27 0 22 8 x x
:
IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 50, NO. 12, DECEMBER 2005
These equations are easily shown to have a unique solution with x1 = 9 and x2 = 2. Therefore, we conclude that transition T2 suffered a precondition fault and transition T9 suffered a postcondition fault, which is consistent with what took place during the operation of the system. Note that, during the operation of the redundant Petri net system in our example, the number of tokens in the additional places becomes negative (at time epoch 6). If the additional places function as controllers (as in [9]), then this implies that the firing of transition T9 during time epoch 6 would be inhibited in the redundant Petri net system but not in the original one. This issue can be avoided by adding a sufficiently large number of extra tokens to each redundant place (and ignoring this extra number of tokens when performing parity checks). V. CONCLUSION In this note, we have presented algebraic approaches to fault identification schemes in discrete event systems that are described by Petri nets. Our setting assumes that system events (transition firings) are not directly observable but that the system state (marking) is periodically observable, and aims at capturing faults in both Petri net transitions and places. To achieve this, we introduce redundancy and construct a redundant Petri net embedding whose additional places encode information in a way that enables error detection and identification to be performed using algebraic decoding techniques. Our approach does not need to reconstruct the various possible state evolution paths associated with a given discrete event system and the identification algorithm has low complexity. REFERENCES [1] J. Gertler, Fault Detection and Diagnosis in Engineering Systems. New York: Marcel Dekker, 1998. [2] E. Y. Chow and A. S. Willsky, “Analytical redundancy and the design of robust failure detection systems,” IEEE Trans. Autom. Control, vol. AC-29, no. 7, pp. 603–614, Jul. 1984. [3] C. N. Hadjicostis and G. C. Verghese, “Monitoring discrete event systems using Petri net embeddings,” in Application and Theory of Petri Nets 1999, ser. Lecture Notes in Computer Science, 1999, vol. 1639, pp. 188–207. [4] C. G. Cassandras and S. Lafortune, Introduction to Discrete Event Systems. Boston, MA: Kluwer, 1999. [5] T. Murata, “Petri nets: Properties, analysis and applications,” Proc. IEEE, vol. 77, no. 4, pp. 541–580, Apr. 1989. [6] R. E. Berlekamp, Algebraic Coding Theory, Revised ed. Laguna Hills, CA: Aegean Park, 1984. [7] Y. Wu and C. N. Hadjicostis, “On solving composite power polynomial equations,” Math. Comput., vol. 74, pp. 853–868, 2005. [8] , (2004) Algebraic approaches for centralized and distributed fault identification in discrete event systems. Coordinated Sci. Lab., Univ. Illinois Urbana-Champaign. [Online]. Available: Tech Rep: http://decision.csl.uiuc.edu/~chadjic/ [9] K. Yamalidou, J. Moody, M. Lemmon, and P. Antsaklis, “Feedback control of Petri nets based on place invariants,” Automatica, vol. 32, pp. 15–28, Jan. 1996. [10] R. Y. Al-Jaar and A. A. Desrochers, “Petri nets in automation and manufacturing,” in Advances in Automation and Robotics, G. N. Saridis, Ed. Greenwich, CT: JAI Press, 1990, vol. 2.
2053
Robust Boundary Control of an Axially Moving String by Using a PR Transfer Function Kyung-Jinn Yang, Keum-Shik Hong, and Fumitoshi Matsuno Abstract—In this note, a scheme for the vibration suppression of a translating string using a positive real (PR) transfer function is investigated. The transverse vibration of the string is controlled by hydraulic touchrolls located at the right end of the string. The mathematical model of the system, which consists of a hyperbolic partial differential equation (PDE) describing the dynamics of the moving string and an ordinary differential equation (ODE) for the actuator dynamics, is derived by using Hamilton’s principle for translating continua. The transfer function of the proposed boundary controller is a nonproper but PR function. The asymptotic stability of the closed-loop system in the presence of output disturbance is proved. Index Terms—Axially moving string, disturbance rejection, positive real (PR) function, robust boundary control, semigroup theory.
I. INTRODUCTION The control problem of axially moving continua occurs in such high performance mechanical systems as cranes, strips in a thin metal-sheet production line, high-rise elevators, chains and belts, high-speed magnetic tapes, and deployable robot arms. However, the applications of axially moving systems are limited because of undesirable vibrations in the lateral direction. An active vibration control becomes an important solution to reduce vibrations and thus improve performance in many of the axial transport processes. The published papers on the vibration control of axially moving strings include [1]–[3], and those on beams and belts include [4]–[7]. However, the control laws in most papers are derived either not considering the effect of actuator dynamics or considering the effect of mass only. In this note, an axially moving string with a hydraulic touch-roll actuator at the right boundary is specifically focused on. The use of a class of positive real transfer functions has been proposed for the stabilization and disturbance rejection of flexible structures in [8], [9]. However, the actuator dynamics proposed in [8], [9] are difficult to apply to axially moving flexible systems in which the actuator mechanism must operate with the moving structure. Also, the controller proposed in this work is more effective for disturbance rejection because the transfer function of the controller is not proper but positive real. In this note, a control-oriented model for axially moving strings with a hydraulic touch-roll actuator is derived. An implementable finite dimensional boundary control law incorporating the dynamics of the actuator is proposed. The transfer function of the controller is a PR function of the complex variable s and contains a pair of complex conjugate poles at s = 6j!1 ; !1 6= 0, provided that the residue corresponding to the poles is nonnegative. The closed-loop system coupled with a partial differential equation (PDE) and an ordinary differential equation Manuscript received May 11, 2004, revised September 20, 2004. Recommended by Associate Editor P. D. Christofides. The work of K.-J. Yang was supported by the Postdoctoral Fellowship Program of the JSPS, Japan. The work of K.-S. Hong was supported in part by the Research Center for Logistics Information Technology, Pusan National University, granted by the Korean Ministry of Education and Human Resources Development. K.-J. Yang and F. Matsuno are with the Department of Mechanical Engineering and Intelligent Systems, University of Electro-Communications, Tokyo 182-8585, Japan (e-mail:
[email protected];
[email protected]). K.-S. Hong is with the School of Mechanical Engineering, Pusan National University, Busan 609-735, Korea (e-mail:
[email protected]). Digital Object Identifier 10.1109/TAC.2005.860252
0018-9286/$20.00 © 2005 IEEE
2054
IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 50, NO. 12, DECEMBER 2005
The time derivative of Em (t) in (7) is now evaluated by applying the one-dimensional transport theorem of moving material (see [5]) as follows:
E_ m (t) =
@ E + vs "m jl0 @t m
(8)
where "m = [(vs wx + wt )2 + Ts wx2 ]=2. Integrating by parts with the use of fixed boundary conditions, w(0) = w(l) = 0, yields Fig. 1. Control-oriented model of the axially moving string with a hydraulic actuator.
E_ m (t) = 0vs Ts wx2 (0) + vs Ts wx2 (l):
(ODE) is analyzed through the use of the Lyapunov method to ensure the stability. The asymptotic stability of the closed-loop system holds without any constraint on !1 . We also consider the case in which the output of the controller is corrupted by disturbances.
From (9), it is seen that the transverse support force Ts wx at x = 0 on material particles with convective transverse velocity component vs wx decreases the mechanical energy, while that at x = l increases it [2]. Hence, it is concluded that for the traveling string, the string force occurring on the right boundary should be properly handled in order to decrease the mechanical energy Em (t).
(9)
II. PROBLEM FORMULATION: EQUATIONS OF MOTION Fig. 1 shows the considered axially moving string with a hydraulic touch roll actuator at the right boundary. Let t be the time, x be the spatial coordinate along the longitude of motion, vs be the axial speed of the string, w(x; t) be the transversal displacement of the string at spatial coordinate x and time t, and l be the domain length of the string span. Also, let be the mass per unit length, and Ts be the tension applied to the string. Let the mass and damping coefficients of the hydraulic actuator be mc and dc , respectively. The control force fc (t) is applied to the touch rolls to suppress the transverse vibrations of the translating string. Because the string travels at a constant speed vs , the derivative operator (material derivative) with respect to time is defined as
1 d( 1 )=dt = ( 1 )t + vs ( 1 )x
( )
(1)
where ( 1 )t = @ ( 1 )=@t and ( 1 )x = @ ( 1 )=@x. Now, by using Hamilton’s principle for translating continua (see [5]), the equations of motion and boundary conditions of the axially moving string are derived as
wtt + 2vs wxt + vs2 wxx = Ts wxx ; w(x; 0) = w0 (x) wt (x; 0) = wt0 (x) w(0) = 0 0fc (t) = mc wtt(l) + dcwt (l) + Ts wx (l)
0
0 for all > 0, and then that g() > 0 for all > 0 due to mc > 0. As shown in (16), the rational function g () is not proper; however, being proper is not a requirement for general PR function [10,
IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 50, NO. 12, DECEMBER 2005
p. 812], and for this reason g (s) in (16) can be called a (nonproper but) PR function. It is seen from the right boundary condition given by (15) that the input signal is the material velocity at x = l and the output is the transverse force at x = l. Using (15) as well as (3)–(4), the solution of (2) can be evaluated. Remark 2: The boundary control laws (10)–(12) are given in terms of velocity wt (l), slope wx (l), and slope rate wxt (l) at x = l. The slope rate wxt (l) can be implemented by the backward differencing of the signal of an encoder that measures the slope wx (l) on the actuator [3]. In the remainder of this section, the boundedness of all signals in the closed-loop system given by (2)–(5) and (10)–(12) is analyzed. To achieve the control objective, i.e., the asymptotic stability of the system, the convergence of the actuator displacement w(l) to zero should also be satisfied. Thus, the modification of Em (t) in (17) is pursued. Note that by (4) and Poincare’s inequality, there exists a positive constant 1 such that
l 0
w2 dx 1
l 0
wx2 dx forx 2 [0; l]:
(17)
2055
where the spaces L2 and HLk are defined as
L2 f
l 0
(wt + vs wx )2 dx + +mc
l 0
Ts wx2 dx
fwt(l) + vs wx (l)g2 + k2
12 + 22 : (18)
The functional V (t) in (18) is considered as a Lyapunov function candidate in order to show the stabilization of the closed-loop system. The last term in (18) has been added as a pseudoenergy to ensure that the desired final state
j
(w; w; _ w (l); wt (l); 1 ; 2 ) = (0; 0; 0; 0; 0; 0) desired
(19)
is the unique minimum of V (t) in (18). From (17), it is straightforward to confirm that the positive system parameters guarantee V 0 and that indeed the global minimum of V = 0 is attained only at the desired state in (19). By using (4)–(5), (8), and (10)–(12), the time derivative of the Lyapunov function candidate V (t) becomes
V_ (t) = 0vs Ts wx2 (0) 0 k1 (wt (l) + vs wx (l))2 0:
(20)
From (20), it is concluded that the positive definite functional V (t) in (18) is nonincreasing and is a Lyapunov function, because V_ (t) 0. Hence, it can be concluded that all the signals in the closed-loop system are bounded. In next section, the asymptotic stability of the closed loop system is proved. Further, the robustness of the boundary controller is analyzed through the effect on the output w_ (x; t)jx=l of the controller when the controller is corrupted by a disturbance. IV. STABILITY AND DISTURBANCE REJECTION In order to analyze the asymptotic stability of the closed-loop system, the state–space = is first defined as
=
T j w 2 H1 L
(w; w; _ w (l); wt (l); 1 ; 2 )
w_ 2 L2 ; w(l); wt (l) 2 R1 ; 2 2 R and w(0) = 0
(21)
l
! Rj
0
f 2 dx < 1
HLk ff 2 L2 j fx ; fxx ; . . . ; fx f (0) = 0g:
2 L2
and
In the space =, the inner product is defined as
hz; z0 i=
2
l
w_ w_ 0 dx +
0 + mc
l 0
Ts wx wx0 dx
fwt(l) + vs wx (l)gfwt0 (l) + vs wx0 (l)g 0
0
+ k2 (1 1 + 2 2 )
where
z
=
(22)
(w; w; _ w (l); wt (l); 1 ; 2 )
0 _ 0 ; w0 (l); wt0 (l); 10 ; 20 )T (w ; w
2 =.
T ; z0
=
It can be shown that =, together with the inner product given by (22), becomes a Hilbert space. Note that the norm induced by inner product (22) is equivalent to V (t) in (18), that is
Hence, a positive functional V (t), as the total energy of the moving string system including the actuator, is defined as 2 V ( t) =
: [0; l]
V (t) = hz; z i= = kz (t)k=2 :
(23)
By using (6), (10)–(11), and substituting (12) into (5), the closed-loop system can be written in the abstract form
z_ = Az;
z (0) 2 =
(24)
where the operator A : = ! = is a linear unbounded operator defined as
w w_ w (l ) A w t (l ) 1 2
w_ 01 Ts wxx w t (l ) 0mc01fTs wx (l) + mc vs wxt (l) + k1 w_ (x; t) jx=l + k2 2 g : !1 2 0!1 1 + w_ (x; t)jx=l
The domain D(A) of the operator A is defined as
D (A )
(w; w; _ w (l); wt (l); 1 ; 2 )
T j w 2 H2 ; L
w_ 2 HL1 ; w(l); wt (l) 2 R; 1 ; 2 2 R and w(0) = 0; mc wtt (l) + Ts wx (l) _ (x; t)jx=l + k2 2 = 0g : +mc vs wxt (l) + k1 w
The behavior of the solution z (t) of the closed-loop system (24) is summarized as follows. Theorem 1: Consider the system given by (24). Then i) the operator A : D(A) = ! = generates a C0 -semigroup of contractions T (t) on =;
2056
IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 50, NO. 12, DECEMBER 2005
the semigroup T (t) generated by A is asymptotically stable, that is, all solutions of (24) converge to zero as t ! 1. Proof: The theorem is proved by following the procedure in [8]. Since V_ (t) 0 in (20) and V_ (t) = hz; z_ i= = that A is dissipative. hz; Azi= from (23) and (24), it follows T _ w ~ w; ~ ~ (l); w ~ t (l ); x ~1 ; x ~2 ) 2 =. To show that Let z~ = (w; I 0 A : g ( 1 ) is onto for > 0, it should be shown that some T ~ z = (w; w; _ w (l); wt (l); 1 ; 2 ) 2 D (A) satisfying (I 0 A)z = z must exist for the given z~. The solution w( 1 ) of (I 0 A)z = z~ satisfying w(0) = 0 is ii)
w(x) = c1 sinh 0 x 0
x
c2 0
0
( 0 w ~ (s) _ (s)) sinh 0 (x + c2 w ~
0 s)ds
(25)
01
where c1 = wx (0)=0 ; c2 = 01 Ts , and 0 = c2 are constants, and sinh( 1 ) is the hyperbolic sine function. Hence, the following is easily obtained: (g () sinh 0 l + Ts 0 cosh 0 l)c1 =
c2 0
l 0
_ (s))(g () sinh 0 (l ( 0 w ~ (s ) + c2 w ~
+ Ts 0 cosh 0 (l
k2 2 + !12
0 s))ds
!1 ~ 1 0 ~2 :
=
fz 2 = j V_
g
(27)
provided that the solution trajectories for t 0 are precompact in =. Since the operator A : = ! = generates a C0 -semigroup of contractions on =, the precompactness of the solution trajectories is guaranteed if the resolvent operator (I 0 A)01 : = ! = is compact for some > 0 (see [12, p. 179]). To see that 0A01 exists and is a compact operator on =; Az = 0z~ should be evaluated. The solution w( 1 ) of this equation is given as
w(x) = 0Ts01
x 0
" 0
_ ( )dd" + c3 x + c4 w ~
l
01
+ 1 + k1 vs T s
0
_ (")d" + mc vs w ~ x (l ) w ~
01~1 :
~ (l) + k2 !1 + k1 w
(30)
From (30), the constant c3 can be uniquely determined, and this implies that A01 exists; also, A01 is a compact operator which can be easily seen by following [8]. It is then concluded that the operator (I 0 A)01 : = ! = is a compact operator for any 2 (A). Thus, it can be concluded that the solution trajectories of (24) are precompact in = for t 0. Hence, by the extended invariance principle, the solutions asymptotically tend to the maximal invariant subset of S in (27). Thus, to prove that all solutions of (24) asymptotically tend to the zero solution, it suffices to show that S contains only the zero solution. To prove that S contains only the zero solution, V_ = 0 in (20) is given, which results in wx (0) = 0 and w_ (x; t)jx=l = 0. By considering the Laplace transform of (2), the solution w( 1 ) of (24) in S can be assumed as (31)
p
(26)
=0
mc w ~ t (l )
01 sx sinh 1 sx w ^ (x; s) = s e
Since g () > 0 for all > 0; (g () sinh 0 l + Ts 0 cosh 0 l) > 0 for all > 0 ; accordingly, the constant c1 can be uniquely determined _ w (l); wt (l); 1 ; 2 can then be from (26). The remaining unknowns w; found from (I 0 A)z = z~. Therefore, it follows that I 0 A : = ! = is onto for all > 0. Finally, it is concluded from the Lumer–Phillips theorem [11, p. 14] that A generates a C0 -semgroup of contractions T (t) on =. To prove assertion ii), LaSalle’s invariance principle extended to infinite-dimensional systems [12, p. 168] is used. According to this principle, all solutions of (24) asymptotically tend to the maximal invariant subset of the set
S
(T s + k 1 v s ) c3 =
0 s)
~ t (l ) + v s w ~x (l)) + g ()w ~ (l) + mc (w +
Hence, the following is easily obtained:
(28)
where c4 = 0 by the boundary condition w(0) = 0. To show that the constant c3 is uniquely determined, the following boundary condition is used from Az = 0z~:
mc01 fTs wx (l) + mc vs wxt (l) _ (x; t)jx=l + k2 2 g = w ~t (l): (29) + k1 w
where 1 = Ts =(Ts 0 vs2 ) and 2 = vs =(Ts 0 vs2 ). Thus, by using the method of the separation of variables in [8], it is easily concluded that the only possible solution is w(x; t) = 2 = 0. Therefore, it is concluded that the only solution of (24) which lies in the set S is zero solutions. Finally, by the invariance principle, it is concluded that the solutions of (24) asymptotically tend to the zero solution. Remark 3: The stability result of Theorem 1 is similar to that, with a constraint on !1 , given in [8]. However, here, Theorem 1 holds without any constraint on !1 due to the characteristics of the axially moving wave equation in which the waves of nonzero solution propagate to the right boundary at the translating speed vs . Now, the effect of the controller given by (10)–(12) on the moving string system given by (2)–(5), when the output of the controller is corrupted by a disturbance n(t), is investigated. In this case, (12) is written as
fc (t) = 0dc wt (l) + k1 w_ (x; t) jx=l +mc vs wxt (l) + k2 2 + n(t): (32) Substituting the Laplace transform of (32) into (14) yields
0Ts w^x (l) = g(s)w^_ (x; t)jx=l + n^(s)
(33)
where g (s) is given by (16) and n ^ (s) is the Laplace transform of the disturbance n(t). Let the initial conditions be zero. To find the transfer function from n(t) to w_ (x; t)jx=l , the solution of w( 1 ) in (31) can be considered as
01 sx sinh 1 sx w ^ (x; s) = c0 s e
(34)
where c0 is a constant. Substituting (34) into (33) yields
c0
=
0 G(1l; s) e0 sl n^(s)
(35)
IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 50, NO. 12, DECEMBER 2005
where G(l; s) (Ts + vs g (s)) 1 cosh 1 sl + fTs + (vs 2 1)g(s)g sinh 1 sl. From (34) and (35), the following is obtained:
^_ (x; s)jx=l w
= w^t (l) + vs w^x (l) = 0 GG0((l;l;ss)) n^(s)
2057
+
(36)
where G0 (l; s) vs 1 cosh 1 sl + (vs 2 + 1) sinh 1 sl. Note that 0G0 (l; s)=G(l; s) in (36) denotes the transfer function from n(t) to w_ (x; t)jx=l .
Since G(l; s) in (36) contains the PR function g (s) in (16) which is derived by dynamic boundary controller (10)–(12), the dynamic controller can be used for disturbance rejection. That is, if the disturbance n(t) has frequency components in an interval of frequencies [ 1 ; 2 ], then for ! 2 [ 1 ; 2 ] the PR function g (s) can be chosen to minimize the equation shown at the bottom of the page, where
g (j! ) = mc j! +
k2 j!
(j!)2 + !12 + k1
. The method is presented through the following three cases under the assumption that the disturbance n(t) has a band-limited frequency spectrum, that is, n(t) has frequency components in an interval of frequencies [ 1 ; 2 ]. Case 1: If the structure of n(t) is known, e.g., n(t) = a cos !0 t, then the PR function g (s) in (16) can be chosen to minimize M (! ) in (37) by setting as !1 = !0 (see [8]). Case 2: Even the case that the structure of n(t) is unknown, g (s) can still be chosen to minimize M (! ). Note that the PR function g (s) is not proper, as shown in (16). This implies that the transfer function G0 (l; s)=G(l; s) in (36) is strictly proper with relative degree 1 due to mc s. Thus, it is easily seen via the Bode diagram of (37) that the effect of the disturbance n(t) can be eliminated here by choosing the PR function g (s) with a sufficiently large k1 . Case 3: Further, in the case that n(t) has unknown high frequency components, the disturbance (or noises) n(t) are eliminated by the high frequency filter characteristics of the boundary controller. This is supported by the argument of Case 2. V. NUMERICAL SIMULATIONS The effectiveness of the proposed boundary controller is illustrated by numerical simulations. The parameters of the string are chosen as = 1 kg/m, vs = 0:5 m/s, mc = 0:1 kg, dc = 0:02 N/m/s, Ts = 1 N, and l = 1 m. Figs. 2–4 show the simulation results of the moving string with the boundary controller proposed. Fig. 2(a) and (b) depict the displacement of the whole string under the disturbance given as n(t) = cos 10t, in which the control parameters have been set as k1 = 1; k2 = 10; !1 = 10, and k1 = 1; k2 = 0; !1 = 10, respectively. As analyzed in Case 1 of Section IV, it is seen from Fig. 2(a) that the initial vibrations dissipate asymptotically despite the disturbance via the boundary control action. However, as shown in Fig. 2(b), the string vibrations under the controller with k2 = 0 do not dissipate to zero and remain level, in
M (! ) =
Fig. 2.
;k
1
Displacement of the controlled string: n(t) = cos 10t. (a) ; ! = 10. (b) k = 1; k = 0; ! = 10.
= 10
k
=
this case g (s) given by (16) has no pair of complex conjugate poles at s = 6j!0 ; hence, M (! ) in (37) cannot satisfy M (!0 ) = 0. Now, consider a disturbance n(t) which is coupled with an unknown higher frequency such as n(t) = cos 10t + sin 30t. Fig. 3 shows the simulation result of the moving string with the control parameters k1 = 1; k2 = 10; !1 = 10 under the coupled disturbance. From Fig. 3, it is seen that the unknown disturbance is also effectively eliminated by the proposed controller, as mentioned in Case 3 of Section IV. However, if mc in g (s) is too small to handle the unknown disturbance, the string vibrations cannot be suppressed due to the effect of the un-eliminated unknown disturbance. This problem can be solved by choosing a large k1 , as determined in Case 2 of Section IV. Fig. 4(a) and (b) describe the effectiveness of k1 , where k1 = 0:01 and k1 = 2:5 has been given, respectively, under mc = 0:01. From Fig. 5, it is seen
G0 (l; j! ) G(l; j! )
cosh 1 lj! + (vs 2 + 1) sinh 1 lj! = (T + v g(j!v))s
1 cosh
1 lj! + fTs + (vs 2 + 1)g (j! )g sinh 1 lj! s s 1
(37)
2058
IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 50, NO. 12, DECEMBER 2005
that the unknown disturbance n(t) at the output of the controller can also be effectively eliminated by choosing an appropriately large k1 . VI. CONCLUSION In this note, a robust boundary control scheme using a nonproper but PR transfer function for an axially moving string has been investigated. The finite-dimensional dynamic boundary controller can achieve the suppression of the vibration of the entire string despite the disturbance at the output of the controller and without any constraint on !1 . The disturbance can be rejected by appropriately choosing the control parameters in cases where the frequency spectrum of the disturbance is known and/or unknown. The application of the proposed control scheme can be expanded to various translating continua systems. REFERENCES
Fig. 3. Displacement of the controlled string: and n(t) = cos 10t + sin 30t.
Fig. 4.
t
Displacement of the controlled string:
t
cos 10 + sin 30 . (a) 10 = 10.
;!
k
k
: ;k
= 0 01
= 10
;!
;k
= 1
m
= 10
: k
;!
= 10,
nt : ;k
= 0 01 and ( ) = = 10. (b) = 25 =
[1] K. J. Yang, K. S. Hong, and F. Matsuno, “Robust adaptive boundary control of an axially moving string under a spatiotemporally varying tension,” J. Sound Vibrat., vol. 273, pp. 1007–1029, 2004. [2] S. Y. Lee and C. D. Mote, “Vibration control of an axially moving string by boundary control,” ASME J. Dyna. Syst., Meas., Control, vol. 118, pp. 66–74, 1996. [3] Y. Li, D. Aron, and C. D. Rahn, “Adaptive vibration isolation for axially moving strings: Theory and experiment,” Automatica, vol. 38, no. 3, pp. 379–390, 2002. [4] S. Y. Lee and C. D. Mote, “Wave characteristics and vibration control of translating beams by optimal boundary damping,” ASME J. Dyna. Syst., Meas., Control, vol. 121, pp. 18–25, 1999. [5] K. J. Yang, K. S. Hong, and F. Matsuno, “Boundary control of a translating tensioned beam with varying speed,” IEEE/ASME Trans. Mechatronics, vol. 10, no. 5, pp. 594–597, 2005. [6] , “Energy-based control of axially translating beams: Varying tension, varying speed, and disturbance adaptation,” IEEE Trans. Control Syst. Technol., vol. 13, no. 6, pp. 1045–1054, Jun. 2005. [7] K. S. Hong, C. W. Kim, and K. T. Hong, “Boundary control of an axially moving belt system in a thin-metal production line,” Int. J. Control, Automat., Syst., vol. 2, no. 1, pp. 55–67, 2004. [8] O. Morgul, “Stabilization and disturbance rejection for the wave equation,” IEEE Trans. Autom. Control, vol. 43, no. 1, pp. 89–95, Jan. 1998. [9] , “Stabilization and disturbance rejection for the beam equation,” IEEE Trans. Autom. Control, vol. 46, no. 12, pp. 1913–1918, Dec. 2001. [10] C. A. Desoer and E. S. Kuh, Basic Circuit Theory. New York: McGraw-Hill, 1985. [11] A. Pazy, Semigroups of Linear Operators and Applications to Partial Differential Equations. New York: Springer-Verlag, 1983. [12] J. A. Walker, Dynamical Systems and Evolution Equations: Theory and Applications. New York: Plenum Press, 1980.
IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 50, NO. 12, DECEMBER 2005
Polynomial Extended Kalman Filter Alfredo Germani, Costanzo Manes, and Pasquale Palumbo Abstract—This work presents a polynomial version of the well-known extended Kalman filter (EKF) for the state estimation of nonlinear discrete-time stochastic systems. The proposed filter, denoted polynomial EKF (PEKF), consists in the application of the optimal polynomial filter of a to the Carleman approximation of a nonlinear system. chosen degree = 1 the PEKF algorithm coincides with the standard EKF. For When the filter implementation the moments of the state and output noises up to order 2 are required. Numerical simulations compare the performances of the PEKF with those of some other existing filters, showing significant improvements. Index Terms—Extended Kalman filtering, nonlinear stochastic systems, polynomial filtering.
I. INTRODUCTION This note investigates the problem of state estimation for nonlinear discrete-time stochastic systems of the type:
x(k + 1) = f (k; x(k)) + v(k) y(k) = h(k; x(k)) + w(k);
k 0 x(0) = x0
(1)
where x(k) 2 IRn is the system state, y (k) 2 IRq is the measured output, f : Z + 2 IRn 7! IRn ; h : Z + 2 IRn 7! IRq are timevarying smooth nonlinear maps, denoted state-transition map and stateoutput map, respectively. The state and output noises v (k) and w(k) are assumed to be independent white sequences (independent sequences of zero-mean independent random vectors), not necessarily Gaussian. The initial state x0 is a random vector independent of both the noise sequences. It is well known that the minimum variance state estimate requires the knowledge of the conditional probability density, whose computation, in the general case, is a difficult infinite-dimensional problem [3], [8], [9]. Only in few cases does the optimal filter have a finite dimension [28]. For this reason, a great deal of work has been made to devise suboptimal implementable filtering algorithms. A way to approach the problem is to find finite-dimensional approximations of the conditional density using, e.g., Gaussian sum approximations as in [1], [16], or discrete distributions as in particle filters [24]. An alternative approach consists in finding an approximation of the stochastic system for which known filtering procedures are available. In this framework, the extended Kalman filter (EKF) is the most widely used algorithm (see, e.g., [2], [5], [6], [13]–[15], [17], [19], [21], and [23]). Because of its local nature, the EKF performs well if the initial estimation error and the disturbing noises are small enough (in [22] conditions are given for the boundedness of the error variance). Improved versions of the EKF are the iterated EKF and the second order EKF (see [14], [17]). An effective modification of the EKF is the unscented Kalman filter (UKF) [18], that uses the so-called unManuscript received August 20, 2003; revised August 2, 2004 and June 30, 2005. Recommended by Associate Editor L. Glielmo. A short version of this note has been presented at the 42nd IEEE Conference on Decision and Control, Maui, HI, December 2003. This work was supported by MIUR. A. Germani and C. Manes are with the Dipartimento di Ingegneria Elettrica, Università degli Studi dell’Aquila, 67040 L’Aquila, Italy (e-mail:
[email protected];
[email protected]). P. Palumbo is with Istituto di Analisi dei Sistemi ed Informatica del CNR “A. Ruberti,” 00185 Rome, Italy (e-mail:
[email protected]). Digital Object Identifier 10.1109/TAC.2005.860256
2059
scented transform for the state and output prediction steps in the EKF equations. The filter here proposed is a polynomial extension of the EKF (denoted PEKF throughout the note) and belongs to the last group of methods. The PEKF is obtained by the application of the optimal polynomial filter of [10], [11] to the Carleman approximation of a nonlinear system (see [20], [25]), whereas the standard EKF applies the classical Kalman filter to the linear approximation of nonlinear systems. The Carleman approximation of order of a nonlinear system is achieved by suitably defining an extended state made of the Kronecker powers of the original state up to a given order . The analogous definition of an extended output is also required for the construction of a polynomial filter. In the stochastic discrete-time framework the Carleman approximated system consists of a bilinear system (linear drift and multiplicative noise) with respect to the extended state. The extended output turns out to be a linear function of the extended state, corrupted by multiplicative noise. Once the approximation is obtained, the recursive equations of the optimal polynomial filter of order are available and can be applied with no further approximations (see [10] and [11]). It is interesting to note that the implementation of the PEKF of a given degree does not require the complete knowledge of the noises distributions: Only the moments up to order 2 are needed. When = 1 the PEKF reduces to the classical EKF. As in the case of the classical EKF, the polynomial EKF (PEKF) is a time-varying recursive algorithm whose performances depend on the specific application. A better behavior with respect to the classical EKF is expected for two reasons: i) a higher degree of approximation of the nonlinear system is adopted; ii) the optimal polynomial estimate is implemented for the approximate system, instead of the linear Kalman estimate of the EKF. It is important to stress that the Carleman approximation of continuous time nonlinear systems is a bilinear system w.r.t. the input, whereas discrete-time systems are approximated by means of bilinear system w.r.t. the input and some of its powers. For the continuoustime case the tool of Carleman bilinearization has found some applications in problems of systems approximation [26], [27], [29], since there are many reasons for finding a bilinear approximation of a nonlinear system (see [7]). In recent times, such method has been successfully used in the problem of reduction of large scale systems [4]. On the other hand, the Carleman approach has never been used for the approximation of discrete-time systems, mainly because of the presence of the powers of the input in the approximate model, that makes not useful the approach for control applications. However, in the filtering framework the presence of the powers of the input noise does not constitute a significative limitation: the Carleman approximation for system (1) provides a stochastic bilinear system with respect to the extended state and an extended input noise. For this class of systems the optimal polynomial filter is already available in literature without any further approximation [10], [11]. Surprisingly, to the authors’ knowledge, this technique has not been used so far for the construction of suboptimal filters. Preliminary results on this field have been presented by the authors in [12]. The note is organized as follows: the next section presents the Carleman approximation of stochastic nonlinear systems of the type (1); in section three the polynomial minimum variance filter for the Carleman approximation (PEKF) is derived; Section IV displays some numerical results where the performances of the PEKF and of other existing algorithms are compared. An Appendix reports some formulas needed for the implementation of the PEKF. II. CARLEMAN APPROXIMATION OF STOCHASTIC SYSTEMS
Choose an integer and consider the sequences x[m] (k) and y [m] (k) of the Kronecker powers of the states and outputs of system (1) for m =
0018-9286/$20.00 © 2005 IEEE
2060
IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 50, NO. 12, DECEMBER 2005
1; . . . ; (here superscripts in square brackets denote the Kronecker powers of vectors and matrices; for a quick survey on the Kronecker algebra see [11]). The update equations for these sequences are x[m] (k + 1) = (f (k; x(k)) + v (k))[m] y [m] (k) = (h(k; x(k)) + w(k))[m]:
approximation of system (1) can be put in the following compact form:
X (k + 1) = A (k; x~)X (k) + U (k; x~) + V (k; x~) Y (k) = C (k; x~)X (k) + 0 (k; x~) + W (k; x~)
(2)
Under standard analyticity hypotheses the nonlinear functions (f + v )[m] and (h + w)[m] can be approximated in a suitable neighborhood ~ using Taylor polynomials of degree of a given point x
where
X (k ) =
(f (k; x(k)) + v(k))[m]
Fm;i (k; x~)(x(k) 0 x~)[i]
i=0
+
Y (k ) =
'm;i (k; x~; v (k))(x(k) 0 x~)[i]
i=0 (h(k; x(k)) + w(k))[m] Hm;i (k; x~)(x(k) 0 x~)[i] i=0 + #m;i (k; x~; w(k))(x(k) 0 x~)[i] i=0
(3)
1 i! 1 Hm;i (k; x) = i! Fm;i (k; x) =
r[xi] f [m] r[xi] h[m]
[i] where the operator rx applied to a function n p IR 7! IR is defined as
r[0] x = [ i +1] rx = rx r[xi]
;
(5)
= (k; x) : Z + 2
i1
(6)
with rx = [@=@x1 1 1 1 @=@xn ]. Note that rx is the standard Jacobian of the vector function . The expansion of the powers of the binomials in the summations in (3) and (4) allow to write these as polynomials of x(k) of degree (see [12]). The substitution of the ith power of x(k) in the summations with a vector Xi (k) of the same dimension (recall that x[i] (k) 2 IRn ), and of the mth power of y (k) with a vector Ym (k) 2 IRq in the output equations, yeld the recursive equations of the Carleman approximation ~ of order around x
(k + 1) = Xm
Ym (k) =
i=1 i=1
with n
(k; x (k; x Am;i (k; x~)Xi (k) + um ~) + vm ~) (k; x (k; x (k; x Cm;i ~)Xi (k) + m ~) + wm ~) (7)
(0) = x[m] . The expressions of with m = 1; . . . ; and Xm 0 ~); Cm;i (k; x~), of the deterministic sethe matrices Am;i (k; x (k; x (k; x ~); m ~) and of the stochastic sequences quences um (k; x (k; x vm ~); wm ~) are quite long, and are reported in the Appendix for the reader’s convenience. The 2 (7) of the Carleman
X1 (k) .. . X (k) Y1 (k) .. . Y (k)
2 IRn 2 IRq
(9)
= n + n2 + 1 1 1 + n and q = q + q2 + 1 1 1 + q , and
A =
A1;1 .. . A;1
111
C =
C1;1 .. . C; 1
111
(4)
~; v(k)) and #m;i (k; x~; v(k)) are suitably defined polywhere 'm;i (k; x nomials of v (k) and w(k) (see [12]), and
(8)
..
.
111 ..
.
111
A1; .. . A; C1; .. . C;
U =
u1 .. . u
0 =
1 .. .
V
W
=
v1 .. . v
=
w1 .. . w
(10)
: (11)
From (35), in Appendix, it is clear that the terms V (k; x ~) and W (k; x~) are bilinear functions of the extended state X (k) and of zero-mean random vectors uncorrelated with X (k) of the type (v[h] (k) 0 E fv[h] (k)g) and (w[h] (k) 0 E fw[h] (k)g) (note that these are white sequences). This fact allows to state that the Carleman approximation (8) has a bilinear structure with respect to an extended white noise sequence. Moreover, exploiting the same arguments used ~) in [10], [11], it is not difficult, though tedious, to prove that V (k; x and W (k; x ~) are uncorrelated sequences of zero mean uncorrelated random vectors, and that the extended state X (k) is uncorrelated ~) 8 j and with V (j; x~) for k j (this result is a direct with W (j; x consequence of the fact that the noises v (k) and w(k) in the original system (1) are independent and white, and that the original state x(k) is independent of w(j ) 8j and independent of v (j ) for k j ). In order to ensure that all random vectors in (8) ~) and W (k; x~)) have finite means (X (k); Y (k); V (k; x and covariances, it is necessary to assume that the noises and the initial state of the original system have finite moments up to order 2
IE v [i] (k) = iv (k) < 1 [ i] 0 IE x0 = i < 1 IE w[i] (k) = iw (k) < 1
(12)
for i = 1; . . . ; 2. The moments iv (k); iw (k), and i0 are needed ~) and for the recursive computation of the covariances 9V (k; x 9W (k; x~) of the extended noises V (k; x~) and W (k; x~) (see Appendix). The mean and covariance of the extended state X (k), ~) and 9W (k; x~), can be also needed for the computation of 9V (k; x recursively computed using standard formulas for bilinear systems (see Appendix and also [11]). It is worthwhile to note that, differently from what may happen in continuous-time, the Carleman Approximation for discrete-time systems never exhibits finite escape time phenomena.
IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 50, NO. 12, DECEMBER 2005
V)
III. FILTERING ALGORITHM The previous section has described the th-order Carleman approximation of a stochastic nonlinear system. The result is a bilinear system driven by white noise, given by (8). For the filter construction it is assumed that the output of the original system (1) is generated in fact by the approximate model (8), and thus in the filter equations Ym (k) will coincide with y [m] (k). For a system of the type (8) the optimal linear filter (linear w.r.t. the extended measurements) provides the optimal -degree polynomial filter w.r.t. the original measurements, and can be constructed without any further approximation (see [10] and ~) and W (k; x~) in (8) are un[11]). Since the extended noises V (k; x correlated sequences of uncorrelated zero-mean vectors, as discussed in the previous section, the optimal linear filter is implemented by the standard Kalman filter equations. According to the same philosophy of the standard EKF, the system matrices and the covariances needed in the Riccati equations are computed using, at each step, the equations of the Carleman approximation around the current state estimate and prediction. In particular, the state estimate is used instead of x ~ for the computation of matrices A ; U and 9V , while the state prediction is used for the computation of matrices C ; 0 and 9W , according ^(k) to the formulas reported in the Appendix. Note that the estimate x and prediction x ^(k + 1jk) of the original state are computed by se^ (k ) lecting from the estimate and prediction of the extended state, X ^ and X (k + 1jk), respectively, the first n components
x^(k) = [In On2(n x^(k + 1 j k) = [In On2(n
0n) ]X^ (k) 0n) ]X^ (k + 1jk):
2061
(13)
Computation of the error covariance matrix:
P (k + 1) = In VI)
II)
Computation of the matrices of the th degree approximation of the extended output equation around the point x ^(k + 1 j k) = [In On2(n 0n) ]X^ (k + 1jk)
C (k + 1) = C (k + 1; x^(k + 1 j k)) 0 (k + 1) = 0 (k + 1; x^(k + 1 j k)) W (k + 1) = 9W (k + 1; x^(k + 1 j k)): 9
III)
VII) Increment of the counter: k = k + 1. VIII) Computation of the matrices of the th degree approximation
of the state-transition around the point x ^(k)
A (k) = A (k; x^(k)) U (k) = U (k; x^(k))
V (k) = 9V (k; x^(k)) 9 IX)
(15)
from eq. (38):
Computation of the extended state prediction:
X^ (k + 1 j k) = A (k)X^ (k) + U (k): X)
(20)
(21)
Computation of the one-step prediction error covariance matrix: (22)
XI)
GOTO STEP II). Remark 1: For consistency with all the developments made in the note, the PEKF algorithm has been here presented in a form that is not computationally optimized, in that the Kronecker powers contain redundant components (if x 2 IRn then x[i] 2 IRn , but ~ i = n+ii01 monomials are independent). Such redundancies only n can be avoided through the definition of reduced Kronecker powers, containing the independent components of ordinary Kronecker powers (see [10]). More in detail, denoting with x(i) 2 IRn the reduced ith Kronecker power of x, it is always possible to define a selection matrix Ti (n) 2 IRn~ 2n made of 0’s and 1’s, such that: (23)
(note that the choice of matrix Ti (n) is not univocal). Similarly, the ordinary Kronecker power x[i] is recovered from the reduced power x(i) through multiplication with a suitable matrix T~i (n) 2 IRn 2n~ . Straightforward but tedious substitutions in the previous PEKF algorithm provide a filter with a reduced computational burden, and this last should be considered for efficient implementations.
(16)
IV. SIMULATION RESULTS
(17)
The performances of the PEKF with = 2 and = 3 (quadratic and cubic PEKF, respectively) have been compared with those of the standard EKF, the second-order PEKF [14] and the UKF in the augmented state version [18] through computer simulations. In most cases the quadratic and cubic PEKF have given better performances, in terms of error variance. This section reports simulation results obtained in
Computation of the Kalman gain
K (k + 1) = PP (k + 1)C (k + 1)T W (k + 1))y : (C (k + 1)PP (k + 1)C (k + 1)T + 9
from eq.'s (10) and (30) from eq.'s (10) and (34)
x(i) = Ti (n)x[i]
[the first two equations are obtained from (11) and (31), while the third is obtained from (39)]. Computation of the prediction of the extended output
Y^ (k + 1 j k) = C (k + 1)X^ (k + 1 j k) + 0 (k + 1): IV )
(14)
(18)
^ (k + 1) and Computation of the extended state estimate X ^(k + 1) of the original state: of the estimate x
V (k ): PP (k + 1) = A (k)P (k)A (k)T + 9
Computation of the initial conditions of the filter (the a priori estimate of the initial extended state and its covariance)
X^ (0 j 0 1) = IE fX (0)g PP (0) = Cov(X (0)) k = 01 inizialization of the counter:
PP (k + 1):
X^ (k + 1) = X^ (k + 1 j k) + K (k + 1)(Y (k + 1) 0 Y^ (k + 1 j k)) (19) x^(k + 1) = [In On2(n 0n) ]X^ (k + 1):
The steps of the PEKF algorithm are summarized here. I)
0 K (k + 1)C (k + 1)
2062
IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 50, NO. 12, DECEMBER 2005
TABLE I STEADY-STATE ERROR VARIANCES
a critical case in which the second-order EKF (EKF2) and the UKF do not give improved estimates w.r.t. the standard EKF. The nonlinear system considered is the following:
x1 (k + 1) = 0:8x1 (k) + x1 (k)x2 (k) + 0:1 + 0:01v1 (k) x2 (k + 1) = 1:5x2 (k) 0 x1 (k)x2 (k) + 0:1 + 0:01v2 (k) (24) y(k) = x2 (k) + 0:04w(k):
Fig. 1. True and estimated states: the first component.
The noise sequences v1 (k); v2 (k); w(k) are zero-mean and independent, and obey the following discrete distributions:
P fv1 (k) = 01g = 0:6 P fv1 (k) = 0g = 0:2 P fv1 (k) = 3g = 0:2
P fv2 (k) = 01g = 0:8 P fv2 (k) = 4g = 0:2 P fw(k) = 07g = 0:3 P fw(k) = 3g = 0:7:
(25)
The initial state x(0) is also a random variable independent of both the state and output noises, with independent components, following the distribution:
P fx1 (0) = 0:4g = 0:2 P fx2 (0) = 0:1g = 0:2 P fx1 (0) = 0:8g = 0:8 P fx2 (0) = 0:4g = 0:8:
(26)
Table I reports the sample error variances in a typical simulation over a 1.000 points horizon. In this example, the EKF, the EKF2, and the UKF have a very similar behavior, while the quadratic and cubic PEKF perform better. In particular, the quadratic PEKF achieves 15% and 24% reduction of the error variance of the two state components, respectively, w.r.t. standard EKF, while the cubic PEKF achieves 50% and 98% variance reduction. Figs. 1 and 2 report the true and estimated states. For the clarity of the representation, only a window of 70 time steps is reported and the EKF and UKF estimates are not reported because they are extremely similar to those provided by the second-order EKF. Note that in Fig. 2 the cubic state estimate and the true state are quite indistinguishable. The computational times required by the PEKF and by the other algorithms used for comparison have been evaluated in term of CPU time on a PC with 1.8 GHz clock. All algorithms have been implemented in MATLAB. The CPU time required by the standard EKF implementation is TEKF = 0:35 s, the time required by the EKF2 is TEKF2 = 0:62 s, the time of the UKF is TUKF = 0:69 s, the times of the PEKF2 and PEKF3 are TPEKF = 5:89 s and TPEKF = 23:34 s, respectively. The performances of the PEKF have been compared also with those of the particle filter [24], denoted PF in the following. Both the PEKF and the PF have the same feature of improving the error variance by increasing the algorithm complexity. Note that the complexity of the PEKF depends on the chosen polynomial degree, while the complexity of the PF depends on the number of particles used. A zero-mean Gaussian noise has been added to the measurement equation of the
Fig. 2. True and estimated states: the second component.
system (24) in order to apply the PF in a standard form (the output noise should not obey a discrete distribution). Many simulations have been performed for different values of the variance of the Gaussian component of the noise and for different numbers of particles. It results that for variances ranging from 0.4 to 1 the PF with about 140 particles (PF140 ) requires a CPU time similar to the one of the PEKF3 . However, the error variance of the PEKF3 is about 20% lower than the error variance of the PF140 . The PF with about 250 particles achieves an error variance similar to the one of the PEKF3 . However, in this case the CPU time required by the PF250 is increased of about 60%. It should be noted that, due to its stochastic nature, the repeated application of a PF to the same sequence of measurements may provide significantly different results, both in term of error variance and CPU time. V. CONCLUSION A polynomial extension of the standard EKF for the state estimation of nonlinear discrete-time systems has been proposed in this note. The polynomial algorithm is based on two steps: First the nonlinear system is approximated by a bilinear system using the Carleman approximation of a chosen degree ; next, the minimum variance filter for the
IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 50, NO. 12, DECEMBER 2005
approximating system among all the th degree polynomial transformations of the measurements is computed. This step is based on the theory of suboptimal polynomial estimation for linear and bilinear state , the proposed space representations studied in [10], [11]. When algorithm gives back the standard EKF. The performances of the proposed filter have been compared with those of other existing filters via computer simulations.
2063
the matrices Fr ; Hr in (30), (31) are defined as
APPENDIX This Appendix reports the expressions of all the terms needed for the PEKF implementation. The derivation of these equations exploits the rules of the Kronecker algebra (see [11] for a quick survey) and take advantage of a formalism that allows to expand Kronecker powers of sums of vectors. Consider a multiindex t ft0 ; t1 ; t g 2 Z + +1 . Its modulus, denoted jtj, is defined as the sum of its entries, i.e., jtj t0 1 1 1 t . The ith Kronecker vectors zi 2 IRp ; i ; ; ; , can be power of a sum of expressed as
=
...
( ) = + +1
(z + z + 1 1 1 + z ) i = 0
[ ]
1
jtj=i
Mtp z0[t
]
2 (Z )
+ 2
= 0 1 ...
z t 1 1 1 zt [ ] 1
with a suitable definition of matrices Mtp
that for t
+
[
2 IRp 2p
]
0
ui (k; x~) =
i (k; x~) =
1
n
h=1
(28)
i
[ ]
h=0
zh
=
jtj=i
Mtp
h=0
zht [
]
:
(29)
st( )
st ( ) ( ~)
Cij (k; x~) =
( ~)
Mrn Fr (k; x~)
Mn(r)0j;j rv Mrq H r (k; x~) ( )
In (0x~) r 0j ] (30)
(r ) =
In +
+1
s=1
r2R
(k )
Mrq H r (k; x~) x~[(r)] rw
(k )
(34)
(r)
1ri;s (k; x~) ]
(k) 0 rv (k)
]
(k) 0 rw (k)
(35)
(0x~) r 0j [ ( )
+2
]
(31)
and
s rs
Rij = fr 2 (Z ) : jrj = i; j (r) g +
+2
2 Mn r 0s;s In (0x~) r 0s In [ ( )
]
r (k; x~) = M q H 8i;s r r (k; x~)
2 Mn r 0s;s In (0x~) r 0s Iq [ ( )
( )
]
: (36)
9
9
Lemma 2: Consider V and W , the covariances of the random vectors V and W defined in (10) and (11) whose entries, by definition, are
9ijV (k; x~) = IE 9ijW (k; x~) = IE
vi (k)vj(k)T
wi (k)wj(k)T :
(37)
These can be computed as follows:
= fr ; . . . ; r g a multi-index in (Z ) 0
(33)
[ ( )
r2R
2 Mn r 0j;j rw with r
:
Mrn Fr (k; x~) x~[(r)] rv
( )
that piles up all the columns of matrix A, and is denoted A . The 1 inverse operation is denoted 0 r;c 1 , and transforms a vector of size r 1 c into a r 2 c matrix. Lemma 1: The matrices A ij k; x and Cm;i k; x of system (7) are as follows:
2
s=0
]
1ri;s (k; x~) = MrnFr (k; x~)
Let us recall that the stack of a matrix A 2 IRr2c is the vector in IRr1c
r2R
[ 1
with
With this definition, (27) can be put in the more compact form
Aij (k; x~) =
H r;s (k; x~) Iq
r2R s=0 2 Xs(k) v[r (r) r (k; x~) wi (k; x~) = 8i;s s =0 r2R 2 Xs(k) w[r
(see [11]). Note
2
r2R
vi (k; x~) =
0
1
]
and the random sequences fvi g; fwi g are given by
(27)
Ah = A A 1 1 1 An :
[ 1
s=0
Moreover, the deterministic drifts ui ; i are computed as
= 1; . . . n, is denoted as
of n matrices Ah ; h
F r;s (k; x~) In
H r (k; x~) =
= ( t t+ t ). The Kronecker product
it is Mt1 ;t
Fr (k; x~) =
=1
(32)
9ijV (k; x~) =
(r) (t)
1ri;s (k; x~)
r2R t2R s=0 l=0 v (k) 1tj;l (k; x~)T 2 9Xs;l (k) 4i;j;t;r (r) (t) r (k; x~) 9Wij (k; x~) = 8i;s r2R t2R s=0 l=0 w (k) 8t (k; x~)T 2 9Xs;l (k) 4i;j;t;r j;l
(38)
(39)
2064
IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 50, NO. 12, DECEMBER 2005
where
[11]
4vi;j;t;r (k) = st0n 1;n
t
4wi;j;t;r (k) = stq01;q
w t
+r
(k) 0 tv
(k) rv
+r
(k) 0 tw
(k) rw
v
(k )
[12]
(40)
(k )
[13]
(41) [14]
~) = IE fXi (k)Xj(k)T g are the blocks of the maand 9X ij (k; x ~) = trix of second-order moments of the extended state, 9X (k; x IE fX (k )X (k )T g. This can be computed by the recursive equation 9X
(k + 1; x~) = A (k; x~)9X
where Z (k) computed as
[18] [19]
(42)
= IE fX (k)g is the mean value of the extended state,
Z
[16] [17]
(k; x~)A (k; x~)T
+ A (k; x~)Z (k)U (k; x~)T + U (k; x~)Z (k)T A (k; x~)T + U (k; x~)U (k; x~)T + 9V (k; x~)
[15]
[20] [21] [22]
(k + 1) = A (k; x ~)Z (k) + U (k; x~):
(43)
[24]
The initialization of (42) and (43) are as follows:
(0) = 0 i
Zi
9ijX (0; x~) = E
[23]
[25]
[i]
x0
[j ] T = st01 n ;n
x0
0
i+j :
(44)
[26] [27]
The proofs of Lemmas 1 and 2, long but not difficult, are straightforward applications of the rules of the Kronecker algebra.
[28] [29]
REFERENCES [1] D. L. Alspace and H. W. Sorenson, “Nonlinear Bayesian estimation using Gaussian sum approximation,” IEEE Trans. Autom. Control, vol. AC-17, no. 4, pp. 439–448, Aug. 1972. [2] B. D. O. Anderson and J. B. Moore, Optimal Filtering. Upper Saddle River, NJ: Prentice-Hall, 1979. [3] M. L. A. Netto, L. Gimeno, and M. J. Mendes, “On the optimal and suboptimal nonlinear filtering problem for discrete-time systems,” IEEE Trans. Autom. Control, vol. AC-23, no. 6, pp. 1062–1067, Dec. 1978. [4] Z. Bai, “Krylov subspace techniques for reduced-order modeling of large-scale dynamical systems,” Appl. Numer. Math., vol. 43, pp. 9–44, 2002. [5] J. Baras, A. Bensoussan, and M. R. James, “Dynamic observers as asymptotic limits of recursive filters: Special cases,” SIAM J. Appl. Math., vol. 48, pp. 1147–1158, 1993. [6] M. Bontayeb, H. Rafarlaky, and M. Darouach, “Covergence analysis of the extended Kalman filter used as an observer for nonlinear discretetime systems,” IEEE Trans. Autom. Control, vol. 42, no. 4, pp. 581–586, Apr. 1997. [7] C. Bruni, G. Di Pillo, and G. Koch, “Bilinear systems: An appealing class of nearly linear systems in theory and applications,” IEEE Trans. Autom. Control, vol. AC-19, no. 4, pp. 334–348, Aug. 1974. [8] R. Bucy and P. Joseph, Filtering for Stochastic Processes With Applications to Guidance. New York: Wiley, 1968. [9] R. Bucy, “Linear and nonlinear filtering,” Proc. IEEE, vol. 58, no. 6, Jun. 1970. [10] F. Carravetta, A. Germani, and M. Raimondi, “Polynomial filtering for linear discrete-time non-Gaussian systems,” SIAM J. Control Optim., vol. 34, no. 5, pp. 1666–1690, 1996.
, “Polynomial filtering of discrete-time stochastic linear systems with multiplicative state noise,” IEEE Trans. Autom. Control, vol. 42, no. 8, pp. 1106–1126, Aug. 1997. A. Germani, C. Manes, and P. Palumbo, “Polynomial extended Kalman filtering for discrete-time nonlinear stochastic systems,” in Proc. 42nd IEEE Conf. Decision and Control, vol. 1, Maui, HI, Dec. 2003, pp. 886–891. C. K. Chui and G. Chen, Kalman Filtering with Real-Time Applications. New York: Springer-Verlag, 1987. A. Gelb, Applied Optimal Estimation. Cambridge, MA: MIT Press, 1984. G. C. Goodwin and K. S. Sin, Adaptive Filtering, Prediction and Control. Englewood Cliffs, NJ: Prentice-Hall, 1984. K. Ito and K. Xiong, “Gaussian filters for nonlinear filtering problems,” IEEE Trans. Autom. Control, vol. 45, no. 5, pp. 910–927, May 2000. A. H. Jazwinski, Stochastic Processes and Filtering Theory. New York: Academic, 1970. S. J. Julier and J. K. Uhlmann, “Unscented filtering and nonlinear estimation,” Proc. IEEE, vol. 92, no. 3, pp. 401–422, Mar. 2004. Y. Kleyman and I. Mochalov, “Identification of nonstationary systems,” Autom. Rem. Control, vol. 55, pp. 149–163, 1994. K. Kowalski and W. H. Steeb, Nonlinear Dynamical Systems and Carleman Linearization. Singapore: World Scientific, 1991. L. Ljung, “Asymptotic behavior of the extended Kalman filter as a parameter estimator for linear systems,” IEEE Trans. Autom. Control, vol. AC-24, no. 1, pp. 36–50, Jan. 1979. K. Reif, S. Günther, E. Yaz, and R. Unbehauen, “Stochastic stability of the discrete-time extended Kalman filter,” IEEE Trans. Autom. Control, vol. 44, no. 4, pp. 714–728, Apr. 1999. M. G. Safonov, Stability and Robustness of Multivariable Feedback Systems. Cambridge, MA: MIT Press, 1980. M. S. Arulampalam, S. Maskell, N. Gordon, and T. Clapp, “A tutorial on particle filters for online nonlinear/non-Gaussian bayesian tracking,” IEEE Trans. Signal Process., vol. 50, no. 2, pp. 174–188, Feb. 2002. S. Sastry, Nonlinear Systems: Analysis, Stability and Control. New York: Springer-Verlag, 1999. S. Svoronos, G. Stephanopoulos, and R. Aris, “Bilinear approximation of general nonlinear dynamic systems with linear inputs,” Int. J. Control, vol. 31, no. 1, pp. 109–126, 1980. J. T.-H. Lo, “Global bilinearization of systems with control appearing linearly,” SIAM J. Control Optim., vol. 13, no. 4, pp. 879–885, 1975. W. S. Wong and S. T. Yau, “The estimation algebra of nonlinear filtering systems,” in Mathematical Control Theory, J. Baillieul and J. C. Willems, Eds. New York: Springer-Verlag, 1999, pp. 33–65. N. van de Wouw, H. Nijmeijer, and D. H. van Campen, “Statistical bilinearization in stochastic nonlinear dynamics,” in Proc. 2nd Int. Conf. on Control of Oscillations and Chaos, vol. 3, 2000, pp. 394–399.