Categories
Fuzzy Controller

Fuzzy Proportional Derivative plus Integral – FPI+I

Điều khiển vi phân tỷ lệ mờ + tích phân

Điều khiển vi phân tỷ lệ mở + tích phân FPD+I

Điều khiển vi phân tỷ lệ mở + tích phân FPD+I (Fuzzy Proportiona Derivative plus Integral controller) sử dụng cả khâu vi phân và khâu tích phân như bộ điều khiển PID với tham vọng có thể hạn chế được độ vọt lò bằng khâu vì phản, rút ngắn thời gian tăng và triệt tiêu sai số xác lập băng khâu tích phản.

Bộ điều khiển FPD+I được xây dựng như sau:

Fuzzy Proportional Derivative plus Integral – FPI+I

Việc chọn lựa các khâu khuếch đại GE, GCE, GIE và GU cũng cần thoa mãn quan hệ và đảm bảo giới hạn hoạt động của ngõ vào của bộ điều khiển MISO cơ bản như các kiều cải thiện trước.

GE*GU = KP(*)

GCE/GE = TD(**)

GIE/GE = 1/TI(***)

Lưu ý: Trong quá trình tính thiết kế bộ điều khiển mờ FPD+I ta có thể thay đổi giá trị các khâu khuyếch đại được thêm vào để tinh chỉnh bộ điều khiển. Nhằm đạt được kết quả và chất lượng điều khiển tốt nhất chứ không nhất thiết phải khô cứng tuân theo biểu thức (*)(**)(***). Tuy nhiên, giá trị tín hiệu ngõ vào sau khi đi qua các khâu này phải có biên độ nằm trong giới hạn của bộ điều khiển.

Cải thiện bộ điều khiển mờ MISO cơ bản

Tương tự, để đánh giá hiệu quả của kỹ thuật cải tiến điều khiển FPD+I chúng ta tiến hành kiêm chứng trên bộ điều khiển MISO đã được dựng Ở Chapter M. Đến đây ta có thấy bộ điều khiển FPD+I có đủ 3 thành phần tỷ lệ, tích phân và vi phân nên ta tiền hành tính toán để chọn lựa các khâu khuếch đại GE, GCE, GIE và GU dựa theo tham số của bộ điều khiển PID đã được thiết lập ở Chapter. Ngoài ra, ta có thể dùng phương pháp thử sai để tìm bộ thông số thích hợp cho hệ thống bằng mô hình trên Simulink.

Mô hình bộ điều khiển MISO cơ bản như sau:

Mô hình bộ điều khiển MISO cơ bản
Thông số mô hình động cơ DC
Đáp ứng ngõ ra của bộ điều khiển mờ MISO cơ bản

Sau nhiều lần kiểm chứng bằng phương pháp thử sai, ta chọn được GE = GU = 1 do bộ điều khiển mờ MISO cơ bản đã cho đáp ứng khá tốt. Các GCE = 0.05GIE = 0.005 để cải thiện thời gian xác lập cho hệ thống.

Mô hình điều khiển vi phân tỷ lệ mở + tích phân
Đáp ứng ngõ ra của bộ điều khiển mờ FPD+I

So sánh kết quả trên

So sánh kết quả trước và sau khi cải thiện

Ta thấy bộ điều khiển FPD+I cho đáp ứng rất tốt với thời gian tăng được cải thiện, sai số xác lập bị mệt tiêu và không xuất hiện vọt lố. Ngoài ra, nếu so sánh kết quả mô phỏng trên, ta thấy kỹ thuật cải thiện bằng điều khiển mờ FPD+I hoàn toàn tương đương với bộ điều khiển PID. Các kết quả mô phỏng cho phép ta khẳng định kỹ thuật điều khiển FPD+I có thể được sử dụng để cải thiện bộ điều khiển mờ MISO cơ bản với chất lượng đạt yêu cầu.

Categories
Fuzzy Controller

Fuzzy Proportional Integral – FPI

Điều khiển tích phân tỷ lệ mờ FPI

Mô hình điều khiển tích phân tỷ lệ mờ FPI

Hiện vẫn tồn tại nhiều ý kiến trái chiều giữa các nhóm nghiên cứu về kỹ thuật điều khiển tích phân tỷ lệ mờ FPI (Fuzzy Proportional Integral controller). Tuy nhiên, thực tế kiểm chứng cho thấy kỹ thuật này vẫn có thể áp dụng được cho mục tiêu giảm sai số xác lập và rút ngắn thời gian tăng của đáp ứng. Nên ở Chapter này chúng ta sẽ củng đánh giá xem việc sử dụng nó liệu có hiệu quả.

Bộ điều khiển tích phân tỷ lệ mờ FPI được xây dựng dựa trên bộ điều khiển mờ MISO cơ bản, bằng cách thêm các khâu GE, GIE và GU tương tứng tại 2 ngõ vào và ngõ ra của bộ điều khiển MISO. Đồng thời, khâu vi phân ở ngõ vào thứ hai của bộ điều khiển MISO cơ bản được thay bằng khâu tích phân. Việc chọn lựa giá trị của GE, GIE và GU cần lưu ý:

– Thỏa mãn quan hệ:

GE*GU = KP(*)

GIE/GE = 1/TI(**)

Như bộ điều khiển tích phân tỷ lệ (PI) quen thuộc, với TI là thời hằng tích phân.

– Giá trị khâu khuếch đại GE và GIE cần được chọn lựa sao cho tín hiệu e và ie đi qua 2 khâu này phải có biên độ nằm trong giới hạn hoạt động của 2 ngõ vào của bộ điều khiển mờ MISO.

Fuzzy Proportional Integral – FPI

Lưu ý: Trong quá trình tính thiết kế bộ điều khiển mờ FPI ta có thể thay đổi giá trị các khâu khuyếch đại được thêm vào để tinh chỉnh bộ điều khiển. Nhằm đạt được kết quả và chất lượng điều khiển tốt nhất chứ không nhất thiết phải khô cứng tuân theo biểu thức (*) và (**). Tuy nhiên, giá trị tín hiệu e và ie sau khi đi qua 2 khâu này phải có biên độ nằm trong giới hạn của bộ điều khiển.

Cải thiện bộ điều khiển mờ MISO cơ bản

Để đánh giá hiệu quả của kỹ thuật cải tiến điều khiển mờ FPI, chúng ta kiểm chứng trên bộ điều khiển MISO đã được thiết kế ở Chapter M như sau:

Mô hình bộ điều khiển MISO cơ bản
Thông số mô hình động cơ DC
Đáp ứng ngõ ra của bộ điều khiển mờ MISO cơ bản

Bộ điều khiển mờ FPI có được bằng cách thêm các khâu khuếch đại GE = 1, GIE=0.005GU = 1 tương ứng tại 2 ngõ vào và ngõ ra của bộ điều khiển MISO, đồng thời thay khâu vi phân thành khâu tích phân.

Mô hình điều khiển tích phân tỷ lệ mờ FPI

Sau đó, tiến hành mô phỏng theo sơ đồ trên ta thu được đáp ứng như sau:

Đáp ứng ngõ ra của bộ điều khiển mờ FPI

So sánh kết quả trên:

So sánh kết quả trước và sau khi cải thiện

Ta thấy bộ điều khiển tích phân tỷ lệ mờ FPI cho đáp ứng với thời gian tăng tốt hơn và hạn chế sai số xác lập. Kỹ thuật điều khiển FPI có thể sử dụng để cải thiện được bộ điều khiển mở MISO cơ bản. Tuy nhiên, quan sát đáp ứng ta thấy có sự xuất hiện vọt lỗ nhẹ, có thể chấp nhận được. Nhưng đây cũng điểm hạn chế của kỹ thuật cải tiến này, vì khó có thể triệt tiêu triệt để được sự vọt lố.

Categories
Fuzzy Controller

Fuzzy Proportional Derivetive – FPD

Điều khiển vi phân tỷ lệ mờ FPD

Mô hình điều khiển vi phân tỷ lệ mờ FPD

Bộ điều khiển vi phân tỷ lệ mờ FPD (Fuzzy Proportional Derivative controller) được xây dựng dựa trên bộ điều khiển mờ MISO cơ bản, bằng cách thêm các khâu GE, GCE và GU tương tứng tại 2 ngõ vào và ngõ ra của bộ điều khiển MISO. Việc chọn lựa giá t của GE, GCE và GU cần lưu ý:

– Thỏa mãn quan hệ sau:

GE*GU = KP (*)

GCE/GE = TD(**)

Như bộ điều khiển vi phân tỷ lệ (PD) quen thuộc, với TD là thời hằng vi phân.

– Giá trị khâu khuếch đại GE và GCE cần được chọn lựa sao cho tín hiệu e và de đi qua 2 khâu này phải có biên độ nằm trong giới hạn hoạt động của 2 ngõ vào của bộ điều khiển mờ MISO.

Fuzzy Proportional Derivetive – FPD

Lưu ý: Trong quá trình tính thiết kế bộ điều khiển mờ FPD ta có thể thay đổi giá trị các khâu khuyếch đại được thêm vào để tinh chỉnh bộ điều khiển. Nhằm đạt được kết quả và chất lượng điều khiển tốt nhất chứ không nhất thiết phải khô cứng tuân theo biểu thức (*)(**). Tuy nhiên, giá trị tín hiệu e và de sau khi đi qua 2 khâu này phải có biên độ nằm trong giới hạn của bộ điều khiển.

Cải thiện bộ điều khiển mờ MISO cơ bản

Chapter M ta đã thiết kế được bộ điều khiển mờ MISO cho mô hình động cơ như sau:

Mô hình bộ điều khiển MISO cơ bản
Mô hình động cơ DC
Đáp ứng ngõ ra của bộ điều khiển MISO cơ bản

Để cải thiện bộ điều khiển mờ MISO trên, ta sẽ tiến hành thêm các khâu khuyếch đại GE = GU = 1, do bộ điều khiển MISO mà chúng ta đã thiết kế cho đáp ứng khá tốt. Và GCE = 0.03 để cải thiện thời gian xác lập cho hệ thống, ta được mô hình như sau:

Mô hình điều khiển vi phân tỷ lệ mờ FPD
Đáp ứng ngõ ra của bộ điều khiển mờ FPD

So sánh kết quả đáp ứng trước và sau khi cải thiện:

So sánh kết quả trước và sau khi cải thiện

Ta thấy bộ điều khiển vi phân tỷ lệ mờ FPD được thực hiện từ việc cải tiến bộ điều khiển mờ MISO cơ bản đã cho kết quả điều khiển tốt hơn với thời gian xác lập (settling time) giảm đi đáng kể từ 2s xuống còn 1s.

Tuy nhiên, hạn chế của kỹ thuật cải tiến điều khiển vi phân tỷ lệ mờ FPD là đáp ứng chậm. Các ứng dụng không đòi hỏi đáp ứng nhanh như điều khiển tốc độ động cơ có thể chấp nhận được. Nhưng các đối tượng biến đổi nhanh như hệ con lắc ngược cần ngược, thì kỹ thuật cải tiến này khó có thể thỏa mãn, khi đó, đòi hỏi phải tiến hành kỹ thuật hiệu chỉnh khác.

Ngoài ra, khi bộ điều khiển mờ MISO cơ bản đã cho đáp ứng khá tốt thì việc cải thiện đôi lúc sẽ không có hiệu quả, thậm chí sẽ làm cho bộ điều khiển hoạt động tệ hơn. Như trường hợp trên nếu ta chọn GU>1 thì sẽ xuất hiện sai số. Do vậy không phải lúc nào cải thiện bộ điều khiển mờ cũng cho kết quả như mong muốn.

Categories
Fuzzy Controller

Fuzzy Proportional – FP

Fuzzy Proportional Control System

Khi bộ điều khiển mờ SISO đã thiết kế không đáp ứng được yêu cầu như tồn tại sai số xác lập lớn, thời gian quá độ lớn… Ta có thể tiến hành cải thiện bộ điều khiển bằng cách thêm 2 khẩu khuếch đại có độ lợi GE và GU, tương ứng tại ngõ vào và ngõ ra của bộ điều khiển. Việc chọn lại các giá trị của 2 khâu khuếch đại này nếu thỏa:

GE*GU = Kp(*)

Thì tương đương với khẩu tỷ lệ quen thuộc, khi đó ta được bộ điều khiển tỷ lệ mờ FP (Fuzzy Proportional controller).

Nguyên tắc điều khiển tỷ lệ mờ FP – Fuzzy Proportional Controller

Lưu ý rằng, ở giai đoạn mờ hóa ngõ vào e của bộ điều khiển mờ, giá trị vật lý của e nằm trong giới hạn [emin­, emax](Xem Chapter L). Do đó, khi chọn giá trị GE cần đảm bảo sao cho khi sai biệt e đi qua khâu khuếch đại GE để thu được giá trị E phải nằm trong giới hạn này, tức phải thỏa mản:

E = e*GE thuộc [emin­, emax](**)

Như vậy, việc thêm khâu GE thực chất là việc chuẩn hóa biên độ tín hiệu e về khoảng giới hạn hoạt động của ngõ vào của bộ điều khiển. Sau khi đã chọn được GE thì việc chọn GU trở nên đơn giản, chỉ là giá trị KP/GE.

Sơ đồ hệ thống điều khiển tỷ lệ mờ FP

Lưu ý: Trong quá trình tính thiết kế bộ điều khiển mờ FP ta có thể thay đổi giá trị các khâu khuyếch đại được thêm vào để tinh chỉnh bộ điều khiển. Nhằm đạt được kết quả và chất lượng điều khiển tốt nhất chứ không nhất thiết phải khô cứng tuân theo biểu thức (*). Tuy nhiên, tín hiệu ngõ vào e sau khi đi qua khâu khuếch đại GE phải có biên độ nằm trong giới hạn của bộ điều khiển.

Cải thiện bộ điều khiển mờ SISO

Từ Chapter L, ta đã thiết kế được bộ điều khiển mờ SISO cho mô hình động cơ DC. Ở Chapter này ta sẽ tiến hành thay đổi thông số mô hình động cơ để thấy được sự khác nhau sau khi cải thiện đáp ứng ngõ ra của bộ điều khiển. Ta sẽ thay đổi thông số mô hình như sau:

Thông số mô hình động cơ DC
Hệ thống điều khiển mờ SISO
Bộ điều khiển mờ SISO
Đáp ứng ngõ ra với bộ điều khiển mờ SISO

Như vậy, ta dễ thấy khi thông số mô hình thay đổi thì đáp ứng của ngõ ra sẽ không như mong muốn. Thay vì thiết kế lại bộ điều khiển, ta sẽ sử dụng mô hình như sau để tiến hành cải thiện bộ điều khiển SISO trên bằng cách tiến hành thêm hai khâu khuếch đại GE = 0.9GU = 0.75:

Sơ đồ hệ thống điều khiển tỷ lệ mờ FP cải thiện bộ điều khiển SISO

Sau khi tiến hành chạy mô phỏng, ta sẽ thu được đáp ứng ngõ ra như sau:

Đáp ứng ngõ ra của hệ thống điều khiển tỷ lệ mờ FP

So sánh đáp ứng thu được:

Đáp ứng của hệ thống trước và sau khi cải thiện

Ta thấy bộ điều khiển tỷ lệ mờ FP được thực hiện từ việc cải tiến bộ điều khiển mờ SISO cơ bản đã cho kết quả điều khiển tốt hơn, cụ thể là rút ngắn thời gian tăng (rise time) và giảm được vọt lố của hệ thống.

