(Luận văn thạc sĩ) thiết kế và chế tạo thiết bị đo khớp cổ chân

127 3 0
(Luận văn thạc sĩ) thiết kế và chế tạo thiết bị đo khớp cổ chân

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH LUẬN VĂN THẠC SĨ NGUYỄN NGỌC TUẤN NGHIÊN CỨU VÀ THIẾT KẾ BỘ ĐIỀU KHIỂN PID THEO THUẬT TOÁN PSO DÙNG CHO CÁC HỆ THỐNG CÔNG NGHIỆP NGÀNH: KỸ THUẬT CƠ ĐIỆN TỬ - 60520114 S K C0 2 Tp Hồ Chí Minh, tháng 4/2017 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC SƢ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH LUẬN VĂN THẠC SĨ NGUYỄN NGỌC TUẤN NGHIÊN CỨU VÀ THIẾT KẾ BỘ ĐIỀU KHIỂN PID THEO THUẬT TOÁN PSO DÙNG CHO CÁC HỆ THỐNG CÔNG NGHIỆP NGÀNH: KỸ THUẬT CƠ ĐIỆN TỬ - 60520114 Tp Hồ Chí Minh, tháng 04 / 2017 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC SƢ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH LUẬN VĂN THẠC SĨ NGUYỄN NGỌC TUẤN NGHIÊN CỨU VÀ THIẾT KẾ BỘ ĐIỀU KHIỂN PID THEO THUẬT TOÁN PSO DÙNG CHO CÁC HỆ THỐNG CÔNG NGHIỆP NGÀNH: KỸ THUẬT CƠ ĐIỆN TỬ - 60520114 Hƣớng dẫn khoa học: PSG.TS TRƢƠNG NGUYỄN LUÂN VŨ Tp Hồ Chí Minh, tháng 04/2017 LÝ LỊCH KHOA HỌC I LÝ LỊCH SƠ LƢỢC: Họ & tên: Nguyễn Ngọc Tuấn Giới tính: Nam Ngày, tháng, năm sinh: 05/02/1987 Nơi sinh: Đồng Nai Quê quán: Quảng Ngãi Dân tộc: Kinh Chỗ riêng địa liên lạc: Nghĩa Thành - Châu Đức - Bà Rịa Vũng Tàu Điện thoại quan: (84-8)38 294 274 Điện thoại nhà riêng: 0907050287 Fax: (84-8)38 293 012 E-mail: nt.tuan5287@gmail.com II QUÁ TRÌNH ĐÀO TẠO: Trung học chuyên nghiệp: Hệ đào tạo: Thời gian đào tạo từ…/… đến …/ Nơi học (trƣờng, thành phố): Ngành học: Đại học: Hệ đào tạo: Chính Quy Thời gian đào tạo từ: 2006 đến 2011 Nơi học (trƣờng, thành phố): Đại Học Sƣ Phạm Kỹ Thuật Thành Phố Hồ Chí Minh Ngành học: Kỹ Thuật Cơ Điện Tử Tên đồ án, luận án môn thi tốt nghiệp: Thiết Kế Và Thi Công Một Số Module Điều Khiển Nhà Thông Minh Ngày & nơi bảo vệ đồ án, luận án thi tốt nghiệp: Tháng năm 2011, Trƣờng Đại Học Sƣ Phạm Kỹ Thuật Thành Phố Hồ Chí Minh Ngƣời hƣớng dẫn: ThS Lê Tấn Cƣờng III Q TRÌNH CƠNG TÁC CHUN MƠN KỂ TỪ KHI TỐT NGHIỆP ĐẠI HỌC: Thời gian Nơi công tác Công việc đảm nhiệm Năm 2011 đến Trung Tâm Kỹ Thuật Tiêu Chuẩn Đo Kỹ Thuật Viên Lƣờng Chất Lƣợng i LỜI CAM ĐOAN Tôi cam đoan cơng trình nghiên cứu tơi Các số liệu, kết nêu luận văn trung thực chƣa đƣợc công bố cơng trình khác Tp Hồ Chí Minh, ngày 22 tháng 04 năm 2017 (Ký tên ghi rõ họ tên) Nguyễn Ngọc Tuấn ii MỤC LỤC Trang tựa TRANG Quyết định giao đề tài LÝ LỊCH KHOA HỌC i LỜI CAM ĐOAN .ii CẢM TẠ iii TÓM TẮT iv MỤC LỤC v DANH SÁCH CÁC CHỮ VIẾT TẮT xi DANH SÁCH CÁC HÌNH .xii DANH SÁCH CÁC BẢNG xv CHƢƠNG TỔNG QUAN 1.1 Tổng quan lĩnh vực nghiên cứu, kết nghiên cứu nƣớc 1.1.1 Kết nghiên cứu nƣớc 1.1.1.1 Bài báo nghiên cứu “ Dùng PID điều khiển động khơng chổi than dựa thuật tốn PSO” 1.1.1.2 Bài báo nghiên cứu “Tối ƣu hóa thông số điều khiển PID dựa PSO cho Multi-leaf Collimator( MLC) ” 1.1.1.3 Bài báo nghiên cứu “Chỉnh thông số điều khiển PID dựa theo PSO cho điều khiển tải tần số khu vục hai hệ thống điện” 1.1.1.4 Bài báo nghiên cứu “Tự chỉnh thông số điều khiển PID dựa theo PSO cho động siêu âm” 1.1.1.5 Bài báo nghiên cứu “Thiết kế điều khiển PSO-PID cho hệ phi tuyến cho bể hình nón ngành cơng nghiệp hóa” 1.1.1.6 Bài báo nghiên cứu “Chỉnh thông số điều khiển PID dựa theo thuật toán PSO để tăng hiệu suất máy khoan” 1.2 Tính cấp thiết đề tài 1.3 Mục đích nghiên cứu, khách thể đối tƣợng nghiên cứu 1.4 Nhiệm vụ nghiên cứu giới hạn đề tài v 1.5 Phƣơng pháp nghiên cứu 1.6 Ý nghĩa khoa học thực tiễn đề tài 1.7 Kế hoạch thực CHƢƠNG CƠ SỞ LÝ THUYẾT 2.1 Tổng quan điều khiển PID 2.2 Tác động điều khiển khâu tỉ lệ, tích phân đạo hàm 2.2.1 Khâu tỉ lệ 2.2.2 Khâu tích phân 10 2.2.3 Khâu vi phân 11 2.3 Thuật toán PID 13 2.3.1 Khái quát điều khiển PID (Proportional Integral Derivative) 13 2.3.2 Phƣơng pháp xác định tham số điều khiển PID 14 2.3.3 Kết luận nhận xét 18 2.4 Tiêu chí đánh giá hiệu suất điều khiển 18 2.5 Những mô hình điều khiển q trình điển hình cơng nghiệp 18 2.6 Động không đồng pha 20 2.6.1 Mạch điện tƣơng đƣơng động không đồng 20 2.6.2 Vector không gian đại lƣợng ba pha 21 2.6.2.1 Hệ tọa độ cố định stator (    ) 21 2.6.2.2 Hệ tọa độ từ thông rotor ( d-q ) 22 2.6.3 Các phƣơng pháp điều khiển tốc độ động không đồng pha 23 2.6.3.1 Các phƣơng pháp điều khiển định hƣớng từ thông rotor 24 2.6.3.2 Biểu diễn vector không gian hệ tọa độ từ thơng rotor 25 2.6.4 Mơ hình động không đồng ba pha 27 2.6.4.1 Thông số động không đồng 27 2.6.4.2 Các phƣơng trình động không đồng ba pha 27 2.6.4.4 Mơ hình động khơng đồng hệ tọa độ (d – q) 30 CHƢƠNG TÍNH TỐN TIẾN HĨA VÀ TRÍ TUỆ BẦY ĐÀN 32 3.1 Giới thiệu 32 vi 3.2 Tính tốn tiến hóa 32 3.2.1 Lập trình di truyền (GP: Genetic Programming) 32 3.2.2 Quy hoạch tiến hóa (EP: Evolutionary Programming) 32 3.2.3 Chiến lƣợc tiến hóa (ES: Evolutionary Strategies ) 33 3.2.4 Giải thuật di truyền (GA: Genetic Algorithms) 33 3.3 Tổng quan thuật toán di truyền 33 3.3.1 Giải thuật di truyền 33 3.3.2 Các tính chất giải thuật di truyền 34 3.3.3 Các bƣớc giải thuật di truyền 35 3.3.4 Áp dụng giải thuật di truyền để tìm kiếm tham số tối ƣu cho điều khiển PID 36 3.4 Trí tuệ bầy đàn (SI: Swarm Intelligence) 37 3.4.1 Giải thuật tối ƣu hóa bầy kiến (ACO: Ant Colony Optimization) 38 3.4.2 Thuật toán tối ƣu bầy đàn (PSO: Particle Swarm Optimization) 38 3.5 So sánh GA PSO 39 3.6 Tóm tắt kết luận 39 CHƢƠNG THUẬT TOÁN TỐI ƢU BẦY ĐÀN 41 4.1 Giới thiệu 41 4.2 Các khái niệm giải thuật bầy đàn 42 4.3 Mơ tả thuật tốn PSO [6] 43 4.4 Những vấn đề cần quan tâm xây dựng thuật tốn PSO 45 4.4.1 Mã hóa cá thể 45 4.4.1.1 Mã hóa nhị phân 46 4.4.1.2 Mã hóa hốn vị 46 4.4.1.3 Mã hóa theo giá trị 47 4.4.1.4 Mã hóa theo cấu trúc 47 4.4.2 Khởi tạo quần thể ban đầu 47 4.4.3 Hàm thích nghi 48 4.4.4 Hàm vận tốc V 48 vii 4.4.5 Cập nhật ví trí tốt cho quần thể 49 4.5 Đặc điểm ứng dụng giải thuật PSO 51 4.5.1 Đặc điểm 51 4.5.2 Ứng dụng 52 4.6 Hiệu chỉnh điều khiển PID PSO 52 Chƣơng NGHIÊN CỨU MÔ PHỎNG ĐỂ SO SÁNH HIỆU SUẤT CỦA PSO VỚI CÁC PHƢƠNG PHÁP CHỈNH ĐỊNH KHÁC 54 5.1 Q Trình bậc có thời gian trễ (First Order Plus Dead Time - FOPDT) 54 5.1.1 Sơ đồ tổng quan khối mô simulink Matlab 54 5.1.2 Mô Simulink điều khiển PID – PSO 55 5.1.3 So sánh phƣơng pháp PID – ZN, PID – GA PID – PSO 56 5.1.4 Nhận xét 57 5.2 Quá trình bậc hai có thời gian trễ (Second Order Plus Dead Time - SOPDT) 57 5.2.1 Sơ đồ tổng quan khối mô simulink Matlab 58 5.2.2 Mô Simulink điều khiển PID – PSO 58 5.2.3 So sánh phƣơng pháp PID – ZN, PID – GA PID – PSO 59 5.2.4 Nhận xét 61 5.3 Q trình tích phân bậc hai có thời gian trễ (Second Order Integrating Plus Dead Time - SOIPDT) 61 5.3.1 Sơ đồ tổng quan khối mô simulink Matlab 61 5.3.2 Mô Simulink điều khiển PID – PSO 62 5.3.3 So sánh phƣơng pháp PID – ZN, PID – GA PID – PSO 63 5.3.4 Nhận xét 64 5.4 Q trình bậc khơng ổn định có trễ (First Order Delayed Unstable Process - FODUP) 64 5.4.1 Sơ đồ tổng quan khối mô simulink Matlab 65 5.4.2 Mô Simulink điều khiển PID – PSO 65 5.4.3 So sánh phƣơng pháp PID – ZN, PID – GA PID – PSO 66 5.4.4 Nhận xét 68 viii 5.5 Tóm tắt Kết luận 68 Chƣơng ỨNG DỤNG MƠ HÌNH THỰC NGHIỆM CHỈNH ĐỊNH THÔNG SỐ BỘ ĐIỀU KHIỂN PID TRONG ĐIỀU KHIỂN TỐC ĐỘ ĐỘNG CƠ KHÔNG ĐỒNG BỘ BA PHA BẰNG THUẬT TOÁN PSO 70 6.1 Xây dựng mơ hình động khơng đồng Matlab – Simulink 70 6.1.1 Mô hình động hệ tọa độ (   ) 70 6.1.2 Mơ hình động hệ tọa độ d  q  72 6.2 Điều khiển định hƣớng từ thông FOC – Field Orientated Control 73 6.3 Cấu trúc đại FOC [9] 76 6.3.1 Các khối cấu trúc FOC 78 6.3.1.1 Khối mơ hình động (Induction motor) 78 6.3.1.2 Khối chuyển tọa độ voltage d  q  sang     81 6.3.1.3 Khối mơ hình từ thơng 82 6.4 Kết mô 83 6.4.1 Thông số động đƣợc sử dụng q trình mơ 83 6.4.2 Sơ đồ tổng quan khối mô Matlab – Simulink 84 6.4.3 Động khởi động không tải 84 6.4.3.1 Kết mô sử dụng phƣơng pháp Ziegler-Nichols 84 6.4.3.2 Kết mô sử dụng giải thuật GA 85 6.4.3.3 Kết mô sử dụng giải thuật PSO 86 6.4.3.4 So sánh phƣơng pháp PID – ZN, PID – GA PID – PSO 89 6.4.4 Động khởi động không tải, sau đóng tải 90 6.4.4.1 Kết mô sử dụng phƣơng pháp Ziegler-Nichols 90 6.4.4.2 Kết mô sử dụng giải thuật GA 91 6.4.4.3 Kết mô sử dụng giải thuật PSO 92 6.4.4.4 So sánh phƣơng pháp PID – ZN, PID – GA PID – PSO 95 Chƣơng KẾT LUẬN 97 7.1 Kết luận 97 7.2 Hạn chế 97 ix w =0.554; % so quan tinh fitness=0*ones(n,bird_setp); % -% % khoi tao thong so ban dau % % -% R1 = rand(dim, n); R2 = rand(dim, n); current_fitness =0*ones(n,1); % % % khoi tao gia tri van toc va vi tri ban dau cua bay dan % % % current_position = 0.035*(rand(dim, n)-0.2); velocity = 0.1*randn(dim, n) ; local_best_position = current_position ; % -% % uoc tinh gia tri ban dau cua quan the % % -% for i = 1:n current_position(:,i); Kp=abs(current_position(1,i)); Ki=abs(current_position(2,i)); Kd=abs(current_position(3,i)); sim('SOPDT_PSO'); current_fitness(i) =Fitness; end local_best_fitness = current_fitness; [global_best_fitness,g] = min(local_best_fitness) ; for i=1:n globl_best_position(:,i) = local_best_position(:,g) ; end % -% % cap nhap lai gia tri van toc % % -% velocity = w *velocity + c1*(R1.*(local_best_position-current_position)) + c2*(R2.*(globl_best_position-current_position)); 103 % % % cap nhap lai gia tri vi tri % % % current_position = current_position + velocity ; % % % uoc tính gia tri moi cua bay dan % % % %% vong lap chinh iter = ; % bien dem so lan lap lai while ( iter < bird_setp ) iter = iter + 1; for i = 1:n current_position(:,i); Kp=abs(current_position(1,i)); Ki=abs(current_position(2,i)); Kd=abs(current_position(3,i)); yout = sim('SOPDT_PSO'); current_fitness(i) =Fitness; end a= current_fitness; for i = : n if current_fitness(i) < local_best_fitness(i) local_best_fitness(i) = current_fitness(i); local_best_position(:,i) = current_position(:,i) ; end end [current_global_best_fitness,g] = min(local_best_fitness); if current_global_best_fitness < global_best_fitness global_best_fitness = current_global_best_fitness; for i=1:n 104 globl_best_position(:,i) = local_best_position(:,g); end end velocity = w *velocity + c1*(R1.*(local_best_position-current_position)) + c2*(R2.*(globl_best_position-current_position)); current_position = current_position + velocity; sprintf('iter %3.0f',iter) end % ket thuc vong lap current_position(:,g); Kp = abs(current_position(1,g)) Ki = abs(current_position(2,g)) Kd = abs(current_position(3,g)) %% Ve ham muc tieu hammt=abs(a); for i=g:n hammt(i)= global_best_fitness; end itness_fuction=hammt; subplot(4,1,1) plot(Fitness_fuction); title('CỰC TIỂU HÀM MỤC TIÊU','Fontname','VNI-TIMES','fontsize',12) legend Fitness; %% Ve ham Kp, Ki va Kd best_position =abs(local_best_position); for i=g:n best_position(:,i)= abs((current_position(:,g))); end subplot(4,1,2) plot(best_position(1,:)) title('GIÁ TRỊ HÀM KP','Fontname','VNI-TIMES','Fontsize',12) legend Kp; subplot(4,1,3) plot(best_position(2,:)) title('GIÁ TRỊ HÀM KI','Fontname','VNI-TIMES','Fontsize',12) 105 legend Ki; subplot(4,1,4) plot(best_position(3,:)) title('GIÁ TRỊ HÀM KD','Fontname','VNI-TIMES','Fontsize',12) legend Kd; SOIPDT_PSO.m % Dai Hoc Su Pham Ky Thuat TP.Ho Chi Minh % Thuc hien: Nguyen Ngoc Tuan % Email: nt.tuan5287@gmailcom % SOIPDT %% khoi tao clear all; clc; Tp=1; Lp=0.2; n = 50; % so luong bay dan bird_setp =30; % so lan lap dim = 3; % kich thuoc bay dan c2 =2.05; % Hang so gia toc C2 c1 = 2.05; % hang so gia toc C1 w =0.754; % so quan tinh fitness=0*ones(n,bird_setp); % -% % khoi tao thong so ban dau % % -% R1 = rand(dim, n); R2 = rand(dim, n); current_fitness =0*ones(n,1); % % % khoi tao gia tri van toc va vi tri ban dau cua bay dan % % % current_position = 0.754*(rand(dim, n)-0.2); velocity = 0.1*randn(dim, n) ; local_best_position = current_position ; % -% 106 % uoc tinh gia tri ban dau cua quan the % % -% for i = 1:n current_position(:,i); Kp=abs(current_position(1,i)); Ki=abs(current_position(2,i)); Kd=abs(current_position(3,i)); sim('SOIPDT_PSO'); current_fitness(i) =Fitness; end local_best_fitness = current_fitness; [global_best_fitness,g] = min(local_best_fitness) ; for i=1:n globl_best_position(:,i) = local_best_position(:,g) ; end % -% % cap nhap lai gia tri van toc % % -% velocity = w *velocity + c1*(R1.*(local_best_position-current_position)) + c2*(R2.*(globl_best_position-current_position)); % % % cap nhap lai gia tri vi tri % % % current_position = current_position + velocity ; % % % uoc tính gia tri moi cua bay dan % % % %% vong lap chinh iter = ; % bien dem so lan lap lai while ( iter < bird_setp ) iter = iter + 1; for i = 1:n current_position(:,i); 107 Kp=abs(current_position(1,i)); Ki=abs(current_position(2,i)); Kd=abs(current_position(3,i)); yout = sim('SOIPDT_PSO'); current_fitness(i) =Fitness; end a= current_fitness; for i = : n if current_fitness(i) < local_best_fitness(i) local_best_fitness(i) = current_fitness(i); local_best_position(:,i) = current_position(:,i) ; end end [current_global_best_fitness,g] = min(local_best_fitness); if current_global_best_fitness < global_best_fitness global_best_fitness = current_global_best_fitness; for i=1:n globl_best_position(:,i) = local_best_position(:,g); end end velocity = w *velocity + c1*(R1.*(local_best_position-current_position)) + c2*(R2.*(globl_best_position-current_position)); current_position = current_position + velocity; sprintf('iter %3.0f',iter) end % ket thuc vong lap current_position(:,g); Kp = abs(current_position(1,g)) Ki = abs(current_position(2,g)) Kd = abs(current_position(3,g)) %% Ve ham muc tieu hammt=abs(a); 108 for i=g:n hammt(i)= global_best_fitness; end itness_fuction=hammt; subplot(4,1,1) plot(Fitness_fuction); title('CỰC TIỂU HÀM MỤC TIÊU','Fontname','VNI-TIMES','fontsize',12) legend Fitness; %% Ve ham Kp, Ki va Kd best_position =abs(local_best_position); for i=g:n best_position(:,i)= abs((current_position(:,g))); end subplot(4,1,2) plot(best_position(1,:)) title('GIÁ TRỊ HÀM KP','Fontname','VNI-TIMES','Fontsize',12) legend Kp; subplot(4,1,3) plot(best_position(2,:)) title('GIÁ TRỊ HÀM KI','Fontname','VNI-TIMES','Fontsize',12) legend Ki; subplot(4,1,4) plot(best_position(3,:)) title('GIÁ TRỊ HÀM KD','Fontname','VNI-TIMES','Fontsize',12) legend Kd; FODUP_PSO.m % Dai Hoc Su Pham Ky Thuat TP.Ho Chi Minh % Thuc hien: Nguyen Ngoc Tuan % Email: nt.tuan5287@gmailcom % FODUP %% khoi tao clear all; clc; Tp=1; Lp=0.2; n = 50; % so luong bay dan bird_setp =30; % so lan lap 109 dim = 2; % kich thuoc bay dan c2 =2.05; % Hang so gia toc C2 c1 = 2.05; % hang so gia toc C1 w =0.57; % so quan tinh fitness=0*ones(n,bird_setp); % -% % khoi tao thong so ban dau % % -% R1 = rand(dim, n); R2 = rand(dim, n); current_fitness =0*ones(n,1); % % % khoi tao gia tri van toc va vi tri ban dau cua bay dan % % % current_position = 0.57*(rand(dim, n)-0.2); velocity = 0.1*randn(dim, n) ; local_best_position = current_position ; % -% % uoc tinh gia tri ban dau cua quan the % % -% for i = 1:n current_position(:,i); Kp=abs(current_position(1,i)); Ki=abs(current_position(2,i)); sim('FOPUP_PSO'); current_fitness(i) =Fitness; end local_best_fitness = current_fitness; [global_best_fitness,g] = min(local_best_fitness) ; for i=1:n globl_best_position(:,i) = local_best_position(:,g) ; end % -% % cap nhap lai gia tri van toc % % -% 110 velocity = w *velocity + c1*(R1.*(local_best_position-current_position)) + c2*(R2.*(globl_best_position-current_position)); % % % cap nhap lai gia tri vi tri % % % current_position = current_position + velocity ; % % % uoc tính gia tri moi cua bay dan % % % %% vong lap chinh iter = ; % bien dem so lan lap lai while ( iter < bird_setp ) iter = iter + 1; for i = 1:n current_position(:,i); Kp=abs(current_position(1,i)); Ki=abs(current_position(2,i)); yout = sim('FOPUP_PSO'); current_fitness(i) =Fitness; end a= current_fitness; for i = : n if current_fitness(i) < local_best_fitness(i) local_best_fitness(i) = current_fitness(i); local_best_position(:,i) = current_position(:,i) ; end end [current_global_best_fitness,g] = min(local_best_fitness); if current_global_best_fitness < global_best_fitness global_best_fitness = current_global_best_fitness; 111 for i=1:n globl_best_position(:,i) = local_best_position(:,g); end end velocity = w *velocity + c1*(R1.*(local_best_position-current_position)) + c2*(R2.*(globl_best_position-current_position)); current_position = current_position + velocity; sprintf('iter %3.0f',iter) end % ket thuc vong lap current_position(:,g); Kp = abs(current_position(1,g)) Ki = abs(current_position(2,g)) %% Ve ham muc tieu hammt=abs(a); for i=g:n hammt(i)= global_best_fitness; end itness_fuction=hammt; subplot(4,1,1) plot(Fitness_fuction); title('CỰC TIỂU HÀM MỤC TIÊU','Fontname','VNI-TIMES','fontsize',12) legend Fitness; %% Ve ham Kp, Ki va Kd best_position =abs(local_best_position); for i=g:n best_position(:,i)= abs((current_position(:,g))); end subplot(4,1,2) plot(best_position(1,:)) title('GIÁ TRỊ HÀM KP','Fontname','VNI-TIMES','Fontsize',12) legend Kp; subplot(4,1,3) plot(best_position(2,:)) title('GIÁ TRỊ HAØM KI','Fontname','VNI-TIMES','Fontsize',12) 112 legend Ki; PSO.m % Dai Hoc Su Pham Ky Thuat TP.Ho Chi Minh % Thuc hien: Nguyen Ngoc Tuan % Email: nt.tuan5287@gmailcom % DIEU KHIEN TOC DO DONG CO KHONG DONG BO BA PHA %% Initialization clear all; clc; n = 50; bird_setp =8; dim = 2; % so luong bay dan % so lan lap % kich thuoc bay dan c2 =2.05; % Hang so gia toc C2 c1 = 2.05; % hang so gia toc C1 w =0.57; % so quan tinh fitness=0*ones(n,bird_setp); % -% % khoi tao thong so ban dau% % -% R1 = rand(dim, n); R2 = rand(dim, n); current_fitness =0*ones(n,1); % % % khoi tao gia tri van toc va vi tri ban dau cua bay dan% % % current_position =5.5*(rand(dim, n)); velocity =1*randn(dim, n) ; local_best_position = current_position ; % -% % uoc tinh gia tri ban dau cua quan the % % -% for i = 1:n 113 current_position(:,i); Kp=abs(current_position(1,i)); Ki=abs(current_position(2,i)); sim('MHDC'); current_fitness(i) =Fitness; end local_best_fitness = current_fitness; [global_best_fitness,g] = min(local_best_fitness) ; for i=1:n globl_best_position(:,i) = local_best_position(:,g) ; end % -% % cap nhap lai gia tri van toc% % -% velocity = w *velocity + c1*(R1.*(local_best_position-current_position)) + c2*(R2.*(globl_best_position-current_position)); % % % cap nhap lai gia tri vi tri % % % current_position = current_position + velocity ; % % % uoc tính gia tri moi cua bay dan % % %% vong lap chinh iter = ; % bien dem so lan lap lai while ( iter < bird_setp ) iter = iter + 1; for i = 1:n current_position(:,i); Kp=abs(current_position(1,i)); Ki=abs(current_position(2,i)); sim('MHDC'); current_fitness(i) =Fitness; 114 % end a= current_fitness; for i = : n if current_fitness(i) < local_best_fitness(i) local_best_fitness(i) = current_fitness(i); local_best_position(:,i) = current_position(:,i) ; end end [current_global_best_fitness,g] = min(local_best_fitness); if current_global_best_fitness < global_best_fitness global_best_fitness = current_global_best_fitness; for i=1:n globl_best_position(:,i) = local_best_position(:,g); end end velocity = w *velocity + c1*(R1.*(local_best_position-current_position)) + c2*(R2.*(globl_best_position-current_position)); current_position = current_position + velocity; sprintf('iter %3.0f',iter) end % ket thuc vong lap current_position(:,g); Kp = abs(current_position(1,g)) Ki = abs(current_position(2,g)) %% Ve ham muc tieu hammt=abs(a); for i=g:n hammt(i)= global_best_fitness; end Fitness_fuction=hammt; subplot(4,1,1) 115 plot(Fitness_fuction); title('CỰC TIỂU HÀM MỤC TIÊU','Fontname','VNITIMES','fontsize',12) legend Fitness; %xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xx %% Ve ham Kp, Ki va Kd best_position =abs(local_best_position); for i=g:n best_position(:,i)= abs((current_position(:,g))); end subplot(4,1,2) plot(best_position(1,:)) title('GIÁ TRỊ HÀM KP','Fontname','VNI-TIMES','Fontsize',12) legend Kp; %xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xx subplot(4,1,3) plot(best_position(2,:)) title('GIÁ TRỊ HÀM KI','Fontname','VNI-TIMES','Fontsize',12) legend Ki; %xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xx 116 S K L 0 ...BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC SƢ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH LUẬN VĂN THẠC SĨ NGUYỄN NGỌC TUẤN NGHIÊN CỨU VÀ THIẾT KẾ BỘ ĐIỀU KHIỂN PID THEO THUẬT TOÁN... Chí Minh, tháng 04 / 2017 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC SƢ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH LUẬN VĂN THẠC SĨ NGUYỄN NGỌC TUẤN NGHIÊN CỨU VÀ THIẾT KẾ BỘ ĐIỀU KHIỂN PID THEO THUẬT TOÁN... Hóa Và Trí Tuệ Bầy Đàn Chƣơng - Thứ GA dựa ba chế xử lý: thay cha mẹ, chọn cá thể điều chỉnh tham số cho phù hợp Còn PSO dựa vào hai chế, không thông qua chế lựa chọn cá thể rõ ràng, thay vào

Ngày đăng: 07/12/2021, 16:52

Tài liệu cùng người dùng

Tài liệu liên quan