Chương này ta sẽ xây dựng bộ điều khiển tuyến tính hóa vàora theo phương pháp tuyến tính hóa vàora thích nghi cho 2 hệ bồn nước kép có ngõ thông nhau (Hệ SISO và hệ MIMO). Các bộ điều khiển và mô hình đối tượng được mô phỏng trong môi trường Matlab Simulink và đưa ra kết quả so sánh giữa các bộ điều khiển khác nhau.
51 CHƢƠNG THIẾT KẾ BỘ ĐIỀU KHIỂN THÍCH NGHI Chương ta xây dựng điều khiển tuyến tính hóa vào-ra theo phương pháp tuyến tính hóa vào-ra thích nghi cho hệ bồn nước kép có ngõ thông (Hệ SISO hệ MIMO) Các điều khiển mô hình đối tượng mô môi trường Matlab Simulink đưa kết so sánh điều khiển khác 4.1 Thiết kế điều khiển hồi tiếp tuyến tính hóa thích nghi hệ SISO Trong trình thực điều khiển tuyến tính hoá vào-ra xác phần ta thấy thông số mô hình thay đổi, tín hiệu nhận không xác ảnh hưởng nhiễu làm cho kết điều khiển không xác nữa, với ý tưởng thiết kế điều khiển theo phương pháp tuyến tính hoá vào-ra thích nghi với thay đổi mô hình ảnh hưởng nhiễu phần ta thiết kế điều khiển mờ thích nghi điều khiển hệ bồn nước kép có ngõ thông (Hệ SISO bậc 2) Bộ điều khiển mờ thích nghi thiết kế theo phương pháp thích nghi gián tiếp (Indirect Adaptive Control – IAC) thích nghi trực tiếp (Direct Adaptive Control - DAC) 4.4.1 Điều khiển thích nghi gián tiếp (IAC_SISO) Thiết kế mô điều khiển IAC_SISO: Phương trình trạng thái hệ thống viết dạng • x(t ) f ( x) g ( x).u (t ) y(t ) h( x) (4.1) b x sign( x x )b x x 1 Trong : f ( x) b3 x1 x2 b4 x2 (4.2) 52 b x sign( x x )b x x f ( x) b x x b x (4.2) b g ( x) 0 (4.3) h( x) x2 (t ) •• Lấy đạo hàm cấp tín hiệu y(t) ta : y(t ) ( x) ( x).u (4.4) Trong : ( x) L2f h( x) ( x) Lg L f h( x) (4.5) Luật điều khiển tuyến tính hoá vào-ra: u(t ) 1 [v(t ) L2f h( x)] [v(t ) ( x)] Lg L f h( x) ( x) (4.6) Mục tiêu ta thiết kế điều khiển tuyến tính hoá vào-ra giả sử ta hàm f(x), g(x) hay h(x) cấu trúc hai hàm nên thực thi luật điều khiển tuyến tính hoá vào-ra theo công thức (4.6) ta sử dụng mờ để xấp xỉ hàm ( x) ( x) Để hệ thống tự thích nghi với biến đổi mô hình ta sử dụng thuật toán nhận dạng online để cập nhật trực tuyến thông số cho mô hình mờ sau thực luật điều khiển tuyến tính hoá vào-ra theo công thức sau: 1 uce ( x) v (4.7) Với ( x); ( x) xấp xỉ hàm ( x); ( x) Hệ thống mờ T dùng xấp xỉ hai hàm có ngõ vào biến x x1 x2 Rn ngõ ( x) R Gọi Fik , k pi tập mờ định 53 nghĩa giá trị ngôn ngữ biến trạng thái x1 x2 qui tắc thứ i th mệnh đề điều kiện hệ mờ Mô hình mờ ( x) sử dụng để xấp xỉ hàm ( x) thể luật qui tắc mờ có dạng sau : Nếu x1 F1k x2 F2k ( x) k …………………………………………… Fik tập mờ biểu diễn giá trị ngôn ngữ biến trạng thái x1 x2 Các tập mờ có hàm liên thuộc dạng Gauss, số tập mờ cho biến chọn Như tất hệ mờ sử dụng ước lượng cho ( x) có tổng cộng 25 qui tắc Sử dụng phép toán nhân để thực luật and phương pháp giải mờ trung bình có trọng số, mô hình mờ nhận dạng hàm ( x) xác định biểu thức sau : ˆ ( x) AT (4.8) A A ,1 A ,1 .A ,25 T ( x) ,1( x) ,2 ( x) . ,25 ( x) k ( x) F1k ( x1)F2k ( x2 ) 25 F k 1 1k (4.9) T (4.10) (4.11) ( x1 ) F2k ( x2 ) Trong đó: Aα vector thông số hàm liên thuộc dạng vạch mệnh đề kết luận hệ mờ, vector cập nhật giá trị trực tuyến để ˆ ( x) ( x) Luật cập nhật trọng số cho vector Aα dựa theo phương pháp phân tích hàm Lyapunov chứng minh chương theo qui tắc sau : A (t ) Q 1 esuce (4.12) 54 A (t ) Q 1 esuce dt vector thông số hàm sở mệnh đề điều kiện hệ mờ có hàm liên thuộc dạng Gauss sau : 1( x, w, x) exp[( x 0)2 / 2*52 ]; 2 ( x, w, x) exp[( x 12.5)2 / 2*52 ] 3 ( x, w, x) exp[( x 25)2 / 2*52 ]; 4 ( x, w, x) exp[( x 37.5)2 / 2*52 ] 5 ( x, w, x) exp[( x 50)2 / 2*52 ]; (4.13) 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 10 15 20 25 30 35 40 45 50 Hình 4.1: Các tập mờ dùng mệnh đề điều kiện hệ mờ Tương tự cho mô hình mờ dùng để mô tả hàm ( x) Ta sử dụng qui tắc mờ cập nhật trọng số cho hệ mờ tương tự ( x) để xấp xỉ hàm theo biểu thức sau: ( x) AT (4.14) T A A ,1 A ,1 .A ,25 cập nhật giá trị trực tuyến theo qui tắc: A (t ) Q 1 esuce ( x) ,1( x) ,2 ( x) . ,25 ( x) (4.15) T (4.16) 55 k ( x) F1k ( x1)F2k ( x2 ) 25 F k 1 1k (4.17) ( x1) F2 k ( x2 ) Thành phần chế độ trượt thực theo nguyên tắc phân tích hàm Lyapunov cho phương trình động học sai số bám hệ thống phân tích chương 2, thực theo qui tắc sau : usi D ( x) D ( x) uce sgn(es ) (4.18) D ; D sai số cấu trúc hệ thống Thành phần điều khiển trượt thêm vào nhằm đảm bảo tính ổn định hệ thống có sai số cấu trúc mô hình Để tính toán thành phần điều khiển phải biết cận đối tượng thực tế việc xác định tương đối khó khăn mô hình toán hệ thống phức tạp Nếu cận chọn nhỏ làm hệ thống ổn định, chọn lớn có tượng chatterring Sau xây dựng thuật toán cho điều khiển thích nghi gián tiếp (IAC_SISO) ta tiến hành mô để kiểm chứng điều khiển Hình 4.2: Hệ SISO -Sơ đồ mô điều khiển thích nghi gián tiếp IAC 56 -inv(Qa) InvQu Matrix Multiply K Ts Product -inv(Qb) Es InvQu1 Uce z-1 Discrete-Time Integrator A_alpha A_alpha Product1 K Ts esilon Matrix Multiply A_beta_dot Product4 z-1 Discrete-Time Integrator1 A_beta A_beta Hình 4.3: Hệ SISO_IAC -Cấu trúc khối Estimate online Hình 4.4: Hệ SISO_IAC -Cấu trúc Tracking error Hình 4.5: Hệ SISO_IAC - Cấu trúc nhận dạng Fuzzy identify 57 Hình 4.6, 4.7: Hệ SISO_IAC -Tập mờ ngõ vào cho biến x1 x2 Es Sign Product Uce |u| Abs Usi K*u Gain beta0 minb -Cdeltamaxa Hình 4.8: Hệ SISO_IAC -Cấu trúc khối điều khiển trượt Usi Hình (4.2) sơ đồ mô hệ thống điều khiển thích nghi gián tiếp chức số khối mô sau : - Khối [ ref input ] :Tạo tín hiệu đặt mong muốn - Khối [ Tracking error ] :Dùng để tính sai số bám tín hiệu điều khiển v(t) Trong khối chọn giá trị k =10 - Khối [Fuzzy indentify]: Có 25 qui tắc mờ dùng để nhận dạng hàm ( x) ( x) - Khối [online estimate] : Dùng để cập nhật trọng số trực tuyến cho ma trận A A 58 Với trọng số hàm Lyapunov thuật toán nhận dạng online A A chọn là: Qa Qb 5000* I - Khối [sliding mode control] : Tính thành phần điều khiển chế độ trượt với thông số chọn sau : D 0.1; D 0.1 0.01 Kết mô điều khiển IAC_SISO Hình 4.9: Hệ SISO_IAC -Tín hiệu điều khiển bơm Up Hình 4.10: Hệ SISO_IAC -Tiết diện van xả a2 59 Hình 4.11: Hệ SISO_IAC –Điều khiển mực nước Bồn Hình 4.12: Hệ SISO_ IAC –Điều khiển mực nước Bồn 60 Nhận xét : Kết mô cho thấy điều khiển IAC có khả thích nghi với thay đổi thông số mô hình, tiết diện van xả a2 thay đổi thời điểm t = 80s mực chất lỏng bồn tụt xuống hệ thống tự cập nhật thông số thích nghi nên sau mực nước bồn bám theo tín hiệu đặt Đáp ứng hệ thống nhanh, vọt lố ổn định 4.1.2 Bộ điều khiển thích nghi trực tiếp (DAC_SISO) Khác với phương pháp điều khiển thích nghi gián tiếp, phương pháp điều khiển thích nghi trực tiếp (DAC) sử dụng hệ mờ để xấp xỉ trực tiếp luật điều khiển tuyến tính hoá vào - dạng : u( x) AuT u ( x) (4.19) Trong : Au Au,1 Au,2 .Au,25 T (4.20) • Luật cập nhật trọng số cho Au : Au Qu1u es - (4.21) Vector thông số Au giá trị hàm liên thuộc dạng vạch mệnh đề kết luận hệ mờ, Au cập nhật trực tuyến để giá trị u ( x) hàm điều khiển hồi tiếp xác Luật cập tiệm cận với giá trị hàm nhật vector trọng số Au theo công thức (4.21) xác định theo phương pháp phân tích hàm Lyapunov cho phương trình động học sai số bám trình bày chương - u ( x) Vector thông số hàm sở mệnh đề điều kiện hệ mờ dùng xấp xỉ hàm u ( x) T u ( x) u,1( x) u,2 ( x) .u,25 ( x) Qui tắc tính thành phần u , k thực theo công thức (4.25) (4.22) 72 Hình 4.27: Hệ MIMO_IAC -Tín hiệu điều khiển bơm Hình 4.28: Hệ MIMO_IAC -Tiết diện van xả a2 Nhận xét : Kết mô điều khiển mực nước hai bồn điều khiển thích nghi gián tiếp IAC_MIMO cho thấy, mực nước hai bồn bám sát theo tín hiệu đặt trước, đáp ứng hệ thống tương đối nhanh, không vọt lố có tính ổn định cao, tiết diện valve xả a2 thay đổi hệ thống tự cập nhật thông số thích nghi với thay đổi mô hình tín hiệu bám theo tín hiệu mong muốn 73 4.2.2 Thiết kế điều khiển thích nghi trực tiếp cho hệ MIMO (MIMO_DAC) Luật điều khiển tuyến tính hoá vào-ra theo phương pháp thích nghi trực tiếp dùng hệ thống mờ để ước lượng trực tiếp tín hiệu điều khiển tuyến tính hoá vào- Hệ thống bồn nước kép có hai tín hiệu điều khiển Up1 Up2 điện áp cấp cho hai bơm bơm bơm nước vào hai bồn ta dùng hai hệ mờ để xấp xỉ trực tiếp hai tín hiệu theo nguyên tắc sau : T u k ( x) Auk uk ( x) ; k = 1,2 (4.42) T u1 ( x) Au1u1 ( x) u ( x) AT ( x) u2 u2 (4.43) Hai tín hiệu u1 u xấp xỉ trực tiếp hệ mờ dạng Singleton, hệ mờ gồm 25 luật tương ứng với số tập mờ chọn cho biến đầu vào x1, x2 tập mờ, cấu trúc tập mờ quan hệ mờ, phương pháp giải mờ tương tự điều khiển DAC cho hệ SISO bậc phần I Các ma trận thành phần định nghĩa sau : - u Vector thông số hàm mờ sở mệnh đề điều kiện hệ mờ dùng nhận dạng hàm u k ( x) uk ( x) uk ,1 ( x) T uk ,25 ( x) ; k 1,2 i F1k ( x1) i F2 k ( x2 ) uk ,i ( x) 25 F i 1 i 1k - uk ,2 ( x) . ( x1 ) i (4.44) (4.45) F2 k ( x2 ) Auk ma trận trọng số cập nhật trực tuyến theo nguyên tắc : T Auk Auk ,1 Auk ,2 .Auk ,25 ; k 1,2 (4.46) Auk ,i (t ) Quk ,i 1uk ,iesk ,i (4.47) 74 Chế độ điều khiển trượt thực theo công thức sau : usdk Duk D k sgn(esk ); k 1,2 e sk 2 k (4.48) Hình 4.29: Hệ MIMO -Sơ đồ mô điều khiển thích nghi trực tiếp DAC Hình 4.30: Hệ MIMO_DAC -Khối điều khiển thích nghi trực tiếp 75 f(u) F21 f(u) F22 f(u) x2 F23 Out2 f(u) F24 f(u) F25 Hình 4.31: Hệ MIMO_DAC -Các tập mờ dạng Gauss cho hai biến x1, x2 Hình 4.32: Hệ MIMO_DAC -Khối điều khiển chế độ trượt Sliding mode Kết mô điều khiển thu cho hệ thống chạy 160s Hình 4.33: Hệ MIMO_DAC -Điều khiển mực nước bồn 76 Hình 4.34: Hệ MIMO_DAC -Điều khiển mực nước bồn Hình 4.35: Hệ MIMO_DAC -Tín hiệu điều khiển bơm 77 Hình 4.36: Hệ MIMO_DAC -Tín hiệu điều khiển bơm Hình 4.37: Hệ MIMO_DAC -Tiết diện van xả a2 Nhận xét: Kết mô cho thấy mực nước hai bồn bám sát theo tín hiệu đặt trước, đáp ứng hệ thống tương đối nhanh vọt lố Vậy ta kết luận điều khiển DAC thiết kế cho kết tốt có khả thích nghi với thay đổi thông số mô hình Theo sơ đồ khối hệ thống DAC cho thấy thông số điều khiển chỉnh định trực tiếp hệ mờ mạng thần kinh mà nhận dạng mô hình đối tượng điều làm cho điều khiển DAC có cấu trúc đơn giản mà lại đạt hiểu cao so với điều khiển IAC 78 4.3 Sử dụng mạng nơron ƣớc lƣợng tham số hệ SISO 4.3.1 Sử dụng mạng nơron ƣớc lƣợng tham số cho điều khiển tuyến tính hóa vào-ra hệ SISO Hình 4.38: Hệ SISO -Mô hình dùng mạng nơron ước lượng tham số cho điều khiển tuyến tính hóa vào-ra Trong điều khiển trên, thay sử dụng điều khiển thích nghi trực tiếp ước lượng luật điều khiển tuyến tính hóa vào-ra, tác giả sử dụng mạng nơron để ước lượng luật điều khiển Mạng nơron nhận dạng alpha_hat có tín hiệu vào: Uce, Es, h1, h2 tín hiệu alpha_hat Chương trình huấn luyện mạng nhận dạng alpha_hat Matlab: load hanh.mat XX; Time = XX(1,:); U = XX(2,:); 79 ES = XX(3,:); h1 = XX(4,:); h2 = XX(5,:); A_anpha = XX(6,:); P = [0,max(U);0,max(ES);0,max(h1);0,max(h2)] myNet = newff(P,[10,1],{'tansig' 'purelin'}); myNet.trainparam.goal = 0.00001; myNet.trainparam.epochs = 200; UUU = [U;ES;h1;h2]; YYY = [A_anpha]; myNet = train(myNet,UUU,YYY); gensim(myNet,0.01) Hình 4.39: Hệ SISO_Nơron -Giá trị ước lượng alpha_hat Mạng nơron nhận dạng beta_hat có tín hiệu vào: Uce, Es, h1, h2 tín hiệu beta_hat 80 Chương trình huấn luyện mạng nhận dạng beta_hat Matlab: load hanh.mat XX; Time = XX(1,:); U ES = XX(2,:); = XX(3,:); h1 = XX(4,:); h2 = XX(5,:); A_beta = XX(6,:); P = [0,max(U);0,max(ES);0,max(h1);0,max(h2)] myNet = newff(P,[10,1],{'tansig' 'purelin'}); myNet.trainparam.goal = 0.00001; myNet.trainparam.epochs = 700; UUU = [U;ES;h1;h2]; YYY = [A_beta]; myNet = train(myNet,UUU,YYY); gensim(myNet,0.01) Hình 4.40: Hệ SISO_Nơron -Giá trị ước lượng beta_hat 81 Nhận xét: Tín hiệu ước lượng có giá trị gần tín hiệu thật hệ thống Mạng nơron đáp ứng yêu cầu đề 4.3.2 Sử dụng mạng nơron ƣớc lƣợng luật điều khiển trực tiếp điều khiển tuyến tính hóa vào-ra hệ SISO Hình 4.41: Hệ SISO -Mô hình dụng mạng Nơron ước lượng luật điều khiển trực tiếp điều khiển tuyến tính hóa vào-ra Trong điều khiển trên, thay sử dụng điều khiển thích nghi trực tiếp ước lượng luật điều khiển tuyến tính hóa vào-ra, tác giả sử dụng mạng nơron để ước lượng luật điều khiển Mạng nơron sử dụng có tín hiệu vào: es, h1, h2 tín hiệu Uhat Chương trình huấn luyện mạng Matlab: load hanh.mat XX; Time = XX(1,:); ES = XX(2,:); 82 h1 = XX(3,:); h2 = XX(4,:); U_hat = XX(5,:); P = [0,max(ES);0,max(h1);0,max(h2)] myNet = newff(P,[10,1],{'tansig' 'purelin'}); myNet.trainparam.goal = 0.00001; myNet.trainparam.epochs = 100; UUU = [ES;h1;h2]; YYY = [U_hat]; myNet = train(myNet,UUU,YYY); gensim(myNet,0.01) Kết huấn luyện: Hình 4.42: Hệ SISO_Nơron -Giá trị ước lượng U_hat 83 Hình 4.43: Hệ SISO_Nơron -Đáp ứng bồn sử dụng mạng nơron ước lượng trực tiếp luật tuyến tính hóa vào-ra Nhận xét: Tín hiệu ước lượng có giá trị gần tín hiệu thật Mạng nơron đáp ứng yêu cầu đề Đáp ứng hệ thống bám tốt theo tín hiệu đặt 4.4 Sử dụng mạng nơron ƣớc lƣợng luật điều khiển trực tiếp điều khiển tuyến tính hóa vào-ra hệ MIMO Hình 4.44: Hệ MIMO -Mô hình dụng mạng nơron ước lượng luật điều khiển trực tiếp điều khiển tuyến tính hóa vào-ra 84 Trong điều khiển trên, thay sử dụng điều khiển thích nghi trực tiếp ước lượng luật điều khiển tuyến tính hóa vào-ra, tác giả sử dụng mạng nơron để ước lượng luật điều khiển Mạng nơron sử dụng có tín hiệu vào: es1, es2, h1, h2 tín hiệu u^1 , u^2 Chương trình huấn luyện mạng Matlab: load hanh1.mat XXX; Time = XXX(1,:); ES1 = XXX(2,:); ES2 = XXX(3,:); h1 = XXX(4,:); h2 = XXX(5,:); UL1 = XXX(6,:); UL2 = XXX(7,:); P = [0,max(ES1);0,max(ES2);0,max(h1);0,max(h2)] myNet = newff(P,[20,2],{'tansig' 'purelin'}); myNet.trainparam.goal = 0.00001; myNet.trainparam.epochs = 300; UUU = [ES1;ES2;h1;h2]; YYY = [UL1;UL2]; myNet = train(myNet,UUU,YYY); gensim(myNet,0.01) Kết huấn luyện: 85 Hình 4.45: Hệ MIMO_Nơron -Giá trị ước lượng u^1 Hình 4.46: Hệ MIMO_Nơron - Giá trị ước lượng u^2 86 Hình 4.47: Hệ MIMO_Nơron -Đáp ứng bồn sử dụng mạng nơron ước lượng trực tiếp luật tuyến tính hóa vào-ra Hình 4.48: Hệ MIMO_Nơron -Đáp ứng bồn sử dụng mạng nơron ước lượng trực tiếp luật tuyến tính hóa vào-ra Nhận xét: Tín hiệu ước lượng có giá trị gần tín hiệu thật Mạng nơron đáp ứng yêu cầu đề Đáp ứng hệ thống bám tốt theo tín hiệu đặt ... -Điều khiển mực nước Bồn 71 Hình 4 .25 : Hệ MIMO_IAC - Điều khiển mực nước Bồn Hình 4 .26 : Hệ MIMO_IAC -Tín hiệu điều khiển bơm 72 Hình 4 .27 : Hệ MIMO_IAC -Tín hiệu điều khiển bơm Hình 4 .28 : Hệ MIMO_IAC... 4 .29 : Hệ MIMO -Sơ đồ mô điều khiển thích nghi trực tiếp DAC Hình 4.30: Hệ MIMO_DAC -Khối điều khiển thích nghi trực tiếp 75 f(u) F21 f(u) F 22 f(u) x2 F23 Out2 f(u) F24 f(u) F25 Hình 4.31: Hệ. .. 0 )2 / 2* 52 ]; 2 ( x, w, x) exp[( x 12. 5 )2 / 2* 52 ] 3 ( x, w, x) exp[( x 25 )2 / 2* 52 ]; 4 ( x, w, x) exp[( x 37.5 )2 / 2* 52 ] 5 ( x, w, x) exp[( x 50 )2 / 2* 52 ]; (4 .24 )