Tuy nhiên, hạn chế của kỹ thuật cải tiến này là không thể triệt tiêu được độ vọt lố (overshoot) của đáp ứng. Trong chừng mực nào đó, nếu đáp ứng thỏa tiêu chuẩn 2% hay 5% vọt lỗ thì bộ điều khiển có thể chấp nhận được. Ngược lại, nếu yêu cầu chất lượng khắt khe hơn, thì kỹ thuật cải tiến dạng điều khiển mờ tỷ lệ khó có thể thỏa mãn, khi đó, đòi hỏi phải tiến hành kỹ thuật hiệu chỉnh khác. 

Cuối cùng, khi bộ điều khiển mờ SISO cơ bản đã cho đáp ứng khá tốt thì việc cải thiện đôi lúc sẽ không có hiệu quả, thậm chí sẽ làm cho bộ điều khiển hoạt động tệ hơn. Như trường hợp trên nếu ta chọn GU>1 thì sẽ xuất hiện sai số. Do vậy không phải lúc nào cải thiện bộ điều khiển mờ cũng cho kết quả như mong muốn.

Categories
Fuzzy Controller

Ameliorate Fuzzy Controller

Cải thiện bộ điều khiển mờ

Qúa trình thiết kế hệ thống điều khiển mờ không nhất thiết phải biết trước mô hình toán mà chủ yếu dựa vào đáp ứng động học thông qua các biến vào của đối tượng. Các biến này sẽ được đặc ta bằng các biến ngôn ngữ và bộ luật điều khiển thích hợp được xây dựng dựa trên các biến ngôn ngữ này. Trong nhiều trường hợp khả năng nhận dạng mô hình của đối tượng là rất khó khăn, đôi khi không thể thực hiện được. Vì thế, việc áp dụng kỹ thuật điều khiển mờ là một trong những lựa chọn khả dĩ.

Tuy nhiên, ở một số trường hợp, bộ điều khiển mờ cơ bản khó có thể triệt tiêu sai số xác lập của đáp ứng. Ngoài ra, khi tham số của đối tượng điều khiển thay đổi nhẹ, bộ điều khiển mờ cơ bản có thể không còn đáp ứng được yêu cầu, đòi hỏi phải tiến hành hiệu chỉnh lại thiết kế. Để khắc phục các hạn chế này, một số kỹ thuật cải thiện chất lượng bộ điều khiển mờ đã được nghiên cứu và đề xuất. Các kỹ thuật này đã được phát triển khá xa, chẳng hạn dùng các giải thuật tối ưu để hiệu chỉnh các tập mờ ở khâu mờ hóa hay tự động điều chính bộ luật điều khiển…

Trong Chapter này, chúng ta không đi vào các kỹ thuật cải thiện phức tạp mà chỉ tập trung vào một số kỹ thuật đơn giản, chỉ cho phép hiệu chỉnh với tầm hoạt động thay đổi tương đối hẹp. Do vậy giải pháp thuận lớn nhất là giữ nguyên bộ điều khiển mờ cơ bản đã thiết kế và chỉ tăng cường các thành phần cần thiết bên ngoài bộ điều khiển. Đó là lý do mà Bộ Điều khiển Mờ Động xuất hiện.

Bộ điều khiển mờ động

Trước khi tìm hiểu, ta sẽ nhắc lại một số kiến thức về bộ điều khiển PID, do các khâu trong bộ điều khiển mờ động sẽ được cập nhật từ các thông số KP, KI, KD :

Hệ thống điều khiển PID dạng khối
PID cho mô hình động cơ DC
Đáp ứng ngõ ra của hệ thống

Bộ Điều khiển mờ động là bộ điều khiển mờ được xây dựng nên từ các bộ điều khiển mờ cơ bản mà đầu vào có sự tham gia của các trạng thái động của đối tượng như vận tốc, gia tốc, dạo hàm của gia tốc… Ví dụ đối với hệ điều khiển theo sai lệch thì đầu vào của bộ điều khiển mờ ngoài tín hiệu sai lệch e theo thời gian còn có các đạo hàm của sai lệch giúp cho bộ điều khiển phản ứng kịp thời với các biến động đột xuất của đối tượng.

Các bộ điều khiển thường được sử dụng hiện bao gồm:

+ Điều khiển tỷ lệ mờ – Fuzzy Proportional controller (FP).

Fuzzy Proportional controller (FP)

+ Điều khiển vi phân tỷ lệ mờ – Fuzzy Proportional Derivative controller (FPD).

Fuzzy Proportional Derivative controller (FPD)

+ Điều khiển tích phân tỷ lệ mờ – Fuzzy Proportional Integral controller (FPI).

Fuzzy Proportional Integral controller (FPI)

+ Điều khiển mờ tăng cường – Fuzzy Incremental Controller (FInc).

Fuzzy Incremental Controller (FInc)

+ Điều khiển vi phân tỷ lệ mờ + tích phân – Fuzzy Proportional Derivative plus Integral (FPD+I).

Fuzzy Proportional Derivative plus Integral (FPD+I)

Đánh giá

Ưu điểm của các kỹ thuật này là không can thiệp vào việc hiệu chính lại thiết kế bộ điều khiển mờ cơ bản, mà chỉ tăng cường các khẩu cần thiết bên ngoài. Tuy nhiên, hạn chế của các kỹ thuật này là tầm điều chỉnh không lớn. Thực tế cho thấy, trong nhiều trường hợp cần phải thiết kế lại bộ điều khiển mở cơ bản mới có thể đạt được chất lượng điều khiển như mong muốn.

Tuy nhiên mỗi kỹ thuật điều khiển đều có các ưu và nhược điểm riêng được tổng hợp như sau:

Tên bộ điều khiểnKý hiệuƯu điểmNhược điểm
Tỷ lệ mờFPThiết kế đơn giản.Khó khắc phục được vọt lố và sai số xác lập.
Vi phân mờFPDÍt xảy ra vọt lố.Dễ bị nhiễu và lỗi do gai đạo hàm*.
Tích phân mờFPITriệt tiêu được sai số xác lập.Khó khắc phục được vọt lố, dẽ bị bảo hòa tích phân**.
Mờ tăng cườngFIncTriệt tiêu được sai số xác lập.Đáp ứng khá chậm.
Vi phân mờ + Tích phânFPD+ITất cả các ưu điểm trên.Dễ bị bảo hòa tích phân và lỗi do gai đạo hàm.

*Derivative kick: Khi sai biệt e thay đổi đột ngột, đạo hàm de phát sinh gai hẹp, biên độ lớn, dễ gây lỗi cho bộ điều khiển.

**Windup: Khi sai biệt e = 0, ngõ ra u của bộ điều khiển vẫn tiếp tục tăng do sự tích lũy của các thành phần tích phân, dẫn đến đáp ứng sai.

Tùy theo yêu cầu cụ thể của từng hệ thống mà người thiết kế có thể lựa chọn các phương thức trên để cải thiện bộ điều khiển mờ một cách phù hợp và hiệu quả. Ở các Chapter tiếp theo chúng ta sẽ đi vào chi tiết cách sử dụng và thông số của từng kỹ thuật điều khiển trên.

Categories
Fuzzy Controller

MISO for DC Motor

Chúng ta đã tìm hiểu chi tiết cách thiết kế bộ điều khiển mờ SISO ở Chapter L. Tiếp theo ta sẽ tìm hiểu cách thiết kế bộ điều khiển mờ MISO thông qua yêu cầu tương tự như Chapter trước:

“Hãy thiết kế và mô phỏng bộ điều khiển mờ MISO cho đối tượng động mô hình cơ DC để ổn định tốc độ động cơ tại 2 rad/s. Trong đó, các tham số của động cơ DC như sau: Mô-men quán tính J = 0.01 (kg.m2/s2); hệ số ma sát b = 0.1 (Nms); điện cảm cuộn dây L = 1 (H); điện trở cuộn dây R = 0.5(W); hằng số sức điện động K = 0.01 (Nm/Amp).”

Sơ đồ điều khiển mờ MISO cho DC Motor trên Simulink.

Mô tả hàm truyền của động cơ DC

Đối tượng điều khiển là động cơ DC được mô tả bằng cách sử dụng khối hàm truyền trong thư viện Simulink. Đa thức tử số và mẫu số của khối “Transfer Function” lần lượt là numeratordenominator, được nhập thông qua Script file như sau:

Script mô tả thông số mô hình động cơ DC.
Kết quả khi chạy Script file trên.

Thiết kế bộ điều khiển mờ MISO

Bộ điều khiển mờ MISO.

Bước 1: Xác định giới hạn các biến ngôn ngữ vào/ra của bộ điều khiển mờ

Tiến hành xác định giới hạn của các biến ngôn ngữ vào ra của bộ điều khiển mờ. Ta xét giá trị tham khảo yref = 2 (rad/s), ta có ngõ vào e, de và ngõ ra u. Giới hạn ngõ vào e sẽ nằm trong khoảng [emin; emax], de thuộc khoảng [demin; demax] và ngõ ra u thuộc khoảng [umax; u­min].

Giới hạn ngõ vào e và ngõ ra u

Khoảng giá trị sẽ được giữ nguyên như mô hình điều khiển mô hình động cơ DC bằng bộ điều khiển mờ SISO ở Chapter L. Nếu bạn chưa xem thì nên xem Chapter L để hiểu rõ quá trình xác định khoảng giá trị của hai biến ngôn ngữ này. Ngõ vào e sẽ thuộc khoảng [-2; 2] và ngõ ra u sẽ thuộc khoảng [0; 40].

Giới hạn giá trị ngõ vào de

Ngõ vào de là đạo hàm của ngõ vào e hay là tốc độ biến thiên của e. Đại lượng này thường biến biến thiên chậm, theo kinh nghiệm ta nên đặt trước giới hạn cho de là [-1; 1]. Sau đó tiến hành các bước kế tiếp, khi chất lượng điều khiển không đúng với yêu cầu thì ta sẽ điều chỉnh khoảng giá trị này.

Như vậy, sau khi kết thúc Bước 1 ta đã xác địnhg được e thuộc khoảng [-2; 2], de thuộc khoảng [-1; 1]u thuộc khoảng [0; 40].

Bước 2: Mờ hóa các biến ngôn ngữ vào/ra

Trong bước này, chúng ta sẽ biểu diễn các biến ngôn ngữ vào/ra của bộ điểu khiển mờ (e, de và u) bằng các giá trị ngôn ngữ. Mỗi biến ngôn ngữ, thường được thể hiện bằng 5 hàm liên thuộc. Đối với bài toán điều khiển mờ này, ta mờ hóa: ngõ vào e bằng các giá trị ngôn ngữ {RN-rất nhỏ, N-nhỏ, K-không, L-lớn, RL-rất lớn}, ngõ vào de bằng các các trị ngôn ngữ {RX-rất xuống, X-xuống, N-ngang, L-lên, RL-rất lên} và ngõ ra u thành các gia trị ngôn ngữ {RC-rất chậm, C-chậm, TB-trung bình, N-nhanh, RN-rất nhanh}hay còn được biểu diễn như sau:

Mờ hóa các biến ngôn ngữ trên MATLAB:

Mờ hóa ngõ vào e bằng 5 tập mờ dạng tam giác.
Mờ hóa ngõ vào de bằng 5 tập mờ dạng tam giác.
Mờ hóa ngõ ra u bằng 5 tập mờ dạng tam giác.

Bước 3: Lập luật điều khiển

Thông thường, khi xây dựng bảng luật mờ ta lưu ý 2 điểm quan trọng sau:

Thứ nhất, cần lập luận để xác định giá trị ngôn ngữ cho điểm Cực *Cực ** trên Bảng Luật Mờ. Từ đó, ta tiến hành sắp xếp các giá trị ngôn ngữ còn lại trên đường chéo chính của bảng luật, theo khuynh hướng tăng dần hay giảm dần từ Cực * đến Cực ** tương ứng với sự biến thiên của các tập mờ của ngõ ra u.

Ví dụ, nếu Cực * = “RC”Cực ** = “RN” thì theo chiều từ Cực * đến Cực** các ô còn lại trên đường chéo chính của bảng luật sẽ lần lượt là “C”, “TB”, “N”. Các luật điều khiển thường đối xứng qua đường chéo của bảng luật như sau:

Từ sơ đồ điều khiển vòng kín, ta hình dung được đáp ứng của hệ thống có thể biến thiên như hình dưới. Dựa theo quá trỉnh biến thiên của e và de ta sẽ xác định điểm Cực * và Cực ** của bảng luật như sau:

Ngõ vào thứ nhất của bộ điều khiển là e = yref – y, biến thiên theo thời gian. Ta xét 2 trưởng hợp sau:

Trường hợp 1: Khi e > 0 là thời điểm mà đáp ứng y còn thấp hơn giá trị tham khảo yref, lúc đó đòi hỏi bộ điều khiển phải cung cấp tín hiệu điều khiển u đủ lớn để lại đáp ứng ở nhanh đạt được trị đặt.

Trường hợp 2: Khi e < 0 là thời điểm đáp ứng đã vọt lố, lúc này bộ điều khiển cần giảm u để đáp ứng u chậm lại và quay về trị đặt yref.

Ngõ vào thứ hai của bộ điều khiển mờ là de = de/dt. Ta xét khi de < 0 chứng tỏ đường cong e đang đi xuống. Ngược lại, khi de > 0 chứng tỏ đường cong e đang đi lên. Việc bổ sung ngõ vào de giúp tinh chỉnh đáp ứng của hệ thống, khi đáp ứng này biến thiên xung quanh giá trị tham khảo.

Minh họa mối quan hệ giữa e, de và y bằng đồ thị. Cặp mũi tên màu đỏ chỉ Cực *, và cặp mũi tên màu xanh chỉ Cực **.

Xác định điểm Cực *

Giá trị ngôn ngữ tại Cực * tương ứng với luật điều khiển If (e is RN) AND (de is RX) Then (u is Cực *). Chìa khóa xác định Cực * như sau:

+ e < 0 | y > yref , y đã vọt lố, cần giảm u đề y quay về giá trị đặt yref. Do vậy u phải giảm.

 + de < 0 | e đang giảm xuống và y đang tăng lên, từ nhận xét ở trên ta đã biết y đã vọt lố mà lại tăng lên thì ta cần giảm mạnh u để y nhanh trở về với yref. Do vậy Cực * = “RC”.

Xác định điểm Cực **

Giá trị ngôn ngữ tại Cực ** tương ứng với luật điều khiển If (e is RL) AND (de is RL) Then (u is Cực **). Chìa khóa xác định Cực ** như sau:

e > 0 | y < yref , y đang thấp hơn yref, ta cần tăng u để y nhanh đạt tới giá trị đặt yref. Do vậy u phải tăng.

de > 0 | e đang tăng lên và y đang giảm xuống, từ nhận xét ở trên ta đã biết y đang thấp hơn yref mà lại đang giảm xuống thì ta cần tăng mạnh u để y nhanh đạt giá trị yref. Do vậy Cực ** = “RN”.

Từ đó, ta có được bảng luật mờ cho bộ điều khiển như sau:

  • Khi e = RN, de = RX => u­­ thì u = RC (*).
  • Khi e = RL, de = RL => u thì u = RN(**).
Xây dựng luật mờ trên MATLAB.

Như vậy ở bước này ta đã thiết kế bộ điều khiển mờ xong. Tiếp theo ta cần xuất bộ điều khiển sang Workspace hoặc file của MATLAB để tiến hành mô phỏng kiểm chứng và sử dụng. Ta chọn File > Export > To Workspace/File và nhập tên của bộ điều khiển ví dụ như “MISO” như trên để tiến hành mô phỏng. Dùng lệnh readfis() để mở bộ điều khiển vừa thiết kế từ file.

Mở bộ điều khiển mờ bằng lệnh Readfis.
Xem luật mờ của bộ điều khiển trên thông qua lệnh Showrule.

