Discrete Time Systems by Mario A. Jordan and Jorge L. Bustamante - HTML preview

PLEASE NOTE: This is an HTML preview only and some elements such as links or page numbers may be incorrect.
Download the book in PDF, ePub, Kindle for a complete version.

index-224_6.png

index-224_7.png

index-224_8.png

index-224_9.png

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( lkn+1 + n)

(17)

Now, based on ˆ y( k + 1| k), we define

Δ ˆ φ 1( k + 1| k) = φ 1(ˆ y( k + 1| k)) − φ 1( y( lkn+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( lkn+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( lkn+3 + n − 1)) Δ ˆ φ 2( k + 1| k) = φ 2(ˆ y( k + 1| k)) − φ 2( y( lkn+3 + n − 2)) (21)

index-225_1.png

index-225_2.png

index-225_3.png

index-225_4.png

index-225_5.png

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( ku( k m + j − 1) + y( lk−1 + n)

(23)

j=1

where

Δ ˆ φi( k + l| k) = φiy( k + l| k)) − φi( y( lkn+ 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( ku( k m n + l + j) + y( lkn+ 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)

index-226_1.png

index-226_2.png

index-226_3.png

index-226_4.png

index-226_5.png

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( kn+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 λ < λ∗, 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)

index-227_1.png

index-227_2.png

index-227_3.png

index-227_4.png

index-227_5.png

index-227_6.png

index-227_7.png

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( kn) +| β( 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), . . . , ˆ