exponenta event banner

Модель конструкции - опорный нейронный контроллер в Simulink

Эталонная архитектура управления нейронной моделью использует две нейронные сети: сеть контроллеров и сеть моделей растений, как показано на следующем рисунке. Сначала идентифицируется модель установки, а затем контроллер обучается таким образом, чтобы выходные данные установки соответствовали выходным данным эталонной модели.

На следующем рисунке показаны детали модели нейронной сети и контроллера нейронной сети, реализованные в программном обеспечении Deep Learning Toolbox™. Каждая сеть имеет два слоя, и можно выбрать количество нейронов для использования в скрытых слоях. Существует три набора входных сигналов контроллера:

  • Запаздывающие опорные входы

  • Задержанные выходы контроллера

  • Задержанные выходы установки

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

  • Задержанные выходы контроллера

  • Задержанные выходы установки

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

Использовать блок контроллера привязки модели

В этом разделе показано обучение контроллера нейронной сети. Первый шаг состоит в копировании блока «Управление ссылочными данными модели» из блока набора инструментов Deep Learning Toolbox в редактор Simulink ® Editor. Обратитесь к документации Simulink, если вы не знаете, как это сделать. Этот шаг пропускается в следующем примере.

Пример модели поставляется с программным обеспечением Deep Learning Toolbox для демонстрации использования эталонного контроллера модели. В этом примере целью является управление движением простой однозвенной руки робота, как показано на следующем рисунке:

Уравнение движения для руки

d2eventdt2 = 10sinstart− 2dü dt + u

где λ - угол рычага, а u - крутящий момент, подаваемый электродвигателем постоянного тока.

Цель состоит в том, чтобы обучить контроллер так, чтобы рука отслеживала эталонную модель

d2yrdt2 =−9yr−6dyrdt+9r

где yr - выходной сигнал эталонной модели, а r - входной эталонный сигнал.

В этом примере используется контроллер нейронной сети с 5-13-1 архитектурой. Входные сигналы контроллера состоят из двух опорных входных сигналов с задержкой, двух выходных сигналов установки с задержкой и одного выходного сигнала контроллера с задержкой. Используется интервал выборки 0,05 секунды.

Для выполнения этого примера:

  1. Запустите MATLAB ®.

  2. Напечатать mrefrobotarm в окне команд MATLAB. Эта команда открывает редактор Simulink с блоком «Управление привязками модели», уже находящимся в модели.

  3. Дважды щелкните на блоке «Управление привязками модели». Откроется следующее окно для обучения эталонного контроллера модели.

  4. Следующим шагом обычно является щелчок по позиции Идентификация завода (Plant Identification), в результате чего открывается окно Идентификация завода (Plant Identification). Затем вы будете тренировать модель завода. Поскольку окно Plant Identification идентично тому, которое использовалось с предыдущими контроллерами, этот процесс здесь опущен.

  5. Щелкните Создать данные обучения. Программа начинает генерировать данные для обучения контроллера. После создания данных появится следующее окно.

  6. Щелкните Принять данные (Accept Data). Вернитесь в окно Управление привязками модели (Model Reference Control) и щелкните Контроллер поезда (Train Controller). Программа представляет сети один сегмент данных и обучает сеть для заданного количества итераций (в данном случае пять). Этот процесс продолжается по одному сегменту за раз до тех пор, пока весь набор обучения не будет представлен сети. Обучение контролеров может занять значительно больше времени, чем обучение моделям растений. Это связано с тем, что контроллер должен быть обучен с использованием динамического обратного распространения (см. [HaJe99]). После завершения обучения отображается отклик результирующей системы с замкнутым контуром, как показано на следующем рисунке.

  7. Вернитесь к окну Управление привязками модели (Model Reference Control). Если производительность контроллера не точна, можно снова выбрать Train Controller, который продолжит обучение контроллера с тем же набором данных. Если вы хотите использовать новый набор данных для продолжения обучения, выберите Генерировать данные (Generate Data) или Импортировать данные (Import Data), прежде чем выбрать Контроллер поезда (Train Controller). (Убедитесь, что выбран параметр «Использовать текущие веса», если вы хотите продолжить обучение с теми же весами.) Возможно, потребуется также переобучить модель установки. Если модель установки не точна, это может повлиять на обучение контроллера. Для этого примера контроллер должен быть достаточно точным, поэтому выберите OK. Это загружает веса контроллера в модель Simulink.

  8. Вернитесь в редактор Simulink и запустите моделирование, выбрав пункт меню Simulation > Run. Во время моделирования отображаются выходные данные завода и опорный сигнал, как показано на следующем рисунке.