1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Trình bày các thành phần cơ bản của bộ điều khiển mờ phân tích suy luận mờ và luật hợp thành

28 12 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

Tiêu đề Trình Bày Các Thành Phần Cơ Bản Của Bộ Điều Khiển Mờ Phân Tích Suy Luận Mờ Và Luật Hợp Thành
Tác giả Bùi Minh Hiếu
Người hướng dẫn Nguyễn Thị Quyên
Trường học Trường Đại Học Sao Đỏ
Chuyên ngành Công Nghệ Kỹ Thuật Điện, Điện Tử
Thể loại bài tập lớn
Năm xuất bản 2022
Thành phố Hải Dương
Định dạng
Số trang 28
Dung lượng 1,45 MB

Nội dung

TRƯỜNG ĐẠI HỌC SAO ĐỎ KHOA ĐIỆN BÀI TẬP LỚN HỆ THỐNG ĐIỀU KHIỂN THÔNG MINH ĐỀ SỐ Sinh viên thực : Bùi Minh Hiếu Lớp : DK10D1 Ngành : Công nghệ kỹ thuật điện, điện tử Giảng viên hướng : Nguyễn Thị Quyên dẫn Hải Dương, năm 2022 MỤC LỤC Contents Câu 01 (2,0 điểm): .3 1.1.Cấu trúc Bộ điều khiển mờ 1.2.Để tổng hợp Điều khiển mờ cho hoạt động cách hoàn thiện ta cần thực qua bước sau: 1.3.Phân tích suy luận mờ luật hợp thành Câu 02 (3,0 điểm): .6 2.1.Phân tích bước huấn luyện mạng nơron perceptron 2.2.Lập trình huấn luyện phần mềm Matlab 2.3 Sử dụng giao diện đồ họa ( Graphical User Interface – GUI ) để khảo sát phân tích .10 Câu 03 (5,0 điểm): 13 3.1 Xây dựng mạng nơ ron .13 3.1.1 Thực lập trình phần mềm Matlab 13 3.2 Thiết kế điều khiển mờ điều khiển nhiệt độ phòng .20 3.2.1.Giới thiệu tổng quan matlab-công cụ để thiết kế điều khiển mờ .20 3.2.2 Các bước thiết kế điều khiển mờ Simulink: 21 3.2.3 Mô điều khiển mờ 24 Câu 01 (2,0 điểm): Trình bày thành phần điều khiển mờ? Phân tích suy luận mờ luật hợp thành? Yêu cầu đạt được: - Trình bày thành phần điều khiển mờ? - Phân tích suy luận mờ luật hợp thành? Bài làm 1.1.Cấu trúc Bộ điều khiển mờ Hoạt động điều khiển mờ phụ thuộc vào kinh nghiệm phương pháp rút kết luận theo tư người sau cài đặt vào máy tính sở logic mờ Một điều khiển mờ bao gồm khối bản: Khối mờ hoá, thiết bị hợp thành khối giải mờ Ngồi cịn có khối giao diện vào giao diện Giao diện Mờ Thiết bị hợp Giải mờ Giao diện thành vào hóa Các khối chức điều khiển mờ -Khối mờ hố có chức chuyển giá tri rõ biến ngôn ngữ đầu vào thành véctơ μ có số phần tử số tập mờ đầu vào -Thiết bị hợp thành mà chất triển khai luật hợp thành R xây dựng sở luật điều khiển - Khối giải mờ có nhiệm vụ chuyển tập mờ đầu thành giá trị rõ y0 (ứng với giá tri rõ x0 đề điều khiển đối tượng) - Giao diện đầu vào thực việc tông hợp chuyển đổi tin hiệu vào (từ tương tự sang số), ngồi cịn có thểm khâu phụ trợ đê thực tốn động tích phân, vi phân - Giao diện đầu thực chuyển đổi tín hiệu (từ số sang tương tự) để điều khiển đối tượng Nguyên tắc tổng hợp điều khiển mờ hoàn toàn dựa vào phương pháp tốn học sở định nghĩa biến ngơn ngữ vào/ra lựa chọn luật điều khiển Do điều khiển mờ có khả xử lý giá trị vào/ra biểu diễn dạng dấu phẩy động với độ xác cao nên chúng hồn toàn đáp ứng yêu cầu toán điều khiển "rõ ràng" "chính xác" 1.2.Để tổng hợp Điều khiển mờ cho hoạt động cách hoàn thiện ta cần thực qua bước sau: 1- Khảo sát đối tượng, từ định nghĩa tất biến ngôn ngữ vào, miền xác định chúng Trong bước cần ý số đặc điểm đối tượng điều khiển như: Đối tượng biến đổi nhanh hay chậm? có trễ hay khơng? tính phi tuyến nhiều hay ?, Đây thông tin quan trọng để định miền xác định biến ngôn ngữ đầu vào, biến động học (vận tốc, gia tốc, ) Đối với tín hiệu biến thiên nhanh cần chọn miền xác định vận tốc gia tốc lớn ngược lại 2- Mờ hố biến ngơn ngữ vào/ra: Trong bước cần xác định số lượng tập mờ hình dạng hàm liên thuộc cho biến ngôn ngữ Số lượng tập mờ cho biến ngôn ngữ chọn tuỳ ý Tuy nhiên chọn q việc điều chỉnh không mịn, chọn nhiều khó khăn cài đặt luật hợp thành, trình tính tốn lâu, hệ thống dễ ổn định Hình dạng hàm liên thuộc chọn hình tam giác, hình thang, hàm Gaus, 3- Xây dựng luật điều khiển (mệnh đề hợp thành): Đây bước quan trọng khó khăn trình thiết kế điều khiển mờ Việc xây dựng luật điều khiển phụ thuộc nhiều vào tri thức kinh nghiệm vận hành hệ thống chuyên gia Hiện ta thường sử dụng vài nguyên tắc xây dựng luật hợp thành 29 đủ để hệ thống làm việc, sau mô vả chỉnh định dần luật áp dụng số thuật tốn tối ưu (được trình bày phần sau) 4- Chọn thiết bị hợp thành (MAX-MIN MAX-PROD SUMMIN SUM-PRROD) chọn nguyên tắc giải mờ (Trung bình, cận trái, cận phải, điểm trọng tâm, độ cao) 5- Tối ưu hệ thống: Sau thiết kế xong điều khiển mờ, ta cần mơ hình hố mơ hệ thống để kiểm tra kết quả, đồng thời chỉnh định lại số tham số để có chế độ làm việc tối ưu Các tham số điều chỉnh bước là: Thêm, bớt luật điều khiển; thay đổi trọng số luật; thay đổi hình dạng miền xác định hàm liên thuộc - Cụ thể ta làm theo bước sau: B1 Xác định giá trị vào B2 Mờ hóa B3 Luật điều khiển B4 Simulink: mô B5 Fuzzy: Thiết kế điều khiển mờ B6 Đánh giá 1.3.Phân tích suy luận mờ luật hợp thành  Suy luận mờ thường gọi suy luận xấp xỉ ( Fuzzy reasoning or approximate reasoning ) thủ tục suy luận để suy diễn kết từ tập quy tắc nếu…thì theo hay nhiều điều kiện Trước tiên ta giới thiệu luật hợp thành để mô tả hợp lý thực chất suy luận mờ  Luật hợp thành khái quát hóa khái niệm tương tự sau đây: Giả thiết ta có đường cong y=(fx), quan hệ điều kiện x y Khi cho x = a suy y = b (a) Tổng quát ta cho a khoảng f(x) hàm khoảng giá trị Để tìm khoảng kết y=b tương tự với khoảng x=a, trước tiên ta mở rộng vùng a theo kiểu hình trụ từ X sang vùng X*Y tìm vùng l giao khoảng giá trị a hàm khoảng giá trị f(x), sau lấy hình chiếu l lên trục Y ta tìm y = b  Trong điều khiển mờ luật điều khiển mờ não nó, người thiết kế phải dựa vào kinh nghiệm mà phát biểu xây dựng cho tập mờ dạng làm sở cho việc chiển khai thiết theo Câu 02 (3,0 điểm): Huấn luyện mạng nơ ron theo cổng AND NAND hai ngõ vào biết giá trị khởi tạo: w1 = 0,1 x n; w2 = 0,2 x n; b = - 0,1 x n; n = ÷ 10 (n: số nhóm) Yêu cầu đạt được: a Phân tích bước huấn luyện mạng nơ ron perceptron b Lập trình huấn luyện phần mềm Matlab c Sử dụng giao diện đồ họa (Graphical User Interface - GUI) để khảo sát phân tích 2.1.Phân tích bước huấn luyện mạng nơron perceptron B1 Xác định, phân tích đầu vào với P: đầu vào; t mục tiêu mong muốn Ví dụ: Biết: p = [[2;2] [1;-2] [-2;2] [-1;1]] Mục tiêu: t = [0 1] Phân tích Mục tiêu: Nếu x1=2, x2 = y=0 Nếu x1=1, x2 = -2 y=1 Nếu x1=-2, x2 = y=0 Nếu x1=-1, x2 = y=1 >>>%Code p = [[2;2] [1;-2] [-2;2] [-1;1]] % Nhập liệu đầu vào t = [0 1] % Nhập mục tiêu (mong muốn) B2 Tạo Perceptron: Tạo mạng Perceptron lệnh newp MÃ: net = newp(PR,S); Trong đó:  PR ma trận với phần tử hàng giá trị max đầu vào R đầu vào  S số nơ-ron có mạng Thông thường hàm truyền hardlim sử dụng cho Perceptron, nên mặc định tạo Ví dụ có kết net = newp([-2 2;-2 2],1); B3 Nhập lệnh cho mạng học theo 30 chu kỳ: Với ví dụ câu lệnh: net.trainParam.epochs = 30; B4 Nhập lệnh huấn luyện mạng với câu lệnh: net = train(net,p,t); B5 Kiểm tra trọng số với lệnh: net.IW{1,1} net.b{1} 2.2.Lập trình huấn luyện phần mềm Matlab  Đầu vào đầu cổng AND NAND IN1 IN2 AND NAN D 0 1 w1 = 0,1x3 = 0,3 ( nhóm ) w2 = 0,2x3 = 0,6 b = -0,1x3 = - ,3 Chương trình đầu cổng AND >> %Thiết lập giá trị trọng số bias >> net.IW{1,1} = [0.3 0.6]; >> net.b{1} = -0.3; >> p = [[0;0] [0;1] [1;0] [1;1]]% Nhập liệu đầu vào p = 0 1 1 >> t = [0 0 1]% Nhập mục tiêu (mong muốn) t = 0 >> net =newp([0 1;0 1],1);% Xây dựng nowrowrron perceptron >> net.trainParam.epochs = 30;% cho mạng học khoảng 30 chu kỳ >> net = train(net,p,t); % Huấn luyện mạng Kết quả: Chương trình đầu với cổng NAND >> %Thiết lập giá trị trọng số bias >> net.IW{1,1} = [0.3 0.8]; >> net.b{1} = -0.3; >> p = [[0;0] [0;1] [1;0] [1;1]]% Nhập liệu đầu vào p = 0 1 1 >> t = [1 1 0]% Nhập mục tiêu (mong muốn) t = 1 >> net =newp([0 1;0 1],1);% Xây dựng nowrowrron perceptron >> net.trainParam.epochs = 30;% cho mạng học khoảng 30 chu kỳ >> net = train(net,p,t); % Huấn luyện mạng Kết 2.3 Sử dụng giao diện đồ họa ( Graphical User Interface – GUI ) để khảo sát phân tích Bước : gõ nntool để giao diện thiết lập đầu vào -> Chọn New create Phần network chọn tên type perceptron Nhập số liệu đầu vào mục tiêu phần Inputs Tagers ấn Create phần data - Nhấn đúp vào network ‘AND’ để mở: 10 T1 = [0 2 4]; T2 = [5 1 2]; T= [T1; T2]; a1 = min(P(1,:)), a2 = max(P(1,:)), a3 = min(P(2,:)), a4 = max(P(2,:)), % Ham newff tao mang truyen thang lop, ham chuyen doi tansig net = newff([a1 a2; a3 a4], [2 2], {'tansig' 'tansig' 'purelin'}); %tao mo hinh simulink cho mang noron gensim(net); net.trainParam.epochs = 1500; % Thuc hien hoc theo luat lan truyen nguoc voi ham train net = train(net,P,T); %go bat ky phim nao de dung phim pause; % Ki?m tra ham sim Y=sim(net,P); Y1=Y(1,:); Y2=Y(2,:); %subplot plot v? thi vào subplot(2,1,1); plot(P1,T1,'-',P1,Y1,'o'), subplot(2,1,2); plot(P2,T2,'-',P2,Y2,'o'), %Tim bo ma tran so bias w11=net.IW{1,1}, % tìm ma tran w1 w21=net.IW{2,1}, % tìm ma tran tu lop vao den lop an w21 w31=net.IW{3,1}, % tìm ma tran tu lop anden lop w31 b1=net.b{1} b2=net.b{2} b3=net.b{3} 14 >> %Tao ma tran P T P1 = [0 1]; P2 = [0 1]; P = [P1;P2]; T1 = [0 2 2]; T2 = [4 1 2]; T= [T1; T2]; a1 = min(P(1,:)), a2 = max(P(1,:)), a3 = min(P(2,:)), a4 = max(P(2,:)), % Ham newff tao mang truyen thang lop, ham chuyen doi tansig net = newff([a1 a2; a3 a4], [2 10 2], {'tansig' 'tansig' 'purelin'}); %tao mo hinh simulink cho mang noron gensim(net); net.trainParam.epochs = 1500; % Thuc hien hoc theo luat lan truyen nguoc voi ham train net = train(net,P,T); %go bat ky phim nao de dung phim pause; % Kiem tra ham sim Y=sim(net,P); Y1=Y(1,:); Y2=Y(2,:); %subplot plot ve thi vào subplot(2,1,1); plot(P1,T1,'-',P1,Y1,'o'), subplot(2,1,2); plot(P2,T2,'-',P2,Y2,'o'), %Tim bo ma tran so bias w11=net.IW{1,1}, % tìm ma tran w1 15 w21=net.IW{2,1}, % tìm ma tran tu lop vao den lop an w21 w31=net.IW{3,1}, % tìm ma tran tu lop anden lop w31 b1=net.b{1} b2=net.b{2} b3=net.b{3} Kết thu a1 = a2 = a3 = a4 = w11 = -0.8610 0.2590 -0.3145 -0.4521 w21 = [] w31 = [] b1 = 2.2446 0.9262 b2 = -4.4508 -3.4630 16 -2.2255 1.3487 0.5590 -0.2785 1.7959 -2.3648 3.4440 4.4272 b3 = 0.4054 0.4008 b) Simulink c) Training mạng nơ ron lớp x x 17 d) Biểu diễn đồ thị Perfomance e) Biểu diễn đồ thị Training State 18 f) Biểu diễn đồ thị Regression g) Biểu thị đồ thị Figure 19 3.2 Thiết kế điều khiển mờ điều khiển nhiệt độ phòng 3.2.1.Giới thiệu tổng quan matlab-công cụ để thiết kế điều khiển mờ a) Ngôn ngữ Matlab Là ngôn ngữ lập trình bậc cao (Scritp) với lệnh điều khiển, chức năng, cấu chúc liệu, đầu vào/ đầu khả lập trinh hướng đối tượng Cho phép bạn nhanh chóng tạo phá hủy phần mềm “ lập trinh quy mô nhỏ ” tạo chương trinh lớn phức tạp “lập trình quy mơ lớn” b) Tính Matlab - Matlab ngôn ngữ lập trinh cao cấp để tinh toan số phát triển ứng dụng - Cung cấp môi trường tương tác để điều tra, thiết kế gaiir vấn đề - Nó cung cấp mơi trường thư viện lớn hàm toan học để gaiir hàm số tuyến tính, thống kê, phân tích Fourier, lọc, tối ưu hóa, tích phân phương trinh vi phân bình thường - Matlab cung cấp biểu đồ tích hợp để trực quan hóa liệu cơng cụ để tạo biểu đồ tùy chỉnh - Cung cấp cơng cụ phát triển để tăng khả bảo trì chất lượng mã tối đa hóa hiệu suất 20

Ngày đăng: 06/03/2024, 14:50

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w