CHUONG4 THUAT TOAN HOC MAY TRONG DIEU KHIEN TOI UU HE TUYEN TINH
Điều khiến tối ưu hệ tuyến tính (bài toán LQR) là một trong những bài toán được nhiều nhà nghiên cứu quan tâm trong nhiều năm qua Luật điều khiển tôi ưu không chỉ ổn định hệ thống mà còn tối thiểu hàm chỉ phí mô tả chỉ tiêu chất lượng mong muốn Về mặt toán học, bài toán điều khiển
tối ưu được giải nếu nghiệm phương trình đại số Riccati (Algebraic Riccati
Equation-ARE) được giải Nếu ma trận trạng thái (4, B) cua hé tuyén tinh có săn, nghiệm ARE hoàn toàn có thê tìm được bằng giải tích Ngược lại, nếu thiểu một trong các ma trận này thì phương pháp giải tích không thể áp dụng
Đề khắc phục hạn chế nêu trên, thuật toán xấp xỉ nghiệm ARE dựa trên lý thuyết cơ sở của học máy có thể áp dụng Chương này sẽ đề cập đến các thuật toán học máy trong điều kiến hệ tuyến tính liên tục và rời rạc [28] [62], [11], 163], [33] dựa vào các thuật toán cơ bản đã khảo sát trong Chương 2 4.1 Bài toán LỌQR không biết tham số cho hệ tuyến tính liên tục 4.1.1 M6 ta bài toán Xét hệ thống tuyến tính liên tục được mô tả bởi #Œ) = AxŒ) + Bu(Œ) (4.1)
trong dé x € R” là véc tơ trạng thai, uw € R™ 1a véc to tin hiệu điều khiến A€ ®”**" và B € ®*"*"' là các ma trận tham sơ
Hàm chỉ phí tồn phương tuyên tính r7(+, w) được định nghĩa:
r(xŒ),u(Ð) = x Œ)Qx(Œ) +uT(Œ)Ru() (42) trong d6 Q € R”*” Ja ma tran ban xac dinh duong va R € R™*™ 1a ma
tran xac dinh duong
Ham chi tiéu chat luong J dugc dinh nghia
J(x(0)) = Ỉ (x(t), u(t))dt 0 (43)
Trang 2Tín hiệu điều khiển tối ưu t”:
u* = —K*x(t) (4.4)
trong đó K” = R-1B'P* P* € ®”*” là nghiệm xác định dương đối xứng duy nhât của phương trình đại sô Riccati
P*A + ATP* + QT— P*BR-1BTP* = 0 (4.5)
Trong trường hợp hệ thống không biết trước ma trận trạng thái 4, phương trình (4.5) không thể giải trực tiếp để tìm luật điều khiến tối ưu Sau đây, thuật toán PI (bảng 2.2) trong Chương 2 được phát triển để giải bài toán LQR cho hệ tuyến tính liên tục mà không cần nhận dang trực tiếp ma trận
A
4.1.2 Thuật toán PI xấp xỉ nghiệm LỌQR hệ tuyến tính liên tục
Thuật toán PI (bảng 2.2) xấp xỉ online nghiệm P*của (4.5) qua nhiều bước lặp Giả sử ở bước thứ í — 1 có P;_;, luật cập nhật thích nghi cho (4.4) được định nghĩa tị — —K,x(t) (4.6) trong đó K¡ = R~!BTP;_; Ta có Kis4 = “1 BT p, (4.7) Thay (4.6) vào (4.2), hàm đánh giá ở bước lặp thứ í có thể viết như sau Jœ@)) = Ỉ x? (t)(KIRK, + Q)x(t)dt =x™()P.x(t) (48) 0 Ky hiéu x, = x(t), phuong trinh (4.8) có thể viết thành t+T Jie) = xP Pix, = i] xƑ(Q + KƑRKj)x¿dt +J¿@¿„r) — (49) t 4 +
Bo dé 5.1: Néu A; = A — K¡ ỗn định, nghiệm P; trong (4.9) tương đương với nghiệm P; trong phương trình sau
Trang 3Chung minh: Chon ham Lyapunov nhu sau:
Vi(xe) = xt Pixe (4.11)
Dao ham (4.11) ta co:
Ứ,(x¿) = XP Pix, + xP Pixe (4.12)
Thay (4.1) vào (4.12), ta có:
Vi(x_) = xP (ATP; + P;A)x, + 2u} BTP,x; (4.13)
Thay (4.6) va A; = A — K; vào (4.13), str dung (4.10), ta có:
Vile) = xf (ATP; + PiAi x, = —xt (KP RK; + Q)x; (4.14) Boi vi K] RK; + Q > 0 nén V;(x_) < 0, do đó P; là nghiệm duy nhất của (4.14) v7 >0 tích phân (4.14) ta có: t+T W,(x;).= | xT (KIRK; + Q)xedt + Vi(Xear) t (4.15) So sánh (4.15) với (4.11) sử dụng (4.9) và chú ý rằng W¿(X¿¿r) = %‡>rP¡Xc++ ta thấy nghiệm của (4 10) cũng chính là nghiệm của (4.9) miễn là A — Ki
Định lý 4.1: Giả sử rằng ở bước ¡ luật điều khiển K; làm cho hệ kín
ôn định, nếu tham số vòng kín ở bước í + 1 được cập nhật theo các luật thích nghi (4.7) thì hệ kín vẫn ỗn định
Trang 4Thay A — K; = Aj, (4.7) va (4.10) vao (4.17), biến đổi ta có:
V;(%¢) = —xt (CK; — Kina) R(K; — Ki+1)]X:
#¿ [Ki,+RK¡¿: + Q]: (4.18)
Theo (4.18) ta có Ứ,(x¿) <0 Sử dụng lý thuyết Lyapunov, thay ring ở
bước tiếp theo nếu sử dụng luật cập nhật (4.7) vòng kín vẫn đảm bảo ô én định.Từ đó định lý được chứng minh
Đề thực hiện luật thuật toán lặp xác định bởi (4.7), ta không cần nhận đạng ma trận 4; bởi vì các trạng thái x¿ và X¢47 bao hàm các thông tin về A¡ Đề tối ưu hàm chỉ phí đối với luật cập nhật K¡ trong (4.15), số hạng
x†P;x¿ được viết như sau:
xf Pix, = vec “Oxexe 0 vec® (6,) _ (4.19)
trong đó
1 2012 Ẻ 2P1n
o,=| 9 P2 2Pan
0 0 eae Pnn
với pạ„ là các phần tử của ma tran P; can udc lugng, va vec*(X) la ham
thực hiện chức năng sắp xêp các phân tử thuộc tam giác trên của ma trận
⁄ thành véc tơ cột
Kết hợp với (4.9), phương trình (4.19) được viết thành:
vecS(x¿xŸ — XeerXtyr)? vec*(O;) = Ji(t) —Ji(T + t) (4.20) Dat 7; = J;(t) — Ji + t) Trong RL, Tị được xem như là chi phí trực tiếp
Trang 5Điều khiển hệ thống trong khoảng thời gian dé thu được W mẫu, ta có: [7o [ vec°(Zp)f Y= : | = : | vec"(0;) = 2,0; Ty-1) — Lvec*(Ey_1)7] trong đó [ vec“(Za)f z=
Ivec“(Zg~1 ; 4 O06; = vec*(0;) Sử dụng phương pháp ước lượng bình phương tối thiểu ta có:
ô.= G12) 12%,
(423)
(4.24)
Dựa vào 6;, ma trận Ô, được xác định Dễ dàng thực hiện phép chuyển 6;
về P¡ Thay các phân tử phù hợp của P¡ vào (4.7) ta có luật điêu khiên ước
lượng online tại bước i
Sơ đồ thuật toán được biểu diễn trên H.4.1, trong do A(A — Ky) la giá trị riêng của 4 — K; và ở là ngưỡng chọn trước dùng đề thoát vỏng lặp
khi thuật toán hội tụ
Trang 7Ví dụ 4.1: Xét hệ thống tuyến tính liên tuc x(t) = Ax(t) + Bu(t), VỚI —0.065 10 0 0 0 _ 0 —2.5 1 0 _ 0 A= —9,5 0 -—13.736 —13.736 HH = 13.736 0.6 0 0 0 0 1 0 0 0 _{0 10 0 _ Chon Q =], 0 1 o|J?#=1 0 0 0 1 Biết trước các tham số, nghiệm ARE dễ dàng tìm được bằng cách sử dụng Matlab, [K*, P*] = lqr(A, B, Q,R): 0.4600 0.6911 0.0519 0.4642 0.6911 1.8668 0.2002 0.5800 0.0519 0.2002 0.0533 0.0302 0.4642 0.5800 0.0302 2.2106 p*= và giá trị ma trận hôi tiếp tối ưu: K* = [0.7135 2.7499 0.7323 0.4142]
Trang 8t(s)
Hinh 4.2 Dé loi hai tiép K hội tụ qua các bước lap
Và véc tơ độ lợi hỗi tiếp trạng thái hội tụ:
K =[0.7012 2.7296 0.7194 0.4014]
Hình 4.2 thẻ hiện quá trình hội tụ của K, So sánh K và K”, ta có thế thấy
Trang 9Động học tuyến tính của F-l6 được mô tả bởi:
—1.01887 0.90506 —0.00215 L0
#=| 082225 —1.07741 —0.17555|x+| 0 |ử
0 0 —20.2 - k20.2
Với x = [a q de], trong dé a (rad) la géc tan (goc g1ữa hướng của vec
tơ vận tộc và trục dọc của máy bay), q(rad/s) là vận tốc góc nghiêng, 100 6,(rad) là goc nghiêng u là tín hiệu điều chỉnh góc lái Q = | 1 a 0 0 1 R=1 0.6 7 7 7 7 7 r =a) | 1 r —h | 0.4 kg 0.2 K
Hinh 4.4 Dé loi hoi tiếp K hội tụ qua các bước lặp
Biết trước các tham số, dé dàng tìm được nghiệm ARE bang cach str dung
lệnh [K}, P”] = Iqr(A, 8, Q, R) trong Matlab:
[ 1.4116 1.1539 —0.0072] P' =| 1.1539 1.4191 —0.0087
—0.0072 —0,0087 0.0201
Tuy nhiên vì ma trận 4 không biết nên thuật toán PI cho bài toán LQR
được sử dụng Chọn số véc tơ mẫu cho phương pháp ước lượng bình
Trang 10phương tối thiểu (4.24) là 6, nghiệm ARE xp xi la: 14117 1.1540 —0.0072 P=| 11540 1.4191 —0.0087 —0.0072 —0.0087 0.0206
Từ đó độ lợi hồi tiếp trạng thái sẽ là K = [—0.1452 —0.1757 0.4153]
Hình 4.4 thê hiện quá trình hội tụ của độ lợi hồi tiếp K Ta có thể thấy rằng
sự hội tụ đạt được chỉ trong 2 bước lặp Chương trình Matlab cho Ví dụ 4.2 được trình bày ở Phụ lục A 4.2 Bài tốn LỌQR khơng biết tham số cho hệ tuyến tinh roi rac 4.2.1 M6 t bai toan Xét hệ thống tuyến tính rời rạc được mô tả bởi: Xw+1 = Ây*¿ + Brug (4.25)
trong đó x„ € ®” là véc tơ trạng thái, „ € #®” là véc tơ tín hiệu điều
khién A, € #®*?X” và Ay € ®*”X”! là các ma trận tham sơ Hàm chi phí tồn phương tuyên tính r„ được định nghĩa: Tự = xi Sx¿ + uy Ruy (4.26) | trong đó Š € ®*”*” là ma trận bán xác định dương và R € ®%"*X”! là ma trận xác định dương Hàm chỉ tiêu chât lượng J; được định nghĩa: Th = > GF Sxe + ul Ruy) (4.27) k=0 Luật điều khiến t6i wu uj 1a: ut = K*Xx, (4.28)
trong dé K* = —(B} P*B, + R)~ 1BẺ P*Ay, với P* € Re“ ta nghiệm xác
định dương đối xứng duy nhất của phương trình đại số Riccati rời rạc (DARE) như sau:
P* = AL (P — P*B, (B} P*B, + R) 1 BLP*)A, +S (4.29)
Trong trường hợp hệ thống không biết trước mô hình (4„ và B„), phương
trình DARE (4.29) không thể áp dụng trực tiếp để tìm luật điều khiển tối
Trang 11ưu Thuật toán học máy cơ bản trong Chương 2 được sử dụng để giải bài toán LỌR rời rạc không cân nhận dạng trực tiép ma tran A; va By
4.2.2 Thuật toán xấp xỉ nghiệm LỌR hệ tuyến tính rời rac
Néu chi phi 7, trong (4.26) được xem như là tín hiệu củng cố (Reinforcement signal) thi ham đánh giá tôi ưu Vƒ”được định nghĩa:
V*(x¿) = XE P*x, (4.30)
trong đó V*(x„): #" —› ® Hàm Q-leaning tối uu Q* (xq, uj) có thể biểu diễn qua hàm đánh giá V”(x„) và chị phí trực tiệp 7y:
Q* (He, Ue) = Te + V" ies) (4.31)
Kết hợp (4.25), (4.26) và (4.30) ta có:
Q*(x„, ty) = xkSx„ + tự Ruy + Xk++P`Xk+a = xf Sx, + ux! Ruy
+ (AX, + Byui)TP*(AwXw + Byug) (4.32)
= x[(S + AEP*Ay)x„ + u‡f (B„P*B„ + R)u} +xTATP*B,uy + uy! BL P*AX, Sắp xếp (4.32) ta có: Oe ui) = EXE ui] (4.33) S+AEP'A, — AEP'B, Mã BIP*A R+BIP*B,| We Hi, H/¿|[Xk|t 7 — T xT 11 12 _— J+*T[gJ* tk
=x wife ae] [ia] = 97H
trong do H* € RM+™*@™+™) 14 ma tran đối xtmg xac dinh duong, ¢;7 =
[xg z7] Hàm tôi ưu Q*(x¿, uy) trong (4.33) được ước lượng trực tiệp
Trang 12từ đó uy = —(H2;)”*H2xy (4.35) So sánh với (4.28) ta co: K* =-(H3;) 'H2; (4.36) Áp dụng thuật toán Q-learning (2.3), hàm Q-learning ở mỗi bước lặp i: Q¡(Xw,uy) = Tự + Qi(Xk++, K¡Xw+1) (4.37)
trong do K; là ước lượng K” ở bước lặp thứ í và Q;(x„,„) được định nghĩa dựa vào (4.33) như sau:
,
Qi (Xa, UK) = bi Hide (4.38)
trong đó H; là ước lượng H” ở bước lặp ¡ Từ (4.37) ta có:
Te = Q¡w, uy) — Qi(Xk++., K¡Xk+1) (4.32)
Định nghĩa các véc tơ đè =[x¿ uk] va har = [eke Ki xe]
Phương trình (4.39) có thê việt lại thành:
Tự —= PLHP — bist HiPrar
= vec“(pypp)’ vec(O;)- vec°(@zx¡@k++)” vec°(6,) (4.40)
Trang 13Khoi tao 8, Ko, Hạ, N, 6 t=1 k=1 Ì Khai tao xo ul = K;_1X, + €, (€: nhiéu nho) Ỹ Hệ thống (4.25) ! Tính Su, r„ theo (4.40) Đúng Cập nhật 6, (4.42) ! H, 32/|¡=i+1Ll lK; — Kill < 6
Hình 4.5 Sơ đồ thuật toán xấp xỉ nghiệm LOR cho hệ tuyến tính rời rac Sử dụng phương pháp ước lượng bình phương tối thiểu ta có:
6, = (272)) 12, (4.42)
Trang 14Dua vao ô;, ma trận xấp xỉ Ổ, được xác định Dễ dàng thực hiện phép
chuyền Ổ; về H; (chú ý tính đôi xứng) Thay các giá trị phù hợp của H; vào
(4.36) ta có luật điều khiển hôi tiệp wdc lượng K; tai bude lap i Chu y rang N được chọn sao cho lớn hơn sô lượng các phần tử độc lập trong ma trận
H; [13]
Hình 4.5 trình bày lưu đồ thuật toán xấp xỉ nghiệm tối ưu LQR rời rạc sử dụng gial thuat Q-learning Trong do 6 la số dương nhỏ dùng dé xác định sự hội tụ của thuật toán Chú ý răng để tham số hội tụ về giá trị tối ựu
ta can kích thích hệ thống bằng cách thêm nhiễu nhỏ £ vào tín hiệu điều khiến Ví dụ 4.3: (Xấp xi luật điều khiển với tham số hệ thống hoàn tồn khơng biết) Xét hệ thống tuyến tính rời rạc (4.25) có các tham số sau: 0 1.0047 0.0867 —0.0450 —0.0739 0.7490 0.1154 —0.1038 Ak =|_95354 —0,3401 02303 -—0.7378} 00593 0.0316 0.0020 0.9993 0.0450 p, — |0-1038 k ~~ 10.7378 0.0007 10 000 _|o 10 0] ,_ S= 0 0 10 Red 0001
Biét trước các tham số, ma trận hồi tiếp dé dàng tìm được bằng cách giải
trực tiếp DARE bằng lệnh Matlab ‘dlqr(A,, By, S, R)’, vi ma tran héi tiép tối ưu có giá tri K* = = [-0.60215 0.26779 0.3368 —O 48231]
Giả sử không biết trước ma trận A k› Bx Ung dung thuật toán PL, luật điều khiển hồi tiệp qua các 4 bước lặp có các giá trị như bang 4.1.So sánh K, va K* ta thay ma tran hdi tiếp ước lượng online hội tụ về nghiệm DARE trong 4 chu kỳ lặp
Trang 15Bang 4.1 Độ lợi hồi tiếp Kị qua các bước lặp Lần lặp thứ í_ Độ lợi hồi tiếp K, 0 (giá trị khởi động |[-rand —-rand -rand —rand] ngâu nhiên) 2 1 [-0.7079 1.1228 0.4805 —0.5947] [—0.6060 0.3684 0.3498 —0.4798] 3 [-0.6022 0.2698 0.3370 —0.4825] 4 [-0.6022 0.2678 0.3368 —0.4823] 4.3 Tóm tắt
Chương này trình này hai thuật toán quan trọng trong học máy dé giải quyết bài toán LQR cho hệ tuyến tính liên tục với ma trận trạng thái
không biết và hệ tuyến tính rời rạc với toàn bộ ma trận không biết Thuật
toán học máy trong chương này là online, luôn giữ hệ kín Ổn định trong suốt quá trình học Luật cập nhật tham số xấp xỉ hàm dựa vào phương pháp bình phương tối thiểu Nghiệm xấp xỉ ARE liên tục và rời rạc được tìm
thấy với tốc độ hội tụ nhanh và ôn định Tuy nhiên, thuật toán trong chương
này cần một khoảng thời gian để lấy mẫu trước khi cập nhật tham số do đó
thiếu tính đồng bộ Thuật toán học máy cho hệ phi tuyến trong các chương
sau sẽ giải quyết vấn đề đồng bộ một cách triệt đẻ
4.4 Bài tập
Bài tập 4.1: Thiết kế luật điều khiển tối ưu hồi tiếp trạng cho hệ
Trang 16Chon Q va ®# 1a ma tran don vi Nhiễu thăm dò chọn ngẫu nhiên trong
khoảng [-1,1]
Bài tập 4.2: Cho hệ máy bay không người lái F-16 không biết trước
ma trận trạng thái Chọn @ và £ là ma trận đơn vị Hàm nhiễu thăm dò
chọn 30rand(Q, hãy thiết kế thuật toán xấp xi luật điều khiển tối ưu hồi tiếp trạng thái Mô hình tuyến tính dùng trong mô phỏng động học hệ thống như sau: —1.00187 0.90506 —0.00215 0 x=] 0.82225 -—1.07741 —0.17555|x +|0|u (4.44) 0 0 1 1
Bài tập 4.3: Cho mô hình con lắc ngược theo H.4.1 với các thông số cho trên bảng 4.2 Phương trình vi phân mô tả con lắc ngược như sau: „ _ w + ml sin(6)6” — mg cos(8)sin(8) “= M+m-—mcos?(@) „ cos(8) — (M + m)gsin(8) + ml cos(8)sin(8)8 4.45) g= mm cos2(8) — (M + m)l
Bảng 4.2 Thông số con lắc ngược
Trang 17Usin(@) x lcos( 6)
Hình 4.1 Mô hình con lắc "ngược