Model Reference Adaptive Control

Вычислите действия управления, чтобы заставить управляемую систему отследить образец модели

  • Библиотека:
  • Simulink Control Design

  • Model Reference Adaptive Control block

Описание

Блок Model Reference Adaptive Control вычисляет действия управления, чтобы заставить состояния неопределенной управляемой системы отследить состояния идеального образца модели.

Контроллер MRAC вычисляет использование действий управления:

  • Модель внешних возмущений и неопределенности в системе, которой управляют.

  • Усиления обратной связи, которые связывают состояние управляемой системы к управляющему сигналу.

  • Усиления прямого распространения, которые связывают опорный сигнал с управляющим сигналом.

На основе ошибки отслеживания контроллер может адаптировать параметры возмущения и усилений в режиме реального времени.

Для получения дополнительной информации смотрите Адаптивное управление Моделью - ссылкой.

Порты

Входной параметр

развернуть все

Обеспечьте опорный сигнал для управляемой системы, чтобы следовать.

Обеспечьте вектор текущего состояния от управляемой системы.

Можно обеспечить пользовательские функции возмущения с помощью входного порта phi.

Зависимости

Чтобы включить этот входной порт, установите параметр Feature type на Use External Source for Feature.

Вывод

развернуть все

Соедините входной сигнал управления с входом управляемой системы. Вход управления является векторным сигналом с длиной, равной количеству входных параметров управления в управляемой системе.

Оценка воздействия и неопределенности является продуктом функций возмущения и вектора веса возмущения. Можно использовать этот сигнал сравнить предполагаемое возмущение с фактическими воздействиями в системе.

Зависимости

Чтобы включить этот выходной порт, выберите параметр Output disturbance/uncertainty estimate.

Параметры

развернуть все

Система

Задайте динамика образца модели и номинал.

Задайте матрицу состояния для номинальной модели как N-by-N матрица, где N является количеством состояний в управляемой системе.

Программируемое использование

Параметры блоков: 'A'
Ввод: символьный вектор
Значения: квадратная матрица
Значение по умолчанию: '0'

Задайте управление эффективная матрица номинальной модели как ненулевой N-by-M матрица, где N является количеством состояний в управляемой системе, и M является количеством входных параметров управления в управляемой системе.

Программируемое использование

Параметры блоков: 'B'
Ввод: символьный вектор
Значения: вектор | матрица
Значение по умолчанию: '1'

Задайте матрицу состояния для образца модели матрица с теми же размерностями как параметр A. Для устойчивого образца модели Am должен быть матрицей Гурвица, для которой каждое собственное значение должно иметь строго отрицательную действительную часть.

Программируемое использование

Параметры блоков: 'Am'
Ввод: символьный вектор
Значения: квадратная матрица
Значение по умолчанию: '-1'

Задайте управление эффективная матрица образца модели как ненулевая матрица с теми же размерностями как параметр B.

Программируемое использование

Параметры блоков: 'Bm'
Ввод: символьный вектор
Значения: вектор | матрица
Значение по умолчанию: '[0;4]'

Управляйте усилениями

Задайте начальную обратную связь и усиления прямого распространения для соответствия модели. Можно сконфигурировать блок, чтобы обновить эти коэффициенты усиления управления и настроить соответствующие скорости обучения.

Начальные значения усиления обратной связи. Если вы не выбираете параметр Adapt feedback gains, то контроллер содержит заданные усиления обратной связи в этих начальных значениях.

Программируемое использование

Параметры блоков: 'kx'
Ввод: символьный вектор
Значения: конечный скаляр | матрица конечных значений
Значение по умолчанию: '0'

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

Программируемое использование

Параметры блоков: 'FBLrEnable'
Ввод: символьный вектор
Значения: 'on' | 'off'
Значение по умолчанию: 'on'

Используйте этот параметр, чтобы управлять уровнем, на котором контроллер адаптирует усиления обратной связи. Большие повышения стоимости размер обновлений усиления.

