Регулятор на основе эталонной модели
В этом разделе описана система управления с эталонной моделью, при реализации которой используются 2 нейронные сети: для регулятора и для модели объекта управления. Схема демонстрационного примера управления звеном робота показана на рис. 9.49.
Рис. 9.49
Окно Model Browser в левой части рисунка содержит перечень всех блоков, входящих в состав системы управления, представленной в виде модели системы Simulink.
В этом демонстрационном примере цель состоит в управлении движением одного звена робота, как это показано на рис. 9.50.
Рис. 9.50
Уравнения движения звена:
(9.13)
где f – угол поворота звена; 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 для управления звеном робота-манипулятора.
Часть 2. Операторы, функции и команды
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|