1. Trang chủ
  2. » Luận Văn - Báo Cáo

Điều khiển mô hình nội dùng mạng nơron

110 11 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 110
Dung lượng 3,49 MB

Nội dung

Đại Học Quốc Gia Tp Hồ Chí Minh TRƯỜNG ĐẠI HỌC BÁCH KHOA BÙI VIỆT AN ĐỀ TÀI LUẬN VĂN THẠC SĨ: ĐIỀU KHIỂN MƠ HÌNH NỘI DÙNG MẠNG NƠRON Chuyên ngành: TỰ ĐỘNG HÓA LUẬN VĂN THẠC SĨ TP HỒ CHÍ MINH, tháng năm 2010 BÙI VIỆT AN Luận văn thạc sỹ CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH Cán hướng dẫn khoa học: Tiến sĩ Nguyễn Thiện Thành (ghi rõ họ tên, học hàm, học vị chữ ký) Cán chấm nhận xét 1: Phó giáo sư, Tiến sĩ Nguyễn Thị Phương Hà (ghi rõ họ tên, học hàm, học vị chữ ký) Cán chấm nhận xét 2: Tiến sĩ Huỳnh Thái Hoàng (ghi rõ họ tên, học hàm, học vị chữ ký) Luận văn thạc sỹ bảo vệ HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN THẠC SỸ TRƯỜNG ĐẠI HỌC BÁCH KHOA, ngày 27 tháng 11 năm 2008 Thành phần hội đồng đánh giá luận văn thạc sỹ gồm: (Ghi họ, tên, học hàm, học vị hội đồng chấm bảo vệ luận văn thạc sỹ) Phó giáo sư, tiến sĩ Nguyễn Thị Phương Hà Tiến sĩ Huỳnh Thái Hoàng Tiến sĩ Dương Hoài Nghĩa Tiến sĩ Hoàng Minh Trí BÙI VIỆT AN Luận văn thạc sỹ ĐẠI HỌC QUỐC GIA TP HCM CỘNG HOÀ XÃ HỘI CHỦ NGHIÃ VIỆT NAM TRƯỜNG ĐẠI HỌC BÁCH KHOA Độc Lập - Tự Do - Hạnh Phúc -oOo Tp HCM, ngày 27 tháng 11 năm 2008 NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: BÙI VIỆT AN Giới tính: Nam Ngày, tháng, năm sinh: 15 – 05 – 1983 Nơi sinh: QUẢNG NGÃI Chuyên ngành: TỰ ĐỘNG HĨA Khố (Năm trúng tuyển): 2006 1- TÊN ĐỀ TÀI: ĐIỀU KHIỂN MƠ HÌNH NỘI DÙNG MẠNG NƠRON 2- NHIỆM VỤ LUẬN VĂN: • Tìm hiểu lý thuyết mơ hình nội • Tìm hiểu lý thuyết mạng nơron Chọn mạng nơron ứng dụng cho mơ hình nội • Xây dựng mơ hình nội sử dụng mạng nơron để điều khiển mơ hình bồn nước đơn 3- NGÀY GIAO NHIỆM VỤ : 4- NGÀY HOÀN THÀNH NHIỆM VỤ : 5- HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: Tiến sĩ Nguyễn Thiện Thành Nội dung đề cương Luận văn thạc sĩ Hội Đồng Chuyên Ngành thông qua CÁN BỘ HƯỚNG DẪN CHỦ NHIỆM BỘ MÔN QUẢN LÝ CHUYÊN NGÀNH (Họ tên chữ ký) (Họ tên chữ ký) Nguyễn Thiện Thành BÙI VIỆT AN Luận văn thạc sỹ LỜI CẢM ƠN Trước tiên, xin chân thành cảm ơn quan tâm, hỗ trợ, tạo điều kiện động viên vật chất lẫn tinh thần thành viên gia đình suốt thời gian qua Tơi xin cảm ơn Thầy Nguyễn Thiện Thành tận tình hướng dẫn truyền đạt kiến thức giúp tơi hồn thành luận văn Đồng thời tơi xin cảm ơn anh Hồng Trung Hiếu (Giảng viên trường Đại học Tôn Đức Thắng) hỗ trợ góp ý kiến giúp tơi hồn thành tốt luận văn Bên cạnh tơi xin chân thành cảm ơn quý thầy cô môn Điều Khiển Tự Động, bạn cao học khóa 2005 2006 động viên giúp đỡ tơi suốt q trình học tập Tp.HCM, ngày 27 tháng 11 năm 2008 Tác giả BÙI VIỆT AN BÙI VIỆT AN Luận văn thạc sỹ TĨM TẮT Trong hầu hết ngành cơng nghiệp ngành công nghiệp sản xuất đường, ngành công nghiệp chế biến, công nghiệp thực phẩm … việc điều khiển tốt mức nước lò cần thiết quan trọng Lị cung cấp tồn cho cơng nghệ nhà máy cung cấp cho tua bin để chạy máy phát Vì vấn đề đặt phải thiết kế điều khiển tốt, đáp ứng độ xác theo u cầu qui trình cơng nghệ, điều khiển cịn có khả thích nghi với nhiễu tác động vào hệ thống thay đổi thơng số mơ hình Các điều khiển mức nước tại, thơng thường khơng có khả loại trừ nhiễu khơng thích nghi với thay đổi thông số mơ hình Từ thực tế đó, học viên có ý tưởng xây dựng điều khiển mức nước bồn đảm bảo độ xác, có khả loại nhiễu thích nghi với thay đổi thơng số mơ hình Đó điều khiển mức nước dùng mơ hình nội sử dụng mạng nơron Đối tượng điều khiển bồn nước đơn; đối tượng có tính phi tuyến, khả ảnh hưởng nhiễu hệ thống lớn Với phương pháp điều khiển dùng mơ hình nội sử dụng mạng nơron học viên tìm hiểu lý thuyết mơ hình nội, lý thuyết mạng nơron, phải giải việc nhận dạng mơ hình thuận, mơ hình ngược hệ thống Đồng thời áp dụng kết nhận dạng vào việc điều khiển mơ hình nội triệt tiêu nhiễu hệ thống BÙI VIỆT AN Luận văn thạc sỹ ABSTRACT In industries, such as: sugar industry, food processing industry, etc.; the control of water level in the boiler is very important and necessary The boiler supplies all steam for the plant operation and turbine generator So, the problem required is to design a good controller The controller must be accurate and adaptive to the noise system and the change of the system The normal controller cannot be adaptive to noise system and system change So, I have the solution for it It is the use of the Internal Control System (IMC) via the Neural Networks (NNs) The plant is a single tank; it is non-linear and influenced by noise system With method of Internal Model Control using Neural Networks, I studied IMC theory and Artificial NNs theory, and solved the identification of the model and inverse model of SISO plant with unknown structure and parameters using NNs and applied IMC using NNs to a non-linear SISO plant BÙI VIỆT AN Luận văn thạc sỹ MỤC LỤC LỜI CẢM ƠN TÓM TẮT ABSTRACT Chương I: GIỚI THIỆU CHUNG 10 1.1 1.2 1.3 NHIỆM VỤ ĐỀ TÀI: 10 ĐỐI TƯỢNG ĐIỀU KHIỂN LÀ BỒN NƯỚC ĐƠN: 10 NỘI DUNG LUẬN VĂN: 11 Chương II: PHƯƠNG TRÌNH TỐN CỦA ĐỐI TƯỢNG BỒN NƯỚC 13 2.1 PHƯƠNG TRÌNH TỐN CỦA MƠ HÌNH BỒN NƯỚC ĐƠN: 13 2.2 HỆ BỒN NƯỚC ĐƯỢC TUYẾN TÍNH HĨA: 14 2.3 CHƯƠNG TRÌNH C VIẾT CHO PHƯƠNG TRÌNH TỐN: 15 2.3.1 Mơ nhiễu cho đối tượng: 15 2.3.2 Đoạn chương trình C viết cho đối tượng với hệ số xả thay đổi: 16 Chương III: PHƯƠNG PHÁP ĐIỀU KHIỂN THEO MÔ HÌNH NỘI 17 3.1 ĐIỀU KHIỂN MƠ HÌNH NỘI: 17 3.1.1 Giới thiệu chung: 17 3.1.2 Cấu trúc điều khiển mơ hình nội: 17 3.2 ĐẶC TÍNH BỘ ĐIỀU KHIỂN MƠ HÌNH NỘI: 20 3.3 ĐIỀU KHIỂN MƠ HÌNH NỘI HỆ PHI TUYẾN DÙNG MẠNG NƠRON 21 3.3.1 Giới thiệu chung: 21 3.3.2 Cấu trúc điều khiển mơ hình nội hệ phi tuyến dùng mạng Nơron: 21 Chương 4: MẠNG NƠRON NHÂN TẠO 23 4.1 GIỚI THIỆU MẠNG NƠRON: 23 4.1.1 Mạng nơron nhân tạo gì? 23 4.1.2 Hàm tổng hợp hàm tác động: 25 4.1.3 Mơ hình kết nối: 26 4.1.4 Luật học: 28 4.2 MẠNG TRUYỀN THẲNG NHIỀU LỚP: 30 4.2.1 Mạng truyền thẳng nhiều lớp với giải thuật lan truyền ngược: 30 4.2.2 Các thông số học: 32 4.3 NHẬN DẠNG HỆ THỐNG ĐỘNG DÙNG MẠNG NƠRON: 37 4.3.1 Hệ thống động: 37 4.3.2 Nhận dạng hệ thống động: 39 Chương V: THIẾT KẾ MÔ PHỎNG VỚI MƠ HÌNH TỐN 43 5.1 5.2 5.3 5.4 GIỚI THIỆU CHUNG: 43 HUẤN LUYỆN MÔ HÌNH THUẬN: 45 HUẤN LUYỆN MƠ HÌNH NGƯỢC: 47 KẾT QUẢ CỦA HUẤN LUYỆN MƠ HÌNH THUẬN VÀ MƠ HÌNH NGƯỢC: 48 5.4.1 Kết huấn luyện mơ hình thuận: 48 5.4.2 Kết huấn luyện mơ hình ngược: 50 BÙI VIỆT AN Luận văn thạc sỹ 5.5 BỘ LỌC IMC: 54 5.6 ĐIỀU KHIỂN MƠ HÌNH NỘI DÙNG MẠNG NƠRON VỚI ĐỐI TƯỢNG BỒN NƯỚC MÔ PHỎNG: 54 5.6.1 Đối tượng bồn nước đơn: 56 5.6.2 Lưu đồ giải thuật cho mô hình nội: 56 5.6.3 Một số kết mô phỏng: 58 Chương VI: THIẾT KẾ MƠ HÌNH THỰC 63 6.1 GIỚI THIỆU CHUNG: 63 6.2 HUẤN LUYỆN MƠ HÌNH THUẬN VÀ MƠ HÌNH NGƯỢC: 68 6.2.1 Kết huấn luyện mơ hình thuận: 68 6.2.2 Kết huấn luyện mơ hình ngược: 70 6.3 ĐIỀU KHIỂN MÔ HÌNH NỘI DÙNG MẠNG NƠRON VỚI ĐỐI TƯỢNG BỒN NƯỚC THỰC: 71 Chương VII: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI 73 7.1 7.2 KẾT LUẬN: 73 HƯỚNG PHÁT TRIỂN CHÍNH CỦA LUẬN VĂN: 73 TÀI LIỆU THAM KHẢO 74 PHỤ LỤC 75 8.1 8.2 8.3 Phụ lục A: Đoạn chương huấn luyện mạng thuận 75 Phụ lục B: Đoạn chương trình huấn luyện mạng nghịch 84 Phụ lục C: Đoạn chương trình điều khiển mơ hình nội 94 TÓM TẮT LÝ LỊCH TRÍCH NGANG 109 BÙI VIỆT AN Luận văn thạc sỹ BÙI VIỆT AN Luận văn thạc sỹ Chương I: GIỚI THIỆU CHUNG 1.1 NHIỆM VỤ ĐỀ TÀI: Ngày nay, điều khiển tự động ngày ứng dụng rộng rãi hầu hết lĩnh vực, ngành nghề sống từ: tự động hóa tồn nhà, tự động hóa ngành cơng nghiệp như: cơng nghiệp thực phẩm, hóa học, dầu khí, ngành cơng nghiệp nặng đến nhu cầu thực tế khác người … Do đối tượng điều khiển vơ đa dạng phức tạp Mục tiêu tiêu điều khiển phải ổn định, bền vững tối ưu Đồng thời chi phí phải thấp phải ứng dụng rộng rãi vào sống Và để đạt tiêu chí đó, nhiều năm vừa qua, nhiều phương pháp chỉnh định điều khiển cho hệ thống đời như: PID, Neural, Mờ (Fuzzy), Neural kết hợp Mờ, Mơ Hình Nội… Trong đề tài nghiên cứu này, chọn hướng nghiên cứu điều khiển theo cấu trúc mơ hình nội phương pháp nơron Từ đó, rút hướng nghiên cứu đề tài là: Điều khiển dùng mơ hình nội nơron; nghĩa hệ thống điều khiển dùng mơ hình nội mơ hình thuận mơ hình ngược mơ hình nơron 1.2 ĐỐI TƯỢNG ĐIỀU KHIỂN LÀ BỒN NƯỚC ĐƠN: Trong đề tài nghiên cứu chọn hệ bồn nước đơn làm đối tượng điều khiển Bồn nước đơn đối tượng phi tuyến, tín hiệu mức nước đưa thường dao động (có nhiễu ảnh hưởng) Dễ dàng làm mô demo Hơn nữa, hầu hết ngành công nghiệp ngành đường, điện, ngành công nghiệp chế biến, công nghiệp thực phẩm … việc điều khiển mức nước tốt mức nước lò cần thiết quan trọng Lị cung cấp tồn cho cơng nghệ nhà máy cung cấp cho tua bin để chạy máy phát Vì vấn đề đặt phải thiết kế điều khiển tốt, đáp ứng độ xác theo yêu cầu qui trình cơng nghệ, điều khiển cịn có khả thích nghi với nhiễu tác động vào hệ thống thay đổi thơng số mơ hình 10 BÙI VIỆT AN Luận văn thạc sỹ weight1[5][2]=GetTagFloat("twei1_52"); //Return-Type :BOOL weight1[5][3]=GetTagFloat("twei1_53"); //Return-Type :BOOL weight2[0][0]=GetTagFloat("twei2_00"); //Return-Type :BOOL weight2[0][1]=GetTagFloat("twei2_01"); //Return-Type :BOOL weight2[0][2]=GetTagFloat("twei2_02"); //Return-Type :BOOL weight2[0][3]=GetTagFloat("twei2_03"); //Return-Type :BOOL weight2[0][4]=GetTagFloat("twei2_04"); //Return-Type :BOOL weight2[0][5]=GetTagFloat("twei2_05"); //Return-Type :BOOL bias1[0]=GetTagFloat("tbias10"); //Return-Type :BOOL bias1[1]=GetTagFloat("tbias11"); //Return-Type :BOOL bias1[2]=GetTagFloat("tbias12"); //Return-Type :BOOL bias1[3]=GetTagFloat("tbias13"); //Return-Type :BOOL bias1[4]=GetTagFloat("tbias14"); //Return-Type :BOOL bias1[5]=GetTagFloat("tbias15"); //Return-Type :BOOL //+++++++++++++++++++++++++++++++ nweight1[0][0]=GetTagFloat("rwei1_00"); //Return-Type :BOOL nweight1[0][1]=GetTagFloat("rwei1_01"); //Return-Type :BOOL nweight1[0][2]=GetTagFloat("rwei1_02"); //Return-Type :BOOL nweight1[0][3]=GetTagFloat("rwei1_03"); //Return-Type :BOOL nweight1[1][0]=GetTagFloat("rwei1_10"); //Return-Type :BOOL nweight1[1][1]=GetTagFloat("rwei1_11"); //Return-Type :BOOL nweight1[1][2]=GetTagFloat("rwei1_12"); //Return-Type :BOOL nweight1[1][3]=GetTagFloat("rwei1_13"); //Return-Type :BOOL nweight1[2][0]=GetTagFloat("rwei1_20"); //Return-Type :BOOL nweight1[2][1]=GetTagFloat("rwei1_21"); //Return-Type :BOOL nweight1[2][2]=GetTagFloat("rwei1_22"); //Return-Type :BOOL 96 BÙI VIỆT AN Luận văn thạc sỹ nweight1[2][3]=GetTagFloat("rwei1_23"); //Return-Type :BOOL nweight1[3][0]=GetTagFloat("rwei1_30"); //Return-Type :BOOL nweight1[3][1]=GetTagFloat("rwei1_31"); //Return-Type :BOOL nweight1[3][2]=GetTagFloat("rwei1_32"); //Return-Type :BOOL nweight1[3][3]=GetTagFloat("rwei1_33"); //Return-Type :BOOL nweight1[4][0]=GetTagFloat("rwei1_40"); //Return-Type :BOOL nweight1[4][1]=GetTagFloat("rwei1_41"); //Return-Type :BOOL nweight1[4][2]=GetTagFloat("rwei1_42"); //Return-Type :BOOL nweight1[4][3]=GetTagFloat("rwei1_43"); //Return-Type :BOOL nweight1[5][0]=GetTagFloat("rwei1_50"); //Return-Type :BOOL nweight1[5][1]=GetTagFloat("rwei1_51"); //Return-Type :BOOL nweight1[5][2]=GetTagFloat("rwei1_52"); //Return-Type :BOOL nweight1[5][3]=GetTagFloat("rwei1_53"); //Return-Type :BOOL nweight2[0][0]=GetTagFloat("rwei2_00"); //Return-Type :BOOL nweight2[0][1]=GetTagFloat("rwei2_01"); //Return-Type :BOOL nweight2[0][2]=GetTagFloat("rwei2_02"); //Return-Type :BOOL nweight2[0][3]=GetTagFloat("rwei2_03"); //Return-Type :BOOL nweight2[0][4]=GetTagFloat("rwei2_04"); //Return-Type :BOOL nweight2[0][5]=GetTagFloat("rwei2_05"); //Return-Type :BOOL nbias1[0]=GetTagFloat("rbias10"); //Return-Type :BOOL nbias1[1]=GetTagFloat("rbias11"); //Return-Type :BOOL nbias1[2]=GetTagFloat("rbias12"); //Return-Type :BOOL nbias1[3]=GetTagFloat("rbias13"); //Return-Type :BOOL nbias1[4]=GetTagFloat("rbias14"); //Return-Type :BOOL nbias1[5]=GetTagFloat("rbias15"); //Return-Type :BOOL //+++++++++++++++++++++++++++++++ 97 BÙI VIỆT AN Luận văn thạc sỹ cn = object_create("ADODB.Connection"); rs = object_create("ADODB.Recordset"); h=0; if(NULL==cn) printf("Create Connection Failed\r\n"); else { printf("Create Connection Successful\r\n"); cn->Open("DSN=Database"); if (cn->State==0) printf("Connection Failed\r\n"); else { SetTagDouble("RowsRtnd",0); //Return-Type :BOOL rs->Open("SELECT * FROM DATA_SIM", cn,1); SetTagDouble("RowsRtnd",rs->RecordCount); rs->MoveFirst==0; while(!rs->eof) { SetTagFloat("tuk",rs->Fields(1)); SetTagFloat("tyk1",rs->Fields(2)); uk[h]=GetTagFloat("tuk"); //Return-Type :float yk1[h]=GetTagFloat("tyk1"); //Return-Type :float rs->MoveNext; if(h++>=1000) h=1000; } } 98 BÙI VIỆT AN Luận văn thạc sỹ } object_delete(cn); object_delete(rs); //+++++++++++++++++++++++++++++++ ek_1=ek_2=0.0; ukk_1=0.0; ck=ck_1=cck=cck_1=0.0; ck1=0.0;cck1=0.0; yk=yk_1=uk_1=0.0; srand(seed_u); SetTagBit("start_stop",1); //Return-Type :BOOL h=0; while (1) { if (h==200 || h==400 || h==600 || h==800 || h==1000) E=GetTagFloat("E"); //Return-Type :float dk =E*(float)rand()/32767; // Goi mang nghich //+++++++++++++++++++++ { rk=GetTagFloat("rk"); //Return-Type :float Cd=GetTagFloat("Cd"); //Return-Type :float D=Cd*44.3; C = sqrt(rk)*(1.8*rk+1)+D; A1=300*sqrt(rk)/C; 99 BÙI VIỆT AN Luận văn thạc sỹ A2=0; B1=sqrt(rk)*(1.8*rk+1)/C; B2=0; ek=(rk-ck1/1.0-dk+cck1); netin0[0]=ek; netin0[1]=ek_1; netin0[2]=ek_2; netin0[3]=ukk_1; //comptout():chuong trinh //+++++++++++++++++++++ { register int i,j; float ea,eb; for(j=0;j

Ngày đăng: 04/04/2021, 06:59

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN