Главная страница
Навигация по странице:

  • Model Reference

  • Model Reference Controller

  • Первая стадия

  • Вторая стадия – это получение данных для обучения идентификационной сети (блок Training Data

  • Input Port

  • Plant Input-Output Data

  • Training data for NN Model Reference Control

  • Model Reference Control

  • Plant

  • Возможные проблемы в процессе моделирования.

  • РАБОЧЕЕ ЗАДАНИЕ Система автоматического управления с нейросетевым регулятором на основе эталонной модели

  • Рис. 2.11.

  • Input-Output Data for NN Model Reference

  • ЗАДАНИЕ В соответствии с таблицей 1 разработать систему автоматического управления объектом с использованием нейросетевого подхода. Таблица 1.

  • Нейросетевое управление объектом. Лабораторная работа 2. Лабораторная работа Построение нейросетевой системы управления динамическим объектом


    Скачать 0.84 Mb.
    НазваниеЛабораторная работа Построение нейросетевой системы управления динамическим объектом
    АнкорНейросетевое управление объектом
    Дата01.02.2022
    Размер0.84 Mb.
    Формат файлаpdf
    Имя файлаЛабораторная работа 2.pdf
    ТипЛабораторная работа
    #348364

    1
    Лабораторная работа 2.
    Построение нейросетевой системы управления
    динамическим объектом
    Цель работы: приобретение практических навыков проектирования нейросетевой САУ динамическим объектом в пакете MatLab.
    ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
    Библиотека инструментов пакета
    MatLab позволяет моделировать супервизорный режим работы многослойной нейросети в составе системы динамическим объектом, заданным уравнениями состояния. Реализация этого режима обеспечивается нейросетевым контроллером Model Reference
    Control, представляющим собой структуру, которая включает две многослойные нейронные сети: управляющую и идентификационную.
    Каждая сеть блока содержит один скрытый слой, количество нейронов в котором выбирается в зависимости от сложности задачи управления.
    Блок Model Reference Controlнаходится в библиотеке инструментов
    MatLab в папке Neural Network Blockset/Control Systems.
    Настройка контроллера осуществляется в два этапа. На первом этапе проводится идентификация объекта управления
    (обучение идентификационной многослойной нейронной сети (МНС)), а на втором – обучение управляющей МНС так, чтобы поведение замкнутой системы
    «контроллер – объект» управления было бы идентичным поведению заранее выбранной модели (reference-модели). Таким образом, в данном контроллере реализуется стратегия обучения «с учителем». В процессе обучения поэтапно производится настройка весовых коэффициентов нейронов сети по выбранному алгоритму. Под одним уроком обучения понимается перенастройка всех весовых коэффициентов сети.
    При открытии блока Model Reference Controllerпоявляется окно настройки управляющей сети. Для того чтобы перейти к идентификации ОУ, необходимо нажать на кнопку Plant Identification, расположенную в левом нижнем углу окна. При этом появится новое окно Plant Identification(рис.

    2 2.45), в котором можно будет задать параметры, необходимые для настройки идентификационной сети.
    Идентификация объекта управления происходит в три стадии.
    Первая стадия – выбор структуры идентификационной МНС (блок
    Network Architectureна рис. 2.1). Она включает в себя выбор следующих параметров:
    Size of Hidden Layer – количество нейронов в скрытом слое
    (используется МНС с одним скрытым слоем). Этот параметр следует выбирать с учетом сложности объекта управления. Следует учесть, что сеть с большим количеством нейронов в скрытом слое будет обеспечивать более высокие качественные показатели за меньшее количество уроков, но при этом возрастет сложность вычислений, т. е. один урок будет занимать большее время.
    Sampling Interval – период дискретизации (в секундах).
    Nо. Delayed Plan! Inputs – количество элементов задержки на входах идентификационной сети.
    No. Delayed Plant Outputs – количество элементов задержки на выходах идентификационной сети.
    Normalize Training Data – нормализация данных в процессе обучения.
    При выборе этого параметра данные, используемые в процессе обучения, будут приведены к отрезку [0; 1].
    Вторая
    стадия
    – это получение данных для обучения идентификационной сети (блок Training Dataна рис. 2.2). На этом этапе возможно импортирование данных из МАТ-файла или непосредственно из рабочего пространства
    MatLab
    , а также формирование данных на основе заранее подготовленной модели объекта управления.
    Модель объекта управления выполняется в виде отдельного файла
    Simulink и оформляется с помощью выделенных входа и выхода объекта
    (использовать блоки Input Portи Output Port).

    3
    В процессе формирования данных на основе представленной модели объекта управления проводится эксперимент, в котором на вход этой модели подается последовательность прямоугольных импульсов (в дальнейшем будем называть ее тестовым сигналом), параметры которой задаются следующими значениями:
    Training Samples – количество дискретных отсчетов в тестовой последовательности. Значение этого параметра следует выбирать исходя из сложности объекта управления.
    Maximum Plant Input – максимальная величина сигнала.
    Minimum Plant Input – минимальная величина сигнала.
    Рис. 2.1. Настройка процесса идентификации объекта управления

    4
    Рис. 2.2. Настройка процесса обучения управляющей сети
    Maximum Interval Value – максимальная длительность одного импульса
    (в секундах).
    Minimum Interval Value – минимальная длительность одного импульса (в секундах).
    Эти значения следует выбирать такими, чтобы тестовый сигнал предоставлял бы как можно большую информацию об объекте, т. е. был бы достаточно разнообразным.
    Limit Output Data – ограничение выхода модели. При использовании этого параметра будет предложено выбрать минимальное и максимальное значения, которыми будет ограничена реакция объекта управления на тестовый сигнал.
    Simulink Plant Model – здесь необходимо указать название модели
    Simulik. При нажатии на кнопку Browse будет предложено указать рас-

    5 положение заранее подготовленного файла с моделью (для корректной работы путь, по которому находится файл, не должен содержать русских символов).
    После выбора всех значений необходимо нажать кнопку Generate
    Training Data. При этом процесс выработка последовательности будет отображен в графическом окне Plant Input-Output Data. Процесс можно прервать, нажав на кнопку Stop Simulation.
    После окончания будет предложено либо принять данные (Accept Data), либо отклонить их (Reject Data).
    Если по каким-то причинам полученные данные не подходят, то при нажатии на кнопку Reject Data окно закроется, и можно будет задать другие параметры тестовой последовательности, другую модель или импортировать данные из МАТ-файла или из рабочего пространства
    MatLab
    При принятии данных кнопка Generate Training Data заменяется на Erase
    Generated Data. Таким образом, на любом этапе можно остановиться и сфор- мировать тестовую последовательность заново.
    Кнопка Import Data служит для импорта тестовых данных из сохраненного ранее МАТ-файла или из рабочего пространства
    MatLab
    Кнопка Export Data предназначена для экспорта тестовых данных в МАТ- файл или в рабочее пространство
    MatLab в виде структуры данных или массива.
    После получения тестовой последовательности необходимо перейти к заключительной стадииобучению идентификационной МНС.
    Для этого необходимо определить следующие параметры:
    Training Epochs – количество уроков обучения. Значение этого параметра необходимо выбирать достаточно большим, чтобы ошибка обучения была бы достаточно мала. Однако, начинав с некоторого момента времени, дальнейшее обучение сети становится практически бесполезным, и поэтому количество уроков не должно быть слишком большим. Для данного

    6 примера обучение можно прекратить, когда график ошибки выйдет на длинный пологий участок.
    Training Function – выбор алгоритма обучения. Для данного примера рекомендуется использовать алгоритм trainlm.
    Use Current Weights – использовать уже полученные весовые коэффициенты. Этот параметр можно выбирать при повторном обучении сети.
    Use Validation Testing Data – при выборе этих параметров 25 % тестовых данных будет использовано для раннего завершения обучения и/или проверки сети. В нижней части окна синим цветом отображается подсказка.
    После выбора всех параметров необходимо нажать на кнопку Train
    Network (обучение сети). При этом появится новое окно, в котором будет наглядно отображаться ход обучения, т. е. будет показана ошибка обучения для каждого урока. Процесс обучения можно прервать, нажав на кнопку Stop
    Training.
    После завершения процесса обучения будет показано два новых окна
    Training data for NN Model Reference Controlи Testing data for NN Model
    Reference Control(если был выбран параметр Use Testing Data).
    После успешного обучения идентификационной сети необходимо перейти к обучению управляющей сети. Для этого в окне Plant Identification нужно нажать на кнопку ОK.
    Для настройки процесса обучения управляющей сети предназначено окно Model Reference Control (рис. 2.46).
    Процесс обучения контроллера также можно разбить на три стадии.
    Первая стадиявыбор конфигурации управляющей сети
    Здесь параметры Sampling Interval и Normalize Training Data выбираются такими же, как и при обучении идентификационной сети автоматически.
    No. Delayed Reference Inputs – количество элементов задержки на входе, на который подается тестовый сигнал.

    7
    No. Delayed Controller Outputs – количество элементов задержки на выходе управляющей сети.
    No. Delayed Plant Outputs – количество элементов задержки на выходе идентификационной сети.
    Вторая стадияполучение данных для обучения.
    На этой стадии, как и при обучении идентификационной сети, возможно импортирование данных из МАТ-файла или непосредственно из рабочего пространства
    MatLab
    , а также формирование данных на основе заранее подготовленной эталонной (reference) модели.
    Reference-модель – это модель, которая, описывает желаемое поведение замкнутой системы контроллер-объект управления. Она задается так же, как и модель объекта управления на этапе идентификации, т. е. в виде файла на графическом языке Simulink.
    Controller Training Samples – количество дискретных отсчетов а тестовом сигнале. Оно должно быть, как и при идентификации объекта, достаточно большим.
    Все параметры, как и сам процесс формирования тестовой последовательности, аналогичны используемым на этапе идентификации объекта управления.
    Третья стадияобучение контроллера (управляющей сети). Для обучения необходимо задать следующие параметры:
    Controller Training Epochs – количество уроков. Значение этого параметра нельзя определить заранее, поэтому его необходимо подобрать в процессе обучения.
    Controller Training Segments – количество сегментов, на которые будут разделены тестовые данные. При этом для каждого сегмента будет проведено указанное количество уроков. Желательно разбивать данные на сегменты таким образом, чтобы каждый сегмент содержал хотя бы один переходный процесс.

    8
    Use Current Weights – использовать текущие весовые коэффициенты. В противном случае весовые коэффициенты будут выбраны случайным образом. Этот параметр следует применять при повторном обучении.
    Use Cumulative Training – при выборе этого параметра первоначальное обучение будет выполнено с первым сегментом тестовых данных, а при последующем обучении остальные сегменты будут добавляться к данным, используемым на предыдущем этапе обучения. Таким образом, на финальной стадии обучения будет использован весь набор тестовых данных. Этот параметр следует использовать с осторожностью, так как он увеличивает время обучения.
    После задания всех параметров необходимо приступить к обучению управляющей сети, для чего нужно нажать на кнопку Train Controller. При этом откроется окно, в котором будет наглядно отображаться процесс обучения (так же, как и при обучении идентификационной сети). Процесс обучения можно прервать, нажав на кнопку Stop Training.
    Внимание! Процесс обучения может занимать длительное время (до не- скольких часов), и при этом программа может не реагировать на нажатие кнопки Stop Training.
    После завершения обучения открывается окно Plant Response for NN
    Model Reference Control, в котором отображаются результаты обучения. Их можно просмотреть более детально, выбрав в меню пункт View/Figure
    Toolbar. При этом под строкой меню появится панель инструментов, с помощью которой можно манипулировать изображением.
    После успешного завершения процесса обучения управляющей сети контроллер готов к использованию в составе системы управления.
    Возможные проблемы в процессе моделирования.
    1. Процесс обучения идентификационной сети идет медленно или прекращается самопроизвольно, что определяется по тому, что ошибка обучения не уменьшается с какого-либо урока.
    Это может происходить в следующих случаях:

    9
    • неверно выбрана конфигурация МНС2необходимо задать большее число нейронов в скрытом слое;
    • неверно задан набор тестовых данных, не «возбуждающих» ОУ,
    следует выбрать другие значения параметров в блоке training data;
    • выбрано слишком малое число уроков обучения и его необходимо увеличить.
    2. Процесс обучения управляющего контроллера (сети МНС1) идет крайне медленно и ошибка обучения практически не уменьшается.
    Это может происходить в следующих случаях:
    • неудачно заданы параметры тестовой последовательности при идентификации объекта и необходимо повторить процесс обучения сети
    МНС2 с другими параметрами в блоке training data; следует использовать близкие по форме и параметрам тестовые сигналы при обучении обеих МНС;
    • выбрано слишком малое число элементов в скрытом слое и его необ- ходимо увеличить.
    3. Прямые показатели качества моделируемой системы существенно отличаются от аналогичных показателей для эталонной модели.
    Это возможно в следующих случаях:
    • идентификация объекта произведена неудачно, поэтому следует повторить настройку МНС2, учитывая ранее допущенные ошибки эксперимента, например, выбор недостаточного числа уроков обучения
    МНС2, числа нейронов в скрытом слое сети;
    • конфигурация управляющей сети МНС1 не позволяет решать возложенную на нее задачу управления и необходимо повторить обучение с увеличенным количеством элементов в скрытом слое.

    10
    РАБОЧЕЕ ЗАДАНИЕ
    Система автоматического управления с нейросетевым регулятором
    на основе эталонной модели
    В качестве примера моделирования в среде Simulink систем управления с использованием нейросетевых регуляторов используем демонстрационный пример пакета, иллюстрирующий систему управления с эталонной моделью звеном («рукой») робота и вызываемый с помощью пунктов Help/Demos меню MATLAB (см. рис. 2.3).
    Рис. 2.3. Окно справки MATLAB
    При открытии модели (с помощью мышки пункта Open this model
    (Отрыть эту модель)) в правой части окна, открывается окно Simulink с названием mrefrobotarm(рис. 2.4).

    11
    Рис. 2.4. Структура нейросетевой системы управления в среде Simulink
    При реализации системы использованы 2 нейронные сети – для регулятора и для модели объекта управления.
    В этом демонстрационном примере цель заключается в управлении движением одного звена робота.
    Управление движения звена представлено соотношением:
    u
    dt
    d
    dt
    d







    2
    sin
    10 2
    2
    , где φ – угол поворота звена, u – момент, развиваемый двигателем постоянного тока.
    Соответствующая динамическая модель, реализаванная в среде Simulink, приведена на рис. 2.5.
    Рис. 2.5. Структурная динамическая модель звена робота

    12
    Цель обучения регулятора состоит в том, чтобы движение звена соответствовало выходу эталонной модели:
    r
    dt
    dy
    y
    dt
    y
    d
    r
    r
    r
    9 6
    sin
    9 2
    2




    , где
    r
    y
    – выход эталонной модели, r – задающий сигнал на входе модели.
    Структурная схема, поясняющая принцип построения системы управления с эталонной моделью, показана на рис. 2.6.
    Рис. 2.6. Система управления с эталонной моделью
    На рисунке:
    Command Input – задающий сигнал,
    Reference Model – эталонная модель,
    NN Controller – нейросетевой регулятор,
    NN Plant Model – нейронная сеть модели объекта,
    Plant – объект управления,
    Model Error – ошибка модели,
    Control Errorошибка управления,
    Plant Output – выход объекта.
    В приведенной структуре следует выделить эталонную модель, которая задает желаемую траекторию движения звена робота, удовлетворяющему второму из приведенных дифференциальных уравнений, а также нейронные сети, реализующие регулятор и объект управления.

    13
    В данном случае архитектура НС регулятора описывается профилем 5–
    13–1 (5входов, 13 нейронов скрытого слоя и один выход), т. е. содержит два слоя нейронов. Из двух слоев состоит и нейронная сеть модели объекта.
    Линии задержки, используемые для формирования входов НС, имеют такт дискретности 0.05 с.
    Для начала работы с демонстрационным примером необходимо активизировать блок Model Reference Controller двойным щелчком левой кнопки мыши. Появится окно, показанное на рис. 2.7.
    Рис. 2.7. Окно настроек нейросетевых моделей
    Особенность рассматриваемой системы управления состоит в том, что следует построить две нейронные сети – модель объекта управления и самого регулятора. Начнем с построения модели объекта управления, выбрав в окне настроек кнопку Plant Identification. При этом откроется окно Plant
    Identification, которое показано на рис. 2.8.

    14
    Рис. 2.8. Окно для построения нейросетевой модели ОУ
    Для построения нейросетевой модели ОУ следует выбрать кнопку
    Generate Training Data. Это приведет к тому, что будет запущена программа генерации обучающей последовательности на интервале 500 с для модели рассматриваемого объекта управления. Программа генерирует обучающие данные путем воздействия ряда случайных ступенчатых сигналов на модель
    Simulink объекта. Графики входного и выходного сигнала объекта выводятся на экран (рис. 2.9).
    По завершении генерации обучающей последовательности пользователю предлагается либо принять данные (Accept Data), либо отказаться от них (Reject Data).
    Примем данные, после чего приложение возвратит нас к несколько измененному окну Plant Identification(рис. 2.10). Здесь часть окна недоступна, а кнопка Generate Training Data заменена на кнопку Erase
    Generated Data, что позволяет удалить сгенерированные данные.
    Теперь можно начать обучение нейронной сети.

    15
    Рис. 2.9. Сигнал ОУ Рис. 2.10. Модифицированное окно
    в режиме его идентификации для построения модели ОУ
    Для этого следует воспользоваться кнопкой Train Network (Обучить сеть). Начнется обучение нейросетевой модели. После завершения обучения его результаты отображаются на графиках, как это показано на рис. 2.11 и рис. 2.12, где построены соответствующие результаты обучения и тестирования на контрольном множестве.

    16
    Рис. 2.11. Результат обучения модели на обучающем множестве
    Рис. 2.12. Результат тестирования модели на контрольном множестве

    17
    Текущее состояние отмечено в окне Plant Identification (рис. 2.13) сообщением «Обучение завершено». Вы можете сгенерировать или импортировать новые данные, продолжить обучение или сохранить полученные результаты, выбрав кнопки OK или Apply.
    Рис. 2.13. Окно идентификации объекта Рис. 2.14. Выход эталонной модели
    с сообщением об окончании процедуры и объекта управления
    Выберем кнопку OK. В результате параметры нейросетевой модели объекта управления будут введены в блок Model Reference Controller
    системы Simulik, после чего произойдет возврат в окно Model Reference
    Controller(рис. 2.14).
    Теперь для обучения регулятора следует выбрать кнопку Generate
    Training Data, чтобы сгенерировать обучающие данные. Эти данные в виде графиков появятся в окне Input-Output Data for NN Model Reference
    Controller и снова необходимо подтвердить или опровергнуть эти данные.
    Если данные приемлемы, то в окне Model Reference Controller следует выбрать кнопку Train Controller (Обучить регулятор). После того как обучение закончится, графики выходов эталонной модели и объекта управления выводятся на экран (рис. 2.14). Заметим, что обучение регулятора

    18 занимает, в силу применяемого алгоритма обучения (динамического варианта метода обратного распространения ошибки), весьма значительное время.
    По окончании обучения регулятора необходимо нажать на кнопку OK, вернуться к модели Simulik и начать моделирование, выбрав опцию Start из меню Simulation. Графики эталонного сигнала и выхода объекта управления показаны на рис. 2.15.
    Рис. 2.15. Графики эталонного сигнала (ступенчатый процесс)
    и выхода объекта
    Из анализа полученных данных следует, что реакция системы на ступенчатые воздействия со случайной амплитудой носит монотонный характер и обрабатывается в пределах 3…4 с. Это свидетельствует о хорошем качестве регулятора Model Reference Controller для управления звеном робота-манипулятора.

    19
    ЗАДАНИЕ
    В соответствии с таблицей 1 разработать систему автоматического управления объектом с использованием нейросетевого подхода.
    Таблица 1. Варианты задания
    № варианта
    Задача
    1
    Система управления ориентации орбитального телескопа "Хаббл"
    2
    Система управления летательным аппаратом по каналу тангажа
    3
    Система управления углом курса самолета
    4
    Система регулирования температуры печи
    5
    Система управления подвеской транспортного средства
    6
    Система управления осциллятором
    7
    Система управления угловым положением двигателя постоянного тока
    8
    Система управления компенсационной емкостью
    9
    Навигация мобильного робота на основе искусственных нейронных сетей
    10
    Система регулирования температуры в помещении
    Для выполнения задания следует выполнить следующее.
    1.
    Описать объект управления.
    2.
    Составить функциональную схему управления объектом.
    3.
    Предоставить математическое описание объекта.
    4.
    Составить mat-файл объекта управления.
    5.
    Реализовать систему управления в пакете Matlab.
    6.
    Сделать выводы по полученным результатам


    написать администратору сайта