Реализация в Matlab/Simulink




Промоделируем выше описанную систему для передаточной функции канала вертикальной скорости и ПИД регулятора для этого ОУ с коэффициентами , , . Система показана на рисунке 8. Модель необходимо настроить на дискретный шаг 0.01 и становить SingleTasking для опции Tasking mode for periodic sample times (рисунок 9).

 

Рисунок 8. Схема моделирования системы с ПИД контроллером

Рисунок 9. Настройки модели Simulink

Блок Uniform Random Number настройте для диапазона от -10 до 10 с периодом 4 с. Как можно видеть, ПИД регулятор точно отслеживает команду (рисунок 10).

Рисунок 10. Отслеживание команды ПИД регулятором

Сформируем обучающие данные для прямого нейроэмулятора. Для этого дополним схему сбором данных в блоки Scope с именами Input (рисунок 11) и Target (рисунок 12), а также добавим еще блок Uniform Random Number с параметрами -1 до 1 и периодом 0.1, подадим вывод этого блока сразу на объект управления (рисунок 11).

Рисунок 11. Сбор входных данных Рисунок 12. Сбор выходных данных

В данный момент на объект управления подается случайное управление в пределах допустимых границ [-1;1] и снимаются его реакции, которые в дальнейшем будут использованы для обучения нейронной сети. Блок Unit Delay должен быть настроен на период 0.01, а не -1.

Рисунок 11. Сбор данных для прямого нейроэмулятора

После этого в сохраненных переменных рабочего пространства в массивах Input и Target удаляем первый столбец с временем и затем вызываем мастер настройки нейронной сети с помощью команды nftool.

Выбираем на второй странице наши входные и выходные данные нейронной сети (рисунок 12) и выбираем вид данных как строки. Затем идет выбор разбиения данных на обучение, проверку и тестирование, оставляем в тех пропорциях, что предлагается. Количество нейронов в скрытом слое 10. Запускаем обучение, кнопкой Train.

После того как обучение завершилось, можно увидеть коэффициент корреляции R, чем ближе к 1, тем больше нейронная связь определила взаимосвязь между данными (рисунок 13).

Рисунок 12. Выбор обучающих данных нейронной сети

Рисунок 13. Завершение обучения нейронной сети

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

Рисунок 14. Завершение обучения нейронной сети

После этого сгенерируем ее модель Simulink командой gensim(VzModelNN,0.01) в рабочей области. При выполнении этой команды откроется окно модели, из которого надо скопировать блок нейронной модели (синего цвета) и вставить в модель схемы (рисунок 15). Последняя цифра сообщает о периоде реакции нейронной сети.

Рисунок 15. Модель с прямым нейроэмулятором

Проверим реакцию прямого нейроэмулятора на другой выборке, для этого изменим значение поля seed у блока uniform random number. Как можно видеть, реакция полностью совпадает (Рисунок 16).

Рисунок 16. Сравнение реакций объекта управления и прямого нейроэмулятора

Прямой нейроэмулятор настроен, теперь подобным образом надо настроить инверсный нейроэмулятор.

Для этого вновь подключим Scope для записи данных в массивы Input и Target согласно схеме (рисунок 17). Для сбора данных о инверсной модели объекта управления, используем приближенную передаточную функцию ОУ с апериодическим звеном в знаменателе 0.05p+1. Для обучения лучшего всего использовать сигнал похожий на будущую форму возмущения, поэтому предлагается использовать произведение несколько блоков синусоид с параметрами амплитуды (А) и частоты (Ч): А=4 и Ч=1 рад/с, А=2 и Ч=3 рад/с, А=0.6 и Ч=0.5 рад/с, А=3 и Ч=2 рад/с.

Рисунок 17. Сбор данных для инверсного нейроэмулятора

После обучения и генерации модели Simulink нейронной сети, проверив реакцию инверсной нейроэмулятора, для этого дополним схему (Рисунок 18).

Рисунок 18. Схема проверки работы инверсного нейроэмулятора (не должно быть блока инверсной модели!!!!!)

Реакция инверсного нейроэмулятора на обучающий сигнал показана на рисунке 19.

Рисунок 19. Реакция инверсного нейроэмулятора и инверсной ПФ ОУ.

Как видим, реакция полностью совпадает. Теперь можно приступать к составлению схемы парирования возмущения.

Схема приведена на рисунке 20.

Рисунок 20. Схема компенсации возмущения.

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

 

Контрольные вопросы.

1. Какие слои содержит нейронная сеть?

2. Что происходит при обучении нейронной сети?

3. Назовите некоторые применения нейронных сетей.

4. Каким критерям должна отвечать обучающая выборка?

5. Что такое функция активации и какими они бывают?

6. Какие нейронные сети были разработаны в данной лабораторной работе и какие функции выполняют?

 

nntool - посмотреть свойства нейронной сети

 

Список литературы

1. Бураков, М. В. Нейронные сети и нейроконтроллеры: учеб. пособие/ М. В. Бураков. – СПб.: ГУАП, 2013. – 284 с.

2.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-08-07 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: