Thiết kế hệ mờ

Một phần của tài liệu Ứng dụng NEUROFUZZY trong điều khiển nhiệt độ thông qua KIT AT89C52LVTN.doc (Trang 122)

1.1. Các nguyên tắc trong thiết kế

Mặc dù hệ mờ chúng ta thiết kế ở đây là hệ sơ khởi, tức là hệ thơ. Mọi quá trình tối ưu để hệ đạt đến trạng thái hồn chỉnh đều được thực hiện sau đĩ. Tuy nhiên, để cho việc học được dễ dàng thì ta cần thiết kế một hệ tương đối phù hợp với đối tượng dựa trên các nguyên tắc thiết kế cần thiết.

Thiết kế hệ mờ được bắt đầu bằng việc xác định các biến ngơn ngữ dùng trong hệ thống. Các biến này được xem như là nền tảng cho các luật hoạt động. Kế đến là thiết kế cấu trúc của hệ, mang thơng tin về dịng điều khiển bên trong hệ, như là tập mờ nào kết hợp với tập mờ nào, đưa ra tập mờ nào … . Thiết kế hệ luật được xem như là phần thiết kế chính yếu, thể hiện tri thức của con người về đối tượng đang điều khiển. Cuối cùng là lựa chọn phương pháp giải mờ thích hợp.

Giá trị của biến ngơn ngữ là những từ ngữ thể hiện đặc điểm của biến đĩ. Ví như trong điều khiển nhiệt độ : đối với biến sai lệch nhiệt độ (sai lệch nhiệt độ = nhiệt độ đặt – nhiệt độ đo), ta cĩ thể cĩ các từ ngữ (tức các giá trị) như âm nhiều, âm ít, …

Cĩ bao nhiêu giá trị ngơn ngữ cho một biến ngơn ngữ ?

Hầu hết các ứng dụng trong thực tế đều thiết kế từ 3 đến 7 giá trị cho một biến ngơn ngữ. Hiếm khi gặp trường hợp ít hơn 3 giá trị, bởi vì nội trong khái niệm của con người cũng đã là hai cực hai bên và một trung tâm giữa hai cực đĩ. Cũng ít khi gặp trường hợp nhiều hơn 7 giá trị do các đặc điểm mà con người xử lý được tại một thời điểm khơng lớn hơn 7.

Một đặc điểm nữa là số giá trị cho một biến ngơn ngữ thường là số lẻ, do người ta thường thiết kế dạng đối xứng : tạo ra các giá trị hai bên rồi đến một giá trị trung tâm.

Do đĩ, một biến ngơn ngữ thường cĩ 3, 5, hoặc 7 giá trị.

Để xác định là 3, 5, hay 7 giá trị. Ta viết ra một số luật mờ tiêu biểu và dựa trên các luật đĩ, ta sẽ xét xem cần bao nhiêu giá trị và cần loại giá trị nào để tạo nên một hợp luật hồn chỉnh. Nếu việc viết ra một số luật ban đầu này khĩ khăn thì cĩ thể bắt đầu với 3 giá trị cho các biến ngơn ngữ vào và 5 giá trị cho biến ngơn ngữ ra (đây là giá trị tối thiểu cho hầu hết ứng dụng). Sau đĩ khi thiết kế hợp luật, ta cĩ thể thêm vào nếu cần.

1.1.2. Kiểu hàm phụ thuộc

Cĩ khá nhiều hàm phụ thuộc được đề cập đến trong tài liệu. Nhưng trong thực tế ứng dụng thì chỉ cĩ một số dạng sau đây được dùng, chủ yếu là nhằm đơn giản hĩa việc tính tốn.

1.1.3. Tạo hệ luật

Các luật trong hệ mờ thể hiện những gì ta muốn hệ hoạt động, tức là dựa trên tri thức của con người mà hệ mờ đưa ra hành vi. Căn cứ vào những biến ngơn ngữ đã xác định, hệ luật được tạo ra từ những bước sau :

Bước 1 đối với mỗi kết hợp của các tập mờ ở đầu vào (tức ở phần If), ta

định nghĩa một luật. Dùng giải pháp dung hịa cho tất cả các tập mờ của đầu ra (phần Then), ta được tổng số luật của hệ luật.

Như vậy, nếu ta cĩ hai biến ngơn ngữ ở đầu vào, một biến ngơn ngữ ở đầu ra, mỗi biến ngơn ngữ được định nghĩa với 5 tập mờ thì tổng số luật cĩ được là 5x5x5 = 125 luật.

Bước 2 nếu một tập mờ Zi nào đĩ của đầu ra khơng ảnh hưởng bởi một biến ngơn ngữ A ở đầu vào thì luật tạo ra tập mờ Zi sẽ khơng bao gồm biến ngơn ngơn ngữ A.

Bước 3 trong quá trình tối ưu ta sẽ nhận ra một luật nào đĩ cần phải tăng

hay giảm tác động của nĩ thì ta thay đổi tương ứng.

Bước 4 khi hệ đã hoạt động tốt thì cần kiểm tra để loại bỏ những luật

khơng cần thiết, bao gồm 2 loại :

Luật dư : là những luật cĩ tác động cũng như khơng do sự trùng lắp giữa các luật trong hệ. Ví như hệ cĩ luật

If x = Ai And y = Bj Then z = Ck

If x = Ai Then z = Ck

thì rõ ràng luật thứ nhất dư, cần phải loại bỏ.

Luật khơng bao giờ tác động : trong thiết kế cĩ những luật này nhưng khi đem áp dụng vào thực tế thì khơng bao giờ xảy ra những trường hợp mà luật đã mơ tả.

Trường hợp này khĩ nhận thấy hơn trường hợp đầu tiên, nhưng đối với một phần mềm dùng cho thiết kế mờ thì bạn cĩ thể dùng chức năng phân tích luật để loại bỏ những luật đĩ.

1.1.4. Chọn phương pháp giải mờ phù hợp

Tùy theo tính chất điều khiển của ứng dụng mà cĩ ta chọn một trong hai nhĩm phương pháp giải mờ.

Nhĩm thứ nhất gồm CoG, CoA, CoM dùng cho các ứng dụng mang tính định lượng như phân phối ngân sách hay xác định mức độ ưu tiên của vấn đề …

Nhĩm thứ hai gồm MoM, LoM, RoM dùng cho các ứng dụng mang tính định tính như phát hiện sự gian lận của giấy tờ hay ước lượng giá trị của trái phiếu … (adsbygoogle = window.adsbygoogle || []).push({});

Ngồi ra người ta cịn xét đến các yếu tố như điều khiển vịng kín hay vịng hở, tính chất liên tục của biến ra, … . Nhưng trong điều khiển các đối tượng vật lý thì phương pháp CoM là đáng để xét đến nhất.

1.2. Thiết kế hệ mờ cho điều khiển nhiệt độ

Trước tiên hai biến ngơn ngữ ở đầu vào đáng kể đến trong điều khiển nhiệt độ là sai lệch nhiệt độ và tốc độ tăng giảm nhiệt độ. Ngồi ra người ta cịn cĩ thể kể đến một biến nữa là nhiệt độ hiện tại.

Tuy nhiên, phần tối ưu hĩa hệ mờ của chúng ta được đảm bảo bởi quá trình học của mạng neuron nên ta cĩ thể đơn giản hĩa hệ mờ bằng cách chỉ định nghĩa hai biến ngơn ngữ mà thơi.

1.2.1. Sai lệch nhiệt độ

Được định nghĩa như là độ sai khác giữa nhiệt độ đặt và nhiệt độ hiện tại đo được, ký hiệu là ET.

ET = nhiệt độ đặt – nhiệt độ đo [°C]

Mong muốn của chúng ta là điều khiển đến 400°C nên miền xác định của biến sẽ là khoảng [-400°C,+400°C].

Trong miền xác định đĩ, ta định nghĩa 7 tập mờ :

ET = {âm nhiều, âm vừa, âm ít, bằng khơng, dương ít, dương vừa, dương nhiều}

hay ET = {NB, NM, NS, ZE, PS, PM, PB}

Tuy nhiên, để tập trung hơn trong khoảng sai lệch nhỏ, ta khơng phân bố đều 7 tập mờ này trên khoảng [-400°C,+400°C] mà chỉ phân bố đều trong khoảng [-15°C, +15°C].

1.2.2. Tốc độ tăng giảm nhiệt độ

Là giá trị tăng hay giảm của nhiệt độ hiện tại so với nhiệt độ trước đĩ trong khoảng thời gian lấy mẫu, ký hiêu là DET.

DET = (nhiệt độ hiện tại – nhiệt độ trước)/thời gian lấy mẫu [°C/s] Đối tượng điều khiển là một lị nướng dân dụng cĩ độ quán tính tương đối lớn, trong khoảng thời gian lấy mẫu là 3 giây chỉ tăng hay giảm tối đa 1,3°C nên ta định nghĩa DET với miền xác định là [-2,+2].

0 5 10 15 400 -5 -10 -15 -400 [°C] µ ZE PS PM PB NS NM NB

Cũng định nghĩa cho biến DET cĩ 7 tập mờ với tên gọi như trên, định nghĩa trong khoảng [-0,9;+0,9].

1.2.3. Chu kỳ điều khiển

Chỉ cĩ một biến ngơn ngữ cho đầu ra là Duty Cycle, nằm trong khoảng [0%,100%], ký hiệu là OUT.

Trên biến OUT ta định nghĩa 9 tập mờ dạng singleton

OUT = {OUT1, OUT2, OUT3, OUT4, OUT5, OUT6, OUT7, OUT8, OUT9} Phân bố đều 9 tập mờ này trên miền xác định

1.3. Thiết kế hệ luật

Gồm 7x7 = 49 luật sơ khởi ban đầu dựa trên những nhận định về đối tượng

DET

NB NM NS ZE PS PM PB

E

T

NB OUT1 OUT1 OUT1 OUT1 OUT1 OUT1 OUT1

NM OUT3 OUT2 OUT2 OUT1 OUT1 OUT1 OUT1

NS OUT5 OUT4 OUT3 OUT3 OUT2 OUT2 OUT1 (adsbygoogle = window.adsbygoogle || []).push({});

ZE OUT8 OUT7 OUT6 OUT5 OUT4 OUT3 OUT2

PS OUT9 OUT8 OUT8 OUT7 OUT7 OUT6 OUT5

PM OUT9 OUT9 OUT9 OUT9 OUT8 OUT8 OUT7

PB OUT9 OUT9 OUT9 OUT9 OUT9 OUT9 OUT9

Cĩ một khái niệm người ta thường nhắc đến khi nĩi về hệ luật. Đĩ chính là mặt điều khiển, thể hiện trên khơng gian sự kết hợp của các tập mờ vào để tạo

0 0,3 0,6 0,9 2 -0,3 -0,6 -0,9 -2 [°C]/T[s] µ ZE PS PM PB NS NM NB 50 62,5 75 87,5 37,5 25 12,5 0 % µ

OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 OUT8 OUT9

tập mờ ra. Nhìn trên mặt điều khiển ta cĩ thể thấy được hành vi của hệ : cĩ đều và trơn tru khơng hay thay đổi bất ngờ ?.

1.4. Tính luật và giải mờ

Tính luật theo suy luận Max-Min và giải mờ bằng phương pháp CoM.

2. THIẾT KẾ HỆ NEUROFUZZY

Sau khi đã thiết kế xong hệ mờ, ta bổ sung thêm chức năng học để trở thành NeuroFuzzy.

2.1. Tập dữ liệu học

Đầu tiên cho hệ mờ điều khiển đối tượng và xem xét quá trình thực hiện của nĩ, đưa ra những nhận xét để sửa đổi.

Ví dụ như khi ET = -15°C, DET = 0,3°C/Ts (tức nhiệt độ đo đang lớn hơn nhiệt độ đặt, khuynh hướng tăng nhiệt độ) ta muốn đầu ra phải là 0% thì hệ mờ lại tạo ra 5% chẳng hạn. Từ đĩ phát biểu thành tập dữ liệu dưới dạng :

((ETi, DETi), OUTi) với 0≤ i ≤ N

2.2. Thay đổi hệ mờ

Dựa trên giải thuật học của mạng neuron, ta cĩ thể thay đổi bất kỳ thơng số nào của hệ mờ như : vị trí các tập mờ, hình dạng tập mờ, độ mạnh yếu của luật, …

Ở đây ta chỉ thay đổi một thơng số là độ mạnh yếu của luật và thơng qua phần mềm để thực hiện nhiệm vụ đĩ (sẽ nĩi trong phần thiết kế phần mềm).

Định nghĩa : độ mạnh yếu của luật (hay cịngọi là mức độ hỗ trợ của luật) là khả năng ảnh hưởng của luật đĩ đối với đầu ra của hệ.

Với thiết kế ban hệ mờ ban đầu, mỗi luật đều cĩ vai trị ngang hàng nhau trong vấn đề ảnh hưởng đến đầu ra. Khi ta thêm một đại lượng gọi là độ hỗ trợ của luật (cĩ giá trị từ 0 đến 1) thì vai trị của các luật khơng cịn ngang hàng nữa. Xét ví dụ :

Cho một hệ gồm cĩ hai luật và đầu ra của nĩ là một biến ngơn ngữ cĩ hai tập mờ If … Then z = A cĩ độ phụ thuộc là αA

If … Then z = B cĩ độ phụ thuộc là αB

Giả sử A, B là các singleton và cĩ vị trí tương ứng là xA và xB. - Khi khơng xét đến độ mạnh yếu của luật thì :

B A B B A Ax x o α α α α + + =

- Khi xét đến độ mạnh yếu của luật, giả sử luật thứ nhất cĩ độ hỗ trợ là βA, luật thứ hai cĩ độ hổ trỡ là βB, thế thì : B B A A B B B A A A x x o β α β α β α β α + + =

tức là khi tính được độ phụ thuộc của một luật thì ta nhân nĩ với độ hỗ trợ.

Độ hổ trợ cĩ giá trị từ 0 đến 1. Giá trị 0 tương ứng với việc loại luật đĩ ra khỏi tầm ảnh hưởng và giá trị 1 tương ứng với việc luật đĩ cĩ ảnh hưởng hồn tồn đến kết quả ra.

3 3 PHẦN MỀM

PHẦN MỀM (adsbygoogle = window.adsbygoogle || []).push({});

Phần mềm được thiết kế nhằm mục đích điều khiển lị nướng dựa trên nền tảng NeuroFuzzy. Tức là xử lý giá trị đầu vào theo NeuroFuzzy rồi tạo kết quả đầu ra cung cấp cho phần tử chấp hành.

Khi mà kit AT89C52 ngồi khả năng tự điều khiển cịn cho phép kết nối với máy tính thì trong quá trình điều khiển lị nướng cĩ hai khả năng xảy ra :

• Kit AT89C52 nắm quyền điều khiển : dựa trên chương trình đã nạp vào Flash ROM, vi điều khiển sẽ thu thập giá trị đầu vào, xử lý rồi điều khiển lị nướng. Nếu cĩ kết nối thì máy tính sẽ đĩng vai trị hiển thị những thơng số của quá trình điều khiển như nhiệt độ đặt, nhiệt độ đo, sai lệch nhiệt độ, tốc độ biến thiên nhiệt độ, và duty cycle.

• Máy tính nắm quyền điều khiển : kit AT89C52 đĩng vai trị thu thập dữ liệu cung cấp cho máy tính. Sau khi máy tính đã xử lý xong kết quả thì truyền xuống và kit AT89C52 đĩng vai trị thiết bị chấp hành. Dĩ nhiên lúc này ta vẫn cĩ thể xem các thơng số điều khiển của quá trình.

Như vậy sẽ cĩ hai loại chương trình : một chương trình điều khiển viết cho AT89C52 (bằng ngơn ngữ assembler) và một chương trình viết cho máy tính chạy trên nền Window (viết bằng ngơn ngữ Delphi).

Cả hai chương trình trên đều được viết dựa trên cùng một giải thuật.

1. PHA HOẠT ĐỘNG

Như đã nĩi trước, quá trình điều khiển bao gồm hai pha là pha hoạt động và pha học. Trong pha hoạt động, hệ điều khiển theo logic mờ. Cịn trong pha

học, hệ bị ép dưới giải thuật lan truyền sai lệch ngược để học những hành vi mà ta mong muốn.

Phần này trình bày giải thuật xử lý mờ dùng trong pha hoạt động.

1.1. Khuơn dạng luật của hệ

Hệ của chúng ta bao gồm hai đầu vào là ET và DET, một đầu ra là OUT. Gọi các tập mờ của ET, DET, OUT tương ứng là Ai, Bj, Ck thì luật điều khiển sẽ cĩ dạng :

If ET = Ai And DET = Bj Then OUT = Cm

Để đánh giá độ mạnh yếu của một luật, ta dùng độ hỗ trợ ký hiệu là DoS. Khi đĩ, luật cĩ dạng :

If ET = Ai And DET = Bj Then OUT = Cm With DoSn

1.2. Giải thuật điều khiển

Bắt đầu

Nhiệt độ đo [t-1] = nhiệt độ đo hiện tại

Nhiệt độ đo [t] = nhiệt độ hiện tại

Tắt lị Xử lý mờ

Bật lị

Hết thời gian theo duty cycle ? Dừng ? Kết thúc Đúng Đúng Sai Sai

Đến thời gian lấy mẫu ? Sai Đúng

Để xử lý mờ ta cần hai giá trị vật lý của ET và DET, trong đĩ : ET = nhiệt độ đo – nhiệt độ đặt

⇒ chỉ cần đọc nhiệt độ hiện tại là ta tính được ET. Nhưng đối với DET thì :

DET = nhiệt độ sau – nhiệt độ trước

tức là để tính được DET ta cần phải biết được nhiệt độ đo ở bước trước đĩ. Tuy nhiên, lúc mới bắt đầu chương trình thì làm gì cĩ nhiệt độ ở bước trước đĩ để mà tính. Do vậy, ta cần đọc nhiệt độ lúc mới bắt đầu và gán nĩ cho biến nhiệt độ ở bước trước : nhiệt độ đo [t-1].

Quá trình xử lý là một vịng lặp theo chu kỳ : sau một khoảng thời gian xác định cho trước, bộ điều khiển sẽ đọc nhiệt độ lị và xử lý tạo ra duty cycle tương ứng. Sau đĩ ta sẽ bật tắt lị theo duty cycle vừa tạo ra.

Chương trình chỉ dừng lại khi ta yêu cầu.

1.3. Xử lý mờ (adsbygoogle = window.adsbygoogle || []).push({});

Đây là phần cốt lõi của bộ điều khiển. Bắt đầu từ luật thứ nhất trong hệ luật, khối xử lý mờ sẽ tính độ phụ thuộc của từng tập mờ mơ tả trong luật, suy luận theo phương thức Min rồi kết hợp với độ hỗ trợ của luật đĩ tạo ra độ phụ thuộc chính của phần suy luận. Hợp thành theo phương thức Max để kết hợp độ phụ thuộc vừa tạo ra với độ phụ thuộc đã tạo ra trước đĩ.

Quá trình được lặp lại cho đến luật cuối cùng thì giải mờ theo phương pháp CoM.

Bắt đầu

Số luật = 0

ET = nhiệt độ đặt – nhiệt độ đo [t] DET = nhiệt độ đo [t] – nhiệt độ đo [t-1]

Cập nhật : nhiệt độ [t-1] = nhiệt độ [t]

1

Phần đầu tiên là phần chuẩn bị : tính ET, DET, và chuyển giá trị từ nhiệt độ hiện tại lên nhiệt độ ở bước trước nhằm chuẩn bị cho lần xử lý sau. Phần này cũng chuẩn bị các độ phụ thuộc của tập mờ OUT : thiết lập về 0 cho phép lấy Max sau này và chuẩn bị bộ đếm số luật.

Một phần của tài liệu Ứng dụng NEUROFUZZY trong điều khiển nhiệt độ thông qua KIT AT89C52LVTN.doc (Trang 122)