Проектирование регуляторов на основе нечетких множеств осуществляется (после детального изучения опыта операторов-экспертов по управления процессом или объектом) по следующему алгоритму:
1. На множестве всех возможных значений какой-либо входной переменной регулятора строятся нечеткие подмножества, количество и вид функций принадлежности, которые выбираются интуитивно, на основании анализа опыта управления объектом «вручную». Возможный вид функций принадлежности показан на рис.6.
Рисунок 6 - Виды и наименование функций принадлежности
2. На множестве всех возможных значений водных величин регулятора также строятся нечеткие множества. В пп. 1 и 2 осуществляется, таким образом, переход к лингвистическим переменным, т.е. значения входов и выходов регулятора заменяются нечеткими множествами с определенными функциями принадлежности конкретных числовых значений переменных к этим «размытым множествам».
3. «Поведение» регуляторов описывается системой правил вида IF(…) THEN(…), которые указывают регулятору, каким должно быть управляющее воздействие, представленное нечеткими множествами (лингвистической переменной), если на входе регулятора будет иметь место определенная комбинация входных величин, также представленных нечеткими множествами.
4. Путем моделирования замкнутой системы с fuzzy-регулятором проверяется качество системы регулирования. Если по каким-либо признакам качество системы оказывается неудовлетворительным, процедуру проектирования регулятора надо повторить, уточнив количество и вид функций принадлежности входных и выходных величин регулятора к нечетким множествам, а также переосмыслив правила принятия решений вида IF(…) THEN(…).
В Matlab процесс проектирования fuzzy-регуляторов поддерживается набором инструментальных средств Fuzzy Logic Toolbox, вызываемого командой fuzzy. По этой команде открывается рабочее окно для проектирования регуляторов, показанное на рис.7.
Рисунок 7 - Рабочее окно fuzzy-логики
Пример.Пусть необходимо спроектировать fuzzy регулятор для автоматического управления подвижной платформы массой М=200 кг на отрезке пути -100м…100м, если допустимая максимальная скорость движения платформы не может быть более 2м/с. Привод подвижной платформы развивает усилие при торможении и разгоне не более 100Н.
A. Пусть входными величинами регулятора являются расстояние S_m на которое должна быть перемещена платформа, и скорость движения платформы V_m/c. Выходом регулятора является усилие F_n, действующее на платформу. Построим на множестве всех возможных значений входных и выходных переменных регулятора нечеткие множества, как показано на рис. 8.
B. С учетом наших представлений об управлении движением платформы построим систему правил принятий решения регулятором:
1. If(S_m is Neg) and (V_m/c is Neg) then (F_n is FNS) (1)
2. If(S_m is Neg) and (V_m/c is Pos) then (F_n is FNB) (1)
3. If(S_m is Neg) and (V_m/c is Zero) then (F_n is FNB) (1)
4. If(S_m is Zero) and (V_m/c is Neg) then (F_n is FPS) (1)
5. If(S_m is Zero) and (V_m/c is Zero) then (F_n is FZZ) (1)
6. If(S_m is Zero) and (V_m/c is Pos) then (F_n is FNS) (1)
7. If(S_m is Pos) and (V_m/c is Neg) then (F_n is FPB) (1)
8. If(S_m is Pos) and (V_m/c is Zero) then (F_n is FPB) (1)
9. If(S_m is Pos) and (V_m/c is Pos) then (F_n is FPS) (1)
FNB FNS FZZ FPS FPB
Neg Zero Pos
Neg Zero Pos
Рисунок 8 - Нечеткие множества для регулятора перемещения платформы
С. В Simulink создадим модель замкнутой системы и проверим как «работает» построенный регулятор (рис 9, 10).
Рисунок 9- Модель системы с fuzzy-регулятором
Рисунок 10- Переходные процессы в САУ с fuzzy-регулятором