212
Discrete Time Systems
For convenience, we introduce the following notations
Δ φi( k + n − i) = φi( y( k + n − i)) − φi( y( lk + n − i)) (14)
Δ u( k − m + j) = u( k − m + j) − u( lk − m + j)
Δ ν( k − τ) = ν( z( k − τ)) − ν( z( lk − τ))
(15)
for i = 1, 2, . . . , n and j = 1, 2, . . . , m.
Combining (12) and (13), we obtain
n
m
y( k + n) = ∑ θTΔ φ
i
i( k + n − i) + ∑ gjΔ u( k − m + j) + y( lk + n) + Δ ν( k − τ) (16)
i=1
j=1
Step 1:
Denote ˆ θi( k) and ˆ gj( k) as the estimates of unknown parameters θi and gj at the k th step, respectively. Then, according to (16), one-step ahead future output y( k + 1) can be predicted
at the k th step as
n
m
ˆ y( k + 1| k) = ∑ ˆ θT(
i
k − n + 2)Δ φi( k − i + 1) + ∑ ˆ gj( k − n + 2)Δ u( k − m + j − n + 1) i=1
j=1
+ y( lk− n+1 + n)
(17)
Now, based on ˆ y( k + 1| k), we define
Δ ˆ φ 1( k + 1| k) = φ 1(ˆ y( k + 1| k)) − φ 1( y( lk− n+2 + n − 1)) (18)
which will be used in next step for prediction of two-step ahead output and where
ˆ y( k + 1| k) = [ ˆ y( k + 1| k), y( k), . . . , y( k − n + 2)] T
(19)
Step 2: By using the estimates ˆ θi(k) and ˆ gj( k) and according to (16), the two-step ahead future
output y( k + 2) can be predicted at the k th step as
n
ˆ y( k + 2| k) = ˆ θT(
ˆ θT(
1 k − n + 3)Δ ˆ
φ 1( k + 1| k) + ∑ i k − n + 3)Δ φi( k − i + 2)
i=2
m
+ ∑ ˆ gj( k − n + 3)Δ u( k − m + j − n + 2) + y( lk− n+2 + n) (20)
j=1
Then, by using ˆ y( k + 1| k) and ˆ y( k + 2| k), we define
Δ ˆ φ 1( k + 2| k) = φ 1(ˆ y( k + 2| k)) − φ 1( y( lk− n+3 + n − 1)) Δ ˆ φ 2( k + 1| k) = φ 2(ˆ y( k + 1| k)) − φ 2( y( lk− n+3 + n − 2)) (21)
Discrete-Time Adaptive Predictive Control with Asymptotic Output Tracking
213
which will be used for prediction in next step and where
ˆ y( k + 2| k) = [ ˆ y( k + 2| k), ˆ y( k + 1| k), y( k), . . . , y( k − n + 3)] T
(22)
Continuing the procedure above, we have three-step ahead future output prediction and so
on so forth until the ( n − 1)-step ahead future output prediction as follows:
Step ( n − 1): The ( n − 1)-step ahead future output is predicted as
n−2
n
ˆ y( k + n − 1| k) = ∑ ˆ θT(
ˆ θT(
i
k)Δ ˆ
φi( k + n − 1 − i| k) + ∑ i k)Δ φi( k − ( i − ( n − 1)))
i=1
i= n−1
m
+ ∑ ˆ gj( k)Δ u( k − m + j − 1) + y( lk−1 + n)
(23)
j=1
where
Δ ˆ φi( k + l| k) = φi(ˆ y( k + l| k)) − φi( y( lk− n+ i+ l + n − i)) (24)
for i = 1, 2, . . . , n − 2 and l = 1, 2, . . . , n − i − 1.
The prediction law of future outputs is summarized as follows:
l−1
n
ˆ y( k + l| k) = ∑ ˆ θT(
ˆ θT(
i
k − n + l + 1)Δ ˆ
φi( k + l − i| k) + ∑ i k − n + l + 1)Δ φi( k − ( i − l)) i=1
i= l
m
+ ∑ ˆ gj( k)Δ u( k − m − n + l + j) + y( lk− n+ l + n) (25)
j=1
for l = 1, 2, . . . , n − 1.
Remark 4.1. Note that ˆ θi( k − n + l + 1) and ˆ gj( k − n + l + 1) instead of ˆ θi( k) and gj( k) are used in the prediction law of the l-step ahead future output. In this way, the parameter estimates appearing
in the prediction of ˆ y( k + l| k) and ˆ y( k + l| k + 1) are at the same time step, such that the analysis of prediction error will be much simplified.
Remark 4.2. Similar to the prediction procedure proposed in Yang et al. (2009), the future output
prediction is defined in such a way that the j-step prediction is based on the previous step predictions.
The prediction method Yang et al. (2009) is further developed here for the compensation of the effect
of the nonlinear uncertainties ν( z( k − τ)) . With the help of the introduction of previous instant lk
defined in (7), it can been seen that in the transformed system (16) that the output information at
previous instants is used to compensate for the effect of nonparametric uncertainties ν( z( k − τ)) at the
current instant according to (15).
The parameter estimates in output prediction are obtained from the following update laws
ˆ θi( k + 1) = ˆ θi( k − n + 2) − ap( k) γpΔ φi( k − i + 1) ˜ y( k + 1| k) Dp( k)
ap( k) γpΔ u( k − m + j − n + 1) ˜ y( k + 1| k)
ˆ gj( k + 1) = ˆ gj( k − n + 2) −
Dp( k)
i = 1, 2, . . . , n, j = 1, 2, . . . , m
(26)
214
Discrete Time Systems
with
˜ y( k + 1| k) = ˆ y( k + 1| k) − y( k + 1)
n
m
Dp( k) = 1 + ∑ Δ φi( k − i + 1) 2 + ∑ Δ u 2( k − m + j − n + 1)
(27)
i=1
j=1
⎧
⎪
⎨ 1 − λ Δ Z( k− n+1)
| ˜ y( k+1| k)|
,
ap( k) = ⎪
(28)
⎩
if | ˜ y( k + 1| k)| > λ Δ Z( k − n + 1)
0
otherwise
ˆ θi(0) = 0[ q], ˆ gj(0) = 0
(29)
where 0 < γp < 2 and λ can be chosen as a constant satisfying Lν ≤ λ < λ∗, with λ∗ defined later in (58).
Remark 4.3. The dead zone indicator ap( k) is employed in the future output prediction above, which is
motivated by the work in Chen et al. (2001). In the parameter update law (38), the dead zone implies that
in the region | ˜ y( k + 1| k)| ≤ λ Δ Z( k − n + 1) , the values of parameter estimates at the ( k + 1) -th step are same as those at the ( k + n − 2) -th step. While the estimate values will be updated outside of
this region. The threshold of the dead zone will converge to zero because lim k→∞ Δ Z( k − n + 1) =
0 , which will be guaranteed by the adaptive control law designed in the next section. The similar dead
zone method will also be used in the parameter update laws of the adaptive controller in the next section.
With the future outputs predicted above, we can establish the following lemma for the
prediction errors.
Lemma 4.1. Define ˜ y( k + l| k) = ˆ y( k + l| k) − y( k + l) , then there exist constant cl such that
| ˜ y( k + l| k)| = o[ O[ y( k + l)]] + λΔ s( k, l), l = 1, 2, . . . , n − 1
(30)
where
Δ s( k, l) = max { Δ Z( k − n + k ) }
(31)
1≤ k ≤ l
Proof. See Appendix B.
5. Adaptive control design
By introducing the following notations
¯ θ = [ θT 1, θT 2, . . . , θTn] T
¯
φ( k + n − 1) = [Δ φ 1( y( k + n − 1)), Δ φ 2( y( k + n − 2)), . . . , Δ φn( y( k))] T
¯ g = [ g 1, g 2, . . . , gm] T
¯
u( k) = [Δ u 1( k − m + 1), Δ u 2( k − m + 2), . . . , Δ um( k)] T
(32)
we could rewrite (16) in a compact form as follows:
y( k + n) = ¯ θT ¯ φ( k + n − 1) + ¯ gT ¯ u( k) + y( lk + n) + Δ ν( k − τ) (33)
Discrete-Time Adaptive Predictive Control with Asymptotic Output Tracking
215
Define ˆ¯ θ( k) and ˆ¯ g( k) as estimate of ¯ θ and ¯ g at the k th step, respectively, and then, the controller will be designed such that
y∗( k + n) = ˆ¯ θT( k) ˆ¯ φ( k + n − 1) + ˆ¯ g( k) T ¯ u( k) + y( lk + n) (34)
Define the output tracking error as
e( k) = y( k) − y∗( k)
(35)
A proper parameter estimate law will be constructed using the following dead zone indicator
which stops the update process when the tracking error is smaller than a specific value
ac( k) =
1 − λ Δ Z( k− n) +| β( k−1)|
| e( k)|
, if | e( k)| > λ Δ Z( k − n) + | β( k − 1)|
(36)
0
otherwise
where
β( k − 1) = ˆ¯ θT( k − n)( ˆ¯ φ( k − 1) − ¯ φ( k − 1))
(37)
and λ is same as that used in (28).
The parameter estimates in control law (34) are calculated by the following update laws:
ˆ¯ θ( k) = ˆ¯ θ( k − n) + γcac( k) ¯ φ( k − 1)
Dc( k)
e( k)
ˆ¯ g( k) = ˆ¯ g( k − n) + γcac( k) ¯ u( k − n)
Dc( k)
e( k)
(38)
with
Dc( k) = 1 + ¯ φ( k − 1) 2 + ¯ u( k − n) 2
(39)
and 0 < γc < 2.
Remark 5.1. To explicitly calculate the control input from (34), one can see that the estimate of gm,
ˆ gm( k) , which appears in the denominator, may lead to the so called “controller singularity” problem
when the estimate ˆ gm( k) falls into a small neighborhood of zero. To avoid the singularity problem, we
may take advantage of the a priori information of the lower bound of gm, i.e. g , to revise the update
m
law of ˆ gm( k) in (38) as follows:
ˆ¯ g ( k) = ˆ¯ g( k − n) + γcac( k) ¯ u( k − n)
Dc( k)
e( k)
ˆ¯ g ( k), if ˆ g
ˆ¯ g( k) =
m( k) > gm
(40)
ˆ¯ gr( k)
otherwise
(41)
where
ˆ¯ g ( k) = [ ˆ g (
(
1 k), ˆ
g 2 k), . . . , ˆ