Программируемое использование

Параметры блоков: 'gamma_kx'
Ввод: символьный вектор
Значения: конечная положительная скалярная величина
Значение по умолчанию: '2'

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

Программируемое использование

Параметры блоков: 'FBLrEnableMod'
Ввод: символьный вектор
Значения: 'on' | 'off'
Значение по умолчанию: 'on'

Начальные значения усиления прямого распространения. Если вы не выбираете параметр Adapt feedforward gains, то контроллер содержит заданные усиления прямого распространения в этих начальных значениях.

Программируемое использование

Параметры блоков: 'kr'
Ввод: символьный вектор
Значения: конечный скаляр | матрица конечных значений
Значение по умолчанию: '0'

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

Программируемое использование

Параметры блоков: 'FFLrEnable'
Ввод: символьный вектор
Значения: 'on' | 'off'
Значение по умолчанию: 'on'

Используйте этот параметр, чтобы управлять уровнем, на котором контроллер адаптирует усиления прямого распространения. Большие повышения стоимости размер обновлений усиления.

Программируемое использование

Параметры блоков: 'gamma_kr'
Ввод: символьный вектор
Значения: конечная положительная скалярная величина
Значение по умолчанию: '2'

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

Программируемое использование

Параметры блоков: 'FFLrEnableMod'
Ввод: символьный вектор
Значения: 'on' | 'off'
Значение по умолчанию: 'on'

Возмущение

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

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

Возмущение имеет форму wTϕ (x).

  • ϕ (x) является характеристическим вектором возмущения. Чтобы сконфигурировать характеристический вектор, используйте параметр Feature type.

  • wT матрица взвешивания, которая содержит параметры возмущения. Контроллер настраивает его модель воздействия и неопределенности путем адаптации этих параметров.

Программируемое использование

Параметры блоков: 'AdaptEnable'
Ввод: символьный вектор
Значения: 'on' | 'off'
Значение по умолчанию: 'on'

Используйте этот параметр, чтобы управлять уровнем, на котором контроллер адаптирует параметры возмущения. Большие повышения стоимости размер обновлений параметра.

Зависимости

Чтобы включить этот параметр, выберите параметр Enable disturbance adaptation.

Программируемое использование

Параметры блоков: 'gamma'
Ввод: символьный вектор
Значения: конечная положительная скалярная величина
Значение по умолчанию: '100'

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

Зависимости

Чтобы включить этот параметр, выберите параметр Enable disturbance adaptation.

Программируемое использование

Параметры блоков: 'WLrEnableMod'
Ввод: символьный вектор
Значения: 'on' | 'off'
Значение по умолчанию: 'on'

Скорость обучения канала Q является матрицей взвешивания для ошибок отслеживания состояния в функции Ляпунова для ошибочной динамики. Чем больше значение Q, тем быстрее ошибка отслеживания переходит к нулю. Однако большее значение Q также создает более крупные переходные процессы и менее устойчивую систему.

Зависимости

Чтобы включить этот параметр, выберите параметр Enable disturbance adaptation.

Программируемое использование

Параметры блоков: 'Q'
Ввод: символьный вектор
Значения: конечная положительная скалярная величина
Значение по умолчанию: '1'

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

  • State — Используйте состояния от управляемого объекта как возмущение. Эта опция может под представлять неопределенность и поэтому выполнить плохо.

  • Radial Basis Function — Используйте Гауссовы радиальные основные функции, чтобы создать характеристический вектор.

  • Use External Source for Feature — Добавьте входной порт phi в блок. Используйте этот порт, чтобы обеспечить ваш собственный характеристический вектор.

Для получения дополнительной информации о том, когда использовать каждый тип характеристического вектора, смотрите Особенности модели Воздействия и Неопределенности.

Зависимости

Чтобы включить этот параметр, выберите параметр Enable disturbance adaptation.

Программируемое использование

