СОВРЕМЕННЫЕ СИСТЕМЫ УПРАВЛЕНИЯ
Анализ устойчивости с помощью MATLAB
Этот раздел мы начнем с критерия Рауса-Гурвица и покажем, какое простое и удобное средство предоставляет MATLAB для вычисления корней характеристического уравнения. Если характеристическое уравнение содержит один варьируемый параметр, то можно отразить в виде диаграммы изменение положения корней в зависимости от этого параметра.
В данном разделе будет введена функция for, с помощью которой последовательность инструкций повторяется заданное число раз.
Критерий Рауса-Гурвица. Как было отмечено выше, критерий Рауса-Гурвица определяет необходимое и достаточное условие устойчивости. Если задано характеристическое уравнение с постоянными коэффициентами, то с помощью критерия Рауса-Гурвица можно определить число корней, расположенных в правой полуплоскости. Например, рассмотрим характеристическое уравнение замкнутой системы, изображенной на рис. 6.10:
q(s) = s3 + s2 + 2s + 24 = 0 .
+ |
Д(«)—*0 |
Y(s) |
G(s) — 3 2 |
s + s + 2s + 23 |
Рис. 6.10 Замкнутая система управления с передаточной функцией As) = y[s)/ff(s) = = l/Cs3 + s2 + 2s + 24) |
Соответствующая таблица Рауса приведена на рис. 6.11. Два изменения знака в первом столбце указывают на наличие двух корней уравнения в правой полуплоскости; следовательно, замкнутая система неустойчива. С помощью MATLAB мы можем проверить этот результат, непосредственно вычислив корни характеристического уравнения, как это показано на рис. 6.12. Для этого необходимо использовать функцию pole, которая вычисляет корни алгебраического полинома.
|
Рис. 6.11 Таблица Рауса для замкнутой системы с передаточной функцией 7s) = 1AS3 + s2 + 2s + 24) |
Рис. 6.12
Использование функции pole для вычисления полюсов замкнутой системы, изображенной на рис. 6.10
»numg=[1]; deng=[1 1 2 23]; sysg=tf(numg, deng); |
||
»sys=feedback(sysg.[1]); |
||
»pole(sys) |
||
ans = |
||
-3.0000 |
||
1 0000 + 2 < |
Корни в правой |
|
1.0000-2.6458І |
полуплоскости |
Л » |
К |
1 |
||
J * |
s + 2s2 + 4s |
|||
+ |
R(s)- |
Y(s) |
Если характеристическое уравнение является функцией единственного параметра, то q(s) = s3 + 2r + 4s + К = 0 . Рис. 6.13 Замкнутая система = K/(s? + 2s2 + 4s + К) |
С помощью критерия Рауса-Гурвица мы нашли (см. уравнение 6.12), что система устойчива при 0 < К < 8. Этот результат можно проверить графически с помощью MATLAB. Как показано на рис. 6.14(a), мы задали диапазон значений К, при которых хотим вычислить корни характеристического уравнения. Затем с помощью функции roots вычислили и изобразили траектории корней. Как видно из графика, с увеличением К корни характеристического уравнения смещаются вправо, при К = 8 они оказываются на мнимой оси, а при К > 8 попадают в правую полуплоскость. Программа на рис. 6.14 содержит функцию for. Эта функция обеспечивает выполнение одной и той же серии инструкций заданное число раз. Она в сочетании с инструкцией end образует цикл повторяющихся вычислений. На рис. 6.15 приведен формат функции for, а также пример ее использования. В примере цикл повторяется 10 раз. На /-м шаге, где 1 < і < 10, г'-й элемент вектора а устанавливается равным 20, а скаляр Ъ пересчитывается. Критерий Рауса-Гурвица позволяет получить однозначный ответ на вопрос об абсолютной устойчивости линейной системы, В то же время он не позволяет судить об относительной устойчивости, которая непосредственно связана с положением корней характеристического уравнения. Критерий Рауса-Гурвица говорит о том, сколько корней находится в правой полуплоскости, но не указывает конкретного положения этих корней. С помощью MATLAB мы можем вычислить точные значения корней и тем самым судить об относительной устойчивости системы. Пример 6.10. Управление поворотом гусеничной машины На рис. 6.8 изображена структурная схема системы управления поворотом гусеничной машины. Цель синтеза состоит в выборе параметров К и а, при которых система будет устойчива и установившаяся ошибка при линейном входном сигнале не будет превышать 24% от величины этого сигнала. Для решения этой задачи можно воспользоваться критерием Рауса-Гурвица. Характеристическое уравнение замкнутой системы имеет вид: |
Рис. 6.14
Действительная ось |
а) |
(а) Траектории корней уравнения q (s) = s3 + 2s2 + + 4s + К = О
при О < К < 20.
(б) Скрипт MATLAB
б) |
% Этот скрипт вычисляет корни характеристического % уравнения q(s)=sA3+2sA2+4s+K при 0<К<20 %
К=[0:0.5:20]; for i=1 :length(K) ^
Цикл для вычисления корней в функции от К |
q=[1 2 4 K(i)]; U-------
p(:,i)=roots(q); J end
plot(real(p),imag(p),‘x')1grid
хІаЬеІ(‘Действительная ось'),уІаЬеІ(‘Мнимая ось')
Общий формат |
Рис. 6.15
Функция for и иллюстративный пример
Инструкция end вводится для указания окончания цикла
Пример
for і = 1:10 <~ а(і)=20; Ч - b=a(i)+2*i; end ▲
Счетчик і
а — вектор из 10 элементов
Ъ — скаляр, изменяющий значение при увеличении г
Составив таблицу Рауса, мы получим два условия устойчивости: К < 126 и Ка > 0. Это значит, что мы можем ограничить область поиска значениями 0 < К < 126 и а > 0. Сначала с помощью MATLAB мы найдем границу устойчивости в плоскости параметров К и а. Затем мы сможем найти пары значений (К, а), принадлежащих области устойчивости, таких, которые удовлетворяли бы ограничению на установившуюся ошибку. Эта процедура, показанная на рис. 6.16, включает в себя задание диапазона значений К и а и вычисление корней характеристического уравнения для конкретных значений этих параметров. Для каждого К мы найдем первое значение а, при котором по крайней мере один корень характеристического уравнения попадает в правую полуплоскость. Этот процесс повторяется до тех пор, пока не будет пройден весь диапазон значений К и а. Найденные пары чисел (К', а) определяют границу между областями устойчивости и неустойчивости.
На рис. 6.16 область слева от графика зависимости а =/(К) является областью устойчивости. Если считать, что r(t) = At, I > 0, то установившаяся ошибка
s(s + 1)(ї + 2)(і + 5) А 10 А
= І1Ш5 =------------------------------------------------------------------- .
s(s + l)(s + 2)(s + 5) + K(s + a) s
Ka
E(s)- |
■ад- |
При заданном ограничении ess < 0,24А мы имеем:-------------------------- < 0.24 Д или Ка Ка > 41,67. |
(6.31) |
где мы использовали тот факт, что 1 |
1 + GcG(s) |
•ад= |
s{s + l)(s + 2)(s + 5) s(s + l)(s + 2)(s + 5) + К (s + a) 10 A |
a) |
|
Рис. 6.16
(а) Область устойчивости в плоскости параметров (К, а) для системы управления поворотом гусеничной машины.
(б) Скрипт MATLAB
б) |
Диапазон значений А’ и а |
Задание начальных значений векторов диаграммы соответствующей длины |
Характеристический полином |
n=length(K); m=length(a); for i=1 :n forj=1:m q=[1,8,17,K(i)+10,K(i)*a(j)]; p=roots(q); if max(real(p))>0, x(i)=K(i);y(i)=a(j-1); break; end end i_________________________ ^___________ end |
% Определение области устойчивости для системы % управления поворотом гусеничной машины % а=[0.1:0.01:3.0];К=[20:1:120]; х=0*К; у=0*К; < |
Определение первого значения а, приводящего к неустойчивости при заданном К |
plot(x, y),grid, xlabel(‘K’), ylabel(‘a’) |
Любые значения К и а, лежащие в области устойчивости на рис. 6.16 и удовлетворяющие условию (6.31), будут считаться приемлемыми. Например, значения К = 70 и а = 0,6 будут удовлетворять всем выдвинутым требованиям. При этих значениях передаточная функция замкнутой системы примет вид:
70s+42
Т (S) - —І------ 5 Ч------------- •
s4 + 8s3+17r+80s+42
Полюсы замкнутой системы будут иметь значения:
s = -7,0767, і = -0,5781, 5 = -0.1726 + 3,1995/ и і = -0,1726 - 3,1995/.
Реакция системы на линейный входной сигнал, изменяющийся с единичной скоростью, приведена на рис. 6.17. Установившаяся ошибка менее 0,24, как и требовалось.
В|>смя (с* |
о) |
Рис. 6.17
(а) Реакция системы управления поворотом гусеничной машины на линейный входной сигнал при К = 70 и a = 0,6.
(б) Скрипт MATLAB
|
б)
Устойчивость систем, описываемых переменными состояния. Обратимся теперь к анализу устойчивости систем, представленных моделью в переменных состояния. Предположим, что мы имеем дело с системой, описываемой уравнением (6.22). Ее устойчивость можно определить по характеристическому уравнению, которое записывается через матрицу А:
Левая часть этого уравнения является полиномом от s. Если все корни характеристического уравнения имеют отрицательные действительный части, т. е. Re s, < 0, то система устойчива.
Если модель системы представлена в переменных состояния, то прежде всего необходимо найти ее характеристический полином. Это можно сделать несколькими способами. Один из них предполагает раскрытие определителя (si - А) вручную. После этого можно либо вычислить корни характеристического уравнения с помощью функции MATLAB roots, либо использовать критерий Рауса-Гурвица, чтобы установить, имеются ли корни в правой полуплоскости. К сожалению, ручные вычисления могут вызвать затруднения, особенно при большой размерности матрицы А. Избежать подобных неприятностей можно, если прибегнуть к помощи MATLAB.
Характеристическое уравнение можно получить с помощью функции poly, рассмотренной в разделе 2.10. Напомним, что эта функция позволяет образовать полином по вектору его корней. Ее также можно использовать для вычисления характеристического уравнения матрицы А, как показано на рис. 6.18, где матрица А задана в виде
-8 -16 -6
А= 1 0 0
0 1 0
а в результате вычислений получен полином
s3 + 8s2 + 16s + 6 .
Если А — матрица размерности п х п, то функция poly(A) возвращает вектор-строку из п + 1 элементов, являющихся коэффициентами характеристического уравнения.
Рис. 6.18 Вычисление |
Коэффициенты характеристического полинома по убывающим степеням |
»А=[-8 -16 -6:1 0 0 ;0 1 0]; »p=poly(A) |
Р = |
1.0000 8.0000 16.0000 6.0000 |
»roots(p) |
ans = |
Матрица п х п |
характеристического полинома матрицы А с помощью функции poly |
p=poly(A) |
Характеристический полином |
-5.0861 -2.4280 -0.4859 |
Система устойчива |
Пример 6.11. Определение области устойчивости в случае неустойчивого объекта
На рис. 6.19 изображена система управления реактивным самолетом. Предположим, что z > 0 и р > 0. В разомкнутом состоянии система неустойчива, т. к. ее характеристическое уравнение имеет вид:
s(s - l)(s + р) = s[i2 + (р - l)s - р] = 0 .
R(s) |
—-У(*) Действительная ориентация |
Заданная ориентация |
Регулятор |
Самолет |
|
K(s + г) |
1 |
|
(s + р) |
s(s - 1) |
Рис. 6.19. Система управления реактивным самолетом
Заметим, что поскольку один член в квадратных скобках является отрицательным, то характеристическое уравнение имеет по крайней мере один корень в правой полуплоскости. Характеристическое уравнение замкнутой системы имеет вид:
s3 + (р -1>2 + (К-p)s + Kz = 0 .
Определим область устойчивости в пространстве параметров К, риг. Составим таблицу Рауса:
і Ск-р)
(р-1) Kz
ь2
Kz,
где
U _ (p-l)(K-p)-Kz
2 : •
р-1
Согласно критерию Рауса-Гурвица, мы должны потребовать выполнения условий Kz > 0 и р > 1. Полагая Ъ2 = 0, получим:
(р - Ш-Р) - Kz = K[(p-l)-z] - р{р - 1) = 0 .
Следовательно, должно выполняться условие:
К >- |
Р(Р - О
(6.33)
(p-)-z Рассмотрим три случая:
.z>(p— 1). Т. к. р> 0, то любое значение К > 0 будет удовлетворять условиям устойчивости.
2. z=(p-l). Не существует таких К,(0<К<сю), при которых система была бы устойчива.
3. z < (р — 1). При заданных риг существует значение К. (0 < К < оо), удовлетворяюшее условию устойчивости (6.33).
Условия устойчивости можно изобразить графически. На рис. 6.20 приведен скрипт MATLAB, позволяющий построить границу устойчивости в трехмерном пространстве. В скрипте использована функция mesh для построения трехмерной поверхности и функция meshgrid для вычисления массивов данных, входных для mesh.
На рис. 6.21 приведена трехмерная диаграмма для определения области устойчивости в координатах К, р и z.
Рис. 6.20 Скрипт MATLAB для определения области устойчивости |
Область значений р и z для построения сетки Поверхность устойчивости |
% Определение области устойчивости % системы управления реактивным % самолетом в трехмерном пространстве % [p, z]=meshgrid(1.2:0.2:10.0.1:0.2:10); ч------- k=p*(p-1)./(p-1-z);4- mesh(p, z,k)-< |
Построение трехмерной диаграммы |
Рис. 6.21 Г раница устойчивости в трехмерном пространстве |
Область устойчивости находится над поверхностью устойчивости |
|
Поверхность устойчивости |
400 |