Bước 4: Chọn cơ chế suy diễn mờ và phương pháp giải mờ

Ta giữ cơ chế mặt định của MATLAB là suy diễn mờ MAX-MIN và cài đặt mặt định của Matlab là giải mờ bằng phương pháp điểm trọng tâm. Ngoài ra ta vẫn có thể chọn phương pháp giải mờ bằng độ phụ thuộc cực đại cận phải, cận trái hoặc trung bình. Dĩ nhiên, sau khi đã thành thạo và chủ động được việc thiết kế ta có thể sử dụng các cơ chế suy diễn và các phương pháp giải mờ khác để kiểm chứng.

Cửa sổ Rule Viewer tính toán giá trị ngõ ra.
Quan hệ vào ra được thể hiện qua mặt đặc tính.

Bước 5: Mô phỏng kiểm chứng và tối ưu hóa hệ thống

Ở bước này ta sẽ tiến hành mô phỏng bộ điều khiển vừa thiết kế trong Simulink. Trở lại với sơ đồ “Cybernetics_MISO_DCmotor”. Sau khi chạy Script file để cập nhật các thông số cho mô hình động cơ DC qua khối Transfer Function như sau:

Nhập thông số cho khối Transfer Fcn.

Sau đó sử dụng bộ điều khiển vừa thiết kế bằng cách nhập tên của bộ điều khiển vào khối Fuzzy Logic Controller để sử dụng.

Nhập tên bộ điều khiển cho khối Fuzzy.

Cuối cùng tiến hành chạy mô phỏng hệ thống trên, ta thu được đồ thị biểu diễn đáp ứng vào ra của hệ thống như sau:

Đáp ứng ngõ ra của động cơ khi được điều khiển.

Như vậy ta đã hoàn thành việc xây dựng bộ điều khiển mờ cho mô hình động cơ DC trên MATLAB Simulink. Phần trình bày trên chỉ thỏa mãn việc điều khiển tốc độ động cơ ở một chiều. Các bạn có thể thay đổi thông số của mô hình động cơ DC và thiết kế lại bộ điều khiển trên để rèn luyện khả năng thiết kế bộ điều khiển trên MATLAB và mô phỏng trên Simulink.

Theo Chapter I thì Bước 5 ngoài mô phỏng kiểm chứng, ta còn bước cải thiện hệ thống. Đầy là một bước tương đối khó khăn ở giai đoạn này nên việc cải thiện bộ điều khiển mờ nói chung sẽ được đề cập trong các Chapter tiếp theo.

Nếu có thắc mắc hay cần trao đổi thêm mình sẽ hỗ trợ các bạn. Cứ để lại bình luận bên dưới !!!

Categories
Fuzzy Controller

SISO for DC Motor

Ở bài viết trước chúng ta đã tìm hiểu về công cụ Fuzzy Logic Designer trong MATLAB. Để hiểu rõ hơn về cách sử dụng nó, ở bài viết này chúng ta sẽ tìm hiểu quá trình thiết kế bộ điều khiển mờ cho mô hình động cơ DC trên MATLAB – Simulink với yêu cầu như sau:

” Hãy thiết kế và mô phỏng bộ điều khiển mờ SISO cho đối tượng động mô hình cơ DC để ổn định tốc độ động cơ tại 2 rad/s. Trong đó, các tham số của động cơ DC như sau: Mô-men quán tính J = 0.01 (kg.m2/s2); hệ số ma sát b = 0.1 (Nms); điện cảm cuộn dây L = 1 (H); điện trở cuộn dây R = 0.5(W); hằng số sức điện động K = 0.01 (Nm/Amp).”

Mô tả hàm truyền của động cơ DC

Đối tượng điều khiển là động cơ DC được mô tả bằng cách sử dụng khối hàm truyền trong thư viện Simulink. Đa thức tử số và mẫu số của khối “Transfer Function” lần lượt là numeratordenominator, được nhập thông qua Script file như sau:

Script mô tả thông số mô hình của động cơ DC
Kết quả khi chạy file trên.

Thiết kế bộ điều khiển mờ

Ta sẽ dựa vào thứ tự các bước ở Chapter I Fuzzy Control System Designer để tiến hành thiết kế bộ điều khiển mờ. Ta có giá trị tốc độ động cơ mong muốn hay giá trị đặt là yref = 2 rad/s với sơ đồ như sau:

Mô hình Cybernetics_SISO_Dcmotor_Modeling trên Simulink

Bước 1 Khảo sát đối tượng

Tiến hành xác định giới hạn của các biến ngôn ngữ vào ra của bộ điều khiển mờ. Bộ điều khiển mờ có các biến ngôn ngữ ngõ vào và ngõ ra lần lượt là e và u được mô tả như hình sau:

Hình ảnh giao diện bộ điều khiển SISO.

Tiếp theo ta cần xác định khoảng giới hạn giá trị của biến ngõ vào e nằm trong khoảng [emin , emax] và ngõ ra u nằm trong khoảng [umin , umax]. Nhiệm vụ chính của bước này là xác định các khoảng giá trị này.

Xác định giới hạn giá trị ngõ vào e

Từ sơ đồ điều khiển ta sẽ thấy e = yref – y và ta đã chọn tốc độ động cơ DC quanh giá trị yref = 2 rad/s. Nên mô hình động cơ ta thấy tốc độ động cơ y sẽ biến thiên từ ymin = 0 đến ymax = 2 (rad/s) và do ta đã chọn giá trị yref = 2 (rad/s) là giá trị đặt mong muốn. nên yref  cũng biến thiên từ yrefmin = 0 đến yrefmax = 2 (rad/s). Ta có:

emin = yrefmin – ymax =  0 – 2 = -2 (rad/s) là sai số nhỏ nhất giữa giá trị mong muốn yref và giá trị ngõ ra y của động cơ.

Ngược lại ta có:

emax = yrefmax – ymin =  2 – 0  = 2 (rad/s) là sai số lớn nhất giữa giá trị mong muốn yref và giá trị ngõ ra y của động cơ.

Do khi tốc độ động cơ ymin = 0 tức động cơ ngừng quay là lúc sai số giữa giá trị mong muốn yref và giá trị ngõ ra y là lớn nhất 2 rad/s. Từ đó ta giới hạn giá trị ngõ vào e thuộc khoảng [-2, 2].

Xác định giới hạn giá trị ngõ ra u

Việc xác định giới hạn ngõ ra u đòi hỏi ta phải khảo sát ngõ vào của đối tượng nhằm tìm được giá trị U của ngõ vào để tốc độ động cơ đạt được 2 (rad/s). Để thực hiện được điều này, ta tiến hành khảo sát đáp ứng vòng hở của động cơ thông qua mô hình Simulink như sau:

Mô hình Simulink khảo sát đáp ứng vòng hở của động cơ DC.

Ta thu được đáp ứng ngõ ra như sau:

Đáp ứng vòng hở của động cơ DC với ngõ vào 20 V.

Từ kết quả trên ta thấy, để ngõ ra của động cơ y đạt tốc độ 2 (rad/s) như ta đã chọn thì giá trị ngõ vào của động cơ umax = U = 20 (V). Như vậy, nếu muốn điều khiển động cơ quay một chiều thì điện áp ngõ vào u sẽ biến thiên từ 0 V (động cơ dừng) đến umax = 20 V (động cơ chạy đúng theo giá trị đặt).

Theo kinh nghiệm thiết kế, khi chọn phương pháp giải mờ điểm trọng tâm ở bước tiếp theo thì ta cần chọn giá trị umax lớn hơn giá trị tìm được lớn hơn giá trị U tìm được trước đó. Ở đây ta chọn umax = 2U, tức u thuộc khoảng [0, 40].

Sau khi kết thúc bước đầu tiên của quá trình thiết kế, ta đã xác định được giới hạn ngõ vào e nằm trong khoảng [-2, 2]. Giới hạn ngõ ra u nằm trong khoảng [0, 40]. Tuy nhiên, trong thực tế ta có thể tiến hành thay đổi các khoảng giá trị này như tăng hoặc giảm để có được chất lượng điều tốt nhất.

Bước 2 Mờ hoá các biển ngôn ngữ vào/ra

Trong bước này chúng ta cần xác định số lượng tập mờ và hình dạng các hàm liên thuộc cho mỗi biến ngôn ngữ ngõ vào e và ngõ ra u.

Ở bước này chúng ta sẽ tiến hành biểu diễn các biến ngôn ngữ cho ngõ vào e và ngõ ra u bằng các giá trị ngôn ngữ. Mỗi giá trị ngôn ngữ sẽ được biểu diễn bằng 1 hàm liên thuộc. Mỗi biến ngôn sẽ thường được biểu diễn bởi từ 3 đến 9 hàm liên thuộc. Với bài toán này, ta sẽ tiến hành mờ hóa ngõ vào e và u bằng 5 hàm liên thuộc dạng tam giác chia đều cho các khoảng giá trị đã xác định ở Bước 1. Mờ hóa ngõ vào e bằng các giá trị ngôn ngữ sau {RN – rất nhỏ, N – nhỏ, K – không, L – lớn, RL – rất lớn} và ngõ ra u {RC – rất chậm, C – chậm, TB – trung bình, N – nhanh, RN – rất nhanh} hay còn được viết như sau:

Mờ hóa ngõ vào e và ngõ ra u

Ở giai đoạn bắt đầu, ta nên chọn hàm liên thuộc dạng tam giác và chia đều các tập mờ trong miền giá trị đã được giới hạn ở Bước 1. Sau khi có nhiều kinh nghiệm hơn, chúng ta hoàn toàn có thể thay đổi kiểu hàm liên thuộc và dịch chuyển các tập mờ trong miền giá trị của biến ngôn ngữ, để thu được đáp ứng tốt nhất. Việc lựa chọn số lượng và hình dạng các hàm liên thuộc đều tùy thuộc vào kinh nghiệm của người thiết kế. Ngoài ra, chúng ta có thể thay đổi và thực hện lại bước này nhiều lần khi kết quả điều khiển chưa đạt yêu cầu. Tiến hành mờ hóa trên MATLAB và ta thu được kết quả sau:

Mờ hóa ngõ vào bằng 5 hàm liên thuộc hình tam giác. Range là khoảng giá trị xác định ở Bước 1.
Mờ hóa ngõ ra bằng 5 hàm liên thuộc hình tam giác. Range là khoảng giá trị xác định ở Bước 1.

Bước 3 Lập luật điều khiển

Đây là bước quan trọng và khó nhất trong quá trình thiết kế bộ diễn khiến mờ. Việc xây dựng luật điều khiển phụ thuộc vào kiến thức và kinh nghiệm vận hành hệ thống của các chuyên gia và người thiết kế. Đôi khi, luật điều khiển mà phải được hiệu chỉnh nhiều lần để thu được đáp ứng tốt nhất.

Từ sơ đồ điều khiển vòng kín ta thấy ngõ vào bộ điều khiển e = yref – y biến thiên theo thời gian. Ta xét 2 trường hợp sau:

Trường hợp 1: Ta xét e > 0, tức là thời điểm mà đáp ứng y còn thấp hơn giá trị tham khảo yref, lúc đó đòi hỏi bộ điều khiển phải cung cấp tín hiệu điều khiển u đủ lớn để lại đáp ứng nhanh đạt được trị yref.

Trường hợp 2: Ngược lại, khi e < 0 là thời điểm đáp ứng y của động cơ đã lớn hơn giá trị trị tham khảo yref. Khi đó hiện tượng vot lố đã xuất hiện, do vậy ta cần giảm giá trị u để tốc độ động cơ nhanh được ổn định ở giá trị tham khảo.

Ngoài ra, khi e = 0 tức hệ thống đã được ổn định đây là mục tiêu điều khiển nên ta không cần quan tâm đến trường hợp này.

Từ 2 trường hợp trên ta rút ra được nhận xét như sau:

+ Khi e < 0 | y > yref , y đã vọt lố do vậy cần giảm u để y quay về giá trị yref nên u cần giảm.

+ Khi e > 0 | y < yref , y thấp hơn yref do vậy cần tăng u để y nhanh đạt đến giá trị yref nên u cần tăng.

Từ 2 nhận xét trên ta sẽ lập luật điều khiển thông qua bảng sau:

Thứ tựLuật mờ
R1If e is RN then u is RC
R2If e is N then u is C
R3If e is K then u is TB
R4If e is L then u is N
R5If e is RL then u is RN

Các luật sẽ được hiểu như sau, ta lấy R1 làm ví dụ. If e is RN then u is RC tức nếu sai số e là Rất nhỏ (RN) thì ngõ ra u sẽ là Rất chậm (RC). Vì khi e là RN tức e < 0 ta xét trường hợp 2, ta cần phải giảm u ở ngõ ra nên u sẽ là RC để hệ thống nhanh được ổn định. Tương tự với các luật còn lại.

Quá trình này được tiến hành trên MATLAB như sau ta sẽ chọn giá trị e, chọn giá trị u và nhấn “Add rule” để thêm luật.

Cửa sổ thiết lập luật mờ.

Như vậy ở bước này ta đã thiết kế bộ điều khiển mờ xong. Tiếp theo ta cần xuất bộ điều khiển sang Workspace hoặc file của MATLAB để tiến hành mô phỏng kiểm chứng và sử dụng. Ta chọn File > Export > To Workspace và nhập tên của bộ điều khiển ví dụ như “Cybernetics_SISO_Theory” như trên để tiến hành mô phỏng.

Ngoài ra ta có thể chọn To File và nhập tên để lưu bộ điều khiển trong máy tính. Khi muốn mở một bộ điều khiển mờ dưới dạng file với phần mở rộng là .fis ta cần nhớ câu lệnh sau:

<Tên bộ điều khiển> = readfis(“<tên file của bộ điều khiển>”) như như hình sau:

Script mô tả thông số mô hình của động cơ DC
Xem luật mờ thông qua câu lệnh showrule().
Các giá trị trên Workspace.

Lưu ý khi có bất cứ điều chỉnh nào trong bộ điều khiển mờ ta cần thực hiện lại bước này để cập nhật tất cả thay đổi để chuyển sang các bước kế tiếp.

Bước 4 Chọn cơ chế suy diễn mờ và phương pháp giải mờ

Do ở giai đoạn mới bắt đầu, để dễ dàng sử dụng ta sẽ giữ cơ chế suy diễn mờ mặc định của MATLAB là cơ chế suy diễn mờ MAX-MIN. Tương tự ta cũng giữ mặc định giải mờ bằng phương pháp điểm trọng tâm. Dĩ nhiên, sau khi đã thành thạo và chủ động được việc thiết kế ta có thể sử dụng các cơ chế suy diễn và các phương pháp giải mờ khác để kiểm chứng.

Cửa sổ Rule Viewer hiển thị quan hệ giá trị vào ra.
Mặt đặc tính biểu thị quan hệ vào ra của bộ điều khiển.

Bước 5 Tối ưu hệ thống

Ở bước này ta sẽ tiến hành mô phỏng bộ điều khiển vừa thiết kế trong Simulink. Trở lại với sơ đồ “Cybernetics_SISO_Dcmotor_Modeling”. Trước hết ta sẽ chạy Script file Parameter.m ở Bước 3 để cập nhật các thông số cho mô hình động cơ DC được mô tả thông qua khối “Transfer Function” với tử số (numerator) và mẫu số (denominator) được cung cấp như sau.

Mô hình Cybernetics_SISO_Dcmotor_Modeling trên Simulink
Thiết lập thông số cho khối Transfer Fcn

Sau đó sử dụng bộ điều khiển vừa thiết kế bằng cách nhập tên của bộ điều khiển vào khối Fuzzy Logic Controller để sử dụng.

