Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 130 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
130
Dung lượng
0,94 MB
Nội dung
Đại Học Quốc Gia Hồ Chí Minh TRƯỜNG ĐẠI HỌC BÁCH KHOA - TRẦN KHÁNH NINH ĐIỀU KHIỂN THÍCH NGHI RỜI RẠC CÓ HIỆU CHỈNH ĐỘ LI CHO HỆ PHI TUYẾN Chuyên ngành: Mã số ngành: Điều Khiển Học Kỹ Thuật 2.05.01 LUẬN VĂN THẠC SĨ TP HỒ CHÍ MINH, tháng 12 năm 2005 TRƯỜNG ĐẠI HỌC BÁCH KHOA PHÒNG ĐÀO TẠO SĐH CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP - TỰ DO - HẠNH PHÚC CÔNG TRÌNH ĐƯC HOÀ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 1: …………………………………………………………………………………………… Cán hướng dẫn khoa học 2: …………………………………………………………………………………………… Cán phản biện 1: …………………………………………………………………………………………… Cán phản biện 2: …………………………………………………………………………………………… 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…………….tháng ……………năm 2005 Tp.HCM, ngày …………tháng…………năm 2005 NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: TRẦN KHÁNH NINH Phái: Nam Ngày, tháng, năm sinh: 7-11-1979 Nơi sinh: Bắc Ninh Chuyên ngành: Điều Khiển Học Kỹ Thuật MSHV: 01503356 I.TÊN ĐỀ TÀI: ĐIỀU KHIỂN MỜ THÍCH NGHI RỜI RẠC HIỆU CHỈNH ĐỘ LI HỆ PHI TUYẾN II NHIỆM VỤ VÀ NỘI DUNG: Nghiên cứu phương pháp điều khiển mờ thích nghi rời rạc để điều khiển hệ phi tuyến Thiết kế điều khiển mờ thích nghi Viết chương trình mô Chạy mô hình thật III NGÀY GIAO NHIỆM VỤ: IV NGÀY HOÀN THÀNH NHIỆM VỤ: V CÁN BỘ HƯỚNG DẪN: PGS.TS NGUYỄN THỊ PHƯƠNG HÀ, TS HUỲNH THÁI HOÀNG CÁN BỘ HƯỚNG DẪN CÁN BỘ HƯỚNG DẪN CÁN BỘ PHẢN BIỆN CÁN BỘ PHẢN BIỆN Nội dung đề cương luận văn thạc só Hội Đồng Chuyên Ngành thông qua Ngày ……tháng……năm 2005 PHÒNG ĐÀO TẠO SĐH KHOA QUẢN LÝ NGÀNH LỜI CẢM ƠN Tôi xin gởi lời cảm ơn chân thành đến: − PGS.TS Nguyễn Thị Phương Hà, TS Huỳnh Thái Hoàng hướng dẫn tận tình suốt trình thực luận án − Q Thầy Cô khoa Điện-Điện Tử trường Đại học Bách Khoa Tp Hồ Chí Minh, phòng Đào Tạo Sau Đại Học giúp đỡ trình học tập thực luận án − Thầy Nguyễn Ngọc Lâm, Thầy Lê Quốc Hà tạo điều kiện thuận lợi cho học tập nghiên cứu Trần Khánh Ninh TÓM TẮT LUẬN VĂN THẠC SĨ Luận văn thạc só trình bày toán điều khiển mờ thích nghi hệ rời rạc Dựa điều khiện ổn định Lyapunov luận án dẫn giải luật cập nhật theo dạng hồi quy cho điều khiển mờ thích nghi Luật cập nhật trình bày dạng sai phân theo thời gian Luận án dẫn giải công thức tự chỉnh độ lợi điều khiển mờ thích nghi dựa vào tiêu cực tiểu hoá hàm lượng ngõ vào Xuất phát từ đối tượng hệ phi tuyến rời rạc hệ SISO luận án mở rộng toán cho hệ MIMO Đối tượng mô luận án bồn nước đơn cho hệ SISO bồn kép cho hệ MIMO Chương trình mô viết Mathlab Simulink Chương trình chạy mô hình thật dựa vào chương trình XPC TARGET Mathlab Luận văn bao gồm chương sau Chương 1: Mở Đầu Đặt vấn đề cho luận văn Giới thiệu sơ lược điều khiển thích nghi, số phân loại điều khiển thích nghi số mô hình điều khiển thích nghi đặc trưng, nêu phương pháp điều khiển mờ thích nghi rời rạc tóm tắt sơ lược giải thuật tự chỉnh độ lợi, đồng thời nêu mục tiêu nội dung luận văn Chương 2: Lý Thuyết Điều Khiển Mờ, Giới Thiệu Điều Khiển Mờ Thích Nghi Hệ Rời Rạc Trong chương luận văn trình bày phương pháp điều khiển mờ, từ đưa công thức tổng quan điều khiển mờ thích nghi hệ rời rạc áp dụng luận văn Chương 3: Lý Thuyết Điều Khiển Mờ Thích Nghi Hệ Rời Rạc SISO, Luật Cập Nhật Thích Nghi, Tự Chỉnh Độ Lợi Chương luận án giới thiệu giải thuật cập nhật trọng số điều khiển mờ thích nghi trực tiếp gián tiếp hệ SISO Luật cập nhật chứng minh dựa vào điều kiện ổn định Lyapunov, đồng thời dẫn giải để đưa công thức tự chỉnh độ lợi điều khiển mờ thích nghi Chương 4: Lý Thuyết Điều Khiển Mờ Thích Nghi Hệ Rời Rạc MIMO, Luật Cập Nhật Thích Nghi, Tự Chỉnh Độ Lợi Phát triển chương 3, công thức luật cập nhật tự chỉnh độ lợi chương mang tính tổng quát hơn, để thuật toán áp dụng cho hệ MIMO Chương 5: Ứng Dụng Mô Phỏng Sử dụng giải thuật cập nhật độ lợi, tự chỉnh độ lợi để xây dựng điều khiển mờ thích nghi Ngôn ngữ sử dụng Mathlab Simulink , đối tượng dùng để kiểm chứng giải thuật hệ bồn nùc Chương 6: Điều Khiển Mô Hình Bồn Thật Sử dụng XPC Target MatLab Card PCL818 để thực điều khiển mô hình bồn thật MỤC LỤC Ký hiệu Chương 1: Mở đầu Đặt vấn đề………………………………………………………………… 1.1 Giới Thiệu Về Điều Khiển Thích Nghi …………………………… 1.2 Giới Thiệu Về Điều Khiển Mờ Thích Nghi Hệ Rời Rạc……………9 1.3 Sơ Lược Về Phương Pháp Tự Chỉnh Độ Lợi Mờ Thích Nghi………11 1.4 Mục Đích Và Nội Dung Luận Văn………………………………….12 Chương 2: Lý Thuyết Về Điều Khiển Mờ, Giới Thiệu Điều Khiển Mờ Thích Nghi Hệ Rời Rạc 2.1 Điều Khiển Mờ…………………………………………………… 14 2.1.1 Tổng Quan Điều Khiển Mờ…………………………………….14 2.1.2 Dạng Của Các Tập Mờ…………………………………………17 2.1.3 Các Phương Pháp Giải Mờ…………………………………… 19 2.1.4 Các Qui Tắc Điều Khiển Mờ………………………………… 20 2.2 Công Thức Tổng Quát Điều Khiển Mờ Thích Nghi Rời Rạc… ….22 Chương 3: Lý Thuyết Điều Khiển Mờ Thích Nghi Hệ Rời Rạc SISO, Luật Cập Nhật Thích Nghi, Tự Chỉnh Độ Lợi 3.1 Mô Tả Đối Tượng Và Luật Điều Khiển Thích Nghi……………….25 3.2 Tính Ổn Định Bộ Điều Khiển Mờ Thích Nghi………………….… 29 3.2.1 Điều Khiển Mờ Thích Nghi Trực Tiếp…………………… … 29 3.2.2 Điều Khiển Mờ Thích Nghi Gián Tiếp……………………… 31 3.3 Luật Cập Nhật Độ Lợi………………………………………………32 3.3.1 Điều Khiển Mờ Thích Nghi Trực Tiếp ……………………… 32 3.3.2 Điều Khiển Mờ Thích Nghi Gián Tiếp ……………………….35 Chương 4: Lý Thuyết Điều Khiển Mờ Thích Nghi Hệ Rời Rạc MIMO, Luật Cập Nhật Thích Nghi, Tự Chỉnh Độ Lợi 4.1 Mô Tả Đối Tượng Và Luật Điều Khiển Mờ Thích Nghi………… 38 4.2 Tính Ổn Định Bộ Điều Khiển Mờ Thích Nghi …………………… 43 4.3 Luật Cập Nhật ……………………………………………….57 Chương 5: Ứng Dụng Mô Phỏng 5.1 Điều Khiển Mô Phỏng Bồn Đơn……………………………………60 5.1.1 Đối Tượng Bồn Đơn…………………………………………….60 5.1.2 Điều Khiển Mờ Thích Nghi Trực Tiếp ……………………… 63 5.1.3 Điều Khiển Mờ Thích Nghi Gián Tiếp ……………………… 72 5.2 Điều Khiển Đối Tượng Bồn Kép ………………………………… 78 5.2.1 Mô Tả Đối Tượng …………………………………………… 78 5.2.2 Điều Khiển Đối Tượng ……………………………………… 81 Chương 6: Điều Khiển Mô Hình Thật 6.1 Giới thiệu Card PCL 818……………………………………………94 6.2 Sơ lược XPC Target …………………………………………… 98 6.3 Điều khiển mô hình thật ………………………………………….100 Kết Luận Và Hướng Phát Triển…………………………………………………….104 Phụ lục A: Chương trình hoạt hình Tài Liệu Tham Khảo KÝ HIỆU DÙNG TRONG LUẬN VĂN SISO Hệ ngõ vào ngõ MIMO Hệ nhiều ngõ vào nhiều ngõ X (k ), Z (k ) Vector biến trạng thái, n*n hoaëc n*1 x(k ), xi , j (k ), z (k ) Biến trạng thái vô hướng Y (k ) Vector ngoõ n*1 y (k ), yi (k ) Ngõ vô hướng U (k ) Vector ngõ vào n*1 u (k ), ui (k ) Ngõ vào vô hướng W (k ) Vector thông số ngõ điều khiển mờ vạch đơn(singleton) ξ ( X (k )) Vector mờ hoá vector trạng thái X (k ) V (k ) Hàm Lyapunov e(k ) Sai số vô hướng ngõ biến trạng thái Wˆ (k ) Vector thông số ước lượng W * (k ) Vector thông số lý tưởng W opt (k ) Vector thông số tối ưu ~ Φ (k ), W (k ) Vector thông số sai lệch thơng số tối ưu thông số lý tưởng γ (k ), γ j ,i (k ) Độ lợi điều khiển mờ thích nghi γ (k ) Độ lợi trung bình f (.), g (.), α (.), β (.) Hàm phi tuyến mô tả đối tượng F (.),G (.) Vector hàm phi tuyến mô tả đối tượng Luận Văn Cao Học Chương MỞ ĐẦU ĐẶT VẤN ĐỀ Trong năm gần điều khiển phi tuyến lĩnh vực nhiều tác giả quan tâm Bài toán điều khiển hệ phi tuyến đề tài để mở cho nhiều tác giả nghiên cứu Đã có nhiều phương pháp điều khiển áp dụng cho hệ phi tuyến phương pháp tuyến tính hóa, điều khiển trượt, điều khiển mạng thần kinh, điều khiển mờ Hầu hết phương pháp điều khiển phi tuyến nghiên cứu kỹ đối tượng hệ liên tục hệ rời rạc, phương pháp áp dụng với hệ liên tục hệ rời rạc cho kết khác Một hệ thống ổn định tính tốn thiết kế với miền liên tục kết hệ thống khơng ổn định với miền rời rạc, có vấn đề mà xử lý hệ liên tục đơn giản lại phức tạp xử lý hệ rời rạc Cũng mà có nhiều tài liệu đề cập đến hệ liên tục, nhiên số lượng tài liệu hệ rời rạc lại khiêm tốn Trong thực tế có nhiều tài liệu tác giả đề cập đến hệ liên tục, nhiên áp dụng phép tính miền liên tục tác giả sử dụng phương pháp xấp xỉ để lấy sai phân thay cho đạo hàm lấy tổng rời rạc thay cho việc lấy tích phân Việc tính tóan với trường hợp mà đặc tính hệ thống phụ thuộc vào tín hiệu khứ bậc 1, áp dụng tổng quát cho trường hợp hệ có bậc cao, tức đặt tính hệ thống phụ thuộc vào tín hiệu khứ tín hiệu khứ trước việc xấp xỉ khơng phù hợp Vì đòi hỏi phải nghiên cứu phương pháp miền rời rạc tổng quát, phương pháp yêu cầu phải chặt chẽ mặt tốn để áp dụng trường hợp khác Trang ª Luận Văn Cao Học PHỤ LỤC: CHƯƠNG TRÌNH HOẠT HÌNH function [sys,x0,str,ts] = tank_single_animation(t,x,u,flag,RefBlock) switch flag, case 0, [sys,x0,str,ts]=mdlInitializeSizes(RefBlock); case 2, sys=mdlUpdate(t,x,u); case { 1, 3, 4, }, sys = []; case 'DeleteBlock', LocalDeleteBlock case 'DeleteFigure', LocalDeleteFigure case 'Slider', LocalSlider case 'Close', LocalClose otherwise error(['Unhandled flag = ',num2str(flag)]); end function [sys,x0,str,ts]=mdlInitializeSizes(RefBlock) sizes = simsizes; sizes.NumContStates = 0; sizes.NumDiscStates = 0; sizes.NumOutputs = 0; sizes.NumInputs = 3; sizes.DirFeedthrough = 1; sizes.NumSampleTimes = 1; sys = simsizes(sizes); x0 = []; str = []; ts = [1 0]; LocalPendInit(RefBlock); function sys=mdlUpdate(t,x,u) fig = get_param(gcbh,'UserData'); if ishandle(fig), if strcmp(get(fig,'Visible'),'on'), ud = get(fig,'UserData'); LocalPendSets(t,ud,u); end end; sys = []; function LocalDeleteBlock fig = get_param(gcbh,'UserData'); if ishandle(fig), delete(fig); Trang 107 ª Luận Văn Cao Học set_param(gcbh,'UserData',-1) end function LocalDeleteFigure ud = get(gcbf,'UserData'); set_param(ud.Block,'UserData',-1); function LocalSlider ud = get(gcbf,'UserData'); set_param(ud.RefBlock,'Value',num2str(get(gcbo,'Value'))); function LocalClose delete(gcbf) function LocalPendSets(time,ud,u) Gain = 1; ScaleY = 0.3; YDelta = 2; set(ud.Ball, 'XData', [15+u(2)*ScaleY 15;5-u(2)*ScaleY 5], 'YData', [u(2)-20 -20;u(2)-20 -20]); set(ud.TimeField, 'String',num2str(time)); set(ud.RefMark, 'YData',(u(1)-20)+[-YDelta YDelta]); set(ud.Coil_U, 'String',num2str(u(3),'%1.4f')); set(ud.x_desire, 'String',num2str(u(1),'%2.2f')); set(ud.x_pos, 'String',num2str(u(2),'%2.2f')); if(u(2)0.4) set(ud.out11,'Visible', 'on'); set(ud.out12,'Visible', 'on'); set(ud.out13,'Visible', 'on'); set(ud.out14,'Visible', 'on'); set(ud.out15,'Visible', 'on'); set(ud.out16,'Visible', 'on'); set(ud.out17,'Visible', 'on'); elseif((u(3)>0.2)&&(u(3)0.001)&&(u(3)