DANH MỤC HÌNH ẢNH BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN TỰ ĐỘNG ĐIỀU KHIỂN ⸙⸙ BÁO CÁO CUỐI KÌ MÔN HỌC NHẬN DẠNG VÀ ĐIỀU KHIỂN HỆ THỐNG ĐỀ TÀI[.]
DANH MỤC HÌNH ẢNH BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN TỰ ĐỘNG ĐIỀU KHIỂN -⸙⸙ - BÁO CÁO CUỐI KÌ MƠN HỌC: NHẬN DẠNG VÀ ĐIỀU KHIỂN HỆ THỐNG ĐỀ TÀI: MƠ HÌNH HỐ VÀ THIẾT KẾ BỘ ĐIỀU KHIỂN CHO HỆ XE CON LẮC NGƯỢC XOAY GVHD: TS Trần Đức Thiện SVTH: Nguyễn Minh Nhựt 20151143 Lê Thành Phước 20151131 Tp Hồ Chí Minh, tháng 05 năm 2023 MỤC LỤC GVHD: TS TRẦN ĐỨC THIỆN MỤC LỤC MỤC LỤC LỜI CẢM ƠN CHƯƠNG 1: TỔNG QUAN 1.1 Đặt vấn đề: 1.2 Mục tiêu : 1.3 Giới hạn đề tài : 1.4 Phương pháp nghiên cứu: 1.5 Cấu hình tệp mơ phỏng: 1.6 Mơ hình tốn phần điện: 1.7 Mơ hình hố tốn học phần cơ: 1.8 Mơ hình hố hệ thống: CHƯƠNG 2: CƠ SỞ LÝ THUYẾT HỆ THỐNG 12 2.1 Lý thuyết xây dựng điều khiển LQG: 12 2.2 Thiết kế điều khiển trượt: 14 2.3 Giải thuật GA để tìm kiếm thơng số: 17 CHƯƠNG 3: THIẾT KẾ BỘ ĐIỀU KHIỂN LQR VÀ BỘ LỌC KALMAN 20 3.1 Giới thiệu điều khiển LQG: 20 3.2 Bài toán LQR liên tục: 21 3.3 Thiết kế điều khiển LQR cho hệ thống: 22 3.4 Thiết kế lọc Kalman: 26 CHƯƠNG 4: THIẾT KẾ BỘ ĐIỀU KHIỂN TRƯỢT 28 4.1 Thiết kế điều khiển trượt Matlab 2022 28 4.2 Kết điều khiển: 30 PHỤ LỤC 34 TÀI LIỆU THAM KHẢO 38 DANH MỤC GVHD: TS TRẦN ĐỨC THIỆN DANH SÁCH HÌNH ẢNH Hình Cấu hình thời gian cho mô Hình 2: Sơ đồ nối dây động điện chiều Hình 3: Mơ tả biến trạng thái hệ xe lắc Hình 4: Thứ tự xấp hạng mặt trượt 14 Hình 5: Sơ đồ vận hành chương trình giải thuật di truyền 18 Hình 6: Chương trình vận hành giải thuật tìm kiếm 19 Hình 7: Bên khối điều khiển: 21 Hình 8: Đáp ứng hệ thống chưa có điều khiển 22 Hình 9: Cấu trúc điều khiển LQR 22 Hình 10: Kết mô điều khiển LQR trọng số trường hợp 23 Hình 11: Kết mô điều khiển LQR trọng số trường hợp 24 Hình 12: Kết mô điều khiển LQR trọng số trường hợp 25 Hình 13: Khi có nhiễu tác động điều khiển LQR 25 Hình 14: Cấu trúc điều khiển Kalman 26 Hình 15: Cấu trúc lọc Kalman 26 Hình 16: Cấu trúc tổng quát điều khiển 27 Hình 17: Kết điều khiển LQG 27 Hình 18: Sơ đồ tổng quát điều khiển trượt 28 Hình 19: Sơ đồ khối mơ tả hệ thống lắc ngược quay 29 Hình 20: Khối tín hiệu ngõ vào REFERENCE 29 Hình 21: Kết mơ góc lệch cánh tay quay trục động (sóng sin) 30 Hình 22: Quá trình huấn luyện GA tìm thơng số điều khiển trượt 30 Hình 23: Kết góc lệch lắc ngược (sóng sin) 31 Hình 24: Góc lệch cánh tay (theta 0) với giá trị đặt sóng vng 32 Hình 25: Kết góc lắc chuyển qua dạng bám sóng vng 32 DANH SÁCH BẢNG GVHD: TS TRẦN ĐỨC THIỆN DANH SÁCH BẢNG Bảng 1: Các thơng số có động Bảng 2: Bảng thông số biến vật lý hệ Bảng 3: Các khối sử dụng matlab simulation 20 GVHD: TS TRẦN ĐỨC THIỆN LỜI CẢM ƠN Lời nhóm chúng em xin gửi lời cảm ơn đến TS Trần Đức Thiện Trong trình học tâp môn nhận dạng điều khiển hệ thống giúp đỡ, dẫn nhóm em trình bày hồn thành phần báo cáo tốt qua góp phần có kiến thức cải thiện khả diễn đạt, nâng cao khả qua buổi học Với nhiệt tình dẫn, đơn đốc thầy nhóm em hồn thành báo cáo mơn học, khái qt nội dung mơn học rõ ràng, bổ xung kĩ cần thiết liên quan đến chuyên ngành học tự động hoá TỖNG QUAN HỆ THỐNG GVHD: TS TRẦN ĐỨC THIỆN CHƯƠNG 1: TỔNG QUAN Đặt vấn đề: 1.1 Hệ xe lắc ngược xoay hệ phi tuyến đại diện cho hệ under-actuated Trong phần trình bày thực việc tuyến tính hố ngõ vào tín hiệu feedback Hệ ứng dụng nhiều sống chẳng hạn điều khiển phương tiện lĩnh vực hàng không vũ trụ, người máy, xe hai bánh cân Đó lý mà nhóm em định chọn đề tài 1.2 1.3 Mục tiêu : - Mơ hình hố tốn học hệ lắc ngược xoay - Thiết kế điều khiển LQR Lọc nhiễu Kalman Filter - Thiết kế điều khiển trượt Giới hạn đề tài : Chưa thiết kế giải thuật đề nâng lắc từ vị trí cân lên vị trí cân ổn định (vị trí cân trên) Báo cáo tập trung mơ hệ lắc với tín hiệu điều khiển điện áp cấp cho động 1.4 Phương pháp nghiên cứu: Dựa vào kinh nghiệm chuyên gia để thiết kế điều khiển cho luật mờ Phương pháp thử nghiệm chọc lọc theo báo khoa học, tạp chí ngồi ngước, google scholar, research gate Các học viện tiếng sách “Điều khiển thơng minh” thầy Huỳnh Thái Hồng, tài liệu mơn học Nhận dạng điều khiển hệ thống thầy Trần Đức Thiện Các báo tạp chí khoa học nhóm tác giả trường Đại học Sư phạm Kĩ Thuật Stabilization of Unstable Equilibrium Point of Rotary Inverted Pendulum using Fractional Controller, ResearchGate 1.5 Cấu hình tệp mơ phỏng: Vì có sử dụng giải thuật GA nên ta phải thiết lập chương trình mơ sau để lấy liệu Bước 1: Vào Modeling, chọn Model Settings tổ hợp phím Ctrl + E để vào cửa sổ Configuration Parameters để hiển thị cửa sổ hình sau Bước 2: Cấu hình lại thời gian mô ta chỉnh thời gian cố định 0.01, thời gian dừng 30s Hình Cấu hình thời gian cho mơ 1.6 Mơ hình tốn phần điện: Hình 2: Sơ đồ nối dây động điện chiều Bảng 1: Các thơng số có động Kí hiệu Vin Im Rm Lm Km Kt Kb Kg Km B m m g Tm Tt TQT Ý nghĩa Điện áp ngõ vào động Cường độ dòng diện qua động Điện trở động Điện cảm cuộn dây Sức điện động mà động quay tạo Hàng số công suất động Hàng số momen động Hằng số điện áp động Tỉ số truyền động Hằng số phản hồi Hệ số ma sát Góc motor Tốc độ góc quay trục motor Hiệu suất động Momen trục quay động Momen tải Momen quán tính động Đơn vị Số liệu Vơn Ampe Ơm Henry 11.7356 Vơn V/rad Nm/A 0.0014 V / (rad / sec) 0.0531 102 / 16 36.4x10-3 0.004 rad rad/s 0.9 Nm Nm 0.0195 Nm(kg.m2) 67.7.10-7 TỖNG QUAN HỆ THỐNG GVHD: TS TRẦN ĐỨC THIỆN Suất điện động động EMF: (Electromotive Force): Với Z số cặp cực động cơ, N số vòng dây quấn, từ thông (Wb) = N .Z 60 (2.1) Hoặc cơng thức tính tương đối sức điện động động = K m m (2.2) Từ hình 2, Áp dụng định luật Kirchchoff 2: Vin = VR + VL + VEMF = I m R m + Lm dI m + K mm dt (2.3) Momen trục động liên hệ với dòng điện theo công thức: Tm = K t I m (2.4) Hằng số momen số động K m = Kt - Phần cơ: Momen trục động cơ: Tm = Tt + B + TQT 1.7 (2.5) Mô hình hố tốn học phần cơ: 1 1 L1 y L0 0 z x 0 Hình 3: Mơ tả biến trạng thái hệ xe lắc Bảng 2: Bảng thông số biến vật lý hệ Thông số m1 Lo L1 l1 Đơn vị Kg m m m I0 Nm Định nghĩa Khối lượng lắc ngược Chiều dài cánh tay Chiều dài lắc ngược Chiều dài tính từ trọng tâm lắc Momen quán tính cánh tay Giá trị 0.0035842 TỖNG QUAN HỆ THỐNG 1.8 GVHD: TS TRẦN ĐỨC THIỆN I1 Nm 0 1 Độe Momen quán tính lắc ngược Góc xoay cánh tay Độ Góc xoay lắc ngược Mơ hình hố hệ thống: Tổng quan hệ thống, ta chọn mơ hình hố theo phương pháp Euler-Lagrange, miêu tả biểu thức: L = K −U (2.6) Với: K tổng động có hệ U tổng có hệ L biểu thức tính tốn ❖ Phương trình động học lắc ngược: Động lắc: Từ hình vẽ mô tả biến trạng thái lắc ngược ta có phương trình động học điểm A - Trên mặt phẳng quay cánh tay, vị trí điểm A tính là: X A = L0 (2.7) Vận tốc chuyển động chất điểm tính đạo hàm XA theo thời gian: X A = L0 (2.8) Từ chiếu lắc lên măt phẳng Oxy ta phương trình sau: y AB = L1 cos(1 ) (2.9) y AB = −1 L1 sin(1 ) (2.10) x AB = L1 sin(1 ) (2.11) xAB = 1 L1 cos(1 ) (2.12) Dựa phương x, hướng chuyển động đỉnh B lắc ngược với hướng chuyển động cánh tay nên ta tổng hợp lại biểu thức sau: xB = L00 − 1L1 cos(1 ) yB = −1L1 sin(1 ) Momen chuyển động lắc quanh trục tạo động quay: (2.13) MÔ PHỎNG BỘ ĐIỀU KHIỂN LQG 100 Q= GVHD: TS TRẦN ĐỨC THIỆN 0 0 , R = 10 100 0 1 0 (2.2) Với thông số biến trạng thái sau tập trung váo góc lệch lắc cánh tay Hình 11: Kết mơ điều khiển LQR trọng số trường hợp ❖ Nhận xét: - Tín hiệu điện áp điều khiển hệ thống có vọt lố tổn hao so với trường hợp - Mức độ ổn định góc lệch cánh tay tố, thời gian xác lập góc nhanh ổn định - Thời gian lên giá trị mong muốn nhanh dẫn đến sốc cho động điều khiển ❖ TH3: Trong số thích hợp điều khiển: 20 0 Q= 0 0 0 0 0 ,R =1 0 0 1 (2.3) 24 MÔ PHỎNG BỘ ĐIỀU KHIỂN LQG GVHD: TS TRẦN ĐỨC THIỆN Hình 12: Kết mơ điều khiển LQR trọng số trường hợp Hình 13: Khi có nhiễu tác động điều khiển LQR ❖ Nhận xét: - Tín hiệu điện áp điều khiển hệ thống ổn định, phù hợp trường hợp - Mức độ ổn định góc lệch cánh tay tốt, thời gian xác lập góc nhanh ổn định khoảng giây với tín hiệu nâng nhẹ nhàng bảo vệ động đáp ứng tốt 25 BỘ ĐIỀU KHIỂN LQG 3.4 GVHD: TS TRẦN ĐỨC THIỆN Thiết kế lọc Kalman: Hình 14: Cấu trúc điều khiển Kalman Với lọc Kalman cho hệ thống ta cần cân nhắc việc lựa chọn thông số biểu thức Qn (phương sai dự báo mơ hình) Rn (phương sai đo lường) cho phù hợp với lượng tín hiệu nhiễu, chọn theo quy tắc sau: Năng lượng nhiễu = phương sai *thời gian lấy mẫu Ngoài ảnh hướng đến lọc cịn có vài tác nhân khác như: giá trị khởi tạo ban đầu, sai số đo lường, mơ hình tốn Chỉ cần yếu tố khơng đáp ứng tạo sai lệch tín hiệu lọc tín hiệu nhiễu Hình 15: Cấu trúc lọc Kalman Sau kết hợp điều khiển LQR lọc Kalman ta điều khiển LQG có dạng hình sau: 26 BỘ ĐIỀU KHIỂN LQG GVHD: TS TRẦN ĐỨC THIỆN Hình 16: Cấu trúc tổng quát điều khiển Hình 17: Kết điều khiển LQG Nhận xét: Có thể thấy khối tín hiệu sau nhiễu dao động qua lọc Kalman có tín hiệu mượt hơn, ổn định bị tác động nhiễu so với điều khiển LQR Tín hiệu điều khiển LQG có dao động xét khoảng thời gian tương đồng với tín hiệu từ LQR có dạng tín hiệu mượt hơn, tổn hao điện áp điều khiển 27 MÔ PHỎNG BỘ ĐIỀU KHIỂN TRƯỢT GVHD: TS TRẦN ĐỨC THIỆN CHƯƠNG 4: THIẾT KẾ BỘ ĐIỀU KHIỂN TRƯỢT 4.1 Thiết kế điều khiển trượt Matlab 2022 ❖ Tổng quan hệ thống: Hình 18: Sơ đồ tổng quát điều khiển trượt ❖ Hệ thống lắc ngược quay: 28 MÔ PHỎNG BỘ ĐIỀU KHIỂN TRƯỢT GVHD: TS TRẦN ĐỨC THIỆN c Hình 19: Sơ đồ khối mơ tả hệ thống lắc ngược quay Chương trình Matlab hệ thể Phụ lục: Sai số huấn luyện lấy từ hai biểu thức độ lệch góc đặt tín hiệu ngõ vào u lấy trực tiếp trước khối điều khiển ❖ Khối Reference: Hình 20: Khối tín hiệu ngõ vào REFERENCE ❖ Với sóng sin: Thiết lập sóng ngõ vào với Ampitude (Rad) Tần số thiết lập 2*pi*0.1 ❖ Với sóng xung: 29 MÔ PHỎNG BỘ ĐIỀU KHIỂN TRƯỢT GVHD: TS TRẦN ĐỨC THIỆN Độ rộng xung PWM: 0.5 (50%) Ampitude: (Rad) 4.2 Kết điều khiển: Hình 21: Kết mơ góc lệch cánh tay quay trục động (sóng sin) ❖ Nhận xét: Góc quay cánh tay bám sát với tín hiệu vào (là sóng hình sin), đến mức gần trùng lên Điều chứng tỏ điều khiển trượt hoạt động hiệu trường hợp tín hiệu đặt sóng sin Hình 22: Q trình huấn luyện GA tìm thơng số điều khiển trượt 30 MÔ PHỎNG BỘ ĐIỀU KHIỂN TRƯỢT GVHD: TS TRẦN ĐỨC THIỆN Hình 23: Kết góc lệch lắc ngược (sóng sin) Nhận xét: Ta quan sát tượng chattering rõ khoảng thời gian 10s đầu tiên, khuyết điểm điều khiển trượt Góc lắc có dạng sóng sin dao động xung quanh điểm 0, với biên độ dao động nhỏ 0.005 rad Với biên độ dao động nhỏ này, lắc gần cân thẳng đứng cánh tay hệ thống 31 MÔ PHỎNG BỘ ĐIỀU KHIỂN TRƯỢT GVHD: TS TRẦN ĐỨC THIỆN Hình 24: Góc lệch cánh tay (theta 0) với giá trị đặt sóng vng Nhận xét: Góc quay cánh tay bám theo tín hiệu đặt (là xung vng) Tuy nhiên khác với trường hợp sóng sin, tín hiệu góc quay cánh tay xuất hiện tượng chattering rõ đỉnh xung vuông Trên đỉnh xung vng tượng giảm dần trước bám theo đỉnh xung vng Hình 25: Kết góc lắc chuyển qua dạng bám sóng vng 32 MƠ PHỎNG BỘ ĐIỀU KHIỂN TRƯỢT GVHD: TS TRẦN ĐỨC THIỆN Nhận xét: Tương ứng với bán kì tín hiệu đầu vào (xung vng) 10s, tín hiệu góc lệch lắc ngược dao động tắt dần với biên độ cao khoảng 0.35 rad, sau giảm dần rad Như ta thấy bán kì tín hiệu xung vng, lắc ngược dao động tắt dần trước cân thẳng đứng hướng lên Vậy điều khiển trượt hoạt động hiệu tín hiệu đặt sóng vng 33 PHỤ LỤC GVHD: TS TRẦN ĐỨC THIỆN PHỤ LỤC ❖ Chương trình tính tốn điều khiển LQG: %%Programmed By Nguyễn Minh Nhựt 20151143 %Date: 05/06/2023 clear all; clc; syms th0 th1 dth0 dth1 d2th0 d2th1 t syms l0 l1 j0 j1 g m1 L a b c d e f V f1 f2 f1=a*d2th0+b*(-cos(th1)*d2th1+sin(th1)*dth1^2)+c*dth0-d*V; f2=e*d2th1-b*cos(th1)*d2th0-f*sin(th1); [d2th0,d2th1] = solve(f1,f2,d2th0,d2th1) dth1_init = 0; dth0_init = 0; th1_init = -0.2; th0_init = 0.3; a=4.296*10^(-3); b=5*10^(-4); e=6.667*10^(-4); f=0.04905; c=0.0477; d=0.188; A = [[0, 1, 0, 0] [0, -(c*e)/(- b^2 + a*e), (b*f)/(- b^2 + a*e), 0] [0, 0, 0, 1] [0, -(b*c)/(- b^2 + a*e), (a*f)/(- b^2 + a*e), 0]] B =[ 0; (d*e)/(- b^2 + a*e); 0; (b*d)/(- b^2 + a*e)] C = [1 0 0; 0 0]; Q=[20 0 0; 0; 0 0; 0 1] R= 1; K = lqr(A,B,Q,R) % G=diag([1 1 1]); Qn = 0.00001*eye(4); %%Sai số dự báo Rn = [0.001 0; 0.01] %%Sai số đo lường L = lqe(A,eye(4),C,Qn,Rn) ❖ Chương trình Matlab bên khối mặt trượt: %% Programmed By Nguyễn Minh Nhựt 20151143 % Lê Thành Phước %% Date 12/06/2023 %% Sliding mode control function [u,e1,e2] = Sliding(th0, dth0, th1, dth1, a0,a1,a0_dot,a1_dot,a20_dot,a21_dot,c1,c2,c3,c4,nuy,k) a=4.296*10^(-3); 34 PHỤ LỤC GVHD: TS TRẦN ĐỨC THIỆN b=5*10^(-4); e=6.667*10^(-4); f=0.04905; c=0.0477; d=0.188; g1 =(d*e)/(b^2*sin(th1)^2 - b^2 + a*e); g2 =(b*d*cos(th1))/(a*e - b^2*cos(th1)^2); f1 =-(b*e*sin(th1)*dth1^2 + c*dth0*e - b*f*cos(th1)*sin(th1))/(a*e b^2*cos(th1)^2); f2 =-(cos(th1)*sin(th1)*b^2*dth1^2 + c*dth0*cos(th1)*b - a*f*sin(th1))/(a*e b^2*cos(th1)^2); %% Chọn sai so e e1 = th0 - a0; e1_dot= dth0 - a0_dot; e2 = th1; e2_dot= dth1; %% s1 s2 s3 Bieu thuc mat truot = c1*e2 + c2*e2_dot ; = s1 + c3*e1; = s2 + c4*e1_dot; %% Chọn ham Lyapunov V = (1/2)*s3^2; %% Calculator Sliding control Usw = -(nuy*sign(s3)+k*s3)/(c4*g1+c2*g2); Ueq = -(c4*f1-c4*a20_dot+c3*e1_dot+c2*f2+c1*e2_dot)/(c4*g1+c2*g2); u = Usw + Ueq; ❖ Giải thuật GA huấn luyện trọng số điều khiển trượt: %%%Programmed by Nguyễn Minh Nhựt %%Author: PGS Huỳnh Thái Hoàng %Dated 12/05/2023 clc; clear all; %%============================================================================= %% Declare parameter for GA %%============================================================================= rand('state',sum(100*clock)); max_generation = 200; max_stall_generation = 50; epsilon = 0.0001; %% phuong sai cua phep pop_size = 20; %kich thuoc 20-30 npar = 6; %so luong nst ca the co range=[ 0 0 0 ; 60 60 60 60 60 60]; dec=[2 2 2 ]; %% so co nghia phia truoc dau phay thap phan sig=[5 5 5 ]; %% acó 5-3 so sau dau phay co nghi cross_prob = 0.9; mutate_prob = 0.1; elitism = 1; %keep rho=0.02; %% so quyet dinh sai so voi j, định thời gian xác lập par = Init(pop_size,npar,range); %%============================================================================= %% Reseting initial value for variable %%============================================================================= Terminal=0; %khoi dong generation = 0; %%các giá tri 35 PHỤ LỤC GVHD: TS TRẦN ĐỨC THIỆN stall_generation=0; %dau tien truoc chay GA %%============================================================================ %% Starting loop %%============================================================================ for pop_index = : pop_size, c1=par(pop_index,1); c2=par(pop_index,2); c3=par(pop_index,3); c4=par(pop_index,4); nuy=par(pop_index,5); k=par(pop_index,6); sim('Sliding_mode.slx'); %%bat dau mo phong J=(e1'*e1)+(e2'*e2)+rho*(u'*u); %% sai so thich nghi fitness(pop_index)=1/(J+eps); %%he so thich nghi cang nho cang te end; %%============================================================================= %% Starting encode and crossing over parent %%============================================================================= [bestfit0,bestchrom] = max(fitness); c10=par(bestchrom,1); %cac ca the c20=par(bestchrom,2); %cha me c30=par(bestchrom,3); %dau tien c40=par(bestchrom,4); nuy0=par(bestchrom,5); %cac ca the k0 =par(bestchrom,6); %cha me J0 = 1/bestfit0-0.001; while ~Terminal, generation = generation+1; disp(['generation #' num2str(generation) ' of maximum ' num2str(max_generation)]); %%Mã hoá thập phân %par: mang hai chieu [NxL] luu cac thong so can ma hoa %N la kich thuoc cua quan the, dec pop=Encode_Decimal_Unsigned(par,sig,dec); %%Chương trinhf xấp hang tuyến tinh %pop: mang hai chieu [NxL] luu quan the sau duoc ma hoa thap phan %moi mot hang cua pop la mot ca the (L la chieu dai chuoi NST) parent=Select_Linear_Ranking(pop,fitness,0.2,elitism,bestchrom); %%Chương trình lai ghép hai điểm %parent: mang hai chieu [NxL], quan the sau chon loc child=Cross_Twopoint(parent,cross_prob,elitism,bestchrom); %%Chương trình tạo đột biến %child: mang hai chieu [NxL], quan the sau chon loc pop = Mutate_Uniform(child,mutate_prob,elitism,bestchrom); %%Chương trình giải mã thập phân par=Decode_Decimal_Unsigned(pop,sig,dec); %%============================================================================= %% Checking condition %%============================================================================= for pop_index=1:pop_size, c1=par(pop_index,1); c2=par(pop_index,2); c3=par(pop_index,3); c4=par(pop_index,4); nuy=par(pop_index,5); k=par(pop_index,6); sim('Sliding_mode.slx'); J=(e1'*e1)+(e2'*e2)+rho*(u'*u); fitness(pop_index)=1/(J+eps); 36 PHỤ LỤC GVHD: TS TRẦN ĐỨC THIỆN end; [bestfit(generation),bestchrom]=max(fitness); if generation == max_generation Terminal = 1; elseif generation>1, if abs(bestfit(generation)-bestfit(generation-1))