В этом примере показано, как управлять спутниковым вращением с помощью адаптивного управления моделью - ссылкой (MRAC), чтобы заставить неизвестную управляемую систему совпадать с идеальным образцом модели. Спутниковая система моделируется в Simulink®, и контроллер MRAC реализован с помощью блока Model Reference Adaptive Control, обеспеченного программным обеспечением Simulink Control Design™.
В модели для этого примера цилиндрический корпус спутника разворачивает свою ось симметрии (ось z) с постоянным угловым уровнем . [1] цель состоит в том, чтобы независимо управлять угловыми уровнями и вокруг и оси с помощью крутящих моментов и . Уравнения движения производят модель второго порядка с двумя входными параметрами и двумя выходными параметрами.
В этой системе диспетчер не наблюдает состояния объекта непосредственно. Вместо этого это просматривает состояния косвенно через следующую модель измерения.
В данном примере примите, что фактическая модель объекта управления неизвестна и что диспетчер MRAC использует следующую номинальную модель динамики объекта.
Учитывая эту неопределенную нелинейную систему, ваша цель состоит в том, чтобы спроектировать контроллер, который позволяет системе отследить следующий разъединенный образец модели.
Здесь:
вектор состояния образца модели.
содержит угловые опорные сигналы уровня.
Задайте динамическую модель для спутниковой системы. Для этой системы, A
представляет истинную матрицу состояния.
a = 10; % System Constant A = [0 a;-a -a/2]; % True model parameters B = eye(2); C = [1 a;-a 1]; D = zeros(2,2);
Задайте матрицу несоответствия объекта. Эта матрица вычтена из истинного A
матрица, чтобы задать номинальный объект, используемый контроллером. Цель контроллера состоит в том, чтобы смоделировать эту неопределенность объекта.
deltaA = [0 0.5*a; -0.5*a 0]; % Plant mismatch
Ссылочная система является следующей устойчивой системой второго порядка.
Am = [-5 0; 0 -5]; % Second-order decoupled integrator model Bm = diag([5 5]); % Nominal control effective matrix
Задайте начальные условия для спутниковых скоростей вращения и состояний образца модели.
x1_0 = 0.5; % Initial x-axis angular rate (rad/s) x2_0 = 0.5; % Initial y-axis angular rate (rad/s) xm_0 = [0;0]; % Initial conditions of the reference plant model
Цель контроллера MRAC состоит в том, чтобы достигнуть асимптотической сходимости ошибки отслеживания .
У контроллера MRAC есть следующая структура.
Здесь:
содержит усиления управления с обратной связью.
содержит усиления управления прямого распространения.
термин адаптивного управления, который отменяет неопределенность модели.
Блок Model Reference Adaptive Control настраивает термин адаптивного управления, чтобы достигнуть желаемого отслеживания образца модели. Опционально, можно также адаптировать обратную связь и усиления управления прямого распространения.
В данном примере контроллер адаптирует усиления обратной связи и сохраняет усиления прямого распространения статическими.
Начальное усиление обратной связи и статическое усиление прямого распространения вычисляются, чтобы удовлетворить следующей модели, совпадающей с условием
Укажите, что вычисленные усиления контроллера и обратная связь получают скорость обучения.
Kx = -place(A,B,eig(Am)); % State feedback gain for pole placement gain_kx = 1; % Feedback gain learning rate Kr = Bm; % Feedforward gain for ref model matching
Контроллер MRAC оценивает неопределенность модели онлайн и генерирует действие адаптивного управления это отменяет неопределенность, чтобы восстановить номинальную систему для базового контроллера. Термин адаптивного управления моделирует системную неопределенность с помощью следующей модели.
Здесь:
содержит сетевые веса, которые настроены контроллером.
вектор особенности модели неопределенности.
Используя блок Model Reference Adaptive Control, можно выбрать одно из следующих определений характеристического вектора.
Системные состояния, где — Этот подход является самой простой опцией, которая может быть хорошей начальной точкой, если вы не знаете сложности системной неопределенности. Если вы находите, что использование состояний как функции не соответственно представляет нелинейную неопределенность, выберите один из других подходов.
Радиальные основные функции с Гауссовыми ядрами, где . Можно сконфигурировать ядра путем определения центров функции и полоса пропускания .
Пользовательские функции обеспечиваются дополнительным входным портом.
В данном примере контроллер сконфигурирован, чтобы использовать системные состояния в качестве функций возмущения.
Задайте скорость обучения оценки модели gamma_w
и отслеживание веса ошибки Q
.
gamma_w = 100; % Learning rate Q = 10; % Tracking error weight
Откройте модель Simulink системы спутникового регулирования вращения.
mdl = "satellitespin";
open_system(mdl)
Симулируйте модель.
Tf = 35; % duration (s)
sim(mdl);
Просмотрите эффективность контроллера путем сравнения ответа вращения (главный график) и ответа скорости вращения (нижний график) к их соответствующим опорным сигналам.
Контроллер MRAC отслеживает опорные сигналы хорошо.
Просмотрите неопределенность, оцененную контроллером, и сравните ее с истинной неопределенностью.
Контроллер оценивает точную модель неопределенности оси Y. Модель неопределенности для оси X имеет правильный знак, хотя величина ниже, чем та из истинной неопределенности. Обе модели неопределенности показывают значительным переходным процессам в оценке неопределенности, особенно во время изменения первого шага в опорных сигналах.
Чтобы уменьшать переходные процессы в предполагаемых ответах неопределенности, можно уменьшать значение коэффициента ошибок отслеживания Q
. Например, уменьшайте значение Q
к 1 и симулируют модель.
Q = 1; sim(mdl);
В оценочных ответах модели существует меньше переходных процессов. Компромисс - то, что вращение и ответы скорости вращения имеют более длительные времена урегулирования.
[1] Чжоу, K., J.C.Doyle и K. Перчаточник. Устойчивое и оптимальное управление, Englewood Cliffs, NJ: Prentice Hall, 1996, разделяет 9.6.