II Всероссийская конференция пользователей MATLAB, 25-26 мая 2004 года >>
На первую страницу
Рубрика Matlab&Toolboxes
Российские MATLAB-разработки
Вход
Раздел "Проектирование систем управления\Control System Toolbox"

Е.В.Никульчев. Пособие "Control System Toolbox"
Синтез оптимального управления с полной обратной связью

  В оглавление книги \ К следующему разделу \ К предыдущему разделу

Краткие сведения из теории

Пусть поведение модели объекта управления описывается обыкновенным дифференциальным уравнением

x(t) = (t, x(t), u(t)), (1)

где х - вектор состояния системы, х Î Rn, Rnn-мерное евклидово пространство; u - вектор управления, и u Î  U Ì  Rn, U - некоторое заданное множество допустимых значений управления, t Î  T = [t0t1] – интервал времени функционирования системы, моменты начала процесса t0 и окончания процесса t1 заданы, (t, x, u): Т ´ Rn ´ U ® Rn.

Задан функционал качества управления

(2)

где f  0(txu), F(x) - заданные непрерывно дифференцируемые функции. Предполагается, что при управлении используется информация о текущем времени и векторе состояния х.

Применяемое в каждый момент времени t Î Т управление имеет вид управления c полной связью по всем переменным вектора состояния (рис. 1).

Рис.6.1. Схема управления с полной обратной связью по вектору состояния.

Требуется найти такую функцию u*(t, x) Î Un, что

. (3)

Функция u*(t, x) Î Un называется оптимальным управлением с полной обратной cвязью. Для любого начального состояния x0 из множества Rn она порождает соответствующую оптимальную пару, т.е. оптимальную траекторию х*(.) и оптимальное программное управление u*(.).

Достаточным условием минимума функционала (2) является уравнение Беллмана для непрерывных детерминированных систем.

Если существуют функция f (txÎ  C1,1, удовлетворяющая уравнению Беллмана с граничным условием:

(4)

и управление u*(t, x) Î Un, удовлетворяющее условию

то u*(t, x) является оптимальным управлением с полной обратной связью. При этом минимальное значение функционала (2)

.

Пусть система, описывающая поведение модели объекта управления, является линейной

(t) = A(t) x(t) + B(t) u(t), (5)
y(t) = C(t) x(t) +D(t) u(t)

Пусть функционал качества управления квадратичный:

(6)

гяе S(t), L - неотрицательно определенные симметрические матрицы размера (n´ n), a Q(t) - положительно определенная симметрическая матрица (q ´ q).

Далее используем известные правила и обозначения :

Уравнение Беллмана для данной задачи имеет вид

  (7)

Отсюда

.

Найдем максимум в последнем выражении по управлению с использованием необходимых условий экстремума и правила 1-3. Дифференцируя выражение в фигурных скобках по u и приравнивая результат нулю, получаем структуру оптимального управления:

(8)

Решение уравнения (7) ищется в виде

, (9)

где K2(t) - неизвестная симметрическая матрица (n ´ n).

Подставляя (9) в уравнение (7), приравнивая нулю квдратичные формы, получаем:

(10)

Решая уравнение Риккати (10), можно получить явный вид оптимального управления (8) с полной обратной связью

. (11)

Минимальная величина функционала вычисляется по формуле

.

Рассмотрим дискретный случай

x(k+1) = A(k) x(k) + B(k) u(k), (12)
y(k) = C(k) x(k) + D(k) u(k)
k = 0, 1, …, N –1,

с начальным условием

x(0) = x0, (13)

и функционалом качества

(14)

где Q(k), L – неотрицательно определенные симметрические матрицы размера (n ´ n), R(k) - положительно определенная симметрическая матрица (q ´ q).

Требуется найти управление u*(k, x) с полной обратной связью, минимизирующее функционал (14).

Уравнение Беллмана принимают вид

(15)

Функция Беллмана B(k, x) ищется в форме

B(k, x) = xTP(k)x , (16)

где P(k) – где неизвестная неотрицательно определенная симметрическая матрица размера (n ´ n).

Получаем, что в задаче (13)–(14) оптимальное управление определяется соотношением

u*(k, x) = – K(k) х,
k = 0, 1, ..., N–1,

где K(k) - матрица коэффициентов усиления регулятора размера (q ´ n)

K(k) = [R(k) + BTP(k+1)B(k)]–1BT(k)P(k+1)A(k), k=0, l, ..., N-l,

а матрица P(k) размера (n ´ n) удовлетворяет уравнению

P(k) = Q(k) + KT(k)R(k)K(k) + [A(k) - B(k)K(k)]T P(k+l) [A(k) - B(k)K(k)],
k = N – l, ..., l, 0,
P(N) = L .

Минимальная величина функционала определяется но формуле

min J = .

Для каждого начального состояния x0 оптимальный линейный регулятор порождает оптимальное программное управление u*(x, k) и оптимальную траекторию х*(k). Структурная схема этой системы изображена на рис 2.

Рис. 6.2. Схема регулирования.

Описание функций

Для синтеза оптимального регуляторов линейных стационарных систем в Control System Toolbox имеются функции решений уравнений Беллмана (табл. 1).

Таблица 1. Функции Control System Toolbox

Синтаксис

Описание

[K P e] = lqr(A, B, Q, S)

Синтез непрерывного регулятора

[K P e] = lqr(A, B, Q, S, N)

Синтез непрерывного регулятора

[K P e] = dlqr(A, B, Q, R)

Синтез дискретного регулятора

[K P e] = dlqr(A, B, Q, R, N)

Синтез дискретного регулятора

[K P e] = lqrd(A, B, Q, R, Ts)

Синтез дискретного регулятора

[K P e] = lqrd(A, B, Q, R, N, Ts)

Синтез дискретного регулятора

Функция lqr вычисляет матрицу коэффициентов регулирования K cо среднеквадратичным функционалом качества без терминального члена:

,

при этом вычисляются матрица P, являющаяся решением уравнения Риккати и собственные значения e матрицы (ABK).

Функция dlqr вычисляет матрицу коэффициентов регулирования по всем переменным состояния K для дискретной системы cо среднеквадратичным функционалом качества без терминального члена:

,

при этом вычисляются матрица P, являющаяся решением уравнения Риккати и собственные значения e матрицы (ABK).

Функция lqrd предназначена для синтеза оптимального дискретного регулятора непрерывной системы cо среднеквадратичным функционалом качества:

.

В качестве параметра в функцию передается шаг дискретизации Ts, возвращаются значения матрицы K дискретного управления, матрица P, являющаяся решением уравнения Риккати и собственные значения e матрицы системы управления, полученный в результате дискретизации .

При использованию всех команд синтеза оптимального линейного регулятора по всем переменным состояния на исходные данные накладываются следующие ограничения:

  • система, определяемая матрицами (A, B) должна быть стабилизируема;
  • должны выполняться неравенства S> 0, – NR–1NT>0,
  • пара матриц (– NR–1NT, – BR–1BT) не должна иметь наблюдаемые моды с собственными значениями на действительной оси.

Пример

Ниже приведен пример script-файла, моделирующего систему управления и синтез оптимального регулятора.

% Параметры системы
A=[1 0; -2 1];
B=[1 0; 1 0]';

% Параметров критерия качества управления
Q=[1/2 0;0 1/2];
R=[1/2 0; 0 1/2];

% Время регулирования
T=100;

% Величина шаг
SS=0.5;

% Количество шагов
N=T/SS

% Вычисление параметров регулятора
[k p e]= dlqr(A, B, Q, R)

x = zeros(2, N);
u= zeros(2, N-1);

% Начальные условия
x(1,1)=2;
x(2,1)=1;

% Построение графиков динамики системы
for i=1:N-1,
    u(:, i)= - k*x(:, i);,
    x(:, i+1)=A*x(:, i)+B*u(:, i);
end

x1= x(1,:);
x2= x(2,:);
t = 0:SS:T-SS;

subplot(4, 1, 1);
plot(t, x1, 'b');
subplot(4, 1, 2);
plot(t, x2, 'g');

subplot(4, 1, 3);
plot(SS:SS:T-SS, u(1, :), 'y');

subplot(4, 1, 4);
plot(SS:SS:T-SS, u(2, :), 'r');

Результаты вычисления следующие: значения параметров оптимального регулятора –

k =
    0.8229 -0.1771
    0.8229 -0.1771

p =
    3.7343 -1.4114
    -1.4114 1.1614

e =
    0.1771 + 0.1771i
    0.1771 - 0.1771i

графики динамики системы – рис. 3.

Рис. 3. Динамика состояний и управлений: x1, x2, u1, u2.

На рис. 4-7 показан другой пример синтеза оптимального линейного регулятора.

Рис. 4. x1(k).

Рис. 5. x2(k).

Рис. 6. u1(k).

Рис. 7. u2(k).

  В оглавление книги \ К следующему разделу \ К предыдущему разделу


О получении локальных копий сайтов
  Всероссийская научная конференция "Проектирование научных и инженерных приложений в среде MATLAB" (май 2002 г.)
На первую страницу \ Сотрудничество \ MathWorks \ SoftLine \ Exponenta.ru \ Exponenta Pro   
E-mail:    
  Информация на сайте была обновлена 11.05.2004 Copyright 2001-2004 SoftLine Co 
Наши баннеры