22
CHỈ TIÊU CHẤT LƯỢNG Chỉ tiêu chất lượng (Hàm mục tiêu): dt y t y ISE r 2 0 ) ( min min Integral of square error Giới hạn tín hiệu điều khiển : max |u(t)| <= M Giảm năng lượng tiêu hao 0 2 ) ( min dt t u Chỉ tiêu chất lượng toàn phương: dt t u t e J 0 2 2 ) ( ) ( min Ví dụ : Tìm K để cực tiểu ISE r e u K 1/s y

CHỈ TIÊU CHẤT LƯỢNG

  • Upload
    eliora

  • View
    72

  • Download
    0

Embed Size (px)

DESCRIPTION

CHỈ TIÊU CHẤT LƯỢNG. Chỉ tiêu chất lượng (Hàm mục tiêu):. Integral of square error. Giới hạn tín hiệu điều khiển : max |u(t)|

Citation preview

Page 1: CHỈ TIÊU CHẤT LƯỢNG

CHỈ TIÊU CHẤT LƯỢNG

Chỉ tiêu chất lượng (Hàm mục tiêu):

dtytyISE r

2

0

)(minmin

Integral of square error

Giới hạn tín hiệu điều khiển : max |u(t)| <= M

Giảm năng lượng tiêu hao

0

2 )(min dttu

Chỉ tiêu chất lượng toàn phương: dttuteJ

0

22 )()(min

Ví dụ : Tìm K để cực tiểu ISE

r

e uK 1/s y

Page 2: CHỈ TIÊU CHẤT LƯỢNG

TỐI ƯU THAM SỐ

Hàm truyền sai sốKss

sRsE

)()(

Với tín hiệu vào hàm nấc: e(t) = e - Kt

KdtteISE

21

min)(minmin2

0

Kết quả là K phải vô cùng

Dùng chỉ tiêu 22

1)()(min

0

22 KK

dttuteJ

J cực tiểu khi suy ra K = 1, J = 1 0)22

1( KKdK

d

01

32

2

KJ

K

Page 3: CHỈ TIÊU CHẤT LƯỢNG

ĐIỀU CHỈNH TRẠNG THÁI (LQR) LINEAR QUADRATIC REGULATOR

Khảo sát vấn đề duy trì trạng thái của hệ thống ở giá trị là 0, chống tác động nhiễu, đồng thời với cục tiểu tiêu hao năng lượng

,21

min

)0(,

0

0

dtRuuQxxJ

Cxy

xxBuAxx

TT

Q là ma trận đối xứng xđd hay bán xđd, thường là ma trận chéo

R là ma trận đối xứng xđd, thường là ma trận chéo

Chọn luật điều khiển hồi tiếp trạng thái u = - Kx, K là hằng số, thay vào biểu thức của J

0

)(21

xdtRKKQxJ TT

Tính K dùng phương trình Lyapunov, chọn hàm Lyapunov là J:

PxxxdtRKKQxtxV T

t

TT

21

)(21

))((

Đạo hàm theo thời gian

V(x(0)) = J = xT(0)Px(0)

0

)(2

1xdtRKKQxJ TT

Page 4: CHỈ TIÊU CHẤT LƯỢNG

ĐIỀU CHỈNH TRẠNG THÁI

)()(21

)()(21

|)(21

)(

txRKKQtxxRKKQx

xRKKQxxV

TTTT

tTT

Gỉa sử chọn K để hệ ổn định, x() 0

)()(21

)( txRKKQtxxV TT

Mặt khác

xBKAPPBKAxxPxPxxxV TTTT )()(21

21

)(

Suy ra xRKKQxxBKAPPBKAx TTTT )(21

)()(21

Ma trận P thỏa phương trình Lyapunov

)()()( RKKQBKAPPBKA TT

Page 5: CHỈ TIÊU CHẤT LƯỢNG

ĐIỀU CHỈNH TRẠNG THÁI

•Giải phương trình Lyapunov ta được các phần tử của ma trận P theo các phần tử của ma trận K chưa biết

•Sau đó ta tính J = V(x(0)) = là hàm theo các phần tử của ma trận K

)0()0(21

PxxT

•Để J cực tiểu ta giải phương trình hay0

ijkJ

•Suy ra ma trận K, luật điều khiển u = - Kx

•Xét ổn định của ma trận A-BK

•Nêú muốn điêù chỉnh ngõ ra y=cx ta chọn

Các bước giải bài toán tối ưu

0

ijkP

0

)(2

1xdtRKKQCCxJ TTT

Page 6: CHỈ TIÊU CHẤT LƯỢNG

PHƯƠNG TRÌNH ĐẠI SỐ RICCATI

Đặt R = T , là ma trận vuông không suy biến

Phương trình Lyapunov viết lại là:

0])([])([

0)()(111

QPBPBRPBKPBKPAPA

KKQBKAPPBKATTTTTTT

TTTTT

Lấy đạo hàm phương trình theo kij và dùng tính chất 0

ijkP

Ta suy ra 0)])(())([( 11 PBKPBKk

TTTTT

ij

Cực tiểu xảy ra khi số hạng trong ngoặc là 0

PBRPBK

PBKTTT

TT

111

1

)(

)(

Phương trình Lyapunov trở thành phương trình đại số Riccati

01 QPBPBRPAPA TT

Page 7: CHỈ TIÊU CHẤT LƯỢNG

VÍ DỤ1

kyu

dtuyJ

uyy

0

22 )(

Các thông số của bài toán: A = -1, B = 1, Q = 2, R = 2

Phương trình Riccati ATP + PA - PBR-1BTP + Q = 0

-P – P - 0.5 P2 + 2 = 0

Giải phương trình bậc hai theo P và chọn nghiệm dương

)12(2 P

Luật điều khiển tối ưu : )()12()()( 1 tytPyBRtu T

Phương trình hệ kín:

)(2)( tyty

Page 8: CHỈ TIÊU CHẤT LƯỢNG

VÍ DỤ2

xy

uxx

01

1

0

00

10

Tìm luật điều khiển u duy trì x1= r, x2 = 0

u = - k1(x1-r) - k2x2

cực tiểu chỉ tiêu

0

221 ))(( dturxJ

Đặt biến mới 22

11

~

~

xx

rxx

2;00

02

RQ

Phương trình Riccati: ATP + PA - PBR-1BTP + Q = 0

Page 9: CHỈ TIÊU CHẤT LƯỢNG

VÍ DỤ2

00

00

00

0210

21

1

0

00

10

01

00

2212

1211

2212

1211

2212

1211

2212

1211

pp

pp

pp

pp

pp

pp

pp

pp

022

02

022

12

222

221211

212

pp

ppp

p

Cuối cùng :

21211 2)()(~2)(~)(~

222

222

xrxtxtxtxPBRu

P

T

Page 10: CHỈ TIÊU CHẤT LƯỢNG

VÍ DỤ 3Điều khiển tối ưu với tích phân

Trở lại ví dụ 1 ta muốn thêm vào khâu tích phân để tính chống nhiễu tốt hơn

kyu

dtuyJ

uyy

0

22 )(

Đặt biến mới z(t)

2,20

02

0

1,

01

01

)(

)()(

21

0

222

RQ

BA

zkyku

dtuzyJ

tytz

uyy

Page 11: CHỈ TIÊU CHẤT LƯỢNG

VÍ DỤ 3Điều khiển tối ưu với tích phân

Phương trình Riccati

00

00

20

0201

21

0

1

01

01

00

11

2212

1211

2212

1211

2212

1211

2212

1211

pp

pp

pp

pp

pp

pp

pp

pp

022

02

022

22

212

12112212

211

1211

p

pppp

ppp

Kết quả

t

T

dttytytztyu

PBRK

P

0

1

)()()()(

11

42

22

Page 12: CHỈ TIÊU CHẤT LƯỢNG

VÍ DỤ 4Tìm hệ số đệm sao cho cực tiểu

0

22 )( dteeJ

)2(1

ssr ye

Phương trình liên hệ y và r ryyy 2

Phương trình vi phân của e 02 eee

0)0(;1)0(; eeyre

Phương trình trạng thái của e

exexe

e

e

e

21 ;;

21

10

20

02;

21

)(0

22

0

21 QdtQxxdtxxJ T

Page 13: CHỈ TIÊU CHẤT LƯỢNG

VÍ DỤ 4Phương trình Riccati: ATP + PA + Q = 0

Giải pt

11

121

P

21

)0()0(21 PxxJ T

Đạo hàm theo suy ra trị tối ưu ứng với 2

1

Page 14: CHỈ TIÊU CHẤT LƯỢNG

VÍ DỤ 5

k1 100/s2

sk2

ry

ue

Tìm k1 và k2 cực tiểu dttuteJ

0

22 )(25.0)(

Phương trình trạng thái:

211

2211121~~~;~;~

0

1)0(~;

100

0~00

10~

kkkK

xKxkkxkuyxryx

xuxx

Page 15: CHỈ TIÊU CHẤT LƯỢNG

VÍ DỤ 5

5.0;00

02

RQ

GiảI phương trình Riccati

1.0;2

2.02

001.001.0

01.02.0

21

kk

K

P

Page 16: CHỈ TIÊU CHẤT LƯỢNG

MATLAB

Hàm [K, P, e] = lqr (A, B, Q, R) giải bài toán cực tiểu

dtRuuQxxJ TT

0

min

Phương trình Riccati ATP + PA - PBR-1BTP + Q = 0

u = -Kx

e là nghiệm riêng của ma trận A-BK

Ví dụ 4: Lấy lại ví dụ 2

>> A = [0 1; 0 0];

>> B = [0; 1];

>> C = [1 0];

>> Q = [2 0; 0 0];

>> R = [2];

>> [k ,p, e] = lqr (A, B, Q, R)

k =

1.0000 1.4142

p =

2.8284 2.0000

2.0000 2.8284

e =

-0.7071 + 0.7071i

-0.7071 - 0.7071i

Page 17: CHỈ TIÊU CHẤT LƯỢNG

MATLABĐiều kiện đầu là [5 0], điều khiển sao cho y 2

>> ptttk = ss (A - B*k, B*k(1,1), C, 0)

>> t = 0:0.1:10;

>> r = 2*ones (size(t));

>> [y, t, x] = lsim (ptttk, r, t, [5 0]);

>> plot (t, y)

>> hold on

>> u = -k*x' + k (1,1) *r;

>> plot(t,u)0 1 2 3 4 5 6 7 8 9 10

-3

-2

-1

0

1

2

3

4

5

Điều kiện đầu là [5 0], điều khiển sao cho y 0

>> ptttk = ss (A - B*k,[0; 0], C, 0)

>> [y, t, x] = lsim (ptttk, r, t, [5 0]);

>> plot (t, y)

>> hold on

>> u = -k*x‘;

>> plot (t,u)0 1 2 3 4 5 6 7 8 9 10

-5

-4

-3

-2

-1

0

1

2

3

4

5

Page 18: CHỈ TIÊU CHẤT LƯỢNG

ĐIỀU KHIỂN TỐI ƯU HỆ RỜI RẠC

)()(

)()()()(21

)()(

)0();()()1(

0

0

kKxku

kRukukQxkxJ

kCxky

xxkGukFxkx

k

TT

Phương trình Riccati rời rạc

PFGPGGRK

PFGPGGRPGFPFFQPTT

TTTT

1

1

)(

)(

Dùng Matlab

[K, P, e] = dlqr (F, G, Q, R)

Page 19: CHỈ TIÊU CHẤT LƯỢNG

VÍ DỤ 6

K ZOH 1/s

r=1(t) T=1s

Tìm K cực tiểu

0

22 )(75.0)(k

kukeJ

Pttt: y(k+1) = y(k) + u(k) ; u(k) = - K[y(k) - r]

5.1;2

)(75.0)(~

)()(~)(~)();()(~)1(~

0

22

RQ

kukxJ

rkykx

kxKkukukxkx

k

Giải pt Riccati rời rạc, suy ra

3/2

35.1

22

K

PP

PPP

Page 20: CHỈ TIÊU CHẤT LƯỢNG

VÍ DỤ 7• Điêù khiển đối tượng 1/(s+1) với tín hiệu đặt yr = hằng số, cực tiểu

)](~)(~[2

1 2

0

2 kukyJk

G(z)=0.632/(z-0.368)

y(k+1)=0.368y(k)+0.632u(k)

F=0.368, G=0.632, Q=1, R=1

Phương trình Riccati: P=Q+FTPF-FTPG (R+GTPG) -1 GTPF

=1+0.135P-0.054P2/(1+0.4P)

P=1.11

K= (R+GTPG) -1 GTPF=0.18

1/N=-C(F-GK-1) -1 G

N=1.18

Page 21: CHỈ TIÊU CHẤT LƯỢNG

VÍ DỤ 8

• Điêù khiển con lắc ngược, vơí pttt tuyến tính hóa

Tzzx

bA

9211.0

0

3947.0

0

,

0005809.0

1000

0004537.4

0010

Tính luật điều khiền trạng thái vớí khâu tích phân, cực tiểu

1,

10000

01000

0010000

00010

000010

)()()()(2

10

RQ

kRukukQxkxJk

TT

Page 22: CHỈ TIÊU CHẤT LƯỢNG

• clear all• close all• A=[0, 1, 0, 0;4.4537, 0, 0, 0; 0,0, 0, 1;-0.5809, 0, 0, 0];• b=[0; -0.3947; 0; 0.9211];• c=[0, 0, 1, 0];• sys=ss(A,b,c,0);• T=0.1• sysd=c2d(sys,T);• [F,g,c,d]=ssdata(sysd);• FI=[F(1,:) ,0; F(2,:) ,0; F(3,:) ,0; F(4,:) ,0; c*F,1];• gI=[g(1);g(2);g(3);g(4);c*g];• cI=[c,0];• U=ctrb(FI,gI);• rankU=rank(U)• Q=[10,0,0,0,0;0,1,0,0,0;0,0,100,0,0;0,0,0,1,0;0,0,0,0,1];• R=1;• K=dlqr(FI,gI,Q,R);• Kp=[K(1),K(2),K(3),K(4)]• Ki=K(5)• FI_cl=FI-gI*K;• syscl=ss(FI_cl,[0;0;0;0;-1],cI,0,T);• t=[0:0.1:20];• [y,t,X]=step(syscl,t);• plot(t,y);grid; hold on; plot(t,X)