Nhập tên bộ điều khiển mờ được sử dụng vào khối Fuzzy Logic Controller

Cuối cùng tiến hành chạy mô phỏng hệ thống trên Simulink, ta thu được đồ thị biểu diễn đáp ứng vào ra của hệ thống như sau:

Đáp ứng ngõ ra y và giá trị đặt y_ref.

Như vậy ta đã hoàn thành việc xây dựng bộ điều khiển mờ cho mô hình động cơ DC trên MATLAB Simulink. Phần trình bày trên chỉ thỏa mãn việc điều khiển tốc độ động cơ ở một chiều. Ta có thể điều khiển cả 2 chiều của động cơ bằng cách thay đổi khoảng giá trị giới hạn ngõ ra u thành [-40, 40] và điều chỉnh luật mờ. Các bạn có thể xem như đây là một thử thách để các bạn tự tay thiết kế lại bộ điều khiển trên để có thể điều khiển 2 chiều của mô hình động cơ.

Theo Chapter I thì Bước 5 ngoài mô phỏng kiểm chứng, ta còn bước cải thiện hệ thống. Đầy là một bước tương đối khó khăn ở giai đoạn này nên việc cải thiện bộ điều khiển mờ nói chung sẽ được đề cập trong các Chapter tiếp theo.

Nếu có thắc mắc hay cần trao đổi thêm mình sẽ hỗ trợ các bạn. Cứ để lại bình luận bên dưới !!!

Categories
Fuzzy Controller

Fuzzy Logic Designer

Giới thiệu

Hộp công cụ Lôgic mờ (The Fuzzy Logic Toolbox) là tổ hợp các hàm được xây dựng trên nền Matlab giúp cho việc thiết kế, mô phỏng, kiểm tra và hiệu chỉnh bộ điều khiển mờ một cách dễ dàng. Để thiết kế bộ điều khiển mờ trong hộp công cụ này, ta có thể thực hiện thông qua dòng lệnh hoặc thông qua giao diện đồ hoạ. Trong Chapter này chỉ giới thiệu những thao tác cơ bản để thiết kế bộ điều khiển mờ thông qua giao diện đồ hoạ. Phần thiết kế thông qua dòng lệnh, ta có thể đọc trong phần “Fuzzy Logic Toolbox”củaMatlab: https://www.mathworks.com/products/fuzzy-logic.html

Trước khi vào nội dung chính chúng ta sẽ có một số lưu ý rằng máy tính của bạn phải cài đặt Matlab và mình đề xuất nên sử dụng các phiên bản từ 2015 trở đi. Các hình ảnh mình sử dụng bên dưới được lấy từ Matlab 2019a, các phiên bản cũ hơn sẽ có giao diện khác đi. Nhưng về chức năng và việc thiết kế vẫn vậy.

Để truy cập vào Fuzzy Logic Toolbox các bạn sẽ gõ lệnh “fuzzy”, Matlab có phân biệt chữ hoa và chữ thường. Sau đó giao diện “Fuzzy Logic Designer” sẽ xuất hiện.

Giao diện Fuzzy Logic Designer trong Matlab.

Chức năng

Hình 1.

Trong đó (Hình 1):

+ FIS Name: Cho biết tên của bộ điều khiển đang được xem hoặc đang thiết kế.

+ FIS Type: Cho biết nguyên tắc của bộ điều khiển đang được xem hoặc đang thiết kế.

Hình 2.

(Hình 2) Hiển thị tên và các tùy chọn cho các nguyên tắc xây dựng luật hợp thành và phương pháp giải mờ. Những tùy chọn dưới đây là các tùy chọn mặc định.

Hình 3.

(Hình 3) Hiển thị tên biến, loại biến (Input hay Output) và khoảng giá trị xác định của biến hiện thời.

Hình 4.

(Hình 4) Hiển thị các trạng thái của bộ điều khiển bao gồm số ngõ ra vào và số luật.

File

Cửa sổ File – Cung cấp các tùy chọn như sau:

+ New FIS…: Cho phép tạo mới một bộ điều khiển mờ theo nguyên tắc Mamdani (mặc định) hoặc nguyên tắc Sugeno.

+ Import: Được dùng để mở một bộ điều khiển mờ có sẵn, có thể được thêm từ Workspace của Matlab hoặc được thêm từ file (với phần mở rộng .fis).

+ Export: Sau khi thiết kế bộ điều khiển mờ, ta có thể chuyển bộ điều khiển vừa thiết kế sang Workspace để sử dụng hoặc lưu trữ dưới dạng file với phần mở rộng .fis.

Edit

Cửa sổ Edit – Cung cấp các tùy chọn cho phép thêm bớt các giá tri hay các biến Input hay Output của bộ điều khiển. Truy cập và chỉnh sửa các hàm liên thuộc và luật mờ.

View

Cửa sổ View – Cung cấp các tùy chọn cho phép xem mặt đặc tính (Surface) và luật mờ (Rule View).

Mặt đặc tính phi tuyến.
Cửa sổ Rule View.

Membership Funtions Enditor

Giao diện cửa sổ Membership Funtions Editor

Click vào biểu tượng Input/Output hoặc vào Edit >> Membership Funtions Editor. Cho phép điều chỉnh các thông số của các hàm liên thuộc ở ngõ ra và ngõ vào như:

+ Name: Tên của các hàm liên thuộc. Tên thường đặt theo các biến ngôn ngữ mà hàm liên thuộc biểu thị.

+ Params: Miền xác định của hàm liên thuộc.

+ Type: Tùy chọn hình dạng các hàm liên thuộc như: trimf, trapmf, gaussmf…

+ Range: Thay đổi miền xác định hay giới hạn các giá trị của biến ngôn ngữ.

+ Display Range: Miền giá trị được hiển thị trên Membership Function Plots.

Chọn Edit >> Add MFs hoặc Add Custom MF để thêm hàm liên thuộc. Chọn Remov Select MF để gỡ bỏ một hàm liên thuộc được chọn hoặc Remov All MFs để gỡ bỏ tất cả các hàm liên thuộc của biến được chọn.

Rule Editor

Để xây dựng luật mờ, ta vào Edit >> Rules trên màn hình. Sau mỗi lần soạn xong một luật ta ấn Add rule để xác nhận. Để thay đổi một luật hợp thành ta ấn Change rule. Để xoá một luật điều khiển ta chọn luật cần xóa và ấn Delete rules. Muốn quan sát mặt đặc tính động của các luật ta vào View >> View Rules, View >> Surface để xem mặt đặc tính của bộ điều khiển.

Sau khi thiết kế xong bộ điều khiển, ta cần đặt tên và lưu chúng bằng cách ấn File, chọn Export To Disk để lưu vào thư mục hoặc to Workspase để lưu vào vùng làm việc của Matlab.

Muốn mở một bộ điều khiển mờ đã lưu trên máy tính, ta chọn File >> Import >> Import from file hoặc Import from Workspace để mở bộ điều khiển từ Workspace của Matlab.

Ví dụ về một bộ điều khiển mờ DCmotor_SISO
Membership Function Editor ở ngõ vào e với 5 tập mờ dạng tam giác.
Categories
Fuzzy Controller

Fuzzy Control System Design

Fuzzy Control System Design

Theo bản chất của tín hiệu đưa vào bộ điều khiển ta phân ra bộ điều khiển mờ tĩnh và bộ điều khiển mờ động. Bộ điều khiển mờ tĩnh chỉ có khả năng xử lý các giá trị tín hiệu hiện thời, bộ điều khiển mờ động có sự tham gia của các giá trị đạo hàm hay tích phân của tín hiệu, chúng được ứng dụng cho các bài toán điều khiển động. Để 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ở tĩnh nhằm cung cấp cho bộ điều khiển các giá trị đạo hàm hay tích phân của tín hiệu. Cùng với những khâu động học bổ sung này, bộ điều khiển tĩnh sẽ trở thành bộ điều khiển mờ động. Sau đây ta sẽ tìm hiểu cách thiết kế bộ điều khiển mờ tĩnh, bộ điều khiển mờ động sẽ được đề cập ở các Chapter sau.

Bộ điều khiển mờ tĩnh SISO.
Điều khiển vi phân tỷ lệ mờ + tích phân FPD+I.

Thiết kế bộ điều khiển mờ tĩnh

Đ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 (tĩnh) phi tuyến bất kỳ. Bộ điều khiển mờ SISO với ngõ vào là sai biệt hay sai số e ở giữa tín hiệu mong muốn và đáp ứng của đối tượng hay tín hiệu ngõ ra được đo đạt thực tế, ngõ ra là tín hiệu điều khiển là u. Để thiết kế được các bộ điều khiển mờ SISO hay MISO và cho bộ điều khiển hoạt động một cách hoàn thiện ta cần thực hiện qua các bước cơ bản sau:

1- Khảo sát đối tượng: Xác định giới hạn các biến ngôn ngữ vào/ra của bộ điều khiển mờ. Từ đó định nghĩa tất cả các biến ngôn ngữ vào, ra và miền xác định của chúng. Trong bước này chúng ta cần chú ý một số đặc điểm cơ bản của đối tượng điều khiển như: Đối tượng biến đổi nhanh hay chậm? Có trễ hay không? Tính phi tuyến nhiều hay ít?… Đây là những thông tin rất quan trọng để quyết định miền xác định của các biến ngôn ngữ đầu vào, nhất là các biến động học (vận tốc, gia tốc,…). Đối với tín hiệu biến thiên nhanh cần chọn miền xác định của vận tốc và gia tốc lớn và ngược lại.

2- Mờ hoá các biển ngôn ngữ vào/ra: Trong bước này chúng ta cần xác định số lượng tập mờ và hình dạng các hàm liên thuộc cho mỗi biến ngôn ngữ. Số lượng các tập mờ cho mỗi biến ngôn ngữ được chọn tuỳ ý. Tuy nhiên nếu chọn ít quá thì việc điều chỉnh sẽ không mịn, chọn nhiều quá sẽ khó khăn khi cài đặt luật hợp thành, quá trình tính toán lâu, hệ thống để mất ổn định. Hình dạng các hàm liên thuộc có thể chọn hình tam giác, hình thang, hàm Gauss…

3- Xây dựng các luật điều khiển hay luật mờ (mệnh đề hợp thành): Đây là bước trọng nhất và khó khăn nhất trong quá trình thiết kế bộ điều khiển mờ. Việc xây dựng luật điều khiển phụ thuộc rất nhiều vào tri thức và kinh nghiệm vận hành hệ thống của các chuyên gia hay của người thiết kế. Hiện nay ta thường sử dụng một vài nguyên tắc xây dựng luật hợp thành đủ để hệ thống làm việc, sau đó mô phỏng và chỉnh định dần dần các luật hoặc áp dụng một số thuật toán tối ưu bộ điều khiển (Sẽ được trình bày ở các Chapter sau).

4- Chọn cơ chế suy diễn mờ và phương pháp giải mờ: Chọn các cơ chế suy diễn mờ như MAX-MIN hoặc MAX-PROD hoặc MIN hoặc SUM-PROD và chọn các phương pháp giải mờ như phương pháp cực đại theo nguyên lý trung bình, cận trái hoặc cận phải; phương pháp điểm trọng tâm.

5- Tối ưu hệ thống: Sau khi thiết kế xong bộ điều khiển mở, ta cần mô hình hoá và mô phỏng hệ thống để kiểm tra kết quả, đồng thời chỉnh định lại một số tham số để có chế độ làm việc tối ưu và hệ thống đạt độ ổn định. Các tham số có thể điều trong bước này như thêm hoặc bớt các luật điều khiển; Thay đổi trọng số các luật; Thay đổi hình dạng và miền xác định của các hàm liên thuộc.

Bộ điều khiển mờ tĩnh MISO.
Categories
Fuzzy Controller

Fuzzy System

Hệ mờ

Về nguyên tắc, hệ thống điều khiển mờ cũng giống các hệ thống điều khiển tự động thông thường khác. Điểm khác biệt ở đây là bộ điều khiển mờ được xây dựng phỏng theo tư duy của con người. Hay nói cách khác là nó “nhạy theo” kinh nghiệm và phương pháp rút ra kết luận của con người. Ưu điểm của kỹ thuật này là không phụ thuộc nhiều vào mô hình của đối tượng điều khiển. Nguyên tắc điều khiển mờ SISO đơn giản được minh họa như hình.

Cần chú ý dưới hệ mờ cơ bản là hệ tĩnh, điều này có nghĩa là giá trị ngõ ra của hệ mờ ở một thời điểm chỉ phụ thuộc vào giá trị ngõ vào ở thời điểm đó.

Nguyên tắc điều khiển mờ.

Sơ đồ khối hệ mờ cơ bản gồm 3 thành phần:

Khối mờ hóa: Khối mờ hóa, có nhiệm vụ mờ hóa các biến và các giá trị rõ ngõ vào sang giá trị ngôn ngữ và từ đó hình thành các tập mờ thành phần.

Luật mờ và phương pháp suy diễn: Từ các biến và các tập mờ ngõ vào tiến hành xây dựng luật mờ dựa trên tư duy hay kinh nghiệm của người thiết kế hoặc người vận hành. Sau đó từ các phương pháp suy diễn hình thành tập mờ ngõ ra từ các ngõ vào.

Khối giải mờ: Từ luật mờ,tập mờ và giá trị ngôn ngữ tiến hành tính toán và xác định giá trị ngõ ra sao cho phù hợp với yêu cầu và hệ thống thực tế. Từ đó đảm bảo được tính chính xác và ổng định của hệ thống.

Mặt đặc tính – Surface

Hệ mờ có thể có nhiều ngõ vào và nhiều ngõ ra. Đồ thị biểu điễn mối quan hệ giữa một ngõ ra theo hai ngõ vào bất kỳ gọi là mặt đặc tính. Trường hợp đặc biệt khi hệ mờ chỉ có một ngõ vào thì mặt đặc tính trở thành đường đặc tính. Tổng quát mặt đặc tính của hệ mờ suy diễn là mặt phi tuyến, tuy nhiên trong một số trường hợp mặt đặc tính có thể là mặt tuyến tính (mặt phẳng). Hình minh họa mặt đặc tính phi tuyến và tuyến tính.

Mặt đặc tính phi tuyến.
Mặt đặc tính tuyến tính.

Mặt đặc tính phụ thuộc chủ yếu vào hệ quy tắc mờ hay luật mờ vì hệ quy tắc mờ quyết định quan hệ giữa ngõ vào và ngõ ra dưới dạng giá trị ngôn ngữ. Tuy nhiên, hình dạng, vị trí các tập mờ, phương pháp suy diễn, phương pháp giải mờ cũng ảnh hưởng đến mặt đặc tính. Các ảnh hưởng này sẽ được phân tích sau.

Categories
Fuzzy Controller

De-Fuzzy

Giải mờ

Từ một giá trị x0 ở đầu vào sau khi qua khối luật mờ hợp thành ta có tập mờ đầu ra B’ được xác định từ quá trình suy diễn mờ. Vậy câu hỏi đặt ra là làm thế nào để xác định giá trị cụ thể y0 từ tập mờ ngõ ra đó? Muốn vậy ta phải thực hiện giải mờ.

Giải mờ là quá trình xác định giá trị rõ ở ngõ ra của bộ điều khiển mờ. Có hai phương pháp giải mở chủ yếu là phương pháp độ phụ thuộc cực đại và phương pháp điểm trọng tâm.

Phương pháp cực đại

Gọi B’ là tập mờ hợp thành hay tập mờ ngõ ra sau cơ chế suy diễn mở tương ứng. Giải mờ theo phương pháp độ phụ thuộc cực đại gồm hai bước:

Bước 1: Xác định miền G trong B’ chứa giá trị rõ y’ mà ở đó hàm liên thuộc uB’ (y) đạt giá trị cực đại (độ cao H của tập mờ B’ lớn nhất – Xem Chapter B), tức là:

G = {y thuộc Y| uB’ (y) = H}

Bước 2: Xác định giá trị rõ y’ có thể chấp nhận được từ G.

Để thực hiện bước hai có ba nguyên lý: (i) Nguyên lý trung bình, (ii) Nguyên lý cận trái và (iii) Nguyên lý cận phải.

Minh họa phương pháp giải mờ cực đại.
Phương pháp cực đại cận trái minh họa trên Matlab.
Phương pháp cực đại cận phải minh họa trên Matlab.
Phương pháp cực đại trung bình minh họa trên Matlab.

Phương pháp điểm trọng tâm

Giải mờ bằng phương pháp điểm trọng tâm thường được dùng trong điều khiển. Trong phương pháp này, giá trị rõ y’ được xác định là hoành độ điểm trọng tâm của hình phẳng của tập mờ hợp thành sau cơ chế suy diễn, tức là miền được bao bởi trục hoành và đường uB’ (y). Công thức xác định giá trị rõ y’ với S là miền xác định của tập mờ B’ được xác định như sau:

Minh họa phương pháp giải mờ điểm trọng tâm.
Phương pháp điểm trọng tâm minh họa trên Matlab.

Giải mờ là bước cuối cùng để xác định giá trị ngõ ra thực tế hay giá trị rõ từ tập mờ ngõ ra. Đây là quá trình đóng vai trò quan trọng trong bộ điều khiển mờ và nó ảnh hưởng trực tiếp đến chất lượng điều khiển. Việc minh họa các phương pháp giải mờ trên Matlab sẽ được cập nhật ở các Chapter sau.

Categories
Fuzzy Controller

Fuzzy Inference

Suy diễn mờ

Suy diễn mờ hay nói một cách dễ hiểu là cách mà ta xác định hay xây dựng được tập mờ ngõ ra từ một hay nhiều giá trị từ các tập mờ ngõ vào. Trong điều khiển có nhiều cơ chế suy diễn tả thông dụng như MAX – MIN, MAX – PROD, SUM – MIN và SUM – PROD. Trong Chapter này chúng ta sẽ đề cập đến 2 cơ chế suy diễn mờ thông dụng nhất đó làm suy diễn mờ MAX-MIN và suy diễn mờ MAX-PROD.

Suy diễn mờ MAX – MIN

Ta sẽ xét một cách tổng quát, luật thứ K của bộ luật mờ (Chapter E). Ta có:

RK: Nếu x1 = A1 và x2 = A2 thì y = C

Áp dụng ở luật mờ RK ta có một tập mờ ngõ ra được xác định như sau:

          uCK (y) = Min (uA1K (x1), uB2K (x2))

Áp dụng n luật mờ liên quan, suy diễn mờ MAX – MIN cho tập mờ ngõ ra là:

uC (y) = Max (uC1 (y1), uC2 (y1)…uCK (x1)…uCn (y))

Để dễ hiểu hơn ta xét ví dụ sau: Giả sử có cấu trúc MISO 2 ngõ vào x và y – 1 ngõ ra z, với các luật mờ như sau:

R1: IF x is A1 AND y is B1          THEN z is C1

R2: IF x is A2 AND y is B2          THEN z is C2

Giả sử có 2 ngõ vào x và y như hình bên dưới. Khi đó ngõ vào x cắt 2 tập mờ A1 và A2, với độ phụ thuộc tương ứng là uA1 (x1) = 0.6uA2 (x1) = 0.2. Đồng thời, ngõ vào y1, cắt 2 tập mờ B1 và B2 với độ phụ thuộc tương ứng là uB1 (y1) = 0.1uB2 (y1) = 0.8.

Áp dụng luật R1 ta có tập mờ hợp thành thứ nhất có độ phụ thuộc là:

uC1 (z) = Min {uA1 (x₁), uB1 (y1)} = Min {0.6, 0.1} = 0.1 (1)

Tương tự, áp dụng luật mờ R2, tập mờ hợp thành thứ hai có độ phụ thuộc là

uC2 (z) = Min {uA2 (x1), uB2 (y1)} = Min {0.2, 0.8} = 0.2 (2)

Tập mờ ngõ ra cuối cùng theo cơ chế suy diễn MAX-MIN thu được như trên được xác lập bởi phép hợp các tập mờ thành phần. Từ (1) và (2) ta có:

uC (z) = Max {uC1 (z), uC2 (z)} = Max {0.1, 0.2}

Hình minh họa cho cơ chế suy diễn mờ MAX-MIN. Vùng được tô màu xanh chính là Tập mờ ngõ ra.

Suy diễn mờ MAX-PROD

Suy diễn mờ MAX-PROD hoàn toàn giống suy diễn mờ MAX-MIN. Trong đó, các tập mờ ngõ ra thành phần không sử dụng toán tử MIN mà dùng toán tử PROD hay tích đại số.

Ta sẽ xét luật thứ K của bộ luật mờ (Chapter E). Ta có:

RK: Nếu x1 = A1 và x2 = A2 thì y = C

Áp dụng ở luật mờ RK ta có một tập mờ ngõ ra được xác định như sau:

          uCK (y) = uA1K (x1).uB2K (x2)

Áp dụng n luật mờ liên quan, suy diễn mờ MAX – MIN cho tập mờ ngõ ra là:

uC (y) = Max (uC1 (y1), uC2 (y1)…uCK (x1)…uCn (y))

Để dễ hiểu hơn ta xét ví dụ sau: Giả sử có cấu trúc MISO 2 ngõ vào x và y – 1 ngõ ra z, với các luật mờ như sau:

R1: IF x is A1 AND y is B1          THEN z is C1

R2: IF x is A2 AND y is B2          THEN z is C2

Giả sử có 2 ngõ vào x và y như hình bên dưới. Khi đó ngõ vào x cắt 2 tập mờ A1 và A2, với độ phụ thuộc tương ứng là uA1 (x1) = 0.6uA2 (x1) = 0.2. Đồng thời, ngõ vào y1, cắt 2 tập mờ B1 và B2 với độ phụ thuộc tương ứng là uB1 (y1) = 0.1uB2 (y1) = 0.8.

Áp dụng luật R1 ta có tập mờ hợp thành thứ nhất có độ phụ thuộc là:

uC1 (z) = uA1 (x₁).uB1 (y1) = 0.6*0.1 (3)

Tương tự, áp dụng luật mờ R2, tập mờ hợp thành thứ hai có độ phụ thuộc là:

uC2 (z) = uA2 (x1).uB2 (y1) = 0.2*0.8 (4)

Tập mờ ngõ ra cuối cùng theo cơ chế suy diễn MAX-PROD thu được như trên được xác lập bởi phép hợp các tập mờ thành phần. Từ (3) và (4) ta có biểu thức sau:

uC (z) = Max {uC1 (z), uC2 (z)}

Như vậy chúng ta đã tìm hiểu xong về cơ chế suy diễn mờ, phần nảy tương đối nặng về lý thuyết. Tuy nhiên, chúng ta chỉ cần hiểu nguyên lý hoạt động của nó về mặt tính toán và thiết kế Matlab sẽ giúp chúng ta làm điều đó.

Cửa sổ Rule Viewer trong Matlab dùng để thực hiện và tính toán với 2 ngõ vào e và de; ngõ ra u.
Categories
Fuzzy Controller

Fuzzy Rule

Mệnh đề mờ

Một mệnh đề mờ là một phát biểu có chứa thông tin dưới dạng “biến ngôn ngữ” và “giá trị ngôn ngữ”. Ví dụ như “nhiệt độ” là “rất cao”; “tốc độ” xe là “chậm”.

Xét hai biến ngôn ngữ x và y; Biến x nhận giá trị (mờ) A có hàm liên thuộc uA(x) và 2 nhận giá trị (mờ) B có hàm liên thuộc uB(x) thì hai biểu thức: x = A thì y = B được gọi là hai mệnh đề mờ.

Luật mờ

Luật mờ là một phát biểu Nếu x = A thì y = B hay còn được gọi là mệnh đề mờ. Trong đó x = A gọi là mệnh đề điều kiện và y = B gọi là mệnh đề kết luận. Một mệnh để hợp thành hay luật mờ có thể có nhiều mệnh đề điều kiện và nhiều mệnh đề kết luận. Các mệnh đề điều kiện liên kết với nhau bằng các phép giao, phép hợp hoặc phép bù (thông qua phép giao và đã được đề cập ở Chapter C). Dựa vào số mệnh đề điều kiện và số mệnh để kết luận trong một mệnh để hợp thành mà ta phân chúng thành các cấu trúc khác nhau.

Ngoài ra, luật mờ hay còn gọi là hệ quy tắc mờ có thể xem là mô hình toán học biểu diễn tri thức, kinh nghiệm của con người trong việc giải quyết bài toán dưới dạng các phát biểu ngôn ngữ. Hệ quy tắc mờ gồm các quy tắc có đạng nếu thì, trong đó mệnh để điều kiện và mệnh đề kết luận của mỗi quy tắc hay mỗi luật là các mệnh đề mờ liên quan đến một hay nhiều biến ngôn ngữ. Điều này có nghĩa là hoàn toàn có thể sử dụng hệ mờ để giải các bài toán điều khiển một ngõ vào một ngõ ra (SISO), một ngõ vào nhiều ngõ ra (MISO) nhiều ngõ vào nhiều ngõ ra (MIMO).

– Cấu trúc SISO bao gồm một ngõ vào và một ngõ ra. Chỉ có một mệnh đề điều kiện và một mệnh để kết luận, ví dụ: nếu x = A thì y = B.

Giao diện thiết kế Bộ Điều khiển Mờ SISO trên Matlab.
Cửa sổ xây dựng luật mờ SISO – NẾU… THÌ hay IF… THEN. Với 5 luật mờ từ 1 ngõ vào e và 1 ngõ ra u.

– Cấu trúc MISO bao gồm nhiều ngõ vào và một ngõ ra. Có từ 2 mệnh đề điều kiện trở lên và một mệnh để kết luận. Ví dụ nếu x1 = A, và x2 = B; thì y = B.

Giao diện thiết kế Bộ Điều khiển Mờ MISO trên Matlab.
Cửa sổ xây dựng luật mờ MISO với 25 luật mờ từ 2 ngõ vào e, de và 1 ngõ ra u.

– Cấu trúc MIMO bao gồm nhiều ngõ vào và nhiều ngõ ra. Có ít nhất 2 mệnh để điều kiện và 2 mệnh để kết luận. Bộ điều khiển mờ MIMO rất khó cài đặt thiết bị hợp thành. Mặt khác một bộ điều khiển mở có m đầu ra dễ dàng cài đặt thành m bộ điều khiển mà chỉ có một đầu ra vì vậy bộ điều khiển mờ MIMO chỉ có ý nghĩa về lý thuyết trong thực tế được sử dụng rất hạn chế. Ví dụ: nếu x1 = A và x2 = B thì y1 = C và y2 = D.

Giao diện thiết kế Bộ Điều khiển Mờ MIMO trên Matlab.
Cửa sổ xây dựng luật mờ MIMO với 25 luật từ 2 ngõ vào e, de và 2 ngõ ra u1, u2.

Cấu trúc SISO, MISO hay MIMO đã được đề cập tại Chapter DControl Theory

Trong kỹ thuật điều khiển ta có quy tắc của Mamdani và quy tắc mờ của Takagi – Sugeno hay quy tắc Sugeno. Quy tắc mờ Mamdani thích hợp để điều khiển các đối tượng không xác định được mô hình toán, trong khi quy tắc 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. Trong việc thiết kế bộ điều khiển mờ ở các Chapter sau, chúng ta sẽ dùng nguyên tắc của Mamdani được phát biểu như sau:

“Độ 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”.

Ngoài ra còn một điều đặc biệt là việc xây dựng luật mờ không theo một quy tắc nào cả, tức là số luật, số ngõ vào ra và số, số tập mờ và số mệnh đề mờ được sử dụng đều tùy thuộc vào mô hình hệ thống mà chúng ta sử dụng. Cùng với đó là “Kinh nghiệm” của người thiết kế hoặc người vận hành. Luật mờ có thể thay đổi trong quá trình thiết kế chứ không bị cứng nhắc hay giới hạn gì cả. Điều đó sẽ mang lại tính thông minh và linh hoạt cho bộ điều khiển mờ giúp cho bộ điều khiển có thể phù hợp với nhiều hệ thống khác nhau. Chi tiết cách thiết kế và xây dựng bộ điều khiển mờ trên Matlab – Simulink sẽ được đề cập trong các Chapter kế tiếp.

Categories
Fuzzy Controller

Language Variable – Value

BIẾN NGÔN NGỮ VÀ GIÁ TRỊ CỦA BIẾN NGÔN NGỮ

Thực tế hàng ngày chúng ta luôn dùng các từ ngữ, lời nói để mô tả các biến hay các giá trị mà ta “ước lượng” dựa trên suy luận hoặc kinh nghiệm. Ví dụ khi ta nói: “Điện áp cao quá”. “Xe chạy nhanh quá”, hay “Mực nước rất thấp” … Như vậy các biến hay đối tượng mà ta đang xét là “Điện áp”,”Tốc độ xe” hay “Mực nước” nhận các giá trị mà ta ước lượng từ Nhanh đến Chậm hay Rất chậm, hoặc từ Rất thấp đến Cao hay Rất cao.

Khi ở dạng tường minh tức khi ta tiến hành đo đạt và ghi nhận số liệu. Khi đó các biến này nhận các giá trị cụ thể và rõ ràng như điện áp bằng 20V, 220V hay 250V..; tốc độ xe bằng 60 km/h, 90 km/h hay 120km/h. Từ đó ta rút ra nhận xét như sau:

Khi các biến nhận các giá trị không rõ ràng như “Cao“, “Rất cao” “Nhanh, “Hơi nhanh“… Hình thức diễn đạt này gọi là Biến ngôn ngữ. Một biến hay đối tượng có thể được gán bởi các từ trong ngôn ngữ tự nhiên làm giá trị hay thể hiện giá trị của nó, được gọi là Giá trị của biến ngôn ngữ.

Một biến ngôn ngữ thường bao gồm 4 thông số: X, T, U, M. Với:

+ X: Tên của biến ngôn ngữ.

+ T: Tập của các giá trị ngôn ngữ.

+ U: Không gian hay còn gọi là tập nền mà trên đó biến ngôn ngữ X nhận các giá trị rõ.

+ M: Chỉ ra sự phân bố của T trên U.

Ví dụ: Biến ngôn ngữ Tốc độ xe có tập các giá trị ngôn ngữ là Rất chậm – RC, Chậm – C, Trung bình – TB, Nhanh – N, Rất nhanh – RN, trên không gian nền của biến là tập các số thực dương – R. Vậy biến Tốc độ xe có 2 miền giá trị khác nhau. Mỗi giá trị ngôn ngữ hay mỗi phần tử của T có tập nền là miền giá trị vật lý V.

– Miền các giá trị ngôn ngữ T = {RC, C, TB, N, RN}

– Miền các giá trị vật lý V = {x thuộc R| x lớn hơn bằng 0}

Từ một giá trị vật lý của biến ngôn ngữ ta có được một véctơ u gồm các độ phụ thuộc của x. Việc thiết lập ánh xạ này được gọi là quá trình Mờ hóa hay Fuzzy hóa giá trọ rõ x.

X→ uT = {uRC (x), uC (x), uTB (x), uN (x), uRN (x)}

