Tải bản đầy đủ (.ppt) (22 trang)

điều khiển nâng cao potx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (135.42 KB, 22 trang )


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
u
K
1/s y

TỐI ƯU THAM SỐ
Hàm truyền sai số
Ks
s
sR
sE
+
=
)(
)(
Với tín hiệu vào hàm nấc: e(t) = e
- Kt
K
dtteISE
2
1
min)(minmin
2
0
=

=


Kết quả là K phải vô cùng
Dùng chỉ tiêu
( )
22
1
)()(min
0
22
K
K
dttuteJ
+=

+=

J cực tiểu khi suy ra K = 1, J = 1
0)
22
1
(
=+
K
KdK
d
0
1
32
2
>=



K
J
K

Đ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
[ ]
,
2
1
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
)(
2
1
xdtRKKQxJ
TT
Tính K dùng phương trình Lyapunov, chọn hàm Lyapunov là J:
PxxxdtRKKQxtxV
T
t
TT
2
1
)(
2
1
))((
=

+=

Đạo hàm theo thời gian
V(x(0)) = J = x
T
(0)Px(0)


+=

0
)(
2
1
xdtRKKQxJ
TT

ĐIỀU CHỈNH TRẠNG THÁI
[ ] [ ]
)()(
2
1
)()(
2
1
|)(
2
1
)(
txRKKQtxxRKKQx
xRKKQxxV
TTTT
t
TT
+−∞+∞=
+=



Gỉa sử chọn K để hệ ổn định, x(∞) →0
[ ]
)()(
2
1
)( txRKKQtxxV
TT
+−=

Mặt khác
( )
[ ]
xBKAPPBKAxxPxPxxxV
TTTT
)()(
2
1
2
1
)(
−+−=+=


Suy ra
[ ]
xRKKQxxBKAPPBKAx
TTTT
)(
2
1

)()(
2
1
+−=−+−
Ma trận P thỏa phương trình Lyapunov
)()()( RKKQBKAPPBKA
TT
+−=−+−

Đ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(
2
1
Pxx
T

Để J cực tiểu ta giải phương trình hay
0
=


ij
k
J


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
=


ij
k
P

+=

0
)(
2
1
xdtRKKQCCxJ
TTT

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
KKQBKAPPBKA
TTTTTTT
TTTTT
Lấy đạo hàm phương trình theo k
ij
và dùng tính chất
0
=


ij
k
P
Ta suy ra
0)])(())([(
11
=Γ−ΓΓ−Γ


−−
PBKPBK
k
TTTTT
ij

Cực tiểu xảy ra khi số hạng trong ngoặc là 0
PBRPBK
PBK
TTT
TT
111
1
)(
)(
−−−

=ΓΓ=
Γ=Γ
Phương trình Lyapunov trở thành phương trình đại số Riccati
0
1
=+−+

QPBPBRPAPA
TT

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 A
T
P + PA - PBR
-1
B
T
P + Q = 0
-P – P - 0.5 P
2
+ 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
−=



VÍ DỤ2
[ ]
xy
uxx
01
1
0
00
10
=






+






=

Tìm luật điều khiển u duy trì x
1
= r, x

2
= 0
u = - k
1
(x
1
-r) - k
2
x
2
cực tiểu chỉ tiêu

+−=

0
22
1
))(( dturxJ
Đặt biến mới
22
11
~
~
xx
rxx
=
−=
2;
00
02

=






=
RQ
Phương trình Riccati: A
T
P + PA - PBR
-1
B
T
P + Q = 0

VÍ DỤ2
[ ]






=







+






































+












00
00
00
02
10
2
1

1
0
00
10
01
00
2212
1211
2212
1211
2212
1211
2212
1211
pp
pp
pp
pp
pp
pp
pp
pp
02
2
0
2
02
2
12
2

22
2212
11
2
12
=+−
=−
=+−
p
p
pp
p
p
Cuối cùng :
2121
1
2)()(
~
2)(
~
)(
~
222
222
xrxtxtxtxPBRu
P
T
−−−=−−=−=







=


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



VÍ DỤ 3
Điều khiển tối ưu với tích phân
Phương trình Riccati
[ ]






=







+







































+













00
00
20
02
01

2
1
0
1
01
01
00
11
2212
1211
2212
1211
2212
1211
2212
1211
pp
pp
pp
pp
pp
pp
pp
pp
02
2
0
2
02
2

22
2
12
1211
2212
2
11
1211
=+−
=−+−
=+−+−
p
pp
pp
p
pp
Kết quả
[ ]

−−=−−=
==






=

t

T
dttytytztyu
PBRK
P
0
1
)()()()(
11
42
22

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

+=

0
22
)( dteeJ

)2(
1
ζ
+
ss
r
y
e
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
exex
e
e
e
e



==













−−
=






21
;;
21
10
ζ






=

=+

=

∞∞
20
02
;
2
1
)(
0
2
2
0
2
1
QdtQxxdtxxJ
T

VÍ DỤ 4
Phương trình Riccati: A
T
P + PA + Q = 0
Giải pt













+
=
ζ
ζ
ζ
1
1
12
1
P
ζ
ζ
2
1
)0()0(
2
1
+==
PxxJ
T
Đạo hàm theo ζ suy ra trị tối ưu ứng với
2
1
=
ζ

VÍ DỤ 5

k
1
100/s
2
sk
2
r
y
ue
Tìm k
1
và k
2
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
=
−=−−==−=







=







+






=



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

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 A
T
P + PA - PBR
-1
B

T
P + 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

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


ĐIỀU KHIỂN TỐI ƯU HỆ RỜI RẠC
[ ]
)()(
)()()()(
2
1
)()(
)0();()()1(
0
0
kKxku
kRukukQxkxJ
kCxky
xxkGukFxkx
k
TT
−=

+=
=
=+=+

=
Phương trình Riccati rời rạc
PFGPGGRK
PFGPGGRPGFPFFQP
TT
TTTT
1
1

)(
)(


+=
+−+=
Dùng Matlab
[K, P, e] = dlqr (F, G, Q, R)

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
3
5.1
2
2
=
=
+
−+=

K
P
P
P
PP

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
kukyJ
k
+

=

=
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+F

T
PF-F
T
PG (R+G
T
PG)
-1
G
T
PF
=1+0.135P-0.054P
2
/(1+0.4P)
P=1.11
K= (R+GTPG)
-1
G
T
PF=0.18
1/N=-C(F-GK-1)
-1
G
N=1.18

VÍ DỤ 8

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

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
1
0
=

















=

+=

=
RQ
kRukukQxkxJ
k
TT


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)

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×