Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

itnaVxICsm

.pdf
Скачиваний:
8
Добавлен:
13.02.2021
Размер:
349.88 Кб
Скачать

где α(h) – некоторая величина, определяющая степень выхода за границы заданного «коридора». В случае многомерной оптимизации – по нескольким

выходным переменным –

такой величиной

является

суммарная

площадь

участков, выходящих за границы коридора.

 

 

 

 

Этот способ оптимизации систем

x

 

 

 

 

управления реализован в математиче-

 

 

 

x1(t)

 

 

 

 

ской среде MATLAB в форме пакета

 

 

 

 

 

 

 

 

x(t,h)

прикладных программ NCD (Nonlinear

 

 

 

 

x2(t)

Control Design) blockset –

пакет кон-

 

 

 

 

 

 

 

 

 

струирования нелинейных законов

 

 

 

tN

 

управления.

 

0

t1

t2

t3 ...

t, с

Для использования этого пакета

 

Рис. 4.1. Динамический «коридор»

выполняют следующую

последова-

 

 

для характеристики процесса

тельность действий:

1.Формируют SIMULINK-модель замкнутой системы, причем компоненты вектора h настраиваемых параметров должны быть заданы своими именами в рабочем пространстве среды.

2.Из раздела NCD blockset библиотеки стандартных блоков выбирают блок NCD Outport и размещают в модели, подключая к его входу контролируемый сигнал x(t, h).

3.Настраивают блок NCD Outport, задавая имена настраиваемых параметров и ограничения сверху и снизу для функции x(t, h).

4.Запускают процесс оптимизации и контролируют процесс автоматического вхождения кривой x(t, h) в заданный «коридор». Если система не до-

стигает поставленной цели, то корректируют наложенные ограничения (в сторону их ослабления) и повторяют процесс.

К простейшему классу задач теории модального управления относится ситуация, когда выбором коэффициентов регулятора по состоянию можно обеспечить произвольное распределение корней характеристического полинома замкнутой системы.

Вместо системы введем в рассмотрение замкнутую систему, добавляя к уравнению объекта уравнение регулятора по состоянию

xɺ = Ax + Bu + Hd;

(4.2)

u = Kx,

где K – постоянная матрица размером m × n .

21

Получим модель замкнутой системы в виде: xɺ = (A + BK )x .

Врассматриваемой задаче матрицу K необходимо выбрать таким образом, чтобы матрица A + BK замкнутой системы имела заранее заданные собственные значения.

Всреде MATLAB данная задача решается с помощью функции place, входящей в состав Control System Toolbox. Вызов этой функции в простейшем варианте осуществляется следующим образом: K=-place(A, B, P). Здесь K – выходной параметр – искомая матрица коэффициентов регулятора; A, B

матрицы уравнений объекта; P – вектор с комплексными компонентами – желаемыми корнями характеристического полинома замкнутой системы.

Примечание: функция будет работать в том случае, если объект является вполне управляемым по Калману, а вектор P не содержит кратных корней. На движениях замкнутой системы (4.1) при условиях d (t ) ≡ 0 , x(0) = x0

зададим интегральный квадратичный функционал:

J = J (K ) = (xтQx + duтRu)dt ,

(4.3)

0

 

где Q – положительно определенная матрица; d > 0 – постоянный числовой множитель; R – знакоположительная матрица. Постоянные компоненты указанных матриц являются весовыми множителями, определяющими значимость вклада в функционал составляющих векторов состояния и управления.

Задача LQR-оптимального синтеза состоит в том, чтобы найти такую матрицу K, чтобы функционал достигал своего наименьшего значения по отношению ко всем другим матрицам коэффициентов усиления, обеспечивающим асимптотическую устойчивость замкнутой системы. В формализованном виде это может быть записано следующим образом:

J = J (K ) → min ,

K

где – множество постоянных матриц K таких, что корни характеристического полинома (s) = det(Es A BK ) замкнутой системы расположены в открытой левой комплексной полуплоскости.

В среде MATLAB задача LQR-оптимизации решается с помощью функции lqr, входящей в состав Control System Toolbox. Вызов этой функции в простейшем варианте осуществляется следующим образом: K=-lqr(A, B, Q, R). Здесь K – выходной параметр – искомая матрица коэффициентов регулятора; A, B

22

матрицы уравнений объекта; Q, R – матрицы интегрального квадратичного функционала.

