FUZZY LOGIC CONTROL BÀI 1. GIỚI THIỆU CHUNG I/ TỔNG QUAN 1/ Điều khiển thông thường (conventional control) • Điều khiển kinh điển (Classical control) • Điều khiển hiện đại (modern control) − Điều khiển tối ưu (optimal control) − Điều khiển thích nghi (adaptive control) − Điều khiển bền vững (robust control) 2/ Điều khiển thông minh − Điều khiển mờ (fuzzzy control) − Mạng neural (neural network) − Giải thuật di truyền (gene algorithm) 1 II/ Điều khiển thông thường : 1. Ưu: • Có cơ sở toán học chặt chẽ. Có thể dùng các công cụ toán học để phân tích và thiết kế hệ thống cho phép bảo đảm tính ổn định và bền vững. 2. Khuyết: • Cần mô hình toán để thiết kế bộ điều khiển. • Cần hiểu biết sâu về kỹ thuật điều khiển . • Thường không hiệu quả khi điều khiển hệ phi tuyến. • Không sử dụng kinh nghiệm của con người. III/ “Thông minh” là gì? • Thông minh là khả năng thu thập và sử dụng tri thức. • Có nhiều cấp độ thông minh và nhiều loại thông minh. • Khái niệm “Thông minh” chỉ mang tính tương đối .( Một hệ thống người này cho là thông minh, người khác có thể cho là không thông minh…) 2 IV/ So sánh điều khiển thông minh và điều khiển thông thường: • Về mặt toán học, điều khiển thông minh không chặt chẽ bằng điều khiển thông thường. Đây là lĩnh vực tương đối mới, chưa được nghiên cứu hết. • Về nguyên tắc, khi thiết kế các bộ điều khiển thông minh, ta không cần mô hình toán học của đối tượng. Đây là ưu điểm của điều khiển thông minh, vì nhiều trường hợp không dễ (hoặc không thể ) xác định mô hình toán của đối tượng. 3 BÀI 2. TẬP MỜ Lịch sử phát triển: • 1965: Lofti A.Zadeh đưa ra khái niệm về lý thuyết tập mờ (fuzzy set). • 1972: Terano và Asai lập cơ sở nghiên cứu hệ thống mờ ở Nhật. • 1974: Mamdani nghiên cứu điều khiển mờ cho lò hơi. • 1980: hãng Smidth nghiên cứu điều khiển mờ cho lò xi-măng. • • • 1983: hãng Fuji Electric nghiên cứu ứng dụng điều khiển mờ cho nhà máy xử lý nước. 1984: Hiệp hội hệ thống mờ quốc tế IFSA được thành lập. 1989: phòng thí nghiệm quốc tế nghiên cứu ứng dụng kỹ thuật đầu tiên được thành lập. 4 2.1 Tập hợp kinh điển Cách biểu diễn tập hợp: • Biểu diễn bằng cách liệt kê phần tử: Vd: A = {1, 2, 3, 5, 7,11} bất tiện khi tập hợp có nhiều (vô số) phần tử • Vd: Biểu diễn thông qua tính chất phần tử: A = { x } x là số nguyên tố B ={ x } x là số thực và x<4 Hàm đặc trưng: • Cho x là tập hợp các đối tượng có cùng tính chất (tập cơ sở). A là tập con 1 χ ( x) = của X. Phần tử x thuộc X. Ánh xạ A 0 ( x ∈ A) ( x ∉ A) được gọi là hàm đặc trưng (hàm chỉ thị / hàm thuộc ) của A. • Hệ quả: χ X ( x) = 1 với mọi x ∈ X 5 Ví dụ: Cho A = { x ∈ R 2 < x < 4} thì : χ A (1,5) = 0 χ A (3) = 1 χ A (2) = 0 χ A ( 4) = 0 • Cho 2 tập hợp A, B định nghĩa trên tập cơ sở X. Ta có các tính chất sau: Phép hợp: A ∪ B ⇒ χ A∪B ( x) = max{χ A ( x), χ B ( x)} Phép giao: A ∩ B ⇒ χ A∩B ( x) = min{χ A ( x), χ B ( x)} Phép bù: A ⇒ χ A ( x) = 1 − χ A ( x) Chứa trong: A ⊆ B ⇒ χ A ( x) ≤ χ B ( x) • Kiểm chứng các kết quả trên bằng các ví dụ cụ thể. Ví dụ: A = { x ∈ R 2 < x < 4} , B = { x ∈ R 1 < x < 5} 6 2.2 Tập mờ : (Fuzzy set) • Tập kinh điển có biên rõ ràng (hình a). • Tập mờ có biên không rõ ràng (hình b). Ghi chú: ta dùng chữ cái có dấu ngã trên để đặt tên cho tập mờ. Vd: Xét những tập được mô tả “mờ” sau đây: ~ ~ - Tập B gồm những số thực nhỏ hơn nhiều so với 6: B = {x ∈ R x << 6} ~ C - Tập gồm những số thực gần bằng 3: Vậy : ~ C = {x ∈ R x ≈ 3} ~ x = 3,5 có thuộc tập B hay không? ~ x = 2,5 có thuộc tập C hay không? 7 ~ • Định nghĩa: Tập mờ A xác định trên tập cơ sở X là một tập hợp mà mỗi phần tử của nó là một cặp giá trị (x, µ A~ ( x ) ) , trong đó x ∈ X và µ A~ (x ) là ánh xạ: µ A% : X → [0,1] - Ánh xạ µ A~ ( x ) ~ được gọi là hàm liên thuộc (membership function) của tập mờ A . - Hàm liên thuộc cho biết độ phụ thuộc của các phần tử vào tập mờ (phần tử thuộc tập mờ bao nhiêu phần trăm). Ký hiệu tập mờ ~ • Tập mờ A định nghĩa trên cơ sở tập X rời rạc hữu hạn được ký hiệu như sau: µ A~ ( xi ) A = ∑ x i i ~ A • Tập mờ định nghĩa trên tập cơ sở X liên tục vô hạn được ký hiệu như sau: ~ µ A~ ( x) A = ∫ x Ghi chú: Dấu gạch ngang không phải là dấu chia mà chỉ là dấu phân cách, dấu ∑ và dấu ∫ không phải là tổng hay tích phân mà chỉ là ký hiệu có ý nghĩa “gồm các phần tử”. 8 2.3 Hàm liên thuộc (Membership Function) Hàm liên thuộc có thể có dạng tuyến tính từng đoạn (hình a), hay dạng trơn (hình b). Các dạng hàm liên thuộc Tam giác, hình thang. Độ cao: ~ hgt ( A) = sup µ A~ ( x) x∈ X 9 Miền tin cậy: T = {x ∈ X µ A~ ( x) = 1} Miền xác định: S = { x ∈ X µ A% ( x) > 0} − Các hàm liên thuộc có dạng trơn như: dạng gauss, dạng chuông, dạng sigmoid,… ít được sử dụng hơn do tính toán phức tạp. − Thường dùng hàm liên thuộc dạng hình thang và hình tam giác. 10 Tập mờ chính tắc : Tập mờ có độ cao =1 gọi là tập mờ chính tắc. 2.4 Phép hợp hai tập mờ Các công thức lấy hợp hai tập mờ: • Công thức Zadeh (thường dùng trong điều khiển mờ): µ A∪ B ( x) = max{µ A ( x), µ B ( x)} • Công thức Lukasiewicz (bounded sum): µ A∪ B ( x) = min{1, µ A ( x) + µ B ( x)} • Công thức Einstein: µ A∪ B ( x) = • µ A ( x) + µ B ( x) 1 + µ A ( x) + µ B ( x) Công thức xác suất: µ A∪ B ( x ) = µ A ( x ) + µ B ( x ) − µ A ( x ) µ B ( x ) Ghi chú: Từ đây về sau, ta sẽ chỉ nói về tập mờ, nên những dấu ngã biểu thị tập mờ trên các chữ cái sẽ được bỏ đi để đơn giản trong cách viết. 11 2.4 Phép giao hai tập mờ Các công thức lấy giao hai tập mờ: • Công thức Zadeh (thường dùng trong điều khiển mờ): µ A∩ B ( x) = min{µ A ( x), µ B ( x)} • Công thức Lukasiewicz (bounded sum): µ A∩ B ( x) = max{0, µ A ( x) + µ B ( x) − 1} • Công thức Einstein: µ A∩ B ( x ) = • µ A ( x ) µ B ( x) 2 − ( µ A ( x) + µ B ( x) ) − µ A ( x) µ B ( x ) Công thức xác suất: µ A∩ B ( x) = µ A ( x) µ B ( x) 2.6 Phép bù của tập mờ: Phép bù của tập mờ A được xác định bởi công thức: µ A ( x) = 1 − µ A ( x) 12 2.7 Tính chất của các phép toán trên tập mờ: • • A∪ B = B ∪ A Tính giao hoán : A ∩ B = B ∩ A Tính kết hợp: A ∪ (B ∪ C ) = ( A ∪ B ) ∪ C A ∩ (B ∩ C ) = ( A ∩ B ) ∩ C • Tính phân phối: A ∪ (B ∩ C ) = ( A ∪ B ) ∩ ( A ∪ C ) A ∩ (B ∪ C ) = ( A ∩ B ) ∪ ( A ∩ C ) • Tính bắt cầu: A⊆ B⊆C ⇒ A⊆C Nhận xét: tương tự tập rõ. 13 2.8 BIẾN NGÔN NGỮ- GIÁ TRỊ NGÔN NGỮ: • Muốn thiết kế bộ điều khiển bắt chước sự suy nghĩ, xử lý thông tin và ra quyết định của con người thì phải biểu diễn được ngôn ngữ tự nhiên dưới dạng toán học. • Dùng tập mờ để diễn biến ngôn ngữ tự nhiên → cho phép biểu diễn những thông tin mơ hồ, không chắc chắn. − Ví dụ bài toán điều khiển tốc độ xe, những giá trị ngôn ngữ: slow, OK, fast − Mỗi giá trị ngôn ngữ được xác định bằng một tập mờ định nghĩa trên tập cơ sở là tập các số thực dương chỉ giá trị vật lý x của biến tốc độ v. • Hàm liên thuộc của các tập mờ tương ứng là: µ slow ( x ), µ ok ( x ), µ fast ( x ) 14 • • Biến tốc độ v có hai miền giá trị : - Miền giá trị ngôn ngữ : N = {slow, ok , fast} - Miền giá trị vật lý (giá trị rõ): V = {x ∈ R x ≥ 0} Biến ngôn ngữ là biến tốc độ v xác định trên miền các giá trị ngôn ngữ N . 2.9 TÍCH CARTESIAN: Tích Cartesian của hai tập cơ sở X , Y xác định bởi: X × Y = {(x, y ) Ví dụ: x ∈ X , y ∈Y} X = {0 ,1} ; Y = {a, b, c}. Các tích cartesian khác nhau của hai tập X , Y được xác định như sau: X × Y = {(0, a ), (0, b ), (0, c ), (1, a ), (1, b ), (1, c )} Y × X = {(a,0 ), (a,1), (b,0), (b,1), (c,0 )(c,1)} X × X = X 2 = {(0,0), (0,1), (1,0 ), (1,1)} Y × Y = Y 2 = {(a, a ), (a, b ), (a, c ), (b, a )(b, b ), (b, c ), (c, a ), (c, b ), (c, c )} 15 2.10 QUAN HỆ RÕ (CRISP RELATION) Quan hệ giữa hai tập A ⊂ X và B ⊂ Y là một tập tích cartesian R = A × B(R ⊂ X × Y ) , trong đó quan hệ giữa những phần tử thuộc X và những phần tử thuộc Y đặc trưng bởi hàm đặc trưng χ : 1, ( x, y ) ∈ A × B χ A×B ( x, y ) = 0, (x, y ) ∉ A × B * χ A×B ( x, y ) = 1 → có quan hệ giữa x và y . χ A×B ( x, y ) = 0 → không có quan hệ giữa x và y . Khi các cơ sở, hay tập hợp có số phần tử hữu hạn, quan hệ giữa chúng có thể được biểu diễn dưới dạng một ma trận gọi là ma trận quan hệ. * Ví dụ: Quan hệ giữa X = {1, 2,3} và Y = {a, b, c} theo sơ đồ Sagittal bên dưới được biểu diễn dưới dạng ma trận quan hệ R . a b c 1 1 1 0 R= 2 1 0 1 3 1 1 0 16 Cho A, B là hai tập mờ lần lượt định nghĩa trên tập cơ sở X , Y . Quan hệ mờ giữa A và B , ký hiệu là R , là tích cartesian giữa A và B : R = A × B, R ⊂ X × Y trong đó hàm liên thuộc của R được tính như sau: µ R ( x, y ) = µ A×B ( x, y ) = min {µ A ( x), µ B ( y )} Ví dụ: Cho hai tập A, B lần lượt được định nghĩa trên các tập cơ sở X , Y như sau: 0.2 0.5 1 0.3 0.9 A= + + ; B= + x1 x2 x3 y1 y2 Ma trận quan hệ R : µ AxB ( x, y ) R = AxB = x1 x2 x3 y1 y2 0.2 0.2 0.3 0.5 0.3 0.9 17 2.11 SỰ HỢP THÀNH CỦA QUAN HỆ MỜ (COMPOSITION OF FUZZY RELATION) • Định nghĩa: giả sử R là quan hệ mờ trên X × Y , A là tập mờ trên X . Sự hợp thành mờ giữa R và A là một tập mờ B , ký hiệu B = A o R , được xác định như sau: µ B ( y ) = µ Ao R ( y ) = S {T ( µ A ( x), µ R ( x, y ) )} trong đó: toán tử S là MAX hoặc SUM, toán tử T là MIN hoặc PROD. 4 công thức hợp thành thường dùng: • Công thức hợp thành MAX-MIN: µ B ( y ) = µ Ao R ( y ) = max min ( µ A ( x ) , µ R ( x, y ) ) x { } • Công thức hợp thành MAX-PROD: µ B ( y ) = µ Ao R ( y ) = max ( µ A ( x ) ⋅ µ R ( x, y ) ) x • Công thức hợp thành SUM-MIN: µ B ( y ) = µ Ao R ( y ) = ∑ min ( µ A ( x ) , µ R ( x, y ) ) x • Công thức hợp thành SUM-PROD: µ B ( y ) = µ Ao R ( y ) = ∑ µ A ( x ) .µ R ( x, y ) x Trong điều khiển, thường sử dụng công thức MAX-MIN và MAX-PROD 18 Ý nghĩa của sự hợp thành của quan hệ mờ: Khi biết quan hệ R trên tập cơ sở X × Y , ta có thể xác định được tập mờ B có quan hệ R với A . Ví dụ: Cho : X 1 = {1, 2, 3} , X 2 = {2, 3, 4} , 0 0.5 1 tập mờ “gần bằng 3”: A= + + 1 2 3 và quan hệ “gần bằng”: µ ( X1 ≈ X 2 ) 2 3 4 1 0.5 0.33 0.25 R≈ = 2 1 0.67 0.5 3 0.67 1 0.75 Xác định : B = A o R . µ B ( 2 ) = µ Ao R ( 2 ) = max min ( µ A ( x1 ) , µ R ( x1 , 2 ) ) = max {0,0.5,0.67} = 0.67 { } ( 3) = max {min ( µ ( x ) , µ ( x ,3) )} = max {0,0.5,1} = 1 ( 4 ) = max {min ( µ ( x ) , µ ( x , 4 ) )} = max {0,0.5,0.75} = 0.75 x1 µ B ( 3) = µ Ao R µ B ( 4 ) = µ Ao R x1 x1 x1 A 1 R 1 A 1 R 1 x1 x1 B = A o R = [0.67 1 0.75] 19 2.12 LUẬT IF-THEN Cho 2 mệnh đề x = A, y = B . Mệnh đề hợp thành: x = A⇒ y = B có thể được biểu diễn dưới dạng luật if-then, R , như sau: R :if x = A then y = B trong đó: x, y : biến ngôn ngữ; A, B : giá trị ngôn ngữ (hằng) • Mỗi luật if-then xem như là một quan hệ mờ . • Quan hệ mờ được tính toán theo hai cách: - Dùng phép kéo theo mờ (trong các ứng dụng chẩn đoán, ra quyết định cấp cao,…) - Dùng phép giao mờ (trong các ứng dụng điều khiển, mô hình hoá hệ thống, xử lý tín hiệu,…) Bảng chân trị của phép kéo theo: p q p⇒q 0 0 1 0 1 1 1 0 0 1 1 1 Trong logic kinh điển, để kéo theo đúng: - Nếu p đúng, thì q phải đúng. - Nếu p sai, thì không có kết luận gì về q . 20 LUẬT IF-THEN TRONG ĐIỀU KHIỂN MỜ • Khi sử dụng phương pháp giao mờ để tính toán quan hệ mờ, luật if-then: if x = A then y = B được diễn giải là “phép kéo theo đúng”, khi ta có đồng thời “ x = A và y = B ” → quan hệ có tính đối xứng. • Quan hệ R giữa mệnh đề điều kiện và mệnh đề kết quả được xác định bởi toán tử T : R = A × B → µ R ( x, y ) = T {µ A ( x, y ) , µ B ( x, y )} trong đó T là MIN hoặc PROD. • Sự kết hợp các luật (rule aggregation) trong trường hợp có nhiều luật (hệ luật): Ri : if x = Ai then y = Bi trong đó : i = 1, 2, ......, K , quan hệ R là hợp của các quan hệ Ri : K { } R = U Ri → µ R ( x, y ) = S T µ A ( x ) , µ B ( y ) i i 1≤i ≤ K i =1 S là MAX hoặc SUM, T là MIN hoặc PROD. • Sau khi mã hoá hệ luật thành quan hệ mờ R , ta có thể xác định được ngõ ra y từ ngõ vào x và quan hệ R bằng toán tử hợp thành ("o ") như sau: y = xoR 21 VÍ DỤ: Xét hệ điều khiển xe Ngõ vào: tốc độ xe Ngõ ra : độ thay đổi góc quay bướm xăng (ga xe): Hệ luật điều khiển: V = {slow, ok , fast} ∆Φ = {dec, same, inc} R1 :if v = slowthen ∆ϕ = inc R2 :if v = OK then ∆ϕ = same R3 :if v = fast then ∆ϕ = dec 22 VÍ DỤ: Rời rạc hóa miền ngõ vào và ngõ ra. Chẳng hạn: X = {0, 15, 30, 45, 60, 75} ; Y = {−8, − 4, 0, 4, 8} X Slow Ok fast 0 1.0 0.0 0.0 Y -8 dec 0.4 same 0.0 inc 0.0 15 0.9 0.1 0.0 -4 0.8 0.2 0.0 30 0.4 0.6 0.0 0 0.0 1.0 0.0 45 0.0 0.8 0.2 60 0.0 0.3 0.7 4 0.0 0.2 0.8 75 0.0 0.0 1.0 8 0.0 0.0 0.4 23 VÍ DỤ: (áp dụng luật hợp thành MAX-MIN) Xét trường hợp Slow Áp dụng luật 1, ta có: X −8 0 15 30 45 60 75 Slow 1.0 0.9 0.4 0.0 0.0 0.0 0 0.0 Ok 0.0 0.1 0.6 0.8 0.3 0.0 15 0.0 fast 0.0 0.0 0.0 0.2 0.7 1.0 R = slow × inc = 30 0.0 Y -8 -4 0 4 8 45 0.0 dec 0.4 0.8 0.0 0.0 0.0 60 0.0 same 0.0 0.2 1.0 0.2 0.0 75 0.0 inc 0.0 0.0 0.0 0.8 0.4 Xét trường hợp OK X 0 15 30 45 60 75 Slow 1.0 0.9 0.4 0.0 0.0 0.0 Ok 0.0 0.1 0.6 0.8 0.3 0.0 fast 0.0 0.0 0.0 0.2 0.7 1.0 Y -8 dec 0.4 same 0.0 inc 0.0 -4 0.8 0.2 0.0 0 0.0 1.0 0.0 4 0.0 0.2 0.8 8 0.0 0.0 0.4 Áp dụng luật 2, ta có: 0 −8 −4 0 4 8 0.0 0.0 0.8 0.4 0.0 0.0 0.8 0.4 0.0 0.0 0.4 0.4 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 −4 0 4 8 0.0 0.0 0.0 0.0 0.0 15 0.0 0.1 0.1 0.1 0.0 R = OK × same = 30 0.0 0.2 0.6 0.2 0.0 45 0.0 0.2 0.8 0.2 0.0 60 0.0 0.2 0.3 0.2 0.0 75 0.0 0.0 0.0 0.0 0.0 24 Xét trường hợp Fast X 0 15 30 Slow 1.0 0.9 0.4 Ok 0.0 0.1 0.6 fast 0.0 0.0 0.0 Y -8 dec 0.4 same 0.0 inc 0.0 -4 0.8 0.2 0.0 0 0.0 1.0 0.0 Áp dụng luật 3, ta có: 45 60 75 0.0 0.0 0.0 0.8 0.3 0.0 0.2 0.7 1.0 4 0.0 0.2 0.8 0 Suy ra: −4 0 4 8 0.0 0.0 0.0 0.0 0.0 15 0.0 0.0 0.0 0.0 0.0 R = fast × dec = 30 0.0 0.0 0.0 0.0 0.0 8 0.0 0.0 0.4 45 0.2 0.2 0.0 0.0 0.0 60 0.4 0.7 0.0 0.0 0.0 75 0.4 0.8 0.0 0.0 0.0 −8 3 −8 −4 0 4 8 0 0.0 0.0 0.0 0.8 0.4 15 0.0 0.1 0.1 0.8 0.4 R = U Ri = 30 0.0 0.2 0.6 0.4 0.4 i =1 45 0.2 0.2 0.8 0.2 0.0 60 0.4 0.7 0.3 0.2 0.0 75 0.4 0.8 0.0 0.0 0.0 25 VÍ DỤ: Giả sử có ngõ vào là tập mờ A’=[0 0.5 0.4 X 0 15 30 Half Slow 0.0 0.5 0.4 Xác định B ' = A 'o R −8 −4 0 0.0 0.0 15 0.0 0.1 3 Với R = U Ri = 30 0.0 0.2 i =1 45 0.2 0.2 60 0.4 0.7 75 0.4 0.8 0 0 0] (hơi chậm): 45 60 75 0.0 0.0 0.0 0 4 8 0.0 0.8 0.4 0.1 0.8 0.4 0.6 0.4 0.4 0.8 0.2 0.0 0.3 0.2 0.0 0.0 0.0 0.0 min µ A ' ( 0 ) , µ R ( 0, −8 ) , min µ A ' (15 ) µ R (15, −8 ) , min µ A ' ( 30 ) , µ R ( 30, −8 ) , µ B ' ( −8 ) = max µ µ µ µ µ µ min 45 45, 8 , min 60 , 60, 8 , min 75 75, 8 − − − ) ) ) A' ( ) R ( A' ( ) R ( A' ( ) R ( = max {min [ 0, 0] , min [ 0.5, 0] , min [ 0.4, 0] , min [ 0, 0.2] , min [ 0, 0.4] , min [ 0, 0.4]} = 0 Tương tự: µ B ' ( −4 ) = ....; µ B ' ( 0 ) = ....; µ B ' ( 4 ) ....; µ B ' ( 8 ) = .... Kết quả : B ' = [ 0 0.2 0.4 0.5 0.4] (tăng một ít) 26 2.13 PHƯƠNG PHÁP SUY DIỄN MAMDANI (SUY DIỄN MAX-MIN) Cho luật hợp thành R (kết hợp từ K luật) xác định theo quy tắc MAX-MIN: µ R ( x, y ) = max µ Ai ( x ) ∧ µ Bi ( y ) 1≤ i ≤ K trong đó ∧ là toán tử min tính trên tích cartesian. Nếu ngõ vào là tập mờ A' , ta xác định được tập mờ ngõ ra B ' như sau: µ B ' ( y ) = max {µ A ' ( x ) ∧ µ R ( x, y )} x Thay công thức tính µ R ( x, y ) vào , ta có : { } µ B ' ( y ) = max µ A ' ( x ) ∧ max µ A ( x ) ∧ µ B ( y ) x 1≤ i ≤ K Vì các phép toán lấy max-min được thực hiện trên các miền khác nhau, nên ta có thể thay đổi thứ tự của chúng như sau: µ B ' ( y ) = max max µ A ' ( x ) , µ Ai ( x ) ∧ µ Bi ( y ) 1≤ i ≤ K x βi = max ( µ A ' ( x ) ∧ µ Ai ( x ) ) Đặt : x βi : độ thoả mãn của mệnh đề điều kiện trong luật i . Biểu thức xác định hàm liên thuộc của B ' được viết gọn lại như sau: i µ B ' ( y ) = max 1≤ i ≤ K {β ∧ µ i Bi i ( y )} 27 Tóm tắt phương pháp suy diễn Mamdani: Bước 1: Tính βi βi = max ( µ A ' ( x ) ∧ µ A ( x ) ) , i 1≤ i ≤ K x Nếu ngõ vào là 1 tập singleton tại x0 (giá trị rõ), thì : Bước 2: Xác định tập mờ B 'i ở ngõ ra: Bước 3: Kết hợp các tập mờ ngõ ra B 'i βi = µ A ( x0 ) i µB ' ( y ) = βi ∧ µ B ( y ) , y ∈ Y , 1 ≤ i ≤ K µ B ' ( y ) = max µ B ' ( y ) , y ∈Y i i 1≤i ≤ K i VÍ DỤ: 28 BÀI TẬP: * Xét bài toán điều khiển tốc độ xe. 1. Xác định tập mờ ngõ ra B ' khi ngõ vào là tập mờ A ' = tri ( 50, 55, 60 ) (hơi nhanh). 2. Xác định tập mờ ngõ ra B ' khi ngõ vào là tập mờ singleton x0 = 55 Ghi chú: hàm liên thuộc của tập singleton tại x0 : 1, x = x0 µsin gleton ( x ) = 0, x ≠ x 0 29 BÀI 3. GIẢI MỜ (DEFUZZIFICATION) • • • • • Giải mờ là biến đổi một tập mờ (giá trị ngôn ngữ) sang một giá trị rõ (giá trị vật lý). Tìm giá trị rõ thể hiện tốt nhất giá trị mờ. Không có cơ sở lý thuyết nào giúp ta chọn phương pháp giải mờ. Việc chọn ph/pháp giải mờ thường dựa vào đặc tính của từng ứng dụng. Hai phương pháp giải mờ chính: 1. Trọng tâm (center of area-COA) 2. Trung bình cực đại (mean of maximum-MOM) • Phương pháp trọng tâm (COA): được sử dụng nhiều nhất trong các ứng dụng điều khiển. Nhược điểm là tính toán phức tạp. µ 1.0 µ ( y ) . ydy ∫ y* = ∫ µ ( y ) dy B B y* y 30 • Phương pháp trung bình cực đại (MOM): cho kết quả là giá trị đại diện cho những tác động mà có hàm liên thuộc đạt cực đại. y* = µ 1.0 a+b 2 a • Phương pháp độ cao: (nguyên lý độ phụ thuộc cực đại) µ B ( y *) ≥ µ B ( y ) , y* b y µ 1.0 ∀y ∈ Y y* y 31 • Phương pháp trung bình trọng số (weighted average method) : − Chỉ sử dụng khi các hàm liên thuộc ngõ ra đối xứng − Cho kết quả gần với phương pháp COA − Tính toán ít. µ 1.0 0.9 0.5 µ ( y ) . y a ( 0.5 ) + b ( 0.9 ) ∑ y* = = µ y 0.5 + 0.9 ∑ ( ) B a b y B • Phương pháp phân vùng bằng nhau (Bisector of Area-BOA): y * được xác định bởi đường thẳng chia tập mờ ngõ ra thành hai vùng có diện tích bằng nhau. y* µ β ∫α µ ( y ) dy = ∫ µ ( y ) dy B B y* α = min { y y ∈Y} β = max { y y ∈Y} y* y 32 µ • Phương pháp cận trái/phải của cực đại (Smallest/Largest of Maximum- SOM/LOM) 1.0 yl = inf { y ∈ Y µ B = hgt ( B )} y yr = sup { y ∈ Y µ B = hgt ( B )} y trong đó hgt ( B ) là độ cao của tập mờ B . hgt ( B ) = sup µ B ( y ) 0.0 y∈Y yl yr y SO SÁNH KẾT QUẢ CÁC PHƯƠNG PHÁP GIẢI MỜ 1.0 0.8 Centroid 0.6 Bisector MOM 0.4 SOM 0.2 0.0 -10 LOM -8 -5 -4 -2 0 2 4 6 8 10 33 BÀI 4. ĐIỀU KHIỂN MỜ 4.1 Giới thiệu chung • Điều khiển mờ được thực hiện dựa trên lý thuyết logic mờ gọi là điều khiển mờ. • Hệ điều khiển mờ cho phép đưa các kinh nghiệm điều khiển của chuyên gia vào thuật toán điều khiển. • Chất lượng điều khiển mờ phụ thuộc rất nhiều vào kinh nghiệm của người thiết kế. • Điều khiển mờ có thế mạnh trong các hệ thống sau: − Hệ thống điều khiển phi tuyến − Hệ thống điều khiển mà các thông tin đầu vào/ đầu ra không đủ hoặc không chính xác. − Hệ thống điều khiển khó xác định hoặc không xác định được mô hình đối tượng. • Sơ đồ điều khiển có nhiều dạng khác nhau. Dưới đây là một sơ đồ điều khiển đơn giản thường gặp, trong đó bộ điều khiển mờ được dùng thay cho bộ điều khiển kinh điển. 34 4.2 Cấu trúc bộ điều khiển mờ • Bộ điều khiển mờ cơ bản gồm 4 khối: mờ hoá, hệ luật mờ, thiết bị hợp thành, giải mờ. • Khi ghép bộ điều khiển mờ vào hệ thống, thường ta cần thêm hai khối tiền xử lý và hậu xử lý. 35 Bộ điều mờ bao gồm: Bộ điều khiển mờ cơ bản • Mờ hoá: biến giá trị rõ đầu vào thành giá trị mờ • Hệ luật mờ: Tập các luật “if-then”. Đây là “bộ não” của bộ điều khiển mờ. Luật mờ “if-then” có 2 dạng: Luật mờ Mamdani và luật mờ Sugeno. • Thiết bị hợp thành: biến đổi các giá trị đã được mờ hoá ở đầu vào thành các giá trị đầu ra theo các luật hợp thành nào đó. • Giải mờ: biến giá trị đầu ra của khối thiết bị hợp thành thành giá trị rõ. 36 Thiết bị ghép nối: • Tiền xử lý: xử lý tín hiệu trước khi đi vào bộ điều khiển mờ cơ bản − Lượng tử hóa hoặc làm tròn giá trị đo. − Chuẩn hóa hoặc chuyển tỉ lệ giá trị đo vào tầm giá trị chuẩn. − Lọc nhiễu. − Lấy vi phân hay tích phân • Hậu xử lý: xử lý tín hiệu ngõ ra của bộ điều khiển mờ cơ bản. − Chuyển tỉ lệ giá trị ngõ ra của bộ điều khiển mờ cơ bản (trong trường hợp ngõ ra định nghĩa trên tập cơ sở chuẩn) thành giá trị vật lý. − Đôi khi có khâu tích phân 37 4.3 BỘ ĐIỀU KHIỂN MỜ MAMDANI • Bộ điều khiển mờ Mamdani là bộ điều khiển mờ dựa trên trên các luật mờ Mamdani Luật mờ Mamdani. If ( x1 = A1 ) AND ( x2 = A2 ) AND ... AND ( xn = An ) then y = B Trong đó Ai , B là các tập mờ. (NX: điều kiện và kết luận đều là những mệnh đề mờ) 4.4 BỘ ĐIỀU KHIỂN MỜ SUGENO • Bộ điều khiển mờ Sugeno là bộ điều khiển mờ dựa trên các luật mờ Sugeno. Luật mờ Sugeno (Takagi-Sugeno) If ( x1 = A1 ) AND ( x2 = A2 ) AND ... AND ( xn = An ) then y = f ( x 1 , x2 ,..., xn ) Trong đó: Ai : là các tập mờ. f (.) là hàm của các tín hiệu vào (hàm rõ) (NX: điều kiện là mệnh đề mờ, kết luận là hàm rõ) • Phương pháp giải mờ dùng trong BĐK mờ Sugeno là tổng có trọng số (weighted sum) K trong đó: β y ∑ i i βi : độ cao của tập mờ kết quả trong mệnh i =1 y= K đề điều kiện của luật i . βi ∑ K : số luật i =1 38 VÍ DỤ: Bộ giải mờ Sugeno If ( x1 = A11 ) AND ( x2 = A21 ) then y1 = p1 x1 + q1 x2 + r1 If ( x1 = A12 ) AND ( x2 = A22 ) then y2 = p2 x1 + q2 x2 + r2 SO SÁNH: • BĐK mờ Mamdani thích hợp để điều khiển các đối tượng không xác định được mô hình. • BĐK mờ Sugeno thích hợp để điều khiển các đối tượng có mô hình không chính xác, hoặc mô hình phi tuyến được tuyến tính hoá từng đoạn. • BĐK mờ Mamdani có phần kết luận trong hệ luật là các tập mờ dạng singleton cũng chính là BĐK mờ Sugeno có hệ luật mà phần kết luận là hằng số. 39 4.5 Nguyên lý điều khiển mờ: - Giao diện đầu vào: bao gồm khâu fuzzy hóa và các khâu phụ trợ như I, D, … - Thiết bị hợp thành: thực hiện luật hợp thành. Giao diện đầu ra: gồm khâu giải mờ và khâu giao tiếp trực tiếp với đối tượng. 40 Ví dụ về hệ thống điều khiển mờ. 41 Hệ thống MIMO với nhiều thiết bị hợp thành 42 Hệ thống MIMO với nhiều thiết bị hợp thành nối song song 43 4.5.1 Những nguyên tắc tổng hợp bộ điều khiển mờ: Để tổng hợp bộ điều khiển mờ, cần chú ý một số điểm sau: 1. Không bao giờ lại thiết kế một bộ điều khiển mờ để giải quyết một bài toán tổng hợp mà có thể dễ dàng thực hiện bằng các bộ điều khiển kinh điển (bộ điều khiển P, -IP, -PD, -PID, bộ điều khiển trạng thái) thoả mãn các yêu cầu đặt ra. 2. Việc sử dụng bộ điều khiển mờ cho các hệ thống yêu cầu độ an toàn cao vẫn còn bị hạn chế, do những yêu cầu chất lượng và mục đích của hệ thống chỉ có thể xác định và đạt được qua thực nghiệm. 3. Điểm quan trọng nhất là bộ điều khiển mờ phải được phát triển qua thực nghiệm. 4. Các bước thiết kế - Định nghĩa tất cả các biến ngôn ngữ vào/ra. Định nghĩa tập mờ (giá trị ngôn ngữ) cho các biến vào/ra. Xây dựng các luật điều khiển (các mệnh đề hợp thành). Chọn thiết bị hợp thành (max-MIN hay sum-MIN…). Tối ưu hệ thống. 44 4.5.2 Định nghĩa các biến vào/ra Đại lượng vào của bộ điều khiển mờ là sai lệch ET, biến ra là công suất P Ví dụ sau đây là bộ điều khiển nhiệt độ. 4.5.3 Xác định tập mờ 4.5.2.1 Miền giá trị vật lý của biến ngôn ngữ vào / ra Ví dụ sai lệch nhiệt độ ET = -120C +120C, tốc độ biến đổi DET = -60C/s +60C/s, tốc độ biến đổi công suất ra DP = -120W/s +120W/s 45 4.5.2.2 Số lượng tập mờ (giá trị ngôn ngữ): - Số lượng các giá trị ngôn ngữ cho mỗi biến từ 3 10 - Ví dụ điều khiển nhiệt độ ở trên, có thể xác định các giá trị như sau: ET, DET, DP ∈ { âm, không, dương} ET, DET, DP ∈ { âm, âm ít, không, dương ít, dương} ET, DET, DP ∈ { âm nhiều, âm, âm ít, không, dương ít, dương, dương nhiều} âm nhiều âm âm ít không Negative Big Negative Medium Negative Small ZEro NB NM NS ZE dương nhiều dương dương ít Positive Big Positive Medium Positive Small PB PM PS 46 4.5.2.3 Xác định hàm thuộc: Nguyên tắc là chọn các hàm thuộc có phần chồng lên nhau và phủ kín miền giá trị vật lý để trong quá trình điều khiển không xuất hiện “lỗ hổng” / “vùng chết”. 47 4.5.3 Xây dựng các luật điều khiển R1: Nếu ET = NB R2: Nếu ET = NM R3: Nếu ET = NS R4: Nếu ET = ZE R5: Nếu ET = PS R6: Nếu ET = PM R7: Nếu ET = PB R8: Nếu ET = ZE R9: Nếu ET = ZE R10: Nếu ET = ZE R11: Nếu ET = ZE R12: Nếu ET = ZE R13: Nếu ET = ZE và DET = ZE và DET = ZE và DET = ZE và DET = ZE và DET = ZE và DET = ZE và DET = ZE và DET = NB và DET = NM và DET = NS và DET = PS và DET = PM và DET = PB thì DP = NB thì DP = NM thì DP = NS thì DP = ZE thì DP = PS thì DP = PM thì DP = PB thì DP = NB thì DP = NM thì DP = NS thì DP = PS thì DP = PM thì DP = PB 48 4.5.4 Chọn thiết bị hợp thành Max-Min Max-Prod 4.5.5 Chọn phương pháp giải mờ: Giải mờ bằng phương pháp điểm trọng tâm Giải mờ bằng phương pháp độ cao 4.5.6 Tối ưu hóa: Kiểm tra xem có lỗ hổng không? Tối ưu trạng thái làm việc theo chỉ tiêu nào đó (thông qua hàm thuộc). 4.6 CÁC BỘ ĐIỀU KHIỂN MỜ Đặc điểm của điều khiển mờ: - Tính phi tuyến của bộ điều khiển mờ - Kiến thức, kinh nghiệm, sự hiểu biết về đối tượng - Mô hình đối tượng điều khiển: khi thiết kế bộ điều khiển mờ không nhất thiết phải biết trước mô hình mà chỉ cần thể hiện những hiểu biết về đối tượng qua các ngôn ngữ mô tả đặc tính động lực học của đối tượng. Mô hình chỉ cần xây dựng để phục vụ cho việc mô phỏng. - Để mô phỏng ta sử dụng mô hình hệ thống nhiệt có hàm truyền sau: K 1000 G(s) = = Ts + 1 10s + 1 49 4.6.1 Bộ điều khiển mờ theo luật tỷ lệ (Bộ điều khiển mờ tĩnh): Bộ điều khiển mờ tĩnh là những bộ điều khiển có quan hệ vào / ra y(x) là một phương trình đại số tuyến tính (điều khiển P), hoặc là bộ điều khiển rơ-le 2, 3 vị trí… Quan hệ truyền đạt bộ điều khiển mờ theo luật tỷ lệ Trên hình vẽ là bộ điều khiển mờ tỷ lệ, giả sử biến vào và biến ra 3 giá trị NS, ZE, PS. Ba gtrị đầu vào có dạng tam giác cân và đầu ra dạng singleton. Luật hợp thành gồm 3 luật điều khiển: R1: Nếu ET = NS thì P = NS R2: Nếu ET = ZE thì P = ZE R3: Nếu ET = PS thì P = PS 50 Để có thể xử lý được tín hiệu bằng bộ điều khiển mờ cần phải chọn thời gian lấy mẫu phù hợp. Trong ví dụ này, chọn Ta = 10s. Thay đổi tập mờ đầu vào để tăng hệ số khuếch đại K Bộ điều khiển mờ P được thiết kế theo luật hợp thành MAX-PROD và giải mờ theo phương pháp độ cao. Hệ số khuếch đại của bộ điều khiển mờ này là: 5 kW K = 0 = 250 W / 0 C 20 C Khi thay đổi tập mờ đầu vào, hệ số khuếch đại sẽ là: 51 5 kW 0 = 1000 W / C 0 5 C Đối tượng là hệ thống nhiệt có hàm truyền: K 1000 G(s) = = Ts + 1 10s + 1 Mô phỏng trên Matlab: ..... 4.6.2 Bộ điều khiển mờ PID 4.6.2.1 Thuật toán chỉnh định PID mờ: T 1 d u (t ) = K ET + ∫ ETdt + TD ET TI 0 dt Thực tế thường sử dụng T 1 u (t ) = K ET + ∫ ETdt TI 0 4.6.2.2 Thuật toán PID tốc độ: d du (t ) 1 d2 = K ET + ET + ET 2 ( dt ) dt TI dt Thực tế thường sử dụng d du (t ) 1 = K ET + ET dt TI dt K= 52 4.6.3 Bộ điều khiển mờ theo luật tích phân I: (Matlab: I) 4.6.7 Bộ điều khiển mờ theo luật PD: 53 R1: Nếu ET = NM R2: Nếu ET = ZE R3: Nếu ET = PM R4: Nếu ET = NM R5: Nếu ET = ZE R6: Nếu ET = PM R7: Nếu ET = NM R8: Nếu ET = ZE R9: Nếu ET = PM và DET = ZE thì P = PM và DET = ZE thì P = ZE và DET = ZE thì P = NM và DET = NM thì P = PM và DET = NM thì P = PM và DET = NM thì P = ZE và DET = PM thì P = ZE và DET = PM thì P = NM và DET = PM thì P = NM (Matlab: Pdcontrol) 4.6.8 Bộ điều khiển mờ theo luật PI: 54 4.6.9 Bộ điều khiển mờ trượt: Giả sử y0 là tín hiệu ra mong muốn, y là tín hiệu ra thực tế, e(t) = y0 – y là vectơ sai lệch động học của hệ thống, e(t ) = ( e1 e2 ... en ) . Bài toán đặt ra là thiết kế một bộ điều khiển mờ có tín hiệu điều khiển u thỏa mãn u ≤ umax để sai lệch vectơ sai lệch e(t ) → 0 trong một khoảng thời gian hữu hạn. 55 n −1 d Xét hàm chuyển đổi s (e) = 1 + λ e(t ), λ > 0 dt Với n = 2 s (e) = e + λ e& λ qui định độ dốc đường thẳng s (e) = e + λ e& = 0 được gọi là đường chuyển đổi của tín hiệu điều khiển u Bài toán điều khiển sai lệch trạng thái trên trở thành bài toán tìm hàm điều khiển u = u(y), u ≤ umax sao cho s(e) tiến tới 0. Để có được điều này thì khi s(e)>0 thì s&(e) < 0 , và ngược lại, tức là phải thỏa mãn điều kiện trượt (Sliding Condition): s&(e).sgn( s ) < 0 Điều kiện này đảm bảo sai lệch e sẽ giảm nếu như y chưa nằm trên mặt cong s(e) = 0. Mặt cong s(e) = 0 được gọi là mặt cong trượt (Sliding Surface) Xét y0 không phụ thuộc thời gian: e& & < − + f ( y , y ) khi e + λ e& < 0 λ ( e& + λ e&&) sgn ( e + λ e& ) < 0 ⇔ u = > − e& + f ( y, y& ) khi e + λ e& > 0 λ Chọn u −umax khi e + λ e& < 0 u= umax khi e + λ e& > 0 56 Xét y0 phụ thuộc thời gian y0 = y0(t) < 0 khi e + λ e& > 0 &e + λ ( && & y0 − f ( y, y ) − u ) = > 0 khi e + λ e& < 0 e& y0 khi e + λ e& > 0 > λ + f ( y, y& ) − && ⇔u= < e& + f ( y, y& ) − && y0 khi e + λ e& < 0 λ e& ⇔ u = + f ( y, y& ) = && y0 + K sgn(e + λ e&) , K > 0 λ Bộ điều khiển mờ trượt có 2 đầu vào 57 Hiện tượng Bang – Bang Biểu diễn đường chuyển đổi trong mặt phẳng (e, e&) : u = umax nếu s nằm trên đường chuyển đổi u = -umax nếu s nằm trên đường chuyển đổi 58 Bộ điều khiển mờ trượt có 2 đầu vào: Luật điều khiển mờ trượt 59 Nhóm 1: gồm các luật ứng với nửa mặt phẳng trên đường chuyển mức (e + λ e& ≥ 0) R1: Nếu χ1 = PS hoặc χ1 = PB và χ 2 = PB thì γ = PB R2: Nếu ( χ1 = NS hoặc χ1 = NB ) ho ặc ( χ1 = PS và ( χ 2 = PS hoặc χ 2 = NS ) thì γ = PS 60 Nhóm 2: gồm các luật ứng với nửa mặt phẳng dưới đường chuyển mức (e + λ e& < 0) R3: Nếu χ1 = NS hoặc χ1 = NB và χ 2 = NB thì γ = NB R4: Nếu ( χ1 = PS hoặc χ1 = PB ) hoặc ( χ1 = NS và ( χ 2 = NS hoặc χ 2 = PS ) thì γ = NS Bộ điều khiển mờ trượt 3 biến vào χ1 , χ 2 như trên và χ 3 = e + λ e& để xác định dấu 61 Bài tập: 1. Cho một đối tượng nhiệt có mô hình toán học 250 G ( s) = 1200 s + 1 a/ Hãy thiết kế một bộ điều khiển mờ có quan hệ vào/ra tuyến tính u(e)=50e, trong đó e là chênh lệch giữa giá trị đặt trước và đầu ra y của đối tượng. Vùng cần điều khiển trong khoảng thời gian của e là [-200, 200], u là tín hiệu ra của bộ điều khiển mờ có vùng giá trị giới hạn trong khoảng [-1000, 1000]. Mô phỏng trên Matlab. b/ Để khắc phục sai lệch tĩnh của hệ thống, thiết kế thêm bộ điều khiển mờ một khâu điều khiển tích phân. Hãy xác định vùng làm việc cho phép của hằng số thời gian tích phân TI để đảm bảo hệ thống ổn định. Kiểm tra kết quả tính toán. 62 2. Cho một động cơ điện một chiều được mô tả bằng phương trình vi phân bậc 2 d2y = 5u (t ) được điều khiển bằng một bộ điều khiển mờ có đặc tính vào/ra tĩnh như dt 2 hình (a). a/ Hãy phân tích chất lượng của hệ thống được thiết kế. b/ Chất lượng hệ thống sẽ thay đổi như thế nào nếu thay bộ điều khiển trên bằng bộ điều khiển trên hình (b) c/ Chọn các tập mờ cho biến vào, ra và định nghĩa luật hợp thành để có được những bộ điều khiển mờ có quan hệ vào/ra như trong hình đã cho ở hai câu trên. (a) (b) 63 3. Cho một đối tượng điều khiển có mô hình toán học 25 G ( s) = 2 3s + 15s + 1 được điều khiển bằng một bộ mờ lai có cấu trúc như hình vẽ. a/ Hãy thiết kế bộ điều khiển mờ sao cho mạch vòng ổn định tốc độ động cơ làm việc ổn định và có sai lệch tĩnh bằng 0. b/ Kiểm tra kết quả tính toán bằng Matlab. 64