Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Медведев В.С., Потемкин В.Г. Нейронные сети. MATLAB 6.doc
Скачиваний:
857
Добавлен:
07.03.2016
Размер:
15.55 Mб
Скачать

9.3.1. Регулятор с предсказанием

Регулятор с предсказанием, реализованный в ППП NeuralNetworkToolbox, использует модель нелинейного управляемого процесса в виде нейронной сети для того, чтобы предсказывать его будущее поведение. Кроме того, регулятор вычисляет сигнал управления, который оптимизирует поведение объекта на заданном интервале времени.

Идентификация управляемого процесса.Схема подсистемы идентификации показана на рис. 9.29. Она включает модель управляемого процесса в виде нейронной сети, которая должна быть обучена в автономном режиме так, чтобы минимизировать ошибку между реакциями процесса и моделиe = ypymна последовательность пробных сигналовu.

Рис. 9.29

Нейронная сеть регулятора управляемого процесса представлена на рис. 9.30; она име­- ­ет 2 слоя нейронов и использует линии задержки (ЛЗ), чтобы запомнить предшествующие значения входов и выходов процесса с целью предсказать будущие значения выхода.

Рис. 9.30

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

Принцип управления с предсказанием. Управление с предсказанием использует принцип удаляющегося горизонта [40], когда нейросетевая модель управляемого процесса предсказывает реакцию объекта управления на определенном интервале времени в будущем. Предсказания используются программой численной оптимизации для того, чтобы вычислить управляющий сигнал, который минимизирует следующий критерий качества управления:

, (9.4)

где константы N1,N2иNuзадают пределы, внутри которых вычисляются ошибка слежения и мощность управляющего сигнала. Переменнаяu' описывает пробный управляющий сигнал,yr– желаемая, аym– истинная реакция модели управляемого процесса. Величинаопределяет вклад, который вносит мощность управления в критерий качества.

Структурная схема на рис. 9.31 иллюстрирует процесс управления с предсказанием. Регулятор состоит из нейросетевой модели управляемого процесса и блока оптимизации. Блок оптимизации определяет значения u', которые минимизируют критерий качества управления, а соответствующий управляющий сигнал управляет процессом.

Рис. 9.31

Реализация регулятора с предсказанием.В качестве примера исследуется процесс управления каталитическим реактором с непрерывным перемешиванием (ContinousStirredTankReactor–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

Чтобы разобрать этот достаточно сложный демонстрационный пример, следует сделать ряд предварительных замечаний.

Описываемые ниже приложения нейронных сетей реализованы только в рамках системы MATLAB6. Демонстрационный примерNNPredictiveControllerиспользует следующие файлы, размещенные в каталоге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 с все воздействия эффективно отрабатываются. Таким образом, регулятор с предсказанием, реализованный в виде нейронной сети, можно использовать для управления каталитическим реактором с непрерывным перемешиванием.