Обобщением рассмотренного оптимизационного подхода является зада-

ча LQG-оптимизации (Linear Quadratic Gaussian).

Вместо исходной модели объекта рассматриваются уравнения

xɺ = Ax + Bu + Gϕφ(t ),

( ) (4.4) y = Cx + ψ t ,

где φ(t) Rl – вектор внешних возмущающих сил; ψ(t) Rk – вектор шумов (ошибок) в измерениях. Эти функции рассматривают как случайные векторные стационарные гауссовские процессы типа «белый шум» с заданными постоянными матрицами спектральных плотностей Sφ и Sψ соответственно,

причем det Sψ ¹ 0 .

Задача LQG-оптимального синтеза состоит в построении обратной связи (регулятора) (4.2), решающего задачу:

J g = J g (W ) ® min

W

для замкнутой системы с функционалом:

J g (W) = y тQy + uтRu ,

где Q ³ 0 , R > 0 и d > 0 – такие же параметры, как в функционале (4.3). Алгоритм решения этой задачи основывается на принципе (или теореме)

разделения. Согласно этому утверждению оптимальный регулятор имеет следующий вид:

zɺ = Az + Bu + H (y Cz),

u = Kz.

Здесь K – оптимальное решение задачи для функционала с такими же матрицами; H – матрица, оптимальная в смысле фильтрации Калмана.

В среде MATLAB построение фильтра Калмана выполняется с помощью функции kalman из пакета Control System Toolbox. Вызов этой функции осуществляется следующим образом:

[Sest,H,P]=kalman(ss(A,[B,G],C,zeros(k,m+l)),Sh,Sp)

Здесь H – основной выходной параметр – искомая матрица фильтра Калмана, A, B, G, C – матрицы уравнений (4.4) объекта; Sh = Sϕ , Sp = Sψ

матрицы спектральных плотностей возмущения и шума.

23

Задания на лабораторную работу

Вариант 1. Исходная математическая модель – см. лаб. раб. 2, вариант 1.

Содержание работы:

1. Синтезировать для этого объекта регулятор

 

δ

 

= K y ,

 

 

e

 

 

 

 

 

δn

 

обеспечивающий следующий спектр собственных значений: s1 = −0.2 , s2 = −0.3 , s3,4 = −0.5 ± 0.2 j , s5,6 = −0.4 ± 0.4 j .

2. Замкнуть полученным регулятором объект и проверить корни характеристического полинома.

Вариант 2. Исходная математическая модель – см. лаб. раб. 2, вариант 2.

Содержание работы:

1.Сформировать LTI-объект, соответствующий данной модели в ss-

форме.

2.Изменить уравнения объекта, полагая, что все компоненты вектора состояния доступны измерению.

3.Синтезировать LQR-оптимальный регулятор для интегрального квадратичного функционала с матрицами

 

1

0

0

 

 

 

 

 

 

Q = 0 1

0 , R = 1.

 

0

0

1

 

 

 

4. Замкнуть систему синтезированным регулятором и проверить корни характеристического полинома.

Вариант 3. Исходная математическая модель – см. лаб. раб. 2, вариант 3.

Содержание работы:

1.Сформировать LTI-объект, соответствующий данной модели в ss-

форме.

2.Изменить уравнения объекта, полагая, что все компоненты вектора состояния доступны измерению.

3.Выполнить параметрический модальный синтез, обеспечивая распределение корней характеристического полинома близкое к биномиальному

(s) = (s + γ)5 .

4. Замкнуть систему синтезированным регулятором и проверить корни характеристического полинома.

24

Вариант 4. Исходная математическая модель – см. лаб. раб. 2, вариант 4.

Содержание работы:

1. Сформировать LTI-объект, соответствующий данной модели. Входом считать отклонение рулей направления δv , выходом – отклонение от заданного курса ϕ .

2. Синтезировать LQG-оптимальный регулятор для следующих матриц:

R = E5 , Q = Ι , Sφ = Ι , Sψ = Ι .

3. Замкнуть систему синтезированным регулятором и проверить корни характеристического полинома.

Содержание отчета

1.Исходные данные и постановка задачи.

2.Тексты скриптов на языке MATLAB.

3.Результаты выполнения программы.

4.Выводы по рассмотренным методам синтеза алгоритмов управления.

Лабораторная работа 5. МОДЕЛИРОВАНИЕ НЕЧЕТКИХ СИСТЕМ

Цель работы: получить представление о способах создания нечетких моделей, изучить функции языка MATLAB библиотеки FUZZY LOGIC TOOLBOX, создать и исследовать нечеткую модель объекта управления.

Общие положения

Нечеткие системы формируются на основе математического аппарата нечетких множеств (FUZZY LOGIC). В основе представления «нечеткости» лежит функция принадлежности, определяющая степень принадлежности переменной к нечеткому множеству. Более подробно теория нечетких множеств описана в [3], [4].

Нечеткие системы позволяют описывать процессы в виде качественных понятий, которые формализуются при помощи нечетких множеств путем формирования функций принадлежности. Переменные, которые соответствуют качественным понятиям, называются лингвистическими. Взаимодействие лингвистических переменных в нечетких системах описывается нечеткими отношениями, которые реализуются в виде логических выражений – правил.

Принципиальным вопросом является связь нечетких систем с другими, описываемыми традиционными средствами без нечеткости. Пусть имеется

25

некоторый объект управления – динамическая система, описываемая обыкновенными дифференциальными уравнениями. Для этого объекта нужно построить «нечеткий» регулятор (см. рис. 5.1). Процедура представления числовых значений в нечетком виде называется фаззификацией. При этом определяется значение функции принадлежности для всех термов лингвистической переменной, соответствующей численной входной.

Объект управления

 

 

Нечеткий регулятор

 

 

 

 

 

 

 

Дефаззи-

 

Обработка правил

 

Фаззифи-

фикация

 

 

кация

 

 

 

 

 

 

 

 

Рис. 5.1. Взаимодействие нечетких систем

Далее согласно правилам, определенным в нечеткой модели регулятора, формируются нечеткие значения выходных переменных. Их функции принадлежности удобно представить в виде площади или нескольких площадей плоских фигур. Для нахождения соответствующих числовых значений нужно осуществить дефаззификацию. Есть несколько методов дефаззификации, и самый распространенный из них – метод центра тяжести, при котором выходное значение равно абсциссе центра тяжести площади.

Методы дефаззификации, а также процедуры обработки логических выражений над лингвистическими переменными можно определить в редакторе нечетких систем среды MATLAB. В качестве примера реализации нечетких систем в среде MATLAB можно рассмотреть расчет чаевых для официанта в зависимости от качества блюд и скорости обслуживания (для этого достаточно в командной строке ввести команду fuzzy(‘tipper’) ). На рис. 5.2 и 5.3 показаны рабочие окна редактора нечетких множеств.

Далее приводятся основные функции языка MATLAB библиотеки

FUZZY LOGIC TOOLBOX.

FUZZY – вызов основного редактора нечетких систем.

Редактор представляет собой интерактивное средство для создания и редактирования нечетких систем, реализованное с помощью элементов графи-

26

ческого пользовательского интерфейса. С помощью редактора можно выбирать и изменять структуру модели, количество и параметры входных и выходных переменных, выбирать вид функции принадлежности и т. д. Нечеткие модели могут быть сохранены в виде файлов с расширением fis – специальных

FIS-структур (FIS, Fuzzy Inference System – системы нечеткой логики).

MFEDIT('FILENAME') – вызов редактора функций принадлежности переменных нечетких моделей. Аргументом функции является имя файла FILENAME.fis, в котором хранится модель.

RULEEDIT(FILENAME) – вызов редактора правил нечеткой модели. Аргументом функции является имя файла FILENAME.fis, в котором хранится модель.

RULEVIEW('FILENAME') – вызов программы просмотра правил нечеткой модели в виде диаграмм входных и выходных переменных. Аргументом функции является имя файла FILENAME.fis, в котором хранится модель.

SURFVIEW('FILENAME') – вызов программы просмотра поверхности нечеткого вывода. Аргументом функции является имя файла FILENAME.fis, в котором хранится модель.

Рис. 5.2. Приложение FUZZY

27

Рис. 5.3. Приложение FUZZY: фаззификация и дефаззификация

Примечание. Нечеткие модели и их элементы, созданные с помощью приведенных выше редакторов, можно хранить не только в файлах, а также в переменных рабочего пространства. Для этого в меню File окна редактора нужно выбрать пункты Export -> To Workspace (аналогично, для редактирования модели-переменной: Import -> From Workspace). В этом случае при вызове редакторов аргументом указывается имя переменной.

Задание на лабораторную работу

Для заданного объекта управления требуется предложить и реализовать в пакете MATLAB нечеткую модель управления, последовательно наращивая число доступных для наблюдения входных переменных и их значений. Последовательность выполнения задания включает в себя:

1. Задание для каждого входа и выхода лингвистических переменных с множеством возможных значений (термов):

а) вариант усеченного множества предполагает задание 2–3 термов, необходимых для описания лингвистических переменных;

28

б) вариант полного множества предполагает задание 4–7 термов, необходимых для описания лингвистических переменных.

2. Задание таблицы правил логического вывода для определения значения выхода системы управления.

Предложить 3 варианта правил (если это возможно):

а) для неполного набора входных переменных (предполагая, что доступна для измерения только половина из возможных входных переменных);

б) для полного набора входных переменных, но с «загрубленным» описанием возможных сочетаний значений входных переменных;

в) для полного набора входных переменных с приближением к реальному описанию возможных ситуаций управления.

Набор правил логического вывода в отчете представить в виде таблицы, например, табл. 5.1.

 

 

 

 

 

 

 

Таблица 5.1

 

Входная переменная

 

Выходная переменная

 

 

 

 

 

 

 

 

первая

 

вторая

 

третья

 

первая

вторая

 

 

 

 

 

 

 

 

мало

 

далеко

 

быстро

 

много

чуть-чуть увеличить

 

 

 

 

 

 

 

 

средне

 

близко

 

около 0

 

мало

сильно уменьшить

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.Для каждого варианта систем нечеткого вывода построить нечеткую модель управления в редакторе систем нечеткого вывода и представить диаграммы и поверхности нечеткого вывода. При этом для каждого из вариантов рассмотреть по два варианта множества возможных значений входных переменных. Сделать выводы о влиянии степени детализации представления входного пространства, степени детализации значений выходного пространства, влиянии включения дополнительных правил в систему логического вывода или их исключения.

Для редактирования системы нечеткого вывода использовать скрипт fuzzy. Для просмотра диаграмм нечеткого вывода использовать скрипт ruleview. Для просмотра поверхностей нечеткого вывода использовать скрипт surfview.

4.Привести примеры нескольких сравнимых между собой ситуаций логического вывода для нескольких значений входных переменных для разных систем логического вывода.

29

Вариант 1. Нечеткая модель управления автомобилем (система торможения). Объект управления – автомобиль. Он должен двигаться достаточно быстро, но при этом соблюдать дистанцию до автомобиля, едущего впереди.

Входные переменные:

расстояние до ближайшего впереди автомобиля;

разница в скоростях (между скоростью автомобиля, управляемого нечеткой логикой и скоростью впереди едущего автомобиля);

информация с датчика погоды («сухо», «дождь», «снег», «лед»);

режим коробки передач (ручная, автоматическая).

Выходная переменная – сила торможения.

Вариант 2. Нечеткая модель управления автомобилем на перекрестке. Объект управления – автомобиль. Автомобиль должен двигаться со скоростью не ниже 60 км/ч по улице вдали от светофора. Он должен останавливаться на перекрестке на красный сигнал светофора. Если светофор мигает желтым, то автомобиль должен проезжать перекресток со скоростью ниже 40 км/ч. При нарушении правил автомобиль попадает в аварию.

Режим работы светофора: «красный», «красный и желтый», «зеленый», «зеленый мигающий», «желтый», «красный» и т. д.

Упрощенный режим работы светофора: «красный», «желтый», «зеленый», «желтый», «красный» и т. д.

Светофор может не работать (выключен), мигать желтым, быть сломанным (включены одновременно все три сигнала).

Сигнал с системы технического зрения не всегда на 100 % достоверен. Система технического зрения обрабатывает видеоизображения, получа-

емые с телекамеры. При обработке изображения распознается образ светофора. На выходе системы формируется сигнал расстояния до светофора и сигнал цвета светофора. Сигнал расстояния до светофора измеряется в метрах. Если светофор не найден или расстояние до него свыше 140 м, то значение этого сигнала равно 140 м.

Входные переменные:

расстояние до светофора;

цвет светофора;

скорость.

Выходная переменная – изменение скорости.

30

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]