Với x là giá trị vật lý của biến Tốc độ xe. Ánh xạ trên được gọi là quá trình fuzzy hoá hay mờ hóa giá trị rõ x từ biến ngôn ngữ và giá trị của biến ngôn ngữ.

Ví dụ: Ứng với tốc độ 50 km/h ta có.

Mờ hóa x với 5 tập mờ và giá trị x = 50 km/h.

Ta đã biết được biến ngôn ngữ và giá trị của biến ngôn ngữ từ đó xây dựng được quá trình Mờ hóa hay Fuzzy hóa một biến. Đây là bước đầu tiên trong việc xây dựng Luật mờ, nó ảnh hưởng trực tiếp đến chất lượng của bộ Điều khiển mờ.

Categories
Fuzzy Controller

Fuzzy Sets – Math

Sau khi đã tìm hiểu về khái niệm tập mờ ở Chapter B, chúng ta sẽ tiếp tục với việc thực hiện các phép toán trên tập mờ để làm cơ sở cho việc xây dựng bộ Điều khiển mờ sau này. Trên tập mờ có ba phép toán cơ bản là phép hợp, phép giao và phép bù.

Phép hợp hai tập mờ

Phép hợp của hai tập mờ A và B xác định trên cùng tập nền X là một tập mờ cũng xác định trên tập nền X với hàm liên thuộc được xác định bởi một trong các công thức dưới đây.

Hình dưới minh họa hợp của hai tập mờ A và B trên cùng tập nền X bằng công thức 1 và 2. Cách tính phép hợp theo luật Max thường được dùng trong điều khiển mờ.

Hợp hai tập mờ trên cùng tập nền. A theo luật MAX và B theo luật Lukasiewicz.

Để thực hiện hợp hai tập mờ khác cơ sở, về nguyên tắc chúng ta phải đưa chúng về cùng một cơ sở. Xét tập mờ A với hàm liên thuộc được xác định trên cơ sở M và với hàm liên thuộc của tập mờ B được xác định trên cơ sở N, hợp của hai tập mờ A và B là một tập mờ xác định trên cơ sở MxN với hàm liên thuộc:

Phép giao hai tập mờ

Giao của hai tập mờ A và B xác định trên cùng tập nền X là một tập mờ cũng xác định trên tập nền X với hàm liên thuộc được xác định bởi một trong các công thức sau.

Hình dưới minh họa giao của 2 tập mờ A và B trên cùng tập nền X bằng công thức 1 và 2. Cách tính phép giao theo luật Min thường được dùng trong điều khiển mờ.

Giao hai tập mờ có cùng tập nền. A theo luật Min và B theo luật Tích đại số.

Để thực hiện giao hai tập mờ khác cơ sở, về nguyên tắc chúng ta phải đưa chúng về cùng một cơ sở. Xét tập mờ A với hàm liên thuộc được xác định trên cơ sở M và với hàm liên thuộc của tập mờ B được xác định trên cơ sở N, hợp của hai tập mờ A và B là một tập mờ xác định trên cơ sở MxN với hàm liên thuộc được xác định như sau:

Phép bù của một tập mờ

Phép bù của tập mờ A có tập cơ sở là X và hàm liên thuộc của A là tập mờ AC xác định trên cùng tập nền X với hàm liên thuộc như sau:

Hình minh họa tập bù AC của tập mờ A.

Đây là những kiến thức cơ bản về các phép toán trên tập mờ. Đây cũng là cơ sở cho việc xây dựng luật mờ và bộ điều khiển mờ sau này. Về lý thuyết tương đối phức tạp, nhưng ở các Chapter sau các bạn sẽ hiểu rõ hơn thông quan việc sử dụng Matlab để thực hiện và mô phỏng các phép tính trên.

Categories
Fuzzy Controller

Fuzzy Sets

Tập mờ – Fuzzy Set

Các tập mờ hay tập hợp mờ (Fuzzy set) hay còn gọi là các tập không chắc chắn. Được giới thiệu độc lập bởi Lotfi A. Zadeh và Dieter Klaua vào năm 1965 như một phần mở rộng của khái niệm cổ điển về tập hợp và được dùng trong logic mờ. Trong lý thuyết tập hợp cổ điển, quan hệ thành viên của các phần tử trong một tập hợp được đánh giá theo kiểu nhị phân theo một điều kiện rõ ràng, một phần tử hoặc thuộc hoặc không thuộc về tập hợp. Ngược lại, lý thuyết tập mờ cho phép đánh giá từ từ về quan hệ thành viên giữa một phần tử và một tập hợp; quan hệ này được mô tả bằng một hàm liên thuộc (membership function). Các tập mờ được coi là một phần mở rộng của lý thuyết tập hợp cổ điển, một hàm liên thuộc có thể giữ vai trò của một hàm đặc trưng (indicator function) ánh xạ mỗi phần tử tới một giá trị 0 hoặc 1 như trong khái niệm cổ điển. Lý thuyết tập hợp mờ có thể được sử dụng trong một loạt các lĩnh vực mà trong đó thông tin không đầy đủ hoặc không chính xác, chẳng hạn như tin hiệu sinh học.

Tập kinh điển

Khái niệm tập hợp được hình thành trên nền tảng lôgic và được định nghĩa như là sự sắp xếp chung các đối tượng có cùng tính chất, được gọi là phần tử của tập hợp đó.

Cho một tập hợp A, một phần tử x thuộc A được ký hiệu [1]. Thông thường ta dùng ba cách để biểu diễn tập hợp kinh điển, đó là:

 + Liệt kê các phần tử của tập hợp, ví dụ tập A = {xe đạp, xe máy}.

+ Biểu diễn tập hợp thông qua tính chất tổng quát của các phần tử, ví dụ như tập các số thực (R), tập các số tự nhiên (N).

+ Biểu diễn thông qua hàm đặc trưng hay còn gọi là hàm liên thuộc của tập hợp [2] với [3].

Các ký hiệu được sử dụng để tối ưu độ chính xác của công thức.

Được ký hiệu là [4]. Ta nói: Tập A được định nghĩa trên tập nền X.

Ví dụ: [5] Hàm liên thuộc của tập A sẽ có giá trị bằng 1 khi và chỉ khi x nằm trong đoạn [-2, 2]. Có giá trị bằng 0 trên các đoạn còn lại của tập R.

Định nghĩa Tập mờ

Trong cuộc sống, các phát biểu như: “rất đông”, “hơi nóng”, “hơi lạnh”… Thật khó cho ta định lượng một con số cụ thể. Tuy nhiên người nghe những phát biểu này vẫn hình dung được một đặc tính cụ thể về đối tượng. Những suy nghĩ này dần đưa đến khái niệm về logic mở và tập mờ.

Thật vậy, trong khái niệm tập hợp kinh điển, hàm đặc trưng [2] của tập hợp A, chỉ có một trong hai giá trị là 1 nếu x thuộc A hoặc là 0 nếu x không thuộc A. Cách biểu diễn này có vẻ không phù hợp với những tập hợp được mô tả “mở”. Ví dụ: B là tập hợp các số thực gần bằng 10, [6]. Khi đó ta không thể khẳng định chắc chắn số 9 có thuộc B hay không, mà chỉ có thể nên nói nó thuộc B bao nhiêu phần trăm. Để trả lời được câu hỏi này, hàm đặc trưng [2] cần có giá trị trong khoảng từ 0 đến 1, tức [7].

Định nghĩa: Tập mờ F xác định trên tập hợp kinh điển X là một tập hợp mà mỗi phần tử của nó được xác định bởi một cặp các giá trị [8] trong đó [9] là mức độ phụ thuộc của x vào tập nền X được biểu diễn như sau [10].

Các ký hiệu được sử dụng để tối ưu độ chính xác của công thức.

Ánh xạ [9] được gọi là hàm liên thuộc của tập mờ F, trên tập cơ sở X. Hàm liên thuộc [9] được dùng để tính độ phụ thuộc của một phần tử x vào tập mờ F. Được tính trực tiếp theo công thức hoặc tra bảng, Hàm liên thuộc có nhiều giá trị trong [0; 1]. Chính hàm liên thuộc đã làm “mềm hóa” và “linh hoạt hóa” một tập hợp. Mỗi người có thể đặt giá trị [9] cụ thể để diễn đạt “mức độ mờ” của hệ thống. Hàm liên thuộc [9] thường có 2 dạng là dạng trơn và dạng tuyến tính từng đoạn

Các hàm liên thuộc trong Matlab.

Đặc điểm của hàm liên thuộc

Độ cao, miền xác định và miền tin cậy của tập mờ.

Độ cao của tập mờ F (trên tập nên X) là giá trị H được tính như sau:

H có giá trị nhỏ nhất trong tất cả các giá trị chặn trên hàm uF (x). Một tập mờ với ít nhất một phần tử có độ phụ thuộc bằng 1 được gọi là tập mờ chính tắc, tức là H = 1, ngược lại một tập mờ F với H < 1 được gọi là tập mờ không chính tắc.

Miền xác định của hàm liên thuộc của tập mờ F (trên tập nền X), được ký hiệu bởi S là tập con của X thỏa mãn điều kiện sau:

Miền tin cậy (lõi) của hàm liên thuộc của tập mờ F (trên tập nền X) được ký hiệu bởi T là tập con của X thỏa mãn biểu thức sau:

Biên của hàm liên thuộc của tập mờ F là tập các giá trị thỏa mãn:

Tập mờ lồi là tập mờ mà hàm liên thuộc của nó đơn điệu tăng, hai đơn điệu giảm, hoặc đơn điệu tăng sau đó đơn điệu giảm. Nói cách khác, cho 2 phần tử bất kỳ x, y thuộc tập mờ F và điều kiện bên dưới thì F được gọi là tập mờ lồi.

Biểu diễn tập mờ lồi và không lồi.
Categories
Fuzzy Controller

Introduction

Logic Mờ – Fuzzy Logic

Logic mờ được sử dụng rộng rãi trong điều khiển máy. Thuật ngữ “mờ” đề cập đến thực tế là logic liên quan có thể đối phó với các khái niệm không thể được thể hiện là “đúng” hoặc “sai” mà là “đúng một phần”. Mặc dù các phương pháp thay thế như giải thuật di truyền và mạng lưới thần kinh hay mạng nơ-ron nhân tạo có thể thực hiện cũng như logic mờ trong nhiều trường hợp, logic mờ có lợi thế là giải pháp cho vấn đề có thể được đưa ra theo cách mà người vận hành có thể hiểu, để kinh nghiệm của họ có thể được sử dụng trong thiết kế bộ điều khiển. Điều này giúp cơ giới hóa các nhiệm vụ đã được thực hiện thành công bởi con người dễ dàng hơn.

Xét hệ điều khiển ở hình bên dưới, ta cần thiết kế bộ điều khiển để giữ cho mực chất lỏng trong bồn phải đầy.

Hệ thống điều khiển mực chất lỏng.

Phương pháp điều khiển ON-OFF theo logic kinh điển điều khiển máy bơm theo chiến lược sau:

– Nếu chất lỏng chưa đầy bồn thì máy bơm chạy.

– Nếu chất lỏng đầy bồn thì máy bơm dừng.

Phương pháp điều khiển ON-OFF đơn giản, có thể lập trình dễ dàng dùng PLC (Programmable Logic Controller). Tuy nhiên, do máy bơm chỉ có hai trạng thái “chạy” hoặc “dừng” nên chất lượng điều khiển không cao, đáp ứng của hệ thống có vọt lố, dao động. Để nâng cao chất lượng điều khiển có thể thiết kế bộ điều khiển PID để điều khiển hệ thống, tuy nhiên cần phải biết mô hình toán học của hệ bồn chứa.

Trong khi đó, người vận hành mặc dù không biết mô hình toán của hệ bồn chứa vẫn có thể điều khiển hệ thống đạt chất lượng tốt theo chiến lược sau:

– Nếu mực chất lỏng “thấp” thì điều khiển cho máy bơm “chạy nhanh”.

– Nếu mực chất lỏng “cao” thì điều khiển cho máy bơm “chạy chậm”.

Hằng ngày, chúng ta điều khiển xe gắn máy trên đường, phải chăng chúng ta đã thực hiện việc điều khiển mờ tốc độ xe một cách vô thức? Thật vậy, giả sử ta mong muốn giữ ổn định tốc độ xe ở một giá trị nào đó. Nếu vận tốc xe hiện tại “hơi chậm” hơn so vận tốc mà ta mong muốn thì ta điều chỉnh ga “hơi tăng” một chút. Nếu vận tốc xe hiện tại “hơi nhanh” hơn vận tốc mong mong muốn thì ta điều chỉnh ga “hơi giảm” một chút. Nếu vận tốc xe hiện tại “bằng” vận tốc muốn thì ta giữ nguyên ga. Các phát biểu “nếu …thì” này được xem là các luật điều khiển mờ.

Trong chiến lược điều khiển trên, ý nghĩa của các từ “thấp – cao” hay “nhanh – chậm” không rõ ràng, với một giá trị mực chất lỏng cụ thể hay tốc độ cụ thể, chúng ta không thể khẳng định được chắc chắn mực chất lỏng là “cao” hay “thấp” tương tự ta cũng không khẳng định tốc độ xe như thế nào được gọi là “nhanh” hay “chậm”. Nói chung, ngôn ngữ tự nhiên mà con người sử dụng để nghĩ, trao đổi thông tin, xử lý thông tin có tính chất không rõ ràng. Mặc dù thông tin trao đổi không rõ ràng nhưng con người vẫn hiểu nhau, vẫn suy nghĩ và điều khiển rất tốt các đối tượng, do đó con người mong muốn thiết kế được bộ điều khiển bắt chước được khả năng xử lý thông tin không rõ ràng. Bộ điều khiển bắt chước theo chiến lược điều khiến dựa vào thông tin không rõ ràng của con người gọi là bộ điều khiển mở (FLC – Fuzzy Logic Controller).

Sơ đồ khối nguyên lý làm việc của Fuzzy Logic Controller

Cơ sở toán học của bộ điều khiển mờ là lý thuyết tập mờ và logic mờ đã được Zadeh đưa ra từ năm 1965. Đến năm 1975, Mamdani áp dụng thành công lý thuyết mở để thiết kế và thực thi bộ điều khiển mờ đầu tiên điều khiển động cơ hơi nước. Sau những công trình mở đường này, rất nhiều sản phẩm dân dụng cũng như sản phẩm kỹ thuật cao dùng logic mờ đã được phát triển ở Nhật, Mỹ và EU.

Lý thuyết và cách xây dựng tập mờ, logic mờ, suy luận mờ và hệ mờ sẽ được đề cập trong các Chapter tiếp theo. Trong xuyên suốt các bài viết sau, lý thuyết về Điều khiển mờ sẽ không được đề cập sâu mà nội dung chính sẽ là giúp cho những người mới tiếp cận có thể hiểu và xây đựng được bộ điều khiển mờ. Bên cạnh đó, phần lớn nội dung sẽ được xây dựng và minh họa trên Matlab – Simulink, do vậy việc sử dụng thành thạo Matlab – Simulink cũng là một lợi thế lớn.

Categories
Control Theory

Main Control Methods

Nhng phương thc điu khin chính

Mọi hệ thống điều khiển phải đảm bảo trước hết độ ổn định của trạng thái vòng kín. Trong các hệ thống tuyến tính, điều này có thể đạt được bằng cách thay thế trực tiếp các cực. Các hệ điều khiển phi tuyến sử dụng các lý thuyết đặc biệt (thường dựa trên học thuyết của Aleksandr Lyapunov) để đảm bảo độ ổn định mà không cần phải quan tâm đến các quá trình động học bên trong hệ thống. Khả năng đáp ứng các biến đổi chức năng khác nhau từ việc nhận dạng mô hình và việc chọn phương thức điều khiển. Sau đây là danh sách giản lược của các kỹ thuật điều khiển chính:

Điu khin thích nghiAdaptive control

Điều khiển thích nghi sử dụng sự nhận dạng trực tuyến các thông số của quá trình, hoặc sự điều chỉnh của độ lợi bộ điều khiển, do đó đạt được đặc tính bền vững mạnh mẽ. Điều khiển thích nghi đã được ứng dụng lần đầu trong công nghiệp không gian vào những năm 1950, và làm nên sự thành công trong lĩnh vực này.

Sơ đồ khối của hệ thống Điều khiển thích nghi – Adaptive Control.

Điu khin phân cpDecentralized control

Hệ thống điều khiển phân cấp là một dạng của hệ thống điều khiển trong đó một bộ thiết bị và phần mềm điều khiển được sắp xếp trong một dạng có thức bậc cây. Khi các liên kết của cây được thực thi bởi một mạng máy tính, do đó hệ thống điều khiển phân cấp cũng là một dạng của Hệ thống điều khiển mạng lưới.

Sơ đồ khối hệ thống Điều khiển phân cấp – Decentralized Control

Điu khin thông minhSmart control

Điều khiển thông minh sử dụng nhiều cách tiếp cận tính toán thông minh nhân tạo (AI-Artificial Intelligent) khác nhau như mạng nơ ron, Xác suất Bayesian, logic mờ, máy học, lập trình tiến hóa và giải thuật di truyền để điều khiển một hệ thống động lực.

Mô hình thiết kế-Neural Controller trong được xây dựng trong Matlab -Simulink. Tham khỏa thêm tại: https://www.mathworks.com/help/deeplearning/ug/design-model-reference-neural-controller-in-simulink.html

Điu khin ti ưuOptimal control

Điều khiển tối ưu là một phần của kỹ thuật điều khiển trong đó tín hiệu điều khiển tối ưu hóa “chỉ tiêu giá thành” biết trước: ví dụ, trong trường hợp một vệ tinh, lực đẩy phản lực cần thiết để mang nó lên quỹ đạo mong muốn phải đốt cháy một lượng nhiên liệu nào đó. Hai phương pháp để thiết kế điều khiển tối ưu đã được sử dụng rộng rãi trong các ứng dụng công nghiệp, vì khả năng đảm bảo độ ổn định của vòng kín. Đó là Điều khiển dự đoán mô hình (MPC-Model Predictive Control) và điều khiển tuyến tính bậc hai Gauss (LQG-Linear-Quadratic-Gaussian control). Cái đầu tiên có thể xét đến rõ ràng hơn các ràng buộc trên tín hiệu hệ thống, là một điểm quan trọng trong nhiều chu trình công nghiệp. Tuy nhiên, cấu trúc “điều khiển tối ưu” trong MPC chỉ có nghĩa khi đạt được kết quả, vì nó không tối ưu một chỉ số biểu diễn chính xác của hệ điều khiển vòng kín. Cùng với các bộ điều khiển PID, hệ thống MPC cũng được sử dụng phổ biến trong điều khiển quá trình.

Sơ đồ khối Bộ điều khiển tối ưu – Optimal Control.
Sơ đồ khối MPC-Model Predictive Control .

Điu khin bn vngSustainable control

Điều khiển bền vững dùng để loại bỏ độ bất định mà nó tiếp cận để thiết kế bộ điều khiển. Các bộ điều khiển được thiết kế sử dụng các công cụ của điều khiển bền vững có xu hướng có thể giải quyết các khác biệt nhỏ giữa hệ thống thực và mô hình toán học dùng cho thiết kế. Các công cụ đầu tiên của Bode và những người khác đã khá ổn định; các phương pháp không gian trạng thái được phát minh vào những năm 1960 và 1970 đôi khi không có sự ổn định. Một thí dụ hiện đại của kỹ thuật điều khiển bền vững là tạo dáng vòng lặp H-vô tận được phát triển bởi Duncan McFarlane và Keith Glover thuộc đại học Cambridge, Anh. Các phương pháp ổn định dùng để đạt được kết quả bền vững và/hoặc độ ổn định với sự có mặt của sai số mô hình hóa nhỏ.

Sơ đồ khối hệ thống Điều khiển bền vững – Sustainable Control.

Điu khin ngu nhiên

Điều khiển ngẫu nhiên giúp thiết kế điều khiển với độ bất định trong mô hình. Đặc thù trong khó khăn đối với điều khiển ngẫu nhiên, là nó cho rằng tồn tại nhiễu ngẫu nhiên trong mô hình và bộ điều khiển, thiết kế điều khiển phải đem những vi phân ngẫu nhiên này vào tính toán.

Sơ đồ nguyên lý “Ngẫu nhiên”.

Những phương thức điều khiển trên chỉ được trình bày ở mức giới thiệu. Do vậy, trong tất cả những cách thức điều khiển trên chúng ta sẽ tìm hiểu sâu một số hệ thống mà chúng ta có thể tiếp cận cũng như xây dựng mô hình ứng dụng. Tất cả sẽ được cập nhật ở các Chapter kế tiếp.

Categories
Control Theory

System Analysis

Phân tích hệ thống

Các kỹ thuật toán học để phân tích và thiết kế hệ thống điều khiển được chia thành hai loại khác nhau:

Phân tích theo Miền tần số (Frequency Domain) – Được sử dụng trong Lý thuyết điều khiển cổ điển. Trong loại này, giá trị của các biến trạng thái, các biến toán học đại diện cho đầu vào, đầu ra và phản hồi của hệ thống được biểu diễn dưới dạng các hàm của tần số. Tín hiệu đầu vào và hàm truyền của hệ thống được chuyển đổi từ hàm thời gian sang hàm tần số bằng một phép biến đổi như biến đổi Fourier, Laplace hoặc biến đổi Z. Ưu điểm của kỹ thuật này là việc đơn giản hóa toán học; các phương trình vi phân đại diện cho hệ thống được thay thế bằng các phương trình đại số trong miền tần số dễ giải quyết hơn. Tuy nhiên, kỹ thuật phân tích miền tần số chỉ có thể được sử dụng với các hệ thống tuyến tính, như đã đề cập ở Chapter C.

Phân tích tín hiệu theo miền Tần số và Thời gian.
Sự khác biệt giữa tín hiệu theo miền Tần số và tín hiệu theo miền Thời gian.

Biểu diễn không gian trạng thái trong Miền thời gian (Time-domain state space representation) – Được sử dụng trong Lý thuyết điều khiển hiện đại. Trong kiểu này, giá trị của các biến trạng thái được biểu diễn dưới dạng các hàm của thời gian. Với mô hình này, hệ thống đang được phân tích sẽ được biểu diễn bằng một hoặc nhiều phương trình vi phân. Vì các kỹ thuật miền tần số được giới hạn trong các hệ thống tuyến tính, miền thời gian được sử dụng rộng rãi để phân tích các hệ thống phi tuyến trong thế giới thực. Mặc dù những điều này khó giải quyết hơn, nhưng các kỹ thuật mô phỏng máy tính hiện đại như các ngôn ngữ mô phỏng mạnh mẽ nhất có thể nói đó là Matlab – Simulink. Thì việc biểu diễn hệ thống theo miền thời gian sẽ dễ dàng hơn rất nhiều.

Giao diện hệ thống

Hệ thống điều khiển có thể được chia thành nhiều loại khác nhau tùy thuộc vào số lượng đầu vào và đầu ra như sau:

SISO (Single Input Single Output) với một đầu ra và một đầu vào – Đây là loại đơn giản nhất và phổ biến nhất, trong đó một đầu ra được điều khiển bởi một tín hiệu điều khiển. Bên cạnh đó còn có hệ thống MISO (Multiple Input Single Output) thường được sử dụng trong Fuzzy Cotroller (Tham khảo thêm tại đây). Ví dụ như ví dụ về điều khiển tốc độ động cơ DC, ứng với một giá trị ngõ vào là điện áp cấp cho động cơ. Ta sẽ thu được một giá trị ngõ ra là tốc độ quay của động cơ.

Mô hình điều khiển SISO cơ bản.
Mô hình MISO trên Matlab đùng thiết kế Fuzzy Controller với 3 ngõ vào và 1 ngõ ra.

MIMO (Multiple Input Multiple Output) với nhiều ngõ vào và nhiều ngõ ra – Chúng được sử dụng trong các hệ thống phức tạp hơn. Ví dụ, các kính thiên văn lớn hiện đại như Keck và MMT có các gương bao gồm nhiều phân đoạn riêng biệt, mỗi kính được điều khiển bởi một cơ cấu truyền động. Hình dạng của toàn bộ gương là được điều chỉnh liên tục bởi hệ thống điều khiển quang học hoạt động MIMO sử dụng đầu vào từ nhiều các cảm biến tại mặt phẳng tiêu điểm, để bù cho những thay đổi trong hình dạng gương do giãn nở nhiệt, co lại, ứng suất khi nó quay và sự biến dạng của mặt sóng do nhiễu loạn trong khí quyển. Các hệ thống phức tạp như lò phản ứng hạt nhân và bộ não con người có các tế bào thần được ví như các hệ thống điều khiển MIMO lớn.

Bộ điều khiển MIMO cho động cơ Diesel được thiết kế và xây dựng trên Matlab. Tìm hiểu thêm tại: https://www.mathworks.com/help/control/ug/mimo-control-of-diesel-engine.html
Categories
Control Theory

System Classification

Linear – Nonlinear Control Theory

Lĩnh vực lý thuyết điều khiển có thể được chia thành hai nhánh:

Linear Control Theory – Lý thuyết điều khiển tuyến tính áp dụng cho các hệ thống được làm bằng các thiết bị tuân theo nguyên tắc chồng chất, có nghĩa là đầu ra tỷ lệ thuận với đầu vào. Chúng bị chi phối bởi các phương trình vi phân tuyến tính. Một phân lớp chính là các hệ thống ngoài ra còn có các tham số không thay đổi theo thời gian, được gọi là hệ thống bất biến thời gian tuyến tính (LTI). Các hệ thống này có thể chấp nhận các kỹ thuật toán học miền tần số mạnh mẽ có tính tổng quát tuyệt vời, chẳng hạn như biến đổi Laplace, biến đổi Fourier, biến đổi Z, giản đồ Bode, tiêu chí ổn định Nyquist. Những điều này dẫn đến mô tả hệ thống bằng cách sử dụng các thuật ngữ như băng thông, phản hồi tần số, cộng hưởng, khuyếch đạo, tần số cộng hưởng, số Zero và cực, cung cấp các giải pháp cho các kỹ thuật thiết kế và phản hồi hệ thống cho hầu hết các hệ thống.

Nonlinear Control Theory – Lý thuyết điều khiển phi tuyến bao gồm một lớp rộng hơn của các hệ thống không tuân theo nguyên tắc chồng chất, và áp dụng cho các hệ thống thực tế hơn. Các hệ thống này thường bị chi phối bởi các phương trình vi phân phi tuyến. Một vài kỹ thuật toán học đã được phát triển để xử lý chúng ít khó khăn hơn và ít chung chung hơn, nhưng thường chỉ áp dụng cho một số ít hệ thống. Chúng bao gồm lý thuyết chu kỳ giới hạn, bản đồ Poincaré, định lý ổn định Lyapunov và mô tả các chức năng. Các hệ thống phi tuyến thường được phân tích bằng các phương pháp số trên máy tính, ví dụ bằng cách mô phỏng hoạt động của chúng bằng ngôn ngữ mô phỏng như trong Matlab – Simulink. Nếu chỉ có các giải pháp gần một điểm ổn định được quan tâm, các hệ thống phi tuyến thường có thể được tuyến tính hóa bằng cách xấp xỉ chúng bằng một hệ thống tuyến tính bằng cách sử dụng lý thuyết nhiễu loạn và các kỹ thuật tuyến tính có thể được sử dụng.

Phân loại yêu cầu

Có ba dạng bài toán cơ bản trong lý thuyết điều khiển:

+ Phân tích hệ thống

+ Thiết kế hệ thống

+ Nhận dạng hệ thống

Phân tích hệ thống: Đối với dạng bài toán này thường yêu cầu tìm đáp ứng ngõ ra và đánh giá chất lượng của hệ thống dựa trên thông số và cấu trúc của đối tượng đã biết.

Thiết kế hệ thống: Đối với dạng bài toán này thường yêu cầu thiết kế bộ điều khiển thỏa mãn yêu cầu về chất lượng dựa trên cấu trúc và thông số của đối tượng đã biết.

Nhận dạng hệ thống: đối với bài toán dạng này hoàn toàn chưa biết trước cấu trúc và thông số của đối tượng. Do đó bài toán sẽ yêu cầu tìm cấu trúc và thông số của đối tượng.

Bài toán phân tích hệ thống và thiết kế hệ thống luôn luôn thực hiện được trong khi bài toán nhận dạng hệ thống không phải lúc nào cũng thực hiện được.

Trong lý thuyết điều khiển tự động, người ta thường phân ra làm nhiều loại hệ thống khác nhau như: hệ thống liên tục (được mô tả bằng phương trình vi phân), hệ thống rời rạc (được mô tả bằng phương trình sai phân), hệ thống tuyến tính (được mô tả dưới dạng phương trình vi phân/sai phân tuyến tính), hệ thống phi tuyến (được mô tả dưới dạng phương trình vi phân/sai phân phi tuyến), hệ thống bất biến theo thời gian (các hệ số của phương trình vi phân sai phân không thay đổi theo thời gian), hệ thống thay đổi theo thời gian (các hệ số của phương trình vi phân/sai phân thay đổi theo thời gian).

Control System Tuner là một phần trong Control System Toolbox của Matlab. Tham khảo thêm tại: https://www.mathworks.com/products/control.html
Mô hình Hệ thống kiểm soát tốc độ động cơ được xây dựng trên Simulink.

Các hệ thống trên có thể được phân tích, thiết kế và xây dựng mô hình trên MATLAB – Simulink. Đây là một công cụ rất mạnh, hữu ích và có tính ứng dụng cao. Chi tiết cách thiết kế và xây dựng cùng từng loại hệ thống điều khiển sẽ được đề cập trong các Chapter khác. Sẽ giúp chúng ta có cái nhìn cụ thể hơn về hệ thống điều khiển.

Categories
Control Theory

Thuật ngữ cơ bản

Trước khi đề cập đến hệ thống điều khiển và các chương sau, chúng ta phải nắm được một số thuật ngữ cơ bản cần được định nghĩa trước như sau:

Biến điều khiển hay biến quy trình (Process Variable – PV) – Tín hiệu điều khiển: Biến điều khiển là lượng hoặc điều kiện được đo và được điều khiển. Tín hiệu điều khiển là lượng hoặc điều kiện bị tác động bởi bộ điều khiển và làm ảnh hưởng đến biến điều khiển. Thông thường biến điều khiển là ngõ ra của hệ thống. Điều khiển nghĩa là do giá trị biến điều khiển của đối tượng và xuất ra tín hiệu điều khiển đội với hệ thống nhằm sửa sai hoặc hạn chế sai lệch giữa giá trị do được và giá trị mong muốn.

Đối tượng: Đối tượng có thể là một phần của thiết bị, cũng có thể là gồm một phần của hệ thống có chức năng thực hiện một hoạt động cụ thể. Các hệ thống hay chủ thể vật lý như thiết bị cơ khí, lò nhiệt, lò phản ứng hóa học hoặc tàu vũ trụ được xem như là đối tượng.

Quá trình là một hoạt động diễn tiến liên tục trong tự nhiên được đánh dấu bằng một chuỗi thay đổi và hướng tới một kết quả cụ thể hay kết thúc quá trình. Các quá trình như quá trình phản ứng hóa học, quá trình sinh học hay quá trình sản xuất.

Hệ thống là sự kết nối của các bộ phận tương tác lẫn nhau và thực hiện một mục tiêu xác định như hệ thống điều khiển nhiệt độ, độ ẩm trong phòng. Hệ thống không đồng nhất với hệ thống vật lý và đó là một khái niệm trừu tượng.

Nhiễu là một tín hiệu làm ảnh hưởng đến giá trị ngõ ra của hệ thống. Nếu nhiễu được phát ra từ hệ thống được gọi là nhiều nội. Ngược lại, nếu nhiều từ bên ngoài và thâm nhập vào hệ thống thì được gọi là nhiều ngoài, nó được xem như một ngõ vào.

Điều khiển hồi tiếp (Feedback Control) là một hoạt động có sự hiện diện của nhiều với mục tiêu làm giảm sự sai biệt giữa giá trị thực tế PV và giá trị mong muốn SP của hệ thống. Nếu biết trước được nhiễu can thiệp vào hệ thống thì trong hệ thống sẽ có một hoặc nhiều thành phần để bù.

Điều khiển (Control) là quá trình thu thập thông tin, xử lý thông tin và tác động lên hệ thống để đáp ứng của hệ thống gần với mục đích định trước hay làm cho sai biệt giữa giá trị thực và giá trị mong muốn là nhỏ nhất. Điều khiển tự động là quá trình điều khiển không có sự can thiệp của con người.

Sơ đồ khối của một Hệ thống điều khiển cơ bản.

Một hệ thống điều khiển thông thường có dạng như hình trên. Trong đó r (Feference hay Set Point SP) là tín hiệu tham chiếu hay tín hiệu tham khảo hay tín hiệu đặt hay tín hiệu chuẩn hay tín hiệu mong muốn (tuy nhiên trong các Chapter sau này được sử dụng là Set Point – SP), u là tín hiệu điều khiển, nhiễu là tín hiệu nhiễu,  C là tín hiệu ngõ ra (trong các Chapter sau sẽ được gọi là Process Variable – PV), tín hiệu hồi tiếp thông qua Bộ chuyển năng thường là các cảm biến và e tức error (SP-PV) là sai số giữa tín hiệu ngõ ra thực tế và tin hiệu mong muốn.

Đây là những thứ cơ bản nhất và rất quan trong trọng trong quá trình học tập và nghiên cứu về các hệ thống điều khiển. Do vậy trước khi tìm hiểu các Chapter kế tiếp chúng phải làm quen với những định nghĩa này.

Categories
Control Theory

Control Loop

Open-loop System

Hệ điều khiển vòng hở (Open-loop System) trong đó hành động điều khiển từ bộ điều khiển độc lập với giá trị ngõ ra hay Process Variable – PV. Điều khiển vòng hở là điều khiển không quan sát ngõ ra. Nói cách khác, điều khiển vòng hở không đo ngõ ra cũng không hồi tiếp từ tín hiệu từ ngõ ra để so sánh với tín hiệu ngõ vào. Sơ đồ điều khiển vòng hở được mô tả như hình sau:

Hệ điều khiển vòng hở hay Open-loop System.

Dựa trên Set Point – SP là r(t), bộ điều khiển xuất tín hiệu điều khiển u(t) để điều khiển đối tượng với ngõ ra thực tế y(t) hay Process Variable – PV mà không cần quan tâm đến đối tượng có thực hiện yêu cầu từ tín hiệu điều khiển hay không. Đối với hệ điều khiển vòng hở thường được dùng để điều khiển các đối tượng với đáp ứng không cần độ chính xác cao.

Trong đời sống thực tế có rất nhiều loại hệ thống điều khiển vòng hở như điều khiển máy giặt, điều khiển máy nước nóng, điều khiển lò nướng…Các hoạt động của máy giặt bao gồm: ngâm, giặt và xả. Các hoạt động này dựa trên thời gian chờ định trước ví dụ như giặc trong 15 phút, ngâm trong 5 phút. Máy giặt không đo tín hiệu ngõ ra như độ sạch hay độ ẩm của quần áo chẳng hạn. Do hệ điều khiển vòng hở không so sánh với tín hiệu ngõ vào mong muốn nên tín hiệu ngõ vào sẽ tương ứng với một điều kiện hoạt động cố định. Chính vì thế độ chính xác của hệ thống sẽ phụ thuộc vào việc điều khiển ban đầu, hệ thống sẽ “chạy”, “dừng” hoặc “chạy/dừng trong một khoảng thời gian” được cài đặt trước. Nếu có nhiễu can thiệp thì hệ điều khiển vòng hở sẽ không hoạt động theo đúng mong muốn. Nói chung các hoạt động dựa trên thời gian chờ đều là hệ điều khiển vòng hở.

Closed-loop Control System

Hệ điều khiển vòng kín (Closed-loop Control System) là một hệ thống duy trì mối quan hệ giữa giá trị mong muốn Set Point – SP và ngõ ra thực tế Process Variable – PV bằng cách so sánh chúng và sử dụng sự sai số hay SP-PV (Xem Chapter A Introduction) này như một “điểm nhận biết” để điều khiển thì được gọi là hệ điều khiển vòng kín. Nói cách khác, điều khiển vòng kín là điều khiển có quan sát ngõ ra.

Hệ điều khiển vòng kín Closed-loop Control Sytem.

Hình trên trình bày sơ đồ khối của hệ điều khiển vòng kín. Dựa trên sự sai biệt giữa tín hiệu mong muốn SP và tín hiệu ngõ ra thực tế PV, bộ điều khiển sẽ xuất tín hiệu điều khiển tức Sytem Input để điều khiển đối tượng hoặc hệ thống sao cho PV gần giống với SP hay sai lệch error (SP-PV) là nhỏ nhất.

Hệ điều khiển vòng kín được dùng để điều khiển các đối tượng với đáp ứng cần độ chính xác cao. Hệ thống điều khiển nhiệt độ là một ví dụ minh chứng cho hệ điều khiển vòng kín. Một bộ điều nhiệt độ sẽ so sánh nhiệt độ thực tế (PV) với nhiệt độ đặt trên bộ điều nhiệt (SP). Bộ điều khiển sẽ tạo ra một đầu ra bộ điều khiển để duy trì nhiệt độ ở mức mong muốn bằng cách bật tắt hệ thống làm mát.  Do tín hiệu ngõ ra được quan sát liên tục và hồi tiếp – Feedback để so sánh với tín hiệu mong muốn SP nên nhiễu can thiệp vào hệ thống có thể bị loại bỏ nhờ bộ điều khiển. Chính điều này làm cho hệ điều khiến vòng kín có độ tin cậy cao. Vì lý do này, bộ điều khiển vòng kín “Closed-loop Control System” còn được gọi là bộ điều khiển phản hồi “Feedback Control”.

Thuận lợi – Bất lợi

Thuận lợi của hệ điều khiển vòng kín so với hệ vòng hở là có hồi tiếp nên đáp ứng của hệ thống ít bị ảnh hưởng với nhiễu cũng như sự thay đổi các tham số bên trong của hệ thống. Nếu xét về tính ổn định của hệ thống thì hệ điều khiển vòng hở dễ thiết kế hơn bởi vì hệ này không xem tính ổn định của hệ thống là vấn đề then chốt trong khi hệ điều khiến vòng kín thì đòi hỏi phải có. Hệ điều khiển vòng kín huớng tới sửa lỗi và có thể làm cho biên độ của tín hiệu điều khiển thay đổi.

Chú ý rằng nếu hệ thống có các ngõ vào được biết hoặc đặt trước và không có nhiễu can thiệp vào hệ thống thì nên sử dụng hệ điều khiển vòng hở. Hệ điều khiển vòng kín với thuận lợi là có thể áp dụng cho hệ thống có ngõ vào bị ảnh hưởng bởi nhiễu hoặc các tham số của hệ thống bị thay đổi. Do có nhiều thành phần được sử dụng trong hệ điều khiển vòng kín nên chi phí để thiết kế cho hệ này sẽ cao hơn so với hệ vòng hở tương ứng. Thông thường người ta kết hợp giữa điều khiển vòng hở và điều khiển vòng kín để giảm chi phí nhưng vẫn thỏa mãn được chỉ tiêu chất lượng của hệ thống.

Những thuận lợi chỉnh của hệ điều khiển vòng hở như cấu trúc đơn giản và dễ bảo trì; thiết kế rẻ tiền hơn so với hệ điều khiển vòng kín tương ứng. Không quan tâm đến tính ổn định của hệ thống, đối với các hệ thống khó hoặc không thể đo ngõ ra chính xác. Nhưng bên cạnh đó, nhiễu và những thay đổi bất ngờ dẫn đến sai khác với tính toán có thể xảy ra lỗi làm cho giá trị thực tế PV có thể không giống với giá trị mong muốn SP.

Những thuận lợi chính của hệ điều khiển vòng kín như nhiễu và các tham số của hệ thống có thể thay đổi nhưng PV của hệ thống vẫn đảm bảo giống với SP. Do có hồi tiếp nên bộ điều khiển sửa sai liên tục nên không cần cân chỉnh nhiều và hệ thống có độ tin cậy cao. Tuy nhiên, cấu trúc phức tạp và khó dễ bảo trì; thiết kế phức tạp và tốn kém hơn so với hệ điều khiển vòng hở tương ứng. Tinh chỉnh để hệ thống đạt được sự ổn định là một trong những tiêu chí chất lượng cần được quan tâm nhất. Ngoài ra, cần phải do chính xác ngõ ra nếu cảm biến phản hồi sai tín hiệu thự tế PV thì bộ điều khiển sẽ đưa ra quyết định sai và hệ thống sẽ không ổn định.

Sơ đồ điều khiển trong công nghiệp sử dụng Closed-loop Control System.
Categories
Control Theory

Lý thuyết điều khiển

Lý thuyết điều khiển là gì ?

Lý thuyết điều khiển hay lý thuyết điều khiển tự động là một nhánh liên ngành của kỹ thuật và toán học. Nó liên quan trực tiếp đến việc kiểm soát các hệ thống động lực học trong các quy trình và máy móc được thiết kế. Mục tiêu là phát triển một mô hình hoặc thuật toán điều chỉnh đầu vào hệ thống để đưa hệ thống đến “gần” trạng thái hay ngõ ra mong muốn. Đồng thời giảm thiểu tối đa độ trễ, độ vọt lố hoặc trạng thái không ổn định của hệ thống. Việc xây dựng và thiết kế phải đảm bảo hệ thống được kiểm soát với độ ổn định và độ tối ưu cao nhất.

Để làm được điều này, một bộ điều khiển được sử dụng để sửa chữa hay tinh chỉnh là cần thiết. Bộ điều khiển này sẽ giám sát giá trị Process Variable (PV) hay biến quy trình tức giá trị đầu ra thực tế của hệ thống. Sau đó, so sánh nó với điểm tham chiếu hoặc điểm đặt (Set Point – SP) tức đầu ra mong muốn của một hệ thống. Sự khác biệt giữa giá trị thực tế và giá trị mong muốn được gọi là tín hiệu lỗi hoặc sai số error SP-PV, được áp dụng làm phản hồi để tạo ra một hành động điều khiển để đưa PV được điều khiển đến cùng giá trị với SP. Toàn bộ quá trình này được gọi là Hệ thống điều khiển.

Sơ đồ khối Hệ thống điều khiển.

Hệ thống điều khiển bao gồm các thành phần sau:

  • r(t) (Set Point): Giá trị đặt hay giá trị mong muốn.
  • c(t) (Process Variable): Giá trị thực tế.
  • cht(t): Tín hiệu hồi tiếp
  • e(t) (Error SP-PV): Sai số giữa giá trị mong muốn và giá trị thực tế.
  • u(t): Tín hiệu điều khiển.

Để thực hiện được quá trình điều khiển như trên, một hệ thống điều khiển bắt buộc gồm có ba thành phần cơ bản là thiết bị đo lường (cảm biến), bộ điều khiển và đối tượng điều khiển. Thiết bị đo lường có chức năng thu thập thông tin, bộ điều khiển thực hiện chức năng xử lý thông tin, ra quyết định điều khiển và đối tượng điều khiển chịu sự tác động của tín hiệu điều khiển. Hệ thống điều khiển trong thực tế rất đa dạng, sơ đồ khối ở hình trên là cấu hình của hệ thống điều khiển thường gặp nhất.

Đây là cơ sở cho các quy trình tự động hóa tiên tiến đã cách mạng hóa sản xuất, máy bay, truyền thông và các ngành công nghiệp khác. Hệ thống điều khiển trên được gọi là “Feedback Control”, liên quan đến việc thực hiện các phép đo bằng cách sử dụng cảm biến và thực hiện các điều chỉnh được tính toán để giữ cho Process Variable – PV nằm trong phạm vi thiết lập bằng phần tử điều khiển cuối cùng hay “Final control element”, chẳng hạn như van điều khiển.

Chạy xe máy là ví dụ dễ hiểu nhất. Bạn muốn điều khiển xe máy chạy với vận tốc 50 km/h, khi đó bạn sẽ lên hoặc xuống tay ga để xe đi nhanh hơn hoặc chậm hơn tùy thuộc vào tốc độ hiện tại. Đôi mắt sẽ quan sát đồng hồ tốc độ của xe để xác định sự chênh lệch giữa tốc độ hiện tại và tốc độ mong muốn. Não sẽ đưa ra hành động lên ga nếu tốc độ xe dưới 50 km/h và ngược lại nếu trên 50 km/h. Khi đó giá trị mong muốn hay Set Point là 50 km/h; giá trị thực tế hay Process Variable là tốc độ trên đồng hồ tốc độ của xe; cảm biến theo dõi tốc độ hiện tại là đôi mắt của chúng ta; đối tượng điều khiển chính là động cơ xe và cuối cùng bộ điều khiển chính là bộ não.

Hệ thống điều khiển được sử dụng rộng rãi thường được xây dựng bằng một kiểu sơ đồ được gọi là sơ đồ khối. Trong đó, hàm chuyển giao “Transfer Function”, còn được gọi là hàm hệ thống hoặc hàm mạng, là một mô hình toán học về mối quan hệ giữa đầu vào và đầu ra dựa trên các phương trình vi phân mô tả hệ thống.

Lý thuyết điều khiển đã có từ thế kỷ 19, khi cơ sở lý thuyết cho hoạt động của các bộ điều khiển lần đầu tiên được mô tả bởi James Clerk Maxwell. Lý thuyết điều khiển đã được Edward Routh tiến bộ hơn nữa vào năm 1874, Charles Sturm và năm 1895, Adolf Hurwitz, tất cả đều góp phần thiết lập các tiêu chuẩn ổn định cho hệ thống; và từ năm 1922 trở đi là sự phát triển của lý thuyết điều khiển PID của Nicolas Minorsky. Mặc dù ứng dụng chính của lý thuyết điều khiển toán học là trong kỹ thuật hệ thống điều khiển, liên quan đến việc thiết kế các hệ thống kiểm soát quy trình cho các ngành công nghiệp, nhưng ngày nay các ứng dụng khác vượt xa điều này như Robotics, IoT hay AIoT. Là lý thuyết chung về “Feedback Control”, lý thuyết điều khiển rất hữu ích ở bất cứ nơi nào có sự phản hồi (Feedback) – do đó lý thuyết điều khiển cũng có các ứng dụng trong khoa học đời sống, kỹ thuật máy tính, xã hội học và nghiên cứu vận hành.