CHƯƠNG 2: SIMULINK
2.3. Điều khiển mờ trong Matlab 1 Điều khiển mờ là gì?
2.3.1. Điều khiển mờ là gì?
Điều khiển mờ (Fuzzy logic) sử dụng công cụ Fuzzy Logic Toolbox của Matlab để giải quyết các vấn đề của bài toán logic mờ. Điều khiển thực hiện công việc theo cách mà con người thực hiện – nó có thể coi là thực hiện theo kinh nghiệm của người điều khiển. Bộ điều khiển mờ được dùng nhiều trong các hệ thống mà không rõ mô hình đối tượng.
Điều khiển mờ là một cách hữu hiệu để mô tả một không gian đầu vào (input space) tới một không gián đầu ra (output space). Ví dụ như: bạn nói cho tôi thức ăn của của tiệm đó ngon hay không, tôi sẽ nói cho bạn tiền boa nên là bao nhiêu. Nếu cho tôi biết tốc độ cần thiết của chiếc xe, tôi sẽ giúp nói cho bạn biết vị trí của tay ga, nếu cho tôi biết khoảng cách từ vật đến máy ảnh, tôi sẽ chỉnh cho bạn tiêu cự… Trên phương diện đồ họa, điều khiển mờ có thể được xem như hình sau:
Hình 2.48. Mô hình của điều khiển mờ
Để làm rõ hơn về điều khiển mờ, ta xem xét ví dụ sau đây. Tiền boa cho bồi bàn là bao nhiêu thì phù hợp? Giả sử chất lượng phục vụ của nhà hàng và chất lượng thức ăn được đại diện bởi một con số từ 0 – 10 (10 là tốt nhất), vậy tiền boa nên là bao nhiêu?
Xét về chất lượng phục vụ ta có giả định như sau: 1. Nếu chất lượng phục vụ tốt thì tiền boa nhiều
2. Nếu chất lượng phục vụ bình thường thì tiền boa trung bình 3. Nếu chất lượng phục vụ kém thì tiền boa ít.
Xét về chất lượng thức ăn thì ta giả định như sau: 4. Nếu thức ăn ngon thì tiền boa nhiều
5. Nếu thức ăn dở thì tiền boa ít.
Và thông thường, ta kết hợp cả hai yếu tố chất lượng phục vụ và chất lượng thức ăn để đưa ra tiền boa. Giả sử quy luật như sau:
1. Nếu chất lượng phục vụ kém hoặc thức ăn dở thì tiền boa ít 2. Nếu chất lượng phụ vụ bình thường thì tiền boa bình thường 3. Nếu chất lượng phục vụ tốt hoặc thức ăn ngon thì tiền boa nhiều
Và ta coi 3 luật này là giải pháp của chúng ta, trong điều khiển mờ, đây được gọi là những luật hợp thành.
Như vậy, mục đích của điều khiển mờ là xây dựng một không gian tín hiệu ra theo một không gian tín hiệu vào. Và cơ chế đầu tiên cho việc này là sử dụng các luật if-then.
Hình 2.49. Cấu trúc chung của điều khiển mờ
Mục đích của chương này nhằm giới thiệu về việc sử dụng bộ điều khiển trong Simulink, bao gồm:
- Thành lập logic mờ (Foudation of Fuzzy logic): đưa ra các nguyên lý cơ bản về lý thuyết mờ
- Đưa ra kết luật mờ (Fuzzy inference system): đưa ra phương pháp tìm tín hiệu đầu ra từ các tín hiệu đầu vào.
- Xây dựng hệ thống mờ với hộp công cụ Fuzzy logic toolbox. a) Thành lập logic mờ (Foundation of Fuzzy logic)
+ Tập mờ (Fuzzy sets)
Điều khiển mờ được bắt đầu với khái niệm tập mờ. Tập mờ là một tập không có sự chính xác rõ ràng, nó có thể bao gồm các thành phần mà chỉ cố một mức độ nào đó thuộc tập mờ.
Để hiểu rõ điều này, trước hết chúng ta sẽ xem sét tập mờ kinh điển (Classical set). Tập mờ kinh điển A là một tập hợp mà các phần tử của nó chỉ có 2 khả năng là thuộc A hoặc không thuộc A. Ví dụ như, tập ngày của tuần bao gồm thứ 2, thứ 3 và thứ 7. Và như vậy nó không bao gồm các thành phần khác như thứ 4, thứ 5, công viên, giày… Nó được phát biểu là: nếu X không thuộc tập A thì nó sẽ thuộc tập A.
8.9 là học sinh giỏi. Và như vậy, về logic thông thường nếu bạn đạt kết quả là 8.1 thì gọi là học sinh giỏi, 7.8 là học sinh khá.
Tuy nhiên, câu hỏi này cũng có thể trả lời được trả lời bằng một cách như sau: bạn đạt điểm 8.1 như vậy bạn giỏi là 0.8. Nó biểu diễn một phần của việc có là học sinh giỏi nhưng không hoàn toàn. Đây chính là tập hợp mở rộng được sử dụng trong điều khiển logic mờ
Điều khiển thường sử dụng với logic đúng và sai. Nếu coi “đúng” là giá trị 1 và “sai” là giá trị 0, thì điều khiển mờ cũng cho một giá trị trong khoảng 0 – 1 như 0.2, 0.432. Bất kỳ khai báo nào cũng đều có thể được mờ hóa, công cụ mờ cũng phù hơp với việc trả lời cấu hỏi Yes/No bằng một đáp án không hoàn toàn đúng cũng không hoàn toàn sai và ta gọi đây là miền logic đa trị (Multivalued logic).
a) Tập kinh điển b) tập đa trị
hình 2.50. Mức độ của một học sinh giỏi
Hay ví dụ như đáp án cho câu hỏi bây giờ là mùa gì cũng có thể cho các cách trả lời như hình sau.
Như vậy, tập mờ được định nghĩa như sau: tập mờ F xác định trên tập kinh điển X là một tập mà mỗi phần tử của nó là một cặp các giá trị (x, μ(x)) trong đó x∈X và μF là ánh xạ:
μF : X [0,1]
ánh xạ μF được gọi là hàm thuộc của tập mờ F. Tập kinh điển X được gọi là tập nền của tập mờ F.
+ Hàm thuộc (Membership Function)
Hàm thuộc là một đường cong cho phép xác định giá trị hàm (trong khoảng từ 0 đến 1) theo giá trị của đầu vào. Các biến đầu thường được mô tả
bằng biến ngôn ngữ.
Một trong những ví dụ về tập mờ đơn giản là tập chiều cao của người. Trong trường hợp này, giả sử chiểu cao của mỗi người tà từ 1m đến 2m và từ “cao” sẽ tương ứng với một đường cong xác định độ cao của mỗi người. Với tập mờ kinh điển (chỉ có 2 giá trị 0 và 1) thì có thể coi những người cao hơn 1.6m là cao và những người thấp hơn 1.6m là thấp. Với việc định nghĩa như vậy làm cho tập chiều cao của người trở lên khó khăn và không phản ánh chính xác được thực tế. Giải pháp cho vấn đề này là đưa ra một đường cong xác định chiều cao của người biến đổi liên tục từ 0 đến 1. Đường cong đó được gọi là hàm thuộc và cho một giá trị là μ.
Hình 2.52. Luật hợp thành về chiều cao của người theo tâp kinh điển và tập mở rộng
Với tập mờ kinh điển thì chiều cao của người được biểu diễn như sau: A = {x | x > 6}
Tập mờ là tập mở rộng của tập kinh điển. Nếu X bao gồm các phần tử x thì khi đó tập mờ A của X được xác định như sau:
A = {x, μ(x) | x ∈ X }
μA(x) được gọi là hàm thuộc của x trong tập A.
Hàm thuộc MF (Membership Function) trong Fuzzy Logic Toolbox bao gồm 11 luật đã được xây dựng sẵn bao gồm: hàm tuyến tính từng đoạn, hàm nhiễu Gaussuan, đường sigma, đường cong có phương trình bậc hai hoặc bậc 3.
Hình 2.54. Các luật hợp thành được xây dựng sẵn trong Fuzzy Logic Toolbox Một ví dụ với việc miêu tả tốc độ của xe máy như sau:
Hình 2.55. Vận tốc của xe máy
Trong ví dụ này, cùng là một đại lượng vật lý chỉ tốc độ xe nhưng được thể hiện 2 dạng:
- Là biến vật lý với các giá trị rõ như v = 40km/h; v = 72.5km/h … (miền xác định của tập kinh điển)
Như vậy, hàm thuộc dùng để:
o Miêu tả các tập mờ (như tốc độ nhanh bao nhiêu, nhiệt độ nóng thế nào…)
o Tập mờ chứa các hàm thuộc trong nó
o Giá trị của tập mờ phụ thuộc vào dạng hàm thuộc và nằm trong khoảng 0 đến 1
o Hàm thuộc kết hợp với tập mờ để xác định được giá trị của đầu ra.
+ Phép toán logic mờ (Logical Operation)
Như vậy, chúng ta đã biết về thế nào là mờ trong logic mờ (Fuzzy logic). Như ta đã biết, “đúng” trong điều khiển mờ sẽ thể hiện là ở mức độ nào. Vậy làm thế nào để thu được giá trị này trong khoảng giữa 0 và 1.
+ Phép hợp hai tập mờ:
Hợp của 2 tập A, B trên nền X là một mờ A∪B cũng được xác định trên nền X có hàm thuộc μA∪B.
- Nếu μB(x) = 0 thì μA∪B(x) = μA(x) - μA∪B(x) = μB∪A(x)