Параметры блоков: 'FeatureTypeOptions'
Ввод: символьный вектор
Значения: Radial Basis Function | State | Use External Source for Feature
Значение по умолчанию: Radial Basis Function

Количество радиальной основной функции (RBF) сосредотачивается, чтобы использовать в возмущении. Центры RBF равномерно расположены с интервалами через промежуток, заданный параметрами Centers max и Centers min.

Зависимости

Чтобы включить этот параметр, выберите параметр Enable disturbance adaptation и установите параметр Feature type на Radial Basis Function.

Программируемое использование

Параметры блоков: 'nCen'
Ввод: символьный вектор
Значения: положительное целое число
Значение по умолчанию: '20'

Задайте нижние пределы для радиальных центров основной функции. Если вы задаете скалярное значение, тот же минимум используется для всех основных функций. В противном случае необходимо задать вектор с длиной, равной параметру Number of RBF centers.

Параметр Centers min должен быть меньше параметра Centers max.

Зависимости

Чтобы включить этот параметр, выберите параметр Enable disturbance adaptation и установите параметр Feature type на Radial Basis Function.

Программируемое использование

Параметры блоков: 'cSpanMin
Ввод: символьный вектор
Значения: конечный скаляр | вектор
Значение по умолчанию: '-1'

Задайте верхние пределы для радиальных центров основной функции. Если вы задаете скалярное значение, тот же максимум используется для всех основных функций. В противном случае необходимо задать вектор с длиной, равной параметру Number of RBF centers.

Параметр Centers max должен быть больше параметра Centers min.

Зависимости

Чтобы включить этот параметр, выберите параметр Enable disturbance adaptation и установите параметр Feature type на Radial Basis Function.

Программируемое использование

Параметры блоков: 'cSpanMax
Ввод: символьный вектор
Значения: конечный скаляр | вектор
Значение по умолчанию: '1'

Задайте стандартное отклонение для Гауссова ядра основной функции. Если вы задаете скалярное значение, то же стандартное отклонение используется для всех основных функций. В противном случае необходимо задать вектор с длиной, равной параметру Number of RBF centers.

Зависимости

Чтобы включить этот параметр, выберите параметр Enable disturbance adaptation и установите параметр Feature type на Radial Basis Function.

Программируемое использование

Параметры блоков: 'cSig'
Ввод: символьный вектор
Значения: положительная скалярная величина | вектор
Значение по умолчанию: '5'

Выберите этот параметр, чтобы добавить выходной порт u_ad.

Зависимости

Чтобы включить этот параметр, выберите параметр Enable disturbance adaptation и установите параметр Feature type на Radial Basis Function.

Программируемое использование

Параметры блоков: 'adaptiveCntrlOutport'
Ввод: символьный вектор
Значения: 'on' | 'off'
Значение по умолчанию: 'on'

Изучение модификации

Чтобы добавить робастность в более высоких усилениях, можно изменить обновления параметра, чтобы включать термин импульса. Уравнения в разделе Parameter Update Formula показывают формулы обновления для текущей настройки блока.

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

  • Sigma Modification — Термин импульса является продуктом параметра веса импульса σ и текущие значения параметров.

  • e-Modification — Масштабируйте термин импульса модификации сигмы величиной ошибочного значения

  • None — Не используйте изучение модификации.

Чтобы задать σ, используйте параметр Sigma.

Программируемое использование

Параметры блоков: 'modChoice'
Ввод: символьный вектор
Значения: 'Sigma Modification' | 'e-Modification' | 'None'
Значение по умолчанию: 'Sigma Modification'

Задайте значение для термина веса импульса. Большие повышения стоимости размер параметра обновляет обновления параметра и коэффициент усиления.

Зависимости

Чтобы включить этот параметр, установите параметр Modification Methods на любой Sigma Modification или e-Modification.

Программируемое использование

Параметры блоков: 'sigma_val'
Ввод: символьный вектор
Значения: конечная положительная скалярная величина
Значение по умолчанию: '0.1'

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Введенный в R2021b