Культура
Искусство
Языки
Языкознание
Вычислительная техника
Информатика
Финансы
Экономика
Биология
Сельское хозяйство
Психология
Ветеринария
Медицина
Юриспруденция
Право
Физика
История
Экология
Промышленность
Энергетика
Этика
Связь
Автоматика
Математика
Электротехника
Философия
Религия
Логика
Химия
Социология
Политология
Геология
|
Медведев В.С., Потемкин В.Г. Нейронные сети. MATLAB 6. В. Г. Потемкин
|
Название |
В. Г. Потемкин
|
Анкор |
Медведев В.С., Потемкин В.Г. Нейронные сети. MATLAB 6.doc |
Дата |
26.04.2017 |
Размер |
14.83 Mb. |
Формат файла |
|
Имя файла |
Медведев В.С., Потемкин В.Г. Нейронные сети. MATLAB 6.doc |
Тип |
Книга
#3790
|
страница |
29 из 50 |
|
В настоящее время нейронные сети нашли успешное применение для проектирования систем управления динамическими процессами. Универсальные возможности аппроксимации с помощью многослойного персептрона делают их полезным инструментом для решения задач идентификации, проектирования и моделирования нелинейных регуляторов [15].
Ниже описаны 3 архитектуры нейронных сетей, которые реализованы в ППП Neural Network Toolbox в виде следующих контроллеров:
контроллера c предсказанием (NN Predictive Controller);
контроллера на основе модели авторегрессии со скользящим средним (NARMA-L2 Controller);
контроллера на основе эталонной модели (Model Reference Controller).
Ниже представлено краткое описание каждой из этих архитектур и способы их применения на практике. Применение нейронных сетей для решения задач управления позволяет выделить 2 этапа проектирования:
этап идентификации управляемого процесса;
этап синтеза закона управления.
На этапе идентификации разрабатывается модель управляемого процесса в виде нейронной сети, которая на этапе синтеза используется для синтеза регулятора. Для каждой из трех архитектур используется одна и та же процедура идентификации, однако этапы синтеза существенно различаются.
При управлении с предсказанием модель управляемого процесса используется для того, чтобы предсказать его будущее поведение, а алгоритм оптимизации применяется для расчета такого управления, которое минимизирует разность между желаемыми и действительными изменениями выхода модели.
При управлении на основе модели авторегрессии со скользящим средним регулятор представляет собой достаточно простую реконструкцию модели управляемого процесса.
При управлении на основе эталонной модели регулятор – это нейронная сеть, которая обучена управлять процессом так, чтобы он отслеживал поведение эталонного процесса. При этом модель управляемого процесса активно используется при настройке параметров самого регулятора.
В последующих разделах обсуждаются все 3 структуры систем управления и архитектуры соответствующих нейросетевых контроллеров. Каждый раздел включает краткое изложение принципа управления динамическим процессом и сопровождается описанием сценария функционирования проектируемой системы, который реализован в виде комбинации GUI-интерфейса и динамической модели регулятора в системе Simulink.
Динамические модели систем управления с нейросетевыми регуляторами размещены
в специальном разделе Control Systems набора блоков Neural Network Blocksets (рис. 9.28)
и включают 3 упомянутые выше модели регуляторов, а также блок построения графиков.
Рис. 9.28
Поскольку ни один конкретный регулятор не является универсальным, то описаны функциональные возможности всех трех типов регуляторов, каждый из которых имеет свои преимущества и недостатки.
Регулятор с предсказанием. Этот регулятор использует модель управляемого процесса в виде нейронной сети, для того чтобы предсказать будущие реакции процесса на случайные сигналы управления. Алгоритм оптимизации вычисляет управляющие сигналы, которые минимизируют разность между желаемыми и действительными изменениями сигнала на выходе модели и таким образом оптимизируют управляемый процесс. Построение модели управляемого процесса выполняется автономно с использованием нейронной сети, которая обучается в групповом режиме с использованием одного из алгоритмов обучения. Контроллер, реализующий такой регулятор, требует значительного объема вычислений, поскольку для расчета оптимального закона управления оптимизация выполняется на каждом такте управления.
Регулятор NARMA-L2. Изо всех архитектур этот регулятор требует наименьшего объема вычислений. Данный регулятор – это просто некоторая реконструкция нейросетевой модели управляемого процесса, полученной на этапе автономной идентификации. Вычисления в реальном времени связаны только с реализацией нейронной сети. Недостаток метода состоит в том, что модель процесса должна быть задана в канонической форме пространства состояния, которой соответствует сопровождающая матрица, что может приводить к вычислительным погрешностям.
Регулятор на основе эталонной модели. Требуемый объем вычислений для этого
регулятора сравним с предыдущим. Однако архитектура регулятора с эталонной моделью требует обучения нейронной сети управляемого процесса и нейронной сети регулятора. При этом обучение регулятора оказывается достаточно сложным, поскольку обучение основано на динамическом варианте метода обратного распространения ошибки [16]. Достоинством регуляторов на основе эталонной модели является то, что они применимы к различным классам управляемых процессов.
9.3.1. Регулятор с предсказанием
Регулятор с предсказанием, реализованный в ППП Neural Network Toolbox, использует модель нелинейного управляемого процесса в виде нейронной сети для того, чтобы предсказывать его будущее поведение. Кроме того, регулятор вычисляет сигнал управления, который оптимизирует поведение объекта на заданном интервале времени.
Идентификация управляемого процесса. Схема подсистемы идентификации показана на рис. 9.29. Она включает модель управляемого процесса в виде нейронной сети, которая должна быть обучена в автономном режиме так, чтобы минимизировать ошибку между реакциями процесса и модели e = yp – ym на последовательность пробных сигналов u.
Рис. 9.29
Нейронная сеть регулятора управляемого процесса представлена на рис. 9.30; она име-
ет 2 слоя нейронов и использует линии задержки (ЛЗ), чтобы запомнить предшествующие значения входов и выходов процесса с целью предсказать будущие значения выхода.
Рис. 9.30
Настройка параметров этой сети выполняется автономно методом группового обучения, используя данные, полученные при испытаниях реального объекта. Для обучения сети может быть использован любой из обучающих алгоритмов для нейронных сетей.
Принцип управления с предсказанием. Управление с предсказанием использует принцип удаляющегося горизонта [40], когда нейросетевая модель управляемого процесса предсказывает реакцию объекта управления на определенном интервале времени в будущем. Предсказания используются программой численной оптимизации для того, чтобы вычислить управляющий сигнал, который минимизирует следующий критерий качества управления:
, (9.4)
где константы N1, N2 и Nu задают пределы, внутри которых вычисляются ошибка слежения и мощность управляющего сигнала. Переменная u' описывает пробный управляющий сигнал, yr – желаемая, а ym – истинная реакция модели управляемого процесса. Величина определяет вклад, который вносит мощность управления в критерий качества.
Структурная схема на рис. 9.31 иллюстрирует процесс управления с предсказанием. Регулятор состоит из нейросетевой модели управляемого процесса и блока оптимизации. Блок оптимизации определяет значения u', которые минимизируют критерий качества управления, а соответствующий управляющий сигнал управляет процессом.
Рис. 9.31
Реализация регулятора с предсказанием. В качестве примера исследуется процесс управления каталитическим реактором с непрерывным перемешиванием (Continous Stirred Tank Reactor – CSTR), схема которого показана на рис. 9.32.
Рис. 9.32
Динамическая модель управляемого процесса описывается следующими обыкновенными нелинейными дифференциальными уравнениями:
(9.5)
где h – уровень жидкости в резервуаре; w1(t) – скорость потока продукта с концентрацией Cb1; w2(t) – скорость потока разбавленного продукта с концентрацией Cb2; Cb – концентрация продукта на выходе объекта.
Исходные концентрации приняты равными Cb1 = 29.4 и Cb2 = 0.1. Константы скорости расхода равны k1 = k2 = 1.
Цель регулирования состоит в поддержании концентрации продукта путем регулирования скорости потока w2(t). Для простоты принято w1(t) = 0.1. В этом примере уровень раствора в резервуаре не регулируется.
Нелинейная динамическая модель каталитического реактора, соответствующая уравнениям (9.5), показана на рис. 9.33
Рис. 9.33
Чтобы разобрать этот достаточно сложный демонстрационный пример, следует
сделать ряд предварительных замечаний.
Описываемые ниже приложения нейронных сетей реализованы только в рамках
системы MATLAB 6. Демонстрационный пример NN Predictive Controller использует
следующие файлы, размещенные в каталоге toolbox\nnet\nncontrol.
MAT-файлы данных:
cstr1, cstr2, cstr3 – данные для обучения нейросетевой модели каталитического реактора.
Функции одномерной оптимизации:
csrchbac – поиск с обратной прогонкой;
csrchbre – метод Брента (Brent), объединяющий методы золотого сечения и квадратичной интерполяции;
csrchcha – метод кубической интерполяции Чараламбуса;
csrchgol – метод золотого сечения;
csrchhyb – гибридный метод бисекции и кубической интерполяции.
Функции для синтеза управления с предсказанием:
calcjjdjj – вычисление функционала качества и его градиента;
predopt – оптимизация регулятора с предсказанием;
dyduvar – вычисление частных производных выхода по входу.
Модели Simulink:
cstr – модель каталитического реактора;
predcstr – GUI-приложение для контроллера с предсказанием;
ptest3sim2 – нейросетевая модель управляемого процесса, используемая М-функцией predopt для предсказания процесса в будущем.
Вспомогательные функции:
sfunxy2 – S-функция для вывода графиков;
nncontrolutil – поддержка, обеспечивающая возможность обращения к частным
функциям из системы Simulink.
Выполнить запуск демонстрационного примера можно несколькими способами:
в окне запуска приложений Launch Pad выбрать опцию Demos для ППП Neural Network Toolbox;
ввести команду predcstr, используя командное окно системы MATLAB.
В любом случае открывается окно системы Simulink со следующей структурой системы управления (рис. 9.34).
Рис. 9.34
Эта структура включает блок управляемого процесса Plant и блок контроллера NN Predictive Controller, а также блоки генерации эталонного ступенчатого сигнала со случайной амплитудой Random Reference, отсчета времени Clock, построения графиков Graph. Особенность этой структуры заключается в том, что она выполняет не только функции блок-схемы системы Simulink, но и функции графического интерфейса пользователя GUI [53].
Для того чтобы начать работу, необходимо активизировать блок NN Predictive Controller двойным щелчком левой кнопки мыши. Появится окно, показанное на рис. 9.35.
Рис. 9.35
Оно выполняет функции графического интерфейса пользователя. Обратите внимание на информацию, которая руководит вашими действиями и указана в области фрейма
в виде сообщения Прежде чем установить параметры контроллера, постройте модель управляемого процесса. Это означает, что прежде всего необходимо выполнить идентификацию управляемого процесса, т. е. построить его нейросетевую модель, воспользовавшись специальной процедурой Plant Identification.
Вид окна Plant Identification приведен на рис. 9.36. Это окно универсально и может быть использовано для построения нейросетевых моделей для любого динамического объекта, который описан моделью Simulink. В рассматриваемом случае такой моделью является нелинейная динамическая модель каталитического реактора CSTR.
Процедура идентификации позволяет построить нейронную сеть, которая будет моделировать динамику управляемого процесса. Если модель должна использоваться при настройке контроллера, то ее следует создать прежде, чем начнется расчет контроллера. Кроме того, вам может потребоваться создание новой модели объекта, если спроектированный контроллер будет функционировать неудовлетворительно.
Рис. 9.36
Процедура идентификации требует задания следующих параметров:
Size of the Hidden Layer. Размер скрытого слоя определяется количеством используемых нейронов;
Sampling Interval. Такт дискретности в секундах определяет интервал между двумя последовательными моментами съема данных;
No. Delayed Plant Inputs. Количество элементов запаздывания на входе модели;
No. Delayed Plant Outputs. Количество элементов запаздывания на выходе модели;
Normalize Training Data. Окно контроля нормирования обучающих данных к диапазону [0 1];
параметры обучающей последовательности:
Training samples. Длина обучающей выборки (количество точек съема информации);
Maximum Plant Input. Максимальное значение входного сигнала;
Minimum Plant Input. Минимальное значение входного сигнала;
Maximum Interval Value (sec). Максимальный интервал идентификации в секундах;
Minimum Interval Value (sec). Минимальный интервал идентификации в секундах;
Limit Output Data. Окно контроля, позволяющее ограничить объем выходных данных; только при включенном окне контроля будут доступны 2 следующих окна редактирования текста;
Maximum Plant Output. Максимальное значение выходного сигнала;
Minimum Plant Input. Минимальное значение выходного сигнала;
Simulink Plant Model. Задание модели Simulink с указанием входных и выходных портов, используемых при построении нейросетевой модели управляемого процесса. С помощью кнопки Browse вы можете выбрать любую модель из числа доступных;
в рассматриваемом случае это модель каталитического реактора CSTR (рис. 9.33);
Generate Training Data. Кнопка запуска процесса генерации обучающей последовательности;
Import Data. Импорт обучающей последовательности из рабочей области или файла данных. Для рассматриваемого примера эти данные накоплены в MAT-файлах cstr1, cstr2, cstr3;
Export Data. Экспорт сгенерированных данных в рабочую область или MAT-файл;
Training Epochs. Количество циклов обучения;
Training function. Задание обучающей функции;
Use Current Weights. Окно контроля, позволяющее подтвердить использование
текущих весов нейронной сети;
Use Validation/Testing for Training. Выбор этих окон контроля будет означать, что по 25 % данных из обучающей последовательности будет использовано для формирования контрольного и тестового подмножеств соответственно.
Итак, выбор процедуры Generate Training Data приведет к тому, что будет запущена программа генерации обучающей последовательности на интервале 1600 с для модели каталитического реактора cstr.mdl. Программа генерирует обучающие данные путем воздействия ряда случайных ступенчатых сигналов на модель Simulink управляемого процесса. Графики входного и выходного сигналов объекта управления выводятся на экран (рис. 9.37).
Рис. 9.37
По завершении генерации обучающей последовательности пользователю предлагается либо принять сгенерированные данные (Accept Data), либо отказаться от них (Reject Data).
Если вы принимаете данные, приложение возвращает вас к несколько измененному окну Plant Identification (рис. 9.38). Здесь часть окон недоступны, а кнопка Generate Training Data заменена на кнопку Erase Generated Data, что позволяет удалить сгенерированные данные.
Рис. 9.38
В окне фрейма содержится сообщение Обучающая последовательность состоит из 8000 замеров. Можно начинать обучение нейронной сети.
Для этого следует воспользоваться кнопкой Train Network (Обучить сеть). Начнется обучение нейросетевой модели. После завершения обучения его результаты отображаются на графиках, как это показано на рис. 9.39, а и б, где построены соответственно результаты обучения и тестирования на контрольном множестве.
-
а
|
б
|
Рис. 9.39
Текущее состояние отмечено в окне Plant Identification (рис. 9.40) сообщением Обучение завершено. Вы можете сгенерировать или импортировать новые данные, продолжить обучение или сохранить полученные результаты, выбрав кнопки OK или Apply.
В результате параметры нейросетевой модели управляемого процесса будут введены
в блок NN Predictive Controller системы Simulink.
Рис. 9.40
После этого мы вновь возвращаемся к окну Neural Network Predictive Control (рис. 9.35) и можем установить параметры оптимизации:
Cost Horizon (N2). Верхний предел суммирования в показателе качества N2 = 7, нижний предел N1 фиксирован и равен 1;
Control Horizon (Nu). Верхний предел суммирования при оценке мощности управления Nu = 2;
Control Weighting Factor (). Коэффициент веса для составляющей мощности управления = 0.05;
Search parameter (). Параметр одномерного поиска, задающий порог уменьшения показателя качества, = 0.001;
Minimization Routine. Выбор процедуры одномерного поиска; выбрана процедура csrchbac;
Iterations Per Sample Time. Число итераций на 1 такт дискретности равно 2.
Как только параметры оптимизации установлены, следует подтвердить это нажатием кнопок OK или Apply. В результате параметры регулятора будут введены в блок NN Predictive Controller системы Simulink.
Возвращаемся к модели Simulink (рис. 9.34) и начинаем моделирование, выбрав
опцию Start из меню Simulation. В процессе моделирования выводятся графики входа
и выхода управляемого процесса (рис. 9.41).
Рис. 9.41
Из анализа полученных данных следует, что реакция системы на ступенчатые воздействия со случайной амплитудой вполне удовлетворительна, имеет колебательный характер с достаточно быстрым затуханием; на интервале 20 с все воздействия эффективно отрабатываются. Таким образом, регулятор с предсказанием, реализованный в виде нейронной сети, можно использовать для управления каталитическим реактором с непрерывным перемешиванием.
9.3.2. Регулятор NARMA-L2
Нейросетевой регулятор, описанный в этом разделе, использует в качестве модели управляемого процесса модель нелинейной авторегрессии со скользящим средним (Nonlinear Autoregressive-Moving Average – NARMA-L2). Схема демонстрационного примера управления магнитной подушкой показана на рис. 9.42.
Рис. 9.42
Окно Model Browser в левой части рисунка содержит перечень всех блоков, входящих в состав системы управления, представленной в виде модели системы Simulink.
Управляемым объектом является магнит, который движется только в вертикальном направлении в электромагнитном поле, как это схематично показано на рис. 9.43.
Рис. 9.43
Уравнение движения этой системы имеет вид:
(9.6)
где y(t) – расстояние движущегося магнита от электромагнита; g – ускорение силы тяжести; – постоянная магнитного поля, зависящая от числа витков обмотки и намагниченности электромагнита; i(t) – управляющий ток электромагнита; M – масса магнита;
– коэффициент вязкого трения.
Соответствующая динамическая модель, реализованная в системе Simulink, показана на рис. 9.44. Точно такую же модель, но с конкретными числовыми данными вы сможете увидеть на экране терминала, если активизируете блок Plant (Magnet Levitation) в окне Model Browser.
Рис. 9.44
Заметим, что рассматриваемая динамическая система является нелинейной, и мы будем строить ее дискретную нелинейную модель как авторегрессионную модель со скользящим средним, или NARMA-модель, в форме
, (9.7)
где y(k) – выход модели; d – число тактов предсказания; u(k) – вход модели.
На этапе идентификации необходимо построить нейронную сеть для NARMA-модели вида (9.7). Эта процедура аналогична описанной выше процедуре идентификации для регулятора с предсказанием.
Если требуется спроектировать следящую систему, которая обеспечивает движение по заданной траектории
y(k+d) = yr(k+d), (9.8)
то это означает, что необходимо сформировать нелинейный регулятор следующего
общего вида:
. (9.9)
Хотя такой регулятор с помощью нейронной сети и может быть сформирован, однако
в процессе минимизации среднеквадратичной ошибки он требует чрезмерных вычислений, поскольку использует динамический вариант метода обратного распространения ошибки [16]. Для практического решения задачи слежения Нарендра (Narendra) и Макхопадхаи (Mukhopadhyay) [31] предложили приближенную NARMA-модель с выделенной составляющей управления. Такая модель регулятора, именуемая моделью NARMA-L2, имеет вид:
(9.10)
Преимущество этой формы состоит в том, что теперь текущее управление можно
непосредственно вычислить, если известна желаемая траектория yr, предыстория управления {u(k – 1), …, u(k – m + 1)}, а также предшествующие и текущее значения выхода {y(k), …, y(k– n+ 1)}:
. (9.11)
Непосредственное применение этого соотношения для реализации регулятора затруднительно, поскольку управление u(k) зависит от текущего значения выхода y(k). Поэтому управление (9.11) модифицируется следующим образом:
, (9.12)
но при этом параметр предсказания должен удовлетворять условию d 2.
На рис. 9.45 показана структура соответствующего регулятора в виде нейронной сети.
Рис. 9.45
Здесь следует обратить внимание на участки сети, которые выполняют аппроксимацию нелинейных операторов g и f в виде выходов и . Входами регулятора являются сигналы y(t+1) и u(t+1), последний реализован в виде обратной связи,
а также эталонный сигнал yr(t+2). Блоки задержки осуществляют запоминание соответствующих последовательностей входа и выхода, а затем используются двухслойные нейронные сети, которые формируют оценки нелинейных операторов и вычисляют сигнал управления в форме (9.12).
Общая структурная схема системы с регулятором NARMA-L2 показана на рис. 9.46.
Рис. 9.46
На схеме явным образом выделена эталонная модель, которая задает желаемую траекторию для выхода управляемого процесса.
Демонстрационный пример NARMA-L2 Controller использует следующие файлы, размещенные в каталоге toolbox\nnet\nncontrol.
MAT-файлы данных:
ball1– данные для обучения нейросетевой модели магнитной подушки.
Функции активации, используемые в нейронной сети контроллера NARMA-L2:
netinv – функция активации (1/n);
dnetinv – производная функции активации (1/n).
Модели Simulink:
ballrepel0 – модель магнитной подушки;
narmamaglev – GUI-приложение для контроллера NARMA-L2.
Вспомогательные функции:
sfunxy2 – S-функция для вывода графиков;
nncontrolutil – утилита, обеспечивающая возможность обращения к частным функциям из системы Simulink.
Выполнить запуск демонстрационного примера можно несколькими способами:
в окне запуска приложений Launch Pad выбрать опцию Demos для ППП Neural Network Toolbox;
ввести команду narmamaglev в командном окне системы MATLAB.
Для того чтобы начать работу, необходимо активизировать блок NARMA-L2 Controller двойным щелчком левой кнопки мыши. Появится окно, показанное на рис. 9.47.
Рис. 9.47
Обратите внимание, что это окно дает возможность обучить модель NARMA-L2.
Отдельного окна для обучения регулятора нет, так как регулятор NARMA-L2, в отличие от регулятора с предсказанием, определяется непосредственно по модели.
Это окно работает так же, как и другие окна идентификации объекта управления, поэтому повторно подробно процесс обучения рассматривать не будем.
После окончания обучения нажать на клавишу OK для ввода данных регулятора в модель Simulink. Возвращаемся к модели Simulink (см. рис. 9.34) и начинаем моделирование, выбрав опцию Start из меню Simulation. Графики задающего сигнала и выхода системы приведены на рис. 9.48.
Рис. 9.48
Из анализа полученных данных следует, что реакция системы на ступенчатые воздействия со случайной амплитудой вполне удовлетворительна, имеет колебательный характер с достаточно быстрым затуханием; на интервале 5 с все уставки эффективно отрабатываются. Таким образом, регулятор NARMA-L2, реализованный в виде нейронной сети, можно использовать для управления магнитной подушкой.
9.3.3. Регулятор на основе эталонной модели
В этом разделе описана система управления с эталонной моделью, при реализации которой используются 2 нейронные сети: для регулятора и для модели объекта управления. Схема демонстрационного примера управления звеном робота показана на рис. 9.49.
Рис. 9.49
Окно Model Browser в левой части рисунка содержит перечень всех блоков, входящих в состав системы управления, представленной в виде модели системы Simulink.
В этом демонстрационном примере цель состоит в управлении движением одного звена робота, как это показано на рис. 9.50.
Рис. 9.50
Уравнения движения звена:
(9.13)
где – угол поворота звена; u – момент, развиваемый двигателем постоянного тока.
Цель обучения регулятора состоит в том, чтобы движение звена отслеживало выход эталонной модели:
(9.14)
где yr– выход эталонной модели; r – задающий сигнал на входе модели.
Соответствующая динамическая модель, реализованная в системе Simulink, показана на рис. 9.51.
Рис. 9.51
Структурная схема, поясняющая принцип построения системы управления с эталонной моделью, показана на рис. 9.52.
Рис. 9.52
В ней следует выделить эталонную модель, которая задает желаемую траекторию движения звена робота, удовлетворяющую дифференциальному уравнению (9.14), а также нейронные сети, реализующие регулятор и модель объекта управления.
Архитектуру нейронной сети регулятора можно описать профилем 5–13–1 (5 входов, 13 нейронов скрытого слоя и 1 выход). Она показана на рис. 9.53 и имеет 2 слоя. Здесь же показана и нейронная сеть модели объекта, которая также состоит из двух слоев. Линии задержки, используемые для формирования входов нейронных сетей, имеют такт дискретности, равный 0.05 с.
Рис. 9.53
Демонстрационный пример Model Reference Control использует следующие файлы, размещенные в каталоге toolbox\nnet\nncontrol.
MAT-файлы данных:
robot1, robot2 – данные для обучения нейросетевой модели звена робота;
robot1norm, robot2norm, robot3norm – нормированные данные для обучения нейросетевой модели звена робота;
robot1ref – данные для обучения нейросетевой модели контроллера.
Обучающие функции нейронных сетей:
srchbacxc – процедура одномерного поиска на основе перебора с возвратом;
trainbfgc – модифицированная процедура алгоритма BFGS для расчета системы управления с эталонной моделью.
Модели Simulink:
mrefrobotarm – модель системы управления звеном робота;
mrefrobotarm2 – модель системы управления звеном робота с нормированными
данными;
robotarm – динамическая модель звена робота;
robotref – эталонная модель.
Вспомогательные функции:
sfunxy2 – S-функция для вывода графиков;
nncontrolutil – утилита, обеспечивающая возможность обращения к частным функциям из системы Simulink.
Выполнить запуск демонстрационного примера можно несколькими способами:
в окне запуска приложений Launch Pad выбрать опцию Demos для ППП Neural Network Toolbox;
ввести команды mrefrobotarm или mrefrobotarm2 в командном окне системы MATLAB в зависимости от того, используется ли модель с ненормированными или нормированными данными.
Для того чтобы начать работу, необходимо активизировать блок Model Reference Controller двойным щелчком левой кнопки мыши. Появится окно, показанное на рис. 9.54.
Рис. 9.54
Особенность рассматриваемой системы управления заключается в том, что следует построить 2 нейронные сети: модели объекта управления и самого регулятора. Разумно начать с построения модели объекта управления и в окне, показанном на рис. 9.54, выбрать кнопку Plant Identification. При этом откроется окно Plant Identification, которое показано на рис. 9.55.
Рис. 9.55
Для построения нейросетевой модели объекта управления следует выбрать кнопку Generate Training Data и далее следовать рассмотренной ранее процедуре идентификации. Параметру Training Epochs целесообразно установить значение, равное 50, чтобы сократить время вычислений. Если результаты идентификации вас удовлетворяют, то следует подтвердить это нажатием кнопки Accept Data в окне Plant Input-Output Data,
в противном случае выбрать кнопку Reject Data и затем сформировать новые данные. После этого вы вновь возвращаетесь в окно Model Reference Control (рис. 9.54).
Теперь для обучения регулятора следует выбрать кнопку Generate Training Data, чтобы сгенерировать обучающие данные. Эти данные в виде графиков появятся в окне Input-Output Data for NN Model Reference Control, и вам вновь необходимо подтвердить или отвергнуть эти данные. Если данные приемлемы, то в окне Model Reference Control следует выбрать кнопку Train Controller (Обучить регулятор). После того как обучение окончено, графики выходов эталонной модели и объекта управления выводятся на экран (рис. 9.56). Обучение регулятора занимает весьма значительное время, поскольку обучение использует динамический вариант метода обратного распространения ошибки [16].
Рис. 9.56
Если точность слежения за эталонной моделью неудовлетворительна, то можно продолжить обучение регулятора с тем же набором данных, снова воспользовавшись кнопкой Train Controller. Если для продолжения обучения необходимо использовать новый набор данных, следует воспользоваться кнопками Generate Data или Import Data, причем, если вы хотите продолжить обучение с выбранными весами, следует сделать отметку в окне контроля Use Current Weights.
По окончании обучения регулятора нажать на клавишу OK, вернуться к модели Simulink (см. рис. 9.49) и начать моделирование, выбрав опцию Start из меню Simulation. Графики эталонного сигнала и выхода объекта управления показаны на рис. 9.57.
Рис. 9.57
Из анализа полученных данных следует, что реакция системы на ступенчатые воздействия со случайной амплитудой носит монотонный характер и отрабатывается в пределах 3 с. Это свидетельствует о хорошем качестве регулятора Model Reference Controller для управления звеном робота-манипулятора.
|
|
|