Đề tài Nghiên cứu điều khiển mờ - Mô phỏng hệ thống điều khiển mờ bằng matlab

Lời mở đầu F uzzy logic đã trải qua một thời gian dài từ khi lần đầu được quan tâm trong lĩnh vực kỹ thuật khi được tiến sĩ Lotfi Zadeh định hướng vào năm 1965. Từ đó, đề tài đã là sự tập trung của nhiều nghiên cứu của các nhà toán học, khoa học và các kỹ sư ở khắp nơi trên thế giới. Nhưng có lẽ là do ý nghĩa (fuzzy-mờ) cho nên fuzzy logic đã không được chú ý nhiều ở tại đất nước đã khai sinh ra nó cho mãi đến thập kỷ cuối (90). Hiện tại sự chú ý đến fuzzy logic được thể hiện ở những sản phẩm gia dụng gần đây có sử dụng kỹ thuật fuzzy logic. Trong những năm gần đây, Nhật Bản đã có hơn 1000 bằng sáng chế về kỹ thuật fuzzy logic, và họ đã thu được hàng tỉ USD trong việc bán các sản phẩm có sử dụng kỹ thuật fuzzy logic ở khắp nơi trên thế giới. Sự kết hợp giữa fuzzy logic với mạng thần kinh và giải thuật di truyền làm cho việc tạo nên hệ thống tự động nhận dạng là khả thi. Khi được tích hợp với khả năng học hỏi của mạng thần kinh nhân tạo và giải thuật di truyền, năng lực suy luận của một hệ thống fuzzy đảm nhận vai trò điều khiển cho các sản phẩm thương mại và các quá trình cho các hệ thống nhận dạng (hệ thống có thể học hỏi và suy luận). Trong sự phát triển của khoa học và kỹ thuật, điều khiển tự động đóng một vai trò quan trọng. Lĩnh vực này có mặt ở khắp mọi nơi, nó có trong các qui trình công nghệ sản xuất hiện đại và ngay cả trong đời sống hàng ngày. Điều khiển mờ ra đời với cơ sở lý thuyết là lý thuyết tập mờ (fuzzy set) và logic mờ (fuzzy logic). Ưu điểm cơ bản của kỹ thuật điều khiển mờ là không cần biết trước đặc tính của đối tượng một cách chính xác, khác với kỹ thuật điều khiển kinh điển là hoàn toàn dựa vào thông tin chính xác tuyệt đối mà trong nhiều ứng dụng là không cần thiết hoặc không thể có được. Với những ham muốn tìm hiểu một ngành kỹ thuật điều khiển mới mẻ, chúng em thực hiện việc nghiên cứu lý thuyết mờ và mô phỏng một hệ thống điều khiển mờ trên máy tính bằng phần mềm MatLab. Vì thời gian bị hạn chế trong vòng 10 tuần lễ, và cũng do giới hạn đề tài nên chắc chắn không tránh khỏi những hạn chế và thiếu sót. Chúng em mong nhận được sự chỉ dẫn góp ý quý báu của các Thầy Cô để đề tài được hoàn thiện hơn.

doc69 trang | Chia sẻ: lvcdongnoi | Lượt xem: 7271 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Đề tài Nghiên cứu điều khiển mờ - Mô phỏng hệ thống điều khiển mờ bằng matlab, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
hai biến ngôn ngữ c và g. Nếu biến c nhận giá trị mờ A có hàm liên thuộc mA(x) và g nhận giá trị mờ B có hàm liên thuộc mB(y) thì hai biểu thức: c = A, g = B. được gọi là hai mệnh đề. Ký hiệu hai mệnh đề trên là p và ø q thì mệnh đề hợp thành p Þ q (từ p suy ra q), hoàn toàn tương ứng với luật điều khiển (mệnh đề hợp thành một điều kiện) NẾU c = A thì g = B, trong đó mệnh đề p được gọi là mệnh đề điều kiện và q là mệnh đề kết luận. Mệnh đề hợp thành trên là một ví dụ đơn giản về bộ điều khiển mờ. Nó cho phép từ một giá trị đầu vào x0 hay cụ thể hơn là từ độ phụ thuộc mA(x0) đối với tập mờ A của giá trị đầu vào x0 xác định được hệ số thỏa mãn mệnh đề kết luận q của giá trị đầu ra y. Biểu diễn hệ số thỏa mãn mệnh đề q của y như một tập mờ B’ cùng cơ sở với B thì mệnh đề hợp thành chính là ánh xạ: mA(x0) a mB(y). b. Mô tả mệnh đề hợp thành: Ánh xạ mA(x0) a mB(y) chỉ ra rằng mệnh đề hợp thành là một tập mà mỗi phụ thuộc là một giá trị (mA(x0), mB(y)), tức là mỗi phụ thuộc là một tập mờ. Mô tả mệnh đề hợp thành p Þ q và các mệnh đề điều khiển p, kết luận q có quan hệ sau: p q p Þ q 0 0 1 0 1 1 1 0 0 1 1 1 nói cách khác: mệnh đề hợp thành p Þ q có giá trị logic của ~pÚ q, trong đó ~ chỉ phép tính lấy giá trị logic ĐẢO và Ú chỉ phép tính logic HOẶC. Biểu thức tương đương cho hàm liên thuộc của mệnh đề hợp thành sẽ là A Þ B ® MAX{1 - mA(x), mB(y)} Hàm liên thuộc của mệnh đề hợp thành có cơ sở là tập tích hai tập cơ sở đã có. Do có sự mâu thuẫn rằng p Þ q luôn có giá trị đúng (giá trị logic 1) khi p sai nên sự chuyển đổi tương đương từ mệnh đề hợp thành p Þ q kinh điển sang mệnh đề hợp thành mờ A Þ B không áp dụng được trong kỹ thuật điều khiển mờ. Để khắc phục nhược điểm trên, có nhiều ý kiến khác nhau về nguyên tắc xây dựng hàm liên thuộc mAÞB(x, y) cho mệnh đề hợp thành A Þ B như: 1. mAÞB(x, y) = MAX{MIN{mA(x), mB(y)},1 - mA(x)} công thức Zadeh, 2. mAÞB(x, y) = MIN{1, 1 - mA(x) + mB(y)} công thức Lukasiewicz, 3. mAÞB(x, y) = MAX{1 - mA(x), mB(y)} công thức Kleene-Dienes, song nguyên tắc của Mamdani: “Độ phụ thuộc của kết luận không được lớn hơn độ phụ thuộc của điều kiện” là có tính thuyết phục nhất và hiện đang được sử dụng nhiều nhất để mô tả luật mệnh đề hợp thành mờ trong kỹ thuật điều khiển. Từ nguyên tắc của Mamdani có được các công thức xác định hàm liên thuộc sau cho mệnh đề hợp thành A Þ B: 1. mAÞB(x, y) = MIN{mA(x), mB(y)} công thức MAX-MIN, 2. mAÞB(x, y) = mA(x).mB(y) công thức MAX-PROD, Các công thức trên cho mệnh đề hợp thành A Þ B được gọi là quy tắc hợp thành. c. Luật hợp thành mờ: * Luật hợp thành một điều kiện: Luật hợp thành MAX-MIN: Luật hợp thành MAX-MIN là tên gọi mô hình (ma trận) R của mệnh đề hợp thành A Þ B khi hàm liên thuộc mAÞB(x, y) của nó được xây dựng trên quy tắc MAX-MIN. Trước tiên hai hàm liên thuộc mA(x) và mB(y) được rời rạc hóa với chu kỳ rời rạc đủ nhỏ để không bị mất thông tin. Tổng quát lên cho một giá trị rõ x0 bất kỳ: x0 Î X = {x1, x2, ..., xn} tại đầu vào, vector chuyển vị a sẽ có dạng: aT = (a1, a2, ..., an) trong đó chỉ có một phần tử ai duy nhất có chỉ số i là chỉ số của x0 trong X có giá trị bằng 1, các phần tử còn lại đều bằng 0. Hàm liên thuộc: = (l1, l2, ..., ln) với Để tránh sử dụng thuật toán nhân ma trận của đại số tuyến tính cho việc tính mB’(y) và cũng để tăng tốc độ xử lý, phép tính nhân ma trận được thay bởi luật max-min của Zadeh với max (phép lấy cực đại) thay vào vị trí phép nhân và min (phép lấy cực tiểu) thay vào vị trí phép cộng như sau Luật hợp thành MAX-PROD: Cũng giống như với luật hợp thành MAX-MIN, ma trận R của luật hợp thành MAX-PROD được xây dựng gồm các hàng là m giá trị rời rạc của đầu ra mB’(y1), mB’(y2), ..., mB’(ym) cho n giá trị rõ đầu vào x1, x2, ..., xn. Như vậy, ma trận R sẽ có n hàng và m cột. Để rút ngắn thời gian tính và cũng để mở rộng công thức trên cho trường hợp đầu vào là giá trị mờ, phép nhân ma trận aT.R cũng được thay bằng luật max-min của Zadeh như đã làm cho luật hợp thành MAX-MIN. Thuật toán xây dựng R: Phương pháp xây dựng R cho mệnh đề hợp thành một điều kiện R: A Þ B, theo MAX-MIN hay MAX-PROD, để xác định hàm liên thuộc cho giá trị mờ B’ đầu ra hoàn toàn có thể mở rộng tương tự cho một mệnh đề hợp thành bất kỳ nào khác dạng: NẾU c = A thì g = B, trong đó ma trận hay luật hợp thành R không nhất thiết phải là một ma trận vuông. Số chiều của R phụ thuộc vào số điểm lấy mẫu của mA(x) và mB(y) khi rời rạc các hàm liên thuộc tập mờ A và B. Chẳng hạn với n điểm mẫu x1, x2, ..., xn của hàm mA(x) và m điểm mẫu y1, y2, ..., ym của hàm mB(y) thì luật hợp thành R là một ma trận n hàng m cột như sau Hàm liên thuộc mB’(y) của giá trị đầu ra ứng với giá trị rõ đầu vào xk được xác định theo: mB’(y) = aT.R với aT = (0, 0, ..., 0, 1, 0, ..., 0). Vị trí thứ k Trong trường hợp đầu vào là giá trị mờ A’ với hàm liên thuộc mA’(x) thì hàm liên thuộc mB’(y) của giá trị đầu ra B’: mB’(y) = (l1, l2, ..., lm) cũng được tính theo công thức trên và , k = 1, 2, ..., m, trong đó a là vector gồm các giá trị rời rạc của các hàm liên thuộc mA’(x) của A’ tại các điểm x Î X = {x1, x2, ..., xn}, tức là aT = (mA’(x1), mA’(x2), ..., mA’(xn), Ưu điểm của luật max-min Zadeh là có thể xác định ngay được R thông qua tích dyadic, tức là tích của một vector với một vector chuyển vị. Với n điểm rời rạc x1, x2, ..., xn của cơ sở của A và m điểm rời rạc y1, y2, ..., ym của cơ sở của B thì từ hai vector: mTA = (mA(x1), mA(x2), ..., mA(xn)) và mTB = (mB(y1), mA(y2), ..., mA(ym)) suy ra R = mTA..mTB, trong đó nếu quy tắc áp dụng là MAX-MIN thì phép nhân được thay bằng phép tính lấy cực tiểu (min), với quy tắc MAX-PROD thì thực hiện phép nhân như bình thường. * Luật hợp thành của mệnh đề nhiều điều kiện: Một mệnh đề hợp thành với d mệnh đề điều kiện: NẾU c1 = A1 VÀ c2 = A2 VÀ ... VÀ cd = Ad thì g = B bao gồm d biến ngôn ngữ đầu vào c1, c2 , ..., cd và một biến đầu ra g cũng được mô hình hóa giống như việc mô hình hóa mệnh đề hợp thành có một điều kiện, trong đó liên kết VÀ giữa các mệnh đề (hay giá trị mờ) được thực hiện bằng phép giao các tập mờ A1, A2, ..., Ad với nhau. Kết quả của phép giao sẽ là độ thỏa mãn H của luật. Các bước xây dựng luật hợp thành R như sau: - Rời rạc hóa miền xác định hàm liên thuộc mA1(x1), mA2(x2), ..., mAd(xd), mB(y) của các mệnh đề điều kiện và mệnh đề kết luận. - Xác định độ thỏa mãn H cho từng vector các giá trị rõ đầu vào là vector tổ hợp d điểm mẫu thuộc miền xác định của các hàm liên thuộc mAi(xi), i = 1, ..., d. Chẳng hạn với một vector các giá trị rõ đầu vào , trong đó ci, i = 1, .., d là một trong các điểm mẫu miền xác định của mAi(xi) thì H = MIN{mA1(c1), mA2(c2), ..., mAd(cd)} - Lập R gồm các hàm liên thuộc giá trị mờ đầu ra cho từng vector các giá trị đầu vào theo nguyên tắc: mB’(y) = MIN{H, mB(y)} nếu quy tắc sử dụng là MAX-MIN hoặc mB’(y) = H.mB(y) nếu quy tắc sử dụng là MAX-PROD. Luật hợp thành R với d mệnh đề điều kiện được biểu diễn dưới dạng một lưới không gian (d + 1) chiều. * Luật của nhiều mệnh đề hợp thành: Thuật toán xây dựng luật chung của nhiều mệnh đề hợp thành Tổng quát hóa phương pháp mô hình hóa trên cho p mệnh đề hợp thành: R1: NẾU c = A1 thì g = B1, hoặc R2: NẾU c = A2 thì g = B2, hoặc ... Rp: NẾU c = Ap thì g = Bp trong đó các giá trị mờ A1, A2, ..., Ap có cùng cơ sở X và B1, B2, ..., Bp có cùng cơ sở Y. Gọi hàm liên thuộc của Ak và Bk là mAk(x) và mBk(y) với k = 1, 2, ..., p. Thuật toán triển khai R = R1 È R2 È ... È Rp sẽ như sau: 1. rời rạc hóa X tại n điểm x1, x2, ..., xn và Y tại m điểm y1, y2, ..., ym, 2. xác định các vector mAk(x) và mBk(y) với k = 1, 2, ..., p theo mTAk = (mAk(x1), mAk(x2), ..., mAk(xn)) mTBk = (mBk(y1), mAk(y2), ..., mAk(ym)), tức là Fuzzy hóa các điểm rời rạc của X và Y. 3. Xác định mô hình cho luật điều khiển Rk = mTAk.mTBk = (rkij), i = 1, ..., n và j = 1, ..., n, 4. Xác định luật hợp thành R = (max{(rkij), k = 1, ..., p}). Từng mệnh đề nên được mô hình hóa thống nhất theo một quy tắc chung, ví dụ hoặc theo quy tắc MAX-MIN hoặc theo MAX-PROD ... Khi đó các luật điều khiển Rk sẽ có một tên chung là luật hợp thành MAX-MIN hay luật hợp thành MAX-PROD. Tên chung này sẽ là tên gọi của luật hợp thành chung R. 4. Giải mờ: Bộ điều khiển mờ cho dù với một hoặc nhiều luật điều khiển (mệnh đề hợp thành) cũng chưa thể áp dụng được trong điều khiển đối tượng, vì đầu ra luôn là một giá trị mờ B’. Một bộ điều khiển mờ hoàn chỉnh cần phải có thêm khâu giải mờ (quá trình rõ hóa tập mờ đầu ra B’). Giải mờ là quá trình xác định một giá trị rõ y’ nào đó có thể chấp nhận được từ hàm liên thuộc mB’(y) của giá trị mờ B’ (tập mờ). Có hai phương pháp giải mờ chủ yếu là phương pháp cực đại và phương pháp điểm trọng tâm, trong đó cơ sở của tập mờ B’ được ký hiệu thống nhất là Y. a. Phương pháp cực đại: Giải mờ theo phương pháp cực đại gồm hai bước: - xác định miền chứa giá trị rõ y’. Giá trị rõ y’ là giá trị mà tại đó hàm liên thuộc đạt giá trị cực đại (độ cao H của tập mờ B’), tức là miền: G = {y Î Y | mB’(y) = H}. - xác định y’ có thể chấp nhận được từ G. G là khoảng [y1, y2] của miền giá trị của tập mờ đầu ra B2 của luật điều khiển R2: NẾU c = A2 thì g = B2. Giải mờ bằng phương pháp cực đại. mB B1 B2 y y1 y2 H trong số hai luật R1, R2 và luật R2 được gọi là luật quyết định. Vậy luật điều khiển quyết định là luật Rk, k Î {1, 2, ..., p} mà giá trị mờ đầu ra của nó có độ cao lớn nhất, tức là bằng độ cao H của B’. Để thực hiện bước hai có ba nguyên lý: - nguyên lý trung bình, - nguyên lý cận trái và - nguyên lý cận phải. Nếu ký hiệu và thì y1 chính là điểm cận trái và y2 là điểm cận phải của G. * Nguyên lý trung bình: Theo nguyên lý trung bình, giá trị rõ y’ sẽ là Giá trị rõ y’ không phụ thuộc vào đáp ứng vào của luật điều khiển quyết định. y’ mB’ B1 B2 y H Nguyên lý này thường được dùng khi G là một miền liên thông và như vậy y’ cũng sẽ là giá trị có độ phụ thuộc lớn nhất. Trong trường hợp B’ gồm các hàm liên thuộc dạng đều thì giá trị rõ y’ không phụ thuộc vào độ thỏa mãn của luật điều khiển quyết định. * Nguyên lý cận trái: Giá trị rõ y’ được lấy bằng cận trái y1 của G. Giá trị rõ lấy theo nguyên lý cận trái này sẽ phụ thuộc tuyến tính vào độ thỏa mãn của luật điều khiển quyết định. Giá trị rõ y’ phụ thuộc tuyến tính với đáp ứng vào của luật điều khiển quyết định y’ mB’ B1 B2 y H * Nguyên lý cận phải: Giá trị rõ y’ phụ thuộc tuyến tính với đáp ứng vào của luật điều khiển quyết định y’ mB’ B1 B2 y H Giá trị rõ y’ được lấy bằng cận phải y2 của G. Cũng giống như nguyên lý cận trái, giá trị rõ y’ ở đây phụ thuộc tuyến tính vào đáp ứng vào của luật điều khiển quyết định. b. Phương pháp điểm trọng tâm: Phương pháp điểm trọng tâm sẽ cho ra kết quả y’ là hoành độ của điểm trọng tâm miền được bao bởi trục hoành và đường mB’(y). Công thức xác định y’ theo phương pháp điểm trọng tâm như sau: , trong đó S là miền xác định của tập mờ B’. Giá trị rõ y’ là hoành độ của điểm trọng tâm. B1 B2 y’ mB’ y S Công thức trên cho phép xác định giá trị y’ với sự tham gia của tất cả các tập mờ đầu ra của một luật điều khiển một cách bình đẳng và chính xác, tuy nhiên lại không để ý được tới độ thỏa mãn của luật điều khiển quyết định và thời gian tính toán lâu. Ngoài ra một trong những nhược điểm cơ bản của phương pháp điểm trọng tâm là có thế giá trị y’ xác định được lại có độ phụ thuộc nhỏ nhất, thậm chí bằng 0. Bởi vậy để tránh những trường hợp như vậy, khi định nghĩa hàm liên thuộc cho từng giá trị mờ của một biến ngôn ngữ nên để ý sao cho miền xác định của các giá trị đầu ra là một miền liên thông. * Phương pháp điểm trọng tâm cho luật hợp thành SUM-MIN: Giả sử có q luật điều khiển được triển khai. Vậy thì mỗi giá trị mờ B’ tại đầu ra của bộ điều khiển thứ k là với k = 1, 2, ..., q thì quy tắc SUM-MIN, hàm liên thuộc mB’(y) sẽ là: , Công thức tính y’ có thể được đơn giản như sau: trong đó: và * Phương pháp độ cao: Sử dụng công thức tính y’ trên cho cả hai loại luật hợp thành MAX-MIN và SUM-MIN với thêm một giả thiết là mỗi tập mờ mB’k(y) được xấp xỉ bằng một cặp giá trị (yk, Hk) duy nhất (singleton), trong đó Hk là độ cao của mB’k(y) và yk là một điểm mẫu trong miền giá trị của mB’k(y) có: mB’k(y) = Hk. thì , Công thức trên có tên gọi là công thức tính xấp xỉ y’ theo phương pháp độ cao và không chỉ áp dụng cho luật hợp thành MAX-MIN, SUM-MIN mà còn có thể cho cả những luật hợp thành khác như MAX-PROD hay SUM-PROD. II. Ứng dụng logic mờ trong điều khiển: 1. Các thành phần cơ bản của hệ thống điều khiển tự động: Một hệ thống điều khiển tự động bao gồm ba phần chủ yếu: - Thiết bị điều khiển (TBĐK) - Đối tượng điều khiển (ĐTĐK) TBĐK ĐTĐK TBĐL R F N C U - Thiết bị đo lường (TBĐL) Sơ đồ khối của hệ thống điều khiển tự động Trong đó: C: Tín hiệu cần điều khiển được gọi là tín hiệu ra. U: Tín hiệu điều khiển. R: Tín hiệu chủ đạo (chuẩn hay tham chiếu) thường được gọi là tín hiệu vào. N: Tín hiệu nhiễu tác động từ bên ngoài vào hệ thống. F: Tín hiệu hồi tiếp. 2. Các nguyên tắc điều khiển tự động: a. Nguyên tắc giữ ổn định: * Nguyên tắc bù tác động bên ngoài: TBĐK ĐTĐK C U Trong đó tín hiệu tác động bên ngoài lên đối tượng điều khiển ĐKTĐ có thể kiểm tra và đo lường được. Nếu đặc tính của đối tượng G(p) được xác định trước thì tín hiệu điều khiển U có thể được xác định theo tác động bên ngoài N sao cho ngõ ra C = Co = Cte, với Co là giá trị tín hiệu ra cần giữ ổn định. ( với Gc là hàm truyền của thiết bị điều khiển). Loại hệ thống này cho phép giữ ngõ ra không đổi và không phụ thuộc vào tác động bên ngoài N. * Nguyên tắc điều khiển sai lệch: Khi tác động bên ngoài không kiểm tra và đo lường được còn đặc tính của đối tượng không xác định một cách đầy đủ thì nguyên tắc bù tác động bên ngoài không cho phép giữ ổn định tín hiệu ra C. Khi đó nguyên tắc điều khiển sai lệch được sử dụng. Sơ đồ khối của nguyên tắc này như sau: TBĐK ĐTĐK C U R C (-) e Trong đó tín hiệu ra C được phản hồi về đầu vào và phối hợp với tín hiệu vào R để tạo ra sai lệch e = R – C (phản hồi âm). Tín hiệu sai lệch này được đưa vào TBĐK để tạo ra tín hiệu điều khiển U đặt vào đối tượng điều khiển. * Nguyên tắc điều khiển hỗn hợp: (-) TBĐK ĐTĐK C U R C e (+) N Nguyên tắc này cho phép giữ tín hiệu ra C không phụ thuộc vào tác động bên ngoài N. b. Nguyên tắc điều khiển theo chương trình: Nguyên tắc này thường dùng cho hệ thống điều khiển hở. Nguyên tắc này giữ cho tín hiệu ra C thay đổi theo một chương trình định sẵn C(t) = Co(t). Nguyên tắc giữ ổn định có thể xem là trường hợp riêng của nguyên tắc điều khiển theo chương trình khi Co(t) = Cte. c. Nguyên tắc tự chỉnh định: Đặc tính động học của hầu hết các hệ thống điều khiển đều không phải là không đổi do nhiều nguyên nhân như ảnh hưởng của thời gian, thay đổi các tham số và môi trường. Dù ảnh hưởng của những thay đổi nhỏ của đặc tính động học được điều chỉnh nhờ hệ điều khiển có phản hồi nhưng nếu các thông số của hệ thống và môi trường thay đổi đáng kể thì một hệ thống đạt yêu cầu cần phải có khả năng thích nghi. Sự thích nghi bao gồm khả năng tự điều chỉnh hay tự cải tiến để phù hợp với những thay đổi không thể dự đoán trước của môi trường hay cấu trúc. Hệ thống điều khiển thích nghi có khả năng phát hiện những thay đổi các tham số và thực hiện việc điều chỉnh cần thiết các tham số của bộ điều khiển để duy trì một tiêu chuẩn tối ưu nào đó. Trong hệ thống điều khiển thích nghi, đặc tính động phải được nhận dạng ở mọi thời điểm để có thể điều chỉnh các tham số bộ điều khiển nhằm mục tiêu duy trì chỉ tiêu tối ưu đề ra. Như vậy hệ thống điều khiển thích nghi là hệ thống không dừng và nó thích nghi với hệ thống chịu tác động của môi trường thay đổi. TBĐKA TBĐKC ĐTĐK C U R N Ngoài vòng kín cơ bản gồm hai khối ĐTĐK và ĐTĐKC (thiết bị điều khiển cơ bản), hệ điều khiển thích nghi còn có một khối thiết bị điều khiển thích nghi TBĐKA. Khối này nhận các tín hiệu của hệ thống R, U, N, C và dựa trên các chỉ tiêu tối ưu yêu cầu của hệ thống mà định ra các tín hiệu điều khiển làm thay đổi các tham số của thiết bị điều khiển cơ bản TBĐKC. TBĐKA như vậy vừa đảm nhận vai trò điều khiển vừa có chức năng của một khối tính toán. Hiện nay các thiết bị điều khiển thích nghi có thể là một máy vi tính đảm nhận chức năng tính toán, ghi nhận dữ liệu và điều khiển. 3. Tiêu chuẩn đánh giá một hệ thống điều khiển tự động: a. Độ chính xác của hệ thống: Độ chính xác đánh giá trên cơ sở phân tích các sai lệch, điều chỉnh các sai lệch này phụ thuộc rất nhiều yếu tố biến thiên của tín hiệu đặt sẽ gây ra các sai lệch trong quá trình quá độ và cùng sinh ra sai lệch trong chế độ xác lập. Trên cơ sở phân tích các sai lệch điều chỉnh ta có thể chọn các bộ điều chỉnh, các mạch bù thích hợp để nâng cao độ chính xác của hệ thống. Các hệ số sai lệch: Trong điều khiển tự động thường đặt tên cho các hệ số sai lệch như sau: Exlp: hệ số sai lệch vị trí. Exlv: hệ số sai lệch tốc độ. Exla: hệ số sai lệch gia tốc. Một hệ thống chính xác tuyệt đối là hệ có mọi sự sai lệch đều bằng 0. Xét hệ thống có cấu trúc tối giản như sau: G(p) TM C(p) R(p) Trong đó: G(p): hàm truyền mạch hở. TM: thiết bị công nghệ. R(p), r(t): tín hiệu điều khiển. C(p), c(t): tín hiệu ra. N: các nhiễu loạn. Wi(p): hàm truyền với các nhiễu loạn. Giả sử kích thích đầu vào là hàm nấc: r(t) = 1(t) Þ R(p) = 1/p. Với : hằng số sai lệch vị trí Khi r(t) = t . 1(t) Þ R(p) = 1/p2: Với : hằng số sai lệch vận tốc. Khi r(t) = t2/2. 1(t) Þ R(p) = 1/p3: Với : hằng số sai lệch gia tốc. Để tăng độ chính xác của hệ, người ta thêm khâu tích phân vào hệ hở nhưng khi đó độ ổn định của hệ thống bị giảm đi. b. Độ ổn định của hệ thống: Việc khảo sát ổn định dựa trên quan điểm vào chặn ra chặn với các tiêu chuẩn: Routh, Hurwitz và tiêu chuẩn tần số Nyquist – Mikhailov cũng như các phương pháp chia miền D hay quỹ đạo nghiệm để khảo sát hệ có thông số biến đổi. Hệ thống tuyến tính được gọi là ổn định nếu tín hiệu ra bị chặn khi tín hiệu vào bị chặn. Xét một hệ thống điều khiển vòng kín cơ bản sau: G(p) H(p) C(p) R(p) Hàm truyền vòng kín: Có phương trình đặc trưng là: - Điều khiển cần và đủ để hệ tuyến tính ổn định là tất cả các cực Pi của G(p) phải có phần thực âm. - Re Pi < 0, "i hay nói cách khác nghiệm của phương trình đặc trưng phải ở bên trái mặt phẳng phức. Ta cũng gọi hệ ở biên giới ổn định khi có ít nhất một nghiệm của phương trình đặc trưng ở trên trục ảo còn những nghiệm còn lại ở trái mặt phẳng phức. Hệ thống sẽ không ổn định nếu có ít nhất một nghiệm của phương trình đặc trưng có phần thực dương. * Tiêu chuẩn đại số: Xét một hệ thống có phương trình đặc trưng; F(p) = anpn + an-1pn-1 + … + a0 = 0, a ¹ 0. Điều kiện cần để hệ ổn định là: aj cùng dấu với jan (= 0, 1, …, n) aj ¹ 0 (= 0, 1, …, n). Tiêu chuẩn Hurwitz: Điều kiện cần để hệ ổn định là các nghiệm của phương trình đặc trưng nằm bên trái mặt phẳng phức là xét cả các định thức Hurwitz Dk (k = 0… n) đều cùng dấu, trong đó D0 = a, Di = an-1. Tiêu chuẩn Routh: Điều kiện cần để các nghiệm của phương trình đặc trưng nằm bên trái mặt phẳng phức là tất cả các phần tử của cột 1 bảng Routh đều cùng dấu, nếu có sự thay đổi dấu thì số lần đổi dấu bằng số nghiệm ở PMP. Độ dự trữ ổn định: Độ dự trữ ổn định là một đại lượng dương đánh giá mức độ ổn định của hệ thống và nếu vượt quá lượng dự trữ đó thì hệ thống ổn định sẽ thành mất ổn định. * Tiêu chuẩn tần số: Tiêu chuẩn Nyquist: Khi G(p) ổn định thì hệ kín ổn định khi và chỉ khi biểu đồ Nyquist bao điểm -1. Khi G(p) không ổn định thì hệ kín ổn định khi và chỉ khi biểu đồ Nyquist bao điểm –1 m lần. Tiêu chuẩn giản đồ Bode: Hệ ổn định khi G(p) không được có cực ở phần mặt phẳng phức. Xét đặc tính pha ở tần số cắt biên WB, xem đặc tính pha ở tần số cắt biên nếu: - Đường pha ở trên đường –180o thì hệ kín ổn định. - Đường pha ở đường –180o thì hệ kín ở biên giới ổn định. - Đường pha ở dưới đường –180o thì hệ kín không ổn định. 4. Các kiểu điều khiển cổ điển: K u(t) G(p) H(p) C(t) r(t) e(t) f(t) a. Điều khiển tỉ lệ P: Điều khiển tỉ lệ cho phép nhanh chóng đạt trị số yêu cầu nhưng thường có sai lệch. Để giảm sai lệch người ta tăng độ lợi K, nếu tăng K quá dẫn đến vọt lố dmax lớn và hệ có thể mất ổn định. b. Điều khiển tỉ lệ – vi phân PD: - K u(t) G(p) Td p C(t) r(t) e(t) H(p) + + Trong hệ thống mà độ vọt lố quá lớn thì người ta thường thêm khâu điều khiển vi phân: Nếu C(t) tăng (độ vọt lố lớn) thì e(t) giảm Þ , nên giảm nhiều không cho C(t) tăng quá. Vì vậy điều khiển PD làm giảm chấn của hệ thống tăng lên, giảm vọt lố nhưng thời gian trễ sẽ lâu hơn. Điều khiển PD chỉ ảnh hưởng tới sai số xác lập Exl, nếu Exl biến thiên theo thời gian () mà không ảnh hưởng nếu Exl(t) = Cte. Nếu Exl tăng theo t, tín hiệu tác động có thành phần tỉ lệ với làm giảm biên độ sai số. - K u(t) G(p) Ki p C(t) r(t) e(t) H(p) + + c. Điều khiển tỉ lệ – tích phân PI: Để nâng cao độ chính xác của hệ thống, người ta thêm khâu điều khiển tích phân. Tín hiệu tác động: Bao lâu còn sai lệch, tín hiệu tác động còn duy trì để làm giảm sai lệch này. Điều khiển PI làm cho hệ hữu sai thành vô sai. Loại của hệ thống được tăng lên nghĩa là bậc của nó cũng tăng lên, do đó độ ổn định của hệ kém đi. d. Điều khiển tỉ lệ – tích phân – vi phân PID: Để cải thiện hệ thống ở xác lập và quá độ thì tín hiệu tác động: - K u(t) G(p) Td p C(t) r(t) e(t) H(p) + + Ki p + 5. Bộ điều khiển mờ: a. Bộ điều khiển mờ cơ bản: Những thành phần cơ bản của một bộ điều khiển mờ bao gồm khâu Fuzzy hóa, thiết bị thực hiện luật hợp thành và khâu giải mờ. Một bộ điều khiển mờ chỉ gồm ba thành phần như vậy có tên gọi là bộ điều khiển mờ cơ bản. x1 xq ... m ... R1: NẾU ... THÌ ... Rq: NẾU ... THÌ ... ... H1 Hq B’ y’ Bộ điều khiển mờ cơ bản. Do bộ điều khiển mờ cơ bản chỉ có khả năng xử lý các giá trị tín hiệu hiện thời nên nó thuộc nhóm các bộ điều khiển tĩnh. Tuy vậy để mở rộng miền ứng dụng của chúng vào các bài toán điều khiển động, các khâu động học cần thiết sẽ được nối thêm vào bộ điều khiển mờ cơ bản. Các khâu động đó chỉ có nhiệm vụ cung cấp thêm cho bộ điều khiển mờ cơ bản các giá trị đạo hàm hay tích phân của tín hiệu. Với những khâu động bổ sung này, bộ điều khiển cơ bản sẽ được gọi là bộ điều khiển mờ động. Bộ điều khiển mờ cơ bản x(t) y’(t) Bộ điều khiển mờ động. b. Tổng hợp bộ điều khiển mờ: * Định nghĩa các biến vào ra: Xác định các biến ngôn ngữ vào/ra và đặt tên cho chúng. * Xác định tập mờ: Định nghĩa các biến ngôn ngữ vào/ra bao gồm số các tập mờ và dạng các hàm liên thuộc của chúng, cần xác định: Miền giá trị vật lý (cơ sở) của các biến ngôn ngữ vào/ra Số lượng tập mờ (giá trị ngôn ngữ) Về nguyên tắc, số lượng các giá trị ngôn ngữ cho mỗi biến ngôn ngữ nên nằm trong khoảng từ 3 đến 10 giá trị. Nếu số lượng giá trị ít hơn 3 thì có ít ý nghĩa, vì không thực hiện được việc lấy vi phân. Nếu lớn hơn 10, khó có khả năng bao quát vì phải nghiên cứu đầy đủ để đồng thời phân biệt khoảng 5 đến 9 phương án khác nhau và có khả năng lưu giữ trong một thời gian ngắn. Xác định hàm liên thuộc: Chọn các hàm liên 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”. Trong trường hợp với một giá trị vật lý rõ x0 của biến đầu vào mà tập mờ B’ đầu ra có độ cao bằng 0 (miền xác định là một tập rỗng) và bộ điều khiển không thể đưa ra một quyết định điều khiển nào, lý do là hoặc không định nghĩa được nguyên tắc điều khiển phù hợp hoặc là do các tập mờ của biến ngôn ngữ có những “lỗ hổng”. Cũng như vậy đối với biến ra, các hàm liên thuộc dạng hình thang với độ xếp chồng lên nhau rất nhỏ, nhìn chung không phù hợp với bộ điều khiển mờ vì những lý do trên. Nó tạo ra một vùng “chết” (dead zone) trong trạng thái làm việc của bộ điều khiển. Trong một vài trường hợp, chọn hàm liên thuộc dạng hình thang hoàn toàn hợp lý, đó là trường hợp mà sự thay đổi các miền giá trị của tín hiệu vào không kéo theo sự thay đổi bắt buộc tương ứng cho miền giá trị của tín hiệu ra. Nói chung, hàm liên thuộc được chọn sao cho miền tin cậy của nó chỉ có một phần tử, hay chỉ tồn tại một điểm vật lý có độ phụ thuộc bằng độ cao của tập mờ. Rời rạc hóa các tập mờ: Độ phân giải của các giá trị phụ thuộc được chọn trước hoặc là cho các nhóm điều khiển mờ loại dấu phẩy động hoặc số nguyên ngắn (giá trị phụ thuộc là các số nguyên có độ dài 2 byte) hoặc theo byte (giá trị phụ thuộc là các số không dấu có độ dài 1 byte). Các khả năng để tổng hợp các hệ thống là rất khác nhau, phương pháp rời rạc hóa sẽ là yếu tố quyết định giữa độ chính xác và tốc độ của bộ điều khiển. * Xây dựng các luật điều khiển: Trong việc xây dựng các luật điều khiển (mệnh đề hợp thành) cần lưu ý là không được tạo ra các “lỗ hổng” ở vùng lân cận điểm không, bởi vì khi gặp phải các “lỗ hổng” xung quanh điểm làm việc bộ điều khiển sẽ không thể làm việc đúng theo như trình tự đã định. Ngoài ra, trong phần lớn các bộ điều khiển, tín hiệu ra sẽ bằng 0 khi tất cả các tín hiệu vào bằng 0. Để phát triển thêm, có thể chọn hệ số an toàn cho từng luật điều khiển, tức là khi thiết lập luật hợp thành chung: R = R1 Ú R2 Ú...Ú Rn không phải tất cả các luật điều khiển Rk, k = 1, 2, ..., n được tham gia một cách bình đẳng mà theo một hệ số an toàn định trước. Ngoài những hệ số an toàn cho từng luật điều khiển còn có hệ số an toàn cho từng mệnh đề điều kiện của một luật điều khiển khi số các mệnh đề của nó nhiều hơn 1. * Chọn thiết bị hợp thành: Có thể chọn thiết bị hợp thành theo những nguyên tắc trên, bao gồm: sử dụng công thức có luật MAX-MIN, MAX-PROD, sử dụng công thức Lukasiewics có luật SUM-MIN, SUM-PROD, sử dụng tổng Einstein, sử dụng tổng trực tiếp, … * Chọn nguyên lý giải mờ: Sử dụng các phương pháp xác định giá trị đầu ra rõ, hay còn gọi là quá trình giải mờ hoặc rõ hoá. Phương pháp giải mờ được chọn cũng gây ảnh hưởng đến độ phức tạp và trạng thái làm việc của toàn bộ hệ thống. Thông thường trong thiết kế hệ thống điều khiển mờ, giải mờ bằng phương pháp điểm trọng tâm có nhiều ưu điểm hơn cả, bởi vì trong kết quả đều có sự tham gia của tất cả kết luận của các luật điều khiển, Rk, k = 1, 2, …,n (mệnh đề hợp thành). c. Tính phi tuyến của hệ mờ: * Phân loại các khâu điều khiển mờ: Một bộ điều khiển mờ có ba khâu cơ bản gồm: Khâu Fuzzy hóa có nhiệm vụ chuyển đổi một giá trị rõ đầu vào x0 thành một vector m gồm các độ phụ thuộc của giá trị rõ đó theo các giá trị mờ đã định nghĩa cho biến ngôn ngữ đầu vào, Khâu thực hiện luật hợp thành, có tên gọi là thiết bị hợp thành, xử lý vector m và cho ra giá trị mờ B’ của biến ngôn ngữ đầu ra, Khâu giải mờ, có nhiệm vụ chuyển đổi tập mờ B’ thành một giá trị rõ y’ chấp nhận được cho đối tượng (tín hiệu điều chỉnh). Các bộ điều khiển mờ sẽ được phân loại dựa trên quan hệ vào/ra toàn cục của tín hiệu vào x0 và tín hiệu ra y’. Quan hệ toàn cục đó được gọi là quan hệ truyền đạt. Việc phân loại quan hệ truyền đạt một bộ điều khiển mờ dựa vào 7 tiêu chuẩn: tĩnh hay động. tuyến tính hay phi tuyến. tham số tập trung hay tham số rải. liên tục hay rời rạc. tham số tĩnh hay tham số động. tiền định hay ngẫu nhiên. ổn định hay không ổn định. Bộ điều khiển mờ Fuzzy hóa Giải mờ B’ x0 m R1: NẾU ... THÌ ... Rq: NẾU ... THÌ y’ Cấu trúc bên trong của một bộ điều khiển mờ. Xét từng khâu của bộ điều khiển mờ gồm các khâu Fuzzy hóa, thiết bị hợp thành và giải mờ, thì thấy rằng trong quan hệ vào/ra giá trị y’ tại đầu ra chỉ phụ thuộc vào một mình giá trị x0 của đầu vào chứ không phụ thuộc vào các giá trị đã qua của tín hiệu x(t), tức là chỉ phụ thuộc vào giá trị của x(t) tại đúng thời điểm đó. Do đó bộ điều khiển mờ thực chất là một bộ điều khiển tĩnh và quan hệ truyền đạt hoàn toàn được mô tả đầy đủ bằng đường đặc tính y(x) như các đường đặc tính của khâu relay 2 hoặc 3 trạng thái quen biết trong kỹ thuật điều khiển phi tuyến kinh điển. * Xây dựng công thức quan hệ truyền đạt: Việc xây dựng công thức tổng quát y(x) cho quan hệ truyền đạt bộ điều khiển MIMO chỉ cần bộ điều khiển mờ với nhiều đầu vào và một đầu ra (bộ MISO) là đủ vì một bộ điều khiển mờ có nhiều đầu ra bất kỳ đều có thể được thay bằng một tập các bộ điều khiển với một đầu ra. Bộ điều khiển mờ 1 Bộ điều khiển mờ 2 Bộ điều khiển mờ 3 y1 y2 y3 x1 ... x4 Bộ điều khiền mờ với 4 đầu vào và 3 đầu ra. Luật điều khiển của bộ điều khiển mờ nhiều đầu vào và một đầu ra có dạng: Rk: NẾU c1 = A1k VÀ c2 = A2k VÀ ... VÀ cd = Adk THÌ g = Bk trong đó k = 1, 2 …, n và các tập mờ Amk, m = 1, 2, …, d có cùng cơ sở X. Luật điều khiển trên còn có tên gọi là luật chuẩn (canonical) vì nó bao hàm rất nhiều những dạng luật điều khiển khác như: R: NẾU c1 = A1 VÀ … VÀ cm = Am HOẶC c m+1 = Am+1 VÀ …VÀ cd = Ad THÌ g = B hay R: NẾU c1 = A1 VÀ c2 = A2VÀ … VÀ cm = Am THÌ g = B nếu m < d … * Quan hệ vào/ra của thiết bị hợp thành: Một tập (luật hợp thành) R của n luật điều khiển được gọi là: - đủ, nếu không có một giá trị rõ x0 Î X nào của đầu vào làm cho độ thỏa mãn mọi luật Rk của R bằng 0, tức là "x0 Î X, $m Î {1, 2, …, d} : , "k Î {1, 2, …, n} -nhất quán, nếu không có hai luật điều khiển này cũng có cùng mệnh đề điều kiện nhưng lại khác mệnh đề kết luận. Với các bước triển khai trên, quan hệ vào ra của thiết bị hợp thành được thực hiện qua các bước: Bước 1: Tìm tập mờ đầu ra của Rk Ký hiệu x là một vector d chiều có phần tử thứ m là một giá trị bất kỳ thuộc tập hợp mờ, tức là: , trong đó xm là giá trị thuộc miền xác định của. Độ thỏa mãn Hk của luật Rk được tính theo 1. Hk = MIN{, , …, }, nếu sử dụng (I.6) để thực hiện phép giao trong mệnh đề điều kiện của Rk, 2. nếu sử dụng công thức “Tích đại số” để thực hiện phép giao trong khối mệnh đề điều kiện của Rk. Từ đó tập mờ đầu ra B’k sẽ có hàm liên thuộc a) mB’k(y) = MIN{Hk, mBk(y)} nếu sử dụng nguyên tắc triển khai MAX-MIN hoặc SUM-MIN để cài đặt Rk, b) mB’k(y) = Hk.mBk(y) nếu sử dụng nguyên tắc triển khai MAX-PROD hoặc SUM-PROD để cài đặt Rk, Bước 2: Tìm tập mờ đầu ra của R Sau khi đã có được d tập mờ đầu ra cho từng luật điều khiển Rk là: mB’k(y), k = 1, 2, …, d. tập mờ đầu ra chung B’ của thiết bị hợp thành. được xác định như sau: 1. mB’(y) = MAX{mB’k(y), k = 1, 2, …, n} hoặc 2. Từ những công thức của bước 1 và của bước 2 dễ dàng suy ra được công thức biểu diễn quan hệ vào/ra x a mB’(y) của thiết bị hợp thành. Cho những nguyên tắc triển khai, công thức áp dụng thực hiện phép giao và hợp trên tập mờ khác nhau thì có công thức biểu diễn quan hệ vào/ra khác nhau. Nếu áp dụng “tích đại số” cho phép giao, nguyên tắc triển khai MAX-MIN để thiết lập luật điều khiển và công thức cho phép hợp thì: hoặc cho nguyên tắc triển khai SUM-PROD, phép giao và công thức Lukasiewicz cho phép hợp thì: * Quan hệ vào/ra của khâu giải mờ: Nếu ký hiệu H là là độ cao của B’, G là miền giá trị vật lý y’ có độ phụ thuộc bằng H và S là miền xác định của B’ thì: 1. cho phương pháp cực đại theo nguyên lý trung bình, 2. cho phương pháp cực đại theo nguyên lý cận trái, 3. cho phương pháp cực đại theo nguyên lý cận phải, 4. cho phương pháp điểm trọng tâm, 5. cho phương pháp điểm trọng tâm và nguyên tắc triển khai SUM-MIN, 6. cho phương pháp điểm trọng tâm và nguyên tắc triển khai SUM-MIN với quy ước singleton (phương pháp độ cao), trong đó yk là điểm mẫu thoả mãn mB’k(yk) = Hk. * Quan hệ truyền đạt y(x): Quan hệ truyền đạt y(x) của bộ điều khiển mờ nhận được thông qua việc ghép nối hai ánh xạ x a mB’(y) và mB’(y) a y’ với nhau để có x a y’. Công thức biểu diễn ánh xạ tích nhận được phụ thuộc vào thiết bị hợp thành và phương pháp giải mờ được sử dụng. x mB’(x) y’ Tích của hai ánh xạ Người ta đã chứng minh được rằng với một miền compact X Í Rn (với n là số các đầu vào), các giá trị vật lý của biến ngôn ngữ đầu vào và một đường cong phi tuyến g(x) tuỳ ý nhưng liên tục cùng các đạo hàm của nó trên X thì bao giờ cũng tồn tại một bộ điều khiển mờ cơ bản có quan hệ truyền đạt y(x) thoả mãn: Trong đó e là một số thực dương bất kỳ cho trước. Như vậy ta có thể tổng hợp được một bộ điều khiển mờ có quan hệ truyền đạt “gần giống” với quan hệ truyền đạt cho trước. Điều đó cho thấy kỹ thuật điều khiển mờ có thể giải quyết được một bài toán tổng hợp điều khiển phi tuyến bất kỳ. 6. Kết luận về điều khiển mờ: * Ưu điểm: - Đảm bảo được tính ổn định của hệ thống mà không cần khối lượng tính toán lớn và phức tạp trong khâu thiết kế như các loại điều khiển cổ điển như PID, điều chỉnh sớm trễ pha. - Có thể tổng hợp bộ điều khiển với hàm truyền đạt phi tuyến bất kỳ. - Giải quyết được các bài toán điều khiển phức tạp, các bài toán mà trước đây chưa giải quyết được như: hệ điều khiển thiếu thông tin, thông tin không chính xác hay những thông tin mà sự chính xác của nó chỉ nhận thấy giữa các quan hệ của chúng với nhau và cũng chỉ có thể mô tả được bằng ngôn ngữ. Như vậy điều khiển mờ đã sao chụp được phương thức xử lý thông tin của con người và ta có thể tận dụng được các tri thức, kinh nghiệm của con người vào trong quá trình điều khiển. * Khuyết điểm: - Cho đến nay, các lý thuyết nghiên cứu về điều khiển mờ vẫn còn chưa được hoàn thiện. Vì vậy việc tổng hợp bộ điều khiển mờ hoạt động một cách hoàn thiện thì không đơn giản. - Chính vì tính phi tuyến của hệ mờ mà ta không thể áp dụng những thành tựu của lý thuyết hệ tuyến tính cho hệ mờ. Và vì thế những kết luận tổng quát cho hệ mờ hầu như khó đạt được. Từ những ưu khuyết điểm của bộ điều khiển mờ ta rút ra kết luận: - Không bao giờ thiết kế 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 thoả mãn yêu cầu đặt ra. - Việc sử dụng bộ điều khiển mờ cho các hệ thống cần độ an toàn cao vẫn còn bị hạn chế do 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. - Bộ điều khiển mờ phải được phát triển qua thực nghiệm. - Do có khả năng điều chỉnh được tính ổn định và bền vững khi lượng thông tin thu thập không chính xác nên các bộ cảm biến có thể chọn loại rẻ tiền và không cần độ chính xác cao. Chương III MÔ PHỎNG HỆ ĐIỀU KHIỂN MỜ BẰNG MATLAB I. Giới thiệu về MatLab: MatLab vừa là môi trường vừa là ngôn ngữ lập trình được viết dựa trên cơ sở toán học như: lý thuyết ma trận, đại số tuyến tính, phân tích số, … nhằm sử dụng cho các mục đích tính toán khoa học và kỹ thuật. MatLab cho phép người sử dụng thiết kế các hộp công cụ của riêng mình. Ngày càng nhiều các hộp công cụ được tạo ra bởi các nhà nghiên cứu trên các lãnh vực khác nhau. Sau đây là một số hộp công cụ trong MatLab ứng dụng trong lĩnh vực điều khiển tự dộng: - Control System Toolbox: nền tảng của một nhóm các dụng cụ để thiết kế trong lãnh vực điều khiển. Bao gồm các hàm dành cho việc mô hình hoá, phân tích, thiết kế hệ thống điều khiển tự động. - Frequency Domain System Identification Toolbox: bao gồm một tập các file .m dùng cho việc mô hình hoá hệ tuyến tính dựa trên sự đo lường đáp tuyến tần số của một hệ thống. - Fuzzy Logic Toolbox: bao gồm một tập hoàn chỉnh các công cụ giao diện với người dùng dành cho việc thiết kế, mô phỏng và phân tích hệ thống suy luận mờ. - Neutral Network Toolbox: bao gồm một tập các hàm của MatLab dành cho việc thiết kế và mô phỏng mạng neutral. - Nonlinear Control Design Toolbox: là một giao diện đồ hoạ người dùng cho phép thiết kế hệ điều khiển tuyến tính và phi tuyến sử dụng kỹ thuật tối ưu trong miền thời gian. - Simulink: Simulink là phần mở rộng của MatLab tạo ra thêm một môi trường đồ hoạ dùng cho việc mô hình hoá, mô phỏng và phân tích hệ tuyến tính và phi tuyến động. - System Identification Toolbox: bao gồm các công cụ để phỏng tính và nhận dạng hệ thống. II. Xây dựng mô hình: 1. Yêu cầu cụ thể: Ta cần điều khiển dòng nước ra từ một bồn nước. Bồn nước gồm một đầu vào là dòng nước lạnh, một đầu vào là dòng nước nóng. Đầu ra sẽ là hỗn hợp của hai dòng nước nóng và lạnh. Yêu cầu đặt ra là phải giữ nhiệt độ và tốc độ của dòng nước ra không đổi ở một giá trị xác định trước. BỘ ĐIỀU KHIỂN dòng nước ra dòng nước nóng dòng nước lạnh bồn nước 2. Mô hình vật lý: Dùng Vi xử lý 8 bit ứng dụng giải thuật logic mờ để điều khiển nhiệt độ của lưu chất ra. Cần có các khâu cảm biến để hồi tiếp về, các khâu biến đổi A/D, D/A để chuyển đổi tín hiệu tương tự về dạng số để VXL xử lý dữ liệu và chuyển đổi tín hiệu từ dạng số sang tương tự để điều khiển khối công suất. KĐ KĐ KĐ KĐ VXL dòng nước ra dòng nước nóng dòng nước lạnh bồn nước A/D D/A BỘ ĐIỀU KHIỂN cảm biến nhiệt cảm biến lưu tốc 3. Mô hình toán học: Từ mô hình vật lý ta xác định mô hình toán học của các phần tử riêng lẻ: a. Khâu D/A: là khâu giữ bậc không (ZOH) Hàm truyền: Chuyển sang hệ rời rạc: T b. Khâu A/D: là khâu lấy mẫu với thời gian lấy mẫu là T. c. Bộ điều khiển số (VXL): Để cải thiện chất lượng của hệ, ta cho thêm khâu điều khiển I ở ngõ ra kết hợp với khâu Fuzzy để điều khiển. Khâu I sẽ được thực hiện nhờ phần mềm. Vì vậy trong VXL sẽ bao gồm các khâu sau: FUZZY I Tín hiệu điều khiển - + Khâu I: khâu tích phân Hàm truyền: Khâu KĐCS: khâu khuếch đại công suất KĐ Ui Uo Giả sử công suất cực đại của mạch đóng mở van là P Khâu Fuzzy: Bước 1. Định nghĩa các biến vào ra: Ta gọi nhiệt độ cần ổn định là to. Giả sử nhiệt độ môi trường cần điều khiển thay đổi trong khoảng (to - k, to + k). Sai lệch giữa nhiệt độ cần điều khiển y1 và tín hiệu chủ đạo x1.(Ký hiệu là et): Þ et Î (-k, k) oC. Chọn k=20 Þ et Î (-20, 20) oC. Gọi vo là lưu tốc dòng nước ra cần giữ ổn định . Giả sử lưu tốc cần điều khiển thay đổi trong khoảng (vo - V, vo + V). (kg/s) Sai lệch giữa lưu tốc cần điều khiển y2 và tín hiệu chủ đạo x2.(Ký hiệu là ev): Þ ev Î (-V, V) kg/s. Chọn V=1 Þ ev Î (-1, 1) kg/s Đại lượng ngã vào của bộ điều khiển mờ là tín hiệu sai lệch vận tốc ev và tín hiệu sai lệch nhiệt độ et. Để hệ thống đạt được độ chính xác cao (sai lệch tĩnh bằng 0) ta thêm vào khâu tích phân phía sau khối mờ. Và do đó tín hiệu ngõ ra của bộ điều khiển mờ là tốc độ biến đổi công suất dp1 tương ứng với tốc độ đóng mở van nước nóng và dp2 tương ứng tốc độ đóng mở van nước lạnh. Giả sử dp1Î (-p, p) kW/s. dp2 Î (-p, p) kW/s. Chọn p = 1 Þ dp1, dp2 Î (-1, 1) kw/s. Bước 2. Chọn số lượng tập mờ: Ta chọn 3 giá trị cho các biến ngõ vào Đối với et: Cold, Good, Hot. Đối với ev: Soft, Good, Hard. Chọn 5 giá trị cho các biến ngõ ra: CloseFast, CloseSlow, Steady, OpenSlow, OpenFast. Bước 3. Xác định hàm liên thuộc: Ta chọn tập mờ có hình thang và hình tam giác cân: Bước 4. Xây dựng các luật điều khiển: m0 m1 m2 flow temp Cold Good Hot m0 Soft OpenSlow OpenSlow OpenFast m1 Good CloseSlow Steady OpenSlow m2 Hard CloseFast CloseSlow CloseSlow Bảng luật điều khiển cho biến ra Cold m0 m1 m2 flow temp Cold Good Hot m0 Soft OpenFast OpenSlow OpenSlow m1 Good OpenSlow Steady CloseSlow m2 Hard CloseSlow CloseSlow CloseFast Bảng luật điều khiển cho biến ra Hot Rời rạc hóa hàm liên thuộc: Đối với biến vào sai lệch nhiệt độ et (temp): mcold=trapmf [–30 –30 –15 0] mgood=trimf [–10 0 10] mhot=trapmf [0 15 30 30] Đối với biến vào sai lệch lưu tốc ev (flow): msoft=trapmf [–3 –3 –0.8 0] mgood=trimf [–0.4 0 0.4] mhard=trapmf [0 0.8 3 3] Đối với biến ra tốc độ đóng mở van nước lạnh và nóng: mCloseFast=trimf [–1 – 0.6 –0.3] mCloseSlow=trimf [– 0.6 –0.3 0] mSteady=trimf [–0.3 0 0.3] mOpenSlow=trimf [0 0.3 0.6] mOpenFast=trimf [0.3 0.6 1] Đối với biến ra thứ nhất: Đặt ev=y ; et = x ; dp1 = z Độ thỏa mãn của luật thứ k: Hkij = Min(mk(xi), mk(yj)) i = -20… 20 ; j= -1… 1 Mô hình cho luật điều khiển: Rk = (rkl,i,j)3 ; l = -1 … 1 rkl,i,j = MIN(Hki,j, mk(zl)) i j l 1 1 20 x z Rk rlk(i ,j) rlk(i, j) = MIN(mk(xi), mk(yj), mk(zl)) Mô hình luật điều khiển thứ k R = R = (max (rkl (i, j))3 ;k = 0… 8 i j l 1 1 20 x z R rl(i, j) rl(i, j) = max rlk(i, j) 0 £ k £ 8 Mô hình luật điều khiển chung Đối với biến ra thứ hai Tương tự như biến thứ nhất Bước 5. Giải mờ: Dùng phương pháp trọng tâm Đối tượng cần điều khiển: Gọi to là nhiệt độ ngã ra vo là vận tốc dòng chảy ngã ra Tn là nhiệt độ dòng nước nóng Tl là nhiệt độ dòng nước lạnh vn là vận tốc dòng nước nóng vl là vận tốc dòng nước lạnh Ta có mối quan hệ sau: Vậy mô hình toán học của hệ là: FUZZY T T T T KĐCS KĐCS ĐỐI TƯỢNG K1 K2 + + - - x1 x2 y1 y2 T = 1s T = 1s Chọn thời gian lấy mẫu T = 1s, các hệ số khuếch đại K1, K2 bằng 1. Biểu diễn mô hình với các biến dưới dạng vector. Đặt X = (x1, x2), Y = (y1, y2) Mô hình trở thành: FUZZY g(u) f(u) X Y + - Với g(u) là quan hệ vào ra của khâu KĐCS. f(u) là quan hệ vào ra của khâu đối tượng. III. Mô phỏng trên MatLab: 1. Các công cụ về Fuzzy trong MatLab: FIS Editor là một chương trình tạo lập bộ điều khiển mờ cơ bản, trong đó có cả chương trình tạo lập hàm liên thuộc, chương trình soạn thảo hàm liên thuộc, … a. FIS Editor: FIS Editor cho phép xác định số đầu vào, số đầu ra, đặt tên các biến vào, các biến ra. FIS Editor được gọi khi đánh dòng lệnh “Fuzzy” từ dấu nhắc của MatLab. Màn hình sau sẽ được hiển thị: b. Thiết kế khâu Fuzzy: Theo yêu cầu của mô hình, ta thiết kế bộ điều khiển mờ có hai ngõ vào và hai ngõ ra. Các biến ngõ vào là Flow và Temp, các biến ngõ ra là Cold và Hot. Từ menu Edit, chọn Add Input rồi chọn Add Output. Nhắp vào hình input1, input2, output1, output2 để sửa tên trong ô Name tương ứng. Nhắp kép vào hình temp để tạo lập các hàm liên thuộc cho biến vào temp. Trong ô Range nhập vào miền xác định của biến. Vào menu Edit để thêm các hàm liên thuộc. Có các loại hàm liên thuộc như sau: Trong ô Type, chọn hàm liên thuộc hình thang (trapmf) cho hàm cold và hot, và chọn hàm liên thuộc hình tam giác cân (trimf) cho hàm good. Ô Param dùng để nhập thông số cho từng hàm khi nhắp vào hàm. Ô Name dùng để đặt tên cho hàm. Làm tương tự như vậy đối với biến flow. Đối với hai biến ra là cold và hot, chọn các hàm liên thuộc là hình tam giác. Trở lại trong FIS Editor, trong phần Defuzzification chọn phương pháp giải mờ. Có các phương pháp giải mờ như: Sử dụng Rule Editor để tạo bảng luật điều khiển cho bộ điều khiển mờ. Từ menu View, chọn Edit Rules để kích hoạt Rule Editor. Để kiểm tra lại hoạt động của bộ điều khiển mờ, ta vào menu View, chọn View Rules. Tại ô Input, ta có thể nhập các giá trị của biến ngã vào để quan sát các giá trị của biến ngã ra. Để xem luật điều khiển trong không gian, chọn View Surface trong menu View. Tại Listbox Z(output) có thể chọn cold hay hot để quan sát. 2. Mô phỏng trong Simulink: Tại dấu nhắc của MatLab, gõ ‘simulink’ để kích hoạt màn hình làm việc của Simulink. Dựa vào mô hình toán học ta vào thư viện lấy các khối tích phân, khuếch đại công suất, máy phát tín hiệu thử, scope để hiển thị kết quả. Thư viện simulink Trong thư viện simulink mở thư viện Blocksets & Toolboxes. Thư viện Blockset và Toolbox Mở SIMULINK Fuzzy ta có các thành phần sau: Thư viện SIMULINK Fuzzy Trong SIMULINK Fuzzy, ta lấy Fuzzy Logic Controller. Trở lại thư viện simulink, lần lượt mở các thư viện Sources, Sink và Linear để lấy các thành phần như: Constant, Signal Generator, Scope, Sum, … Thư viện Linear Thư viện Sources Thư viện Sinks Sơ đồ hệ thống điều khiển Thiết kế van nước lạnh: Van nước gồm một biến ngã vào là tốc độ đóng/mở van, hai biến ngã ra là nhiệt độ và tốc độ của dòng nước. Nhiệt độ của dòng nước lạnh là 10oC. Ngõ vào tốc độ đóng/mở van sau khi qua khâu tích phân rồi được qua khâu khuếch đại bão hoà. Hàm f(u) của khâu bão hoà được xác định theo công thức: k.u(1).(k.u(1)£u(2)) + u(2).(k.u(1)>u(2)) Với k.u(1) là tín hiệu ra sau khâu tích phân, u(2) tốc độ cực đại của van. + Khi k.u(1) £ u(2) thì ngã ra là k.u(1), + Khi k.u(1) > u(2) thì ngã ra là u(2). Thiết kế van nước nóng: Tương tự như đối với van nước lạnh. Nhiệt độ của dòng nước nóng là 30oC. Thiết kế khâu lưu tốc đặt trước: Khâu bao gồm tốc độ đặt trước và máy phát tín hiệu thử. Thiết kế khâu nhiệt độ đặt trước: Khâu bao gồm nhiệt độ đặt trước và máy phát tín hiệu thử. Thiết kế hàm đối tượng: Hàm lưu tốc: u(1)+u(3) Với u(1) là tốc độ của dòng nước nóng. u(3) là tốc độ của dòng nước lạnh. Hàm nhiệt độ: Với u(1) là tốc độ của dòng nước nóng. u(2) là nhiệt độ của dòng nước nóng. u(3) là tốc độ của dòng nước lạnh. u(4) là nhiệt độ của dòng nước lạnh. IV. Kết quả mô phỏng: Mô phỏng với nhiệt độ đặt trước là 23oC. Lưu tốc đặt trước là 0.7m3/h. + Đối với tín hiệu thử có sự biến thiên là hàm xung vuông có tần số là fs1 = 0.3rad/s, biên độ là 0.2m3/h đối với tốc độ dòng nước ra và fs2 = 0.2rad/s, biên độ là 4oC đối với nhiệt độ của dòng nước ra. Ta có các đáp ứng sau: Đáp ứng của lưu tốc tín hiệu thử đáp ứng ra đáp ứng ra tín hiệu thử Đáp ứng của nhiệt độ + Đối với tín hiệu thử có sự biến thiên là hàm sin có tần số là fs1 = 0.3rad/s, biên độ là 0.2m3/h đối với tốc độ dòng nước ra và fs2 = 0.2rad/s, biên độ là 4oC đối với nhiệt độ của dòng nước ra. Ta có các đáp ứng sau: đáp ứng ra tín hiệu thử Đáp ứng của lưu tốc đáp ứng ra tín hiệu thử Đáp ứng của nhiệt độ Chương IV Kết luận đề nghị Trải qua 10 tuần thực hiện đề tài, chúng em đã trình bày được phần lý thuyết cơ bản của logic mờ, cách ứng dụng logic mờ trong điều khiển và đã rút ra được những ưu nhược điểm của kỹ thuật điều khiển mờ so với các kỹ thuật điều khiển cổ điển trước đây. Thêm vào đó, chúng em đã mô phỏng hệ thống điều khiển mờ bằng phần mềm MatLab để từ đó có thể quan sát được đáp ứng hay chất lượng của hệ thống. Hướng phát triển của đề tài: Xây dựng mô hình mẫu để có thể quan sát và kiểm tra lại lý thuyết bằng thực nghiệm. PHẦN C PHỤ LỤC CẤU TRÚC FILE .FIS (Fuzzy Inference System) Cấu trúc của file .FIS được tạo bởi FIS Editor bao gồm các phần sau: 1. [System] Name = : khai báo tên, được đặt trong dấu nháy. Type = : khai báo loại, được đặt trong dấu nháy. NumInputs = : số lượng ngã vào, là một số nguyên. NumOutputs = : số lượng ngã ra, là một số nguyên. NumRules = : số lượng luật điều khiển, là một số nguyên. AndMethod = : tên phương pháp AND. + các phương pháp được sử dụng là: ‘min’ và ‘prod’. OrMethod = : tên phương pháp OR. + các phương pháp được sử dụng là: ‘max’ và ‘probor’. ImpMethod = : tên phương pháp kéo theo. + các phương pháp được sử dụng là: ‘min’ và ‘prod’. AggMethod = : tên phương pháp tập hợp. + các phương pháp được sử dụng là: ‘max’, ‘sum’ và ‘probor’. DefuzzMethod = : tên phương pháp giải mờ. + các phương pháp được sử dụng là: ‘centroid’, ‘bisector’, ‘mom’, ‘lom’ và ‘som’. 2.[Input1] Name = : tên của ngã vào, được đặt trong dấu nháy. Range = : giới hạn dưới và trên của biến vào được đặt trong ngoặc vuông. NumMFs = : số lượng hàm liên thuộc, là một số nguyên. MF1=: khai báo dữ liệu về hàm liên thuộc, báo đầu bằng tên hàm được đặt trong dấu nháy, theo sau bởi dấu hai chấm và tên loại hàm liên thuộc, kế tiếp là dấu phẩy và các thông số của hàm được đặt trong ngoặc vuông. Cứ như vậy cho đến MFn, với n là số lượng hàm liên thuộc. Có bao nhiêu ngã vào thì lần lượt khai báo các dữ liệu cho các ngã vào [Inputi], với i là số thứ tự của ngã vào. 3.[Output1] Name = : tên của ngã ra, được đặt trong dấu nháy. Range = : giới hạn dưới và trên của biến ra được đặt trong ngoặc vuông. MF1=: khai báo dữ liệu về hàm liên thuộc, báo đầu bằng tên hàm được đặt trong dấu nháy, theo sau bởi dấu hai chấm và tên loại hàm liên thuộc, kế tiếp là dấu phẩy và các thông số của hàm được đặt trong ngoặc vuông. Cứ như vậy cho đến MFn, với n là số lượng hàm liên thuộc. Có bao nhiêu ngã ra thì lần lượt khai báo các dữ liệu cho các ngã ra [Outputi], với i là số thứ tự của ngã ra. * Các loại hàm liên thuộc có thể chọn là: ‘trimf’: có 3 thông số. ‘trapmf’: có 4 thông số. ‘gbellmf’: có 4 thông số. ‘gaussmf’: có 2 thông số. ‘gauss2mf’: có 4 thông số. ‘sigmf’: có 2 thông số. ‘dsigmf’: có 4 thông số. ‘psigmf’: có 4 thông số. ‘pimf’: có 4 thông số. ‘smf’: có 2 thông số. ‘zmf’: có 2 thông số. 4.[Rules] Mô tả bảng luật điều khiển dưới dạng ma trận, khai báo luật điều khiển theo cấu trúc sau: Hàng, cột, luật_điều_khiển_ ngã_ra_1 (luật_điều_khiển_ ngã_ra_2) … Hàng kế tiếp với cột được tăng lên 1, cứ như vậy cho đến cột cuối cùng, tiếp theo hàng được tăng lên 1, … cứ như vậy cho đến luật điều khiển cuối cùng. LIỆT KÊ FILE SHOWER.FIS % $Revision: 1.1 $ [System] Name = 'shower' Type = 'mamdani' NumInputs = 2 NumOutputs = 2 NumRules = 9 AndMethod = 'min' OrMethod = 'max' ImpMethod = 'min' AggMethod = 'max' DefuzzMethod = 'centroid' [Input1] Name = 'temp' Range = [-20 20] NumMFs = 3 MF1='cold':'trapmf',[-30 -30 -15 0] MF2='good':'trimf',[-10 0 10 0] MF3='hot':'trapmf',[0 15 30 30] [Input2] Name = 'flow' Range = [-1 1] NumMFs = 3 MF1='soft':'trapmf',[-3 -3 -0.8 0] MF2='good':'trimf',[-0.4 0 0.4 0] MF3='hard':'trapmf',[0 0.8 3 3] [Output1] Name = 'cold' Range = [-1 1] NumMFs = 5 MF1='closeFast':'trimf',[-1 -0.6 -0.3 0] MF2='closeSlow':'trimf',[-0.6 -0.3 0 0] MF3='steady':'trimf',[-0.3 0 0.3 0] MF4='openSlow':'trimf',[0 0.3 0.6 0] MF5='openFast':'trimf',[0.3 0.6 1 0] [Output2] Name = 'hot' Range = [-1 1] NumMFs = 5 MF1='closeFast':'trimf',[-1 -0.6 -0.3 0] MF2='closeSlow':'trimf',[-0.6 -0.3 0 0] MF3='steady':'trimf',[-0.3 0 0.3 0] MF4='openSlow':'trimf',[0 0.3 0.6 0] MF5='openFast':'trimf',[0.3 0.6 1 0] [Rules] 1 1, 4 5 (1) : 1 1 2, 2 4 (1) : 1 1 3, 1 2 (1) : 1 2 1, 4 4 (1) : 1 2 2, 3 3 (1) : 1 2 3, 2 2 (1) : 1 3 1, 5 4 (1) : 1 3 2, 4 2 (1) : 1 3 3, 2 1 (1) : 1 TÀI LIỆU THAM KHẢO 1. Trần Sum, Giáo trình: Lý thuyết điều khiển tự động, ĐH SPKT, 1998. 2. Nguyễn Thị Phương Hà, Điều khiển tự động, NXB KHKT, 1996. 3. Phan Xuân Minh – Nguyễn Doãn Phước, Lý thuyết Điều khiển mờ, NXB KHKT, 1997. 4. Timothy J.Ross, Fuzzy Logic With Engineering Applications, McGraw-Hill, 1998. 5. Kazuo Tanaka, An Introduction to fuzzy logic for practical applications, Spinger, 1996 6. MatLab, The Student Edition of MatLab version 4 User’s Guide, Prentice Hall. 7. Charles L.Phillips and HTroy Nagle, JR, Digital Control System Analysis and Design, Prentice Hall, 1984.

Các file đính kèm theo tài liệu này:

  • docNghiên cứu điều khiển mờ Mô phỏng hệ thống điều khiển mờ bằng matlab.DOC