О стабилизации неустойчивых колебаний

реклама
Работа на конкурс «Свободный полет»
О СТАБИЛИЗАЦИИ НЕУСТОЙЧИВЫХ КОЛЕБАНИЙ
информация о конкурсанте:
ФИО:
дата рождения:
Федюков Александр Анатольевич
19 сентября 1977 года
электронный адрес: [email protected]
Введение
Задача стабилизации по состоянию линейного
описываемого дифференциальным уравнением вида
динамического
объекта,
(1)
x  Ax  Bu ,
m
где x  R - состояние системы, u  R - управление, состоит в выборе закона управления
из класса обратных связей по состоянию вида
(2)
u  x ,
где  -матрица параметров регулятора соответствующего порядка, при котором состояние
x  0 замкнутой системы (1), (2) является асимптотически устойчивым по Ляпунову.
n
Рассмотрим однозвенный перевернутый маятник изображенный на Рисунке 1 со
звеном, имеющим длину l и с массой m на конце звена. Угол отклонения звена маятника
от вертикали обозначим  . Этот маятник не устойчив – под действием силы тяжести он
упадет. Нужно решить следующую задачу - управляя смещением точки опоры в
плоскости качания маятника U привести и удержать его в вертикальном положении.
Объект описывается уравнением:
g
U
  sin   cos  ,
l
l
где величина g - ускорение свободного падения, или, ограничиваясь малыми углами  :
g
1
    U .
(3)
l
l
Рисунок 1.
Известно
(такие
задачи
решают
студенты
на 2 курсе), что в случае, когда обе величины  и 
доступны измерению, уравнение (3) при выборе управления
U  ( g  l 2 )  2l ,
(4)
*
  0 переходит в уравнение осциллятора
  2   2  0 ,
с устойчивым положением равновесия   0 .
Для того чтобы пояснить задачу, которая решается
ниже в конкурсной работе, еще раз отмечу, что мы в данной
задаче измеряем угол отклонения  и скорость отклонения
 маятника от вертикального положения. Для того чтобы
построить управление (4), стабилизирующее объект, обе
эти величины нам должны быть известны.
Рисунок 2.
На Рисунке 2 представлена блок схема
взаимодействия объекта, системы измерения и
системы управления объектом. Измеренные
значения  и  поступают на систему управления,
которое генерирует управление по закону (4)
и подает его на объект.
Теперь рассмотрим более сложную задачу.
Рассмотрим плоский двухзвенный перевернутый
маятник изображенный на Рисунке 3 со звеньями,
имеющим одинаковую длину l и с равными массами m на концах звеньев.
2
Рисунок 3.
Не уменьшая общности, можем положить l  m  1 .
Углы отклонения звеньев маятника от вертикали
обозначим  1 и  2 , а горизонтальное смещение точки
опоры в плоскости качания маятника U .
Составим математическую модель плоского двухзвенного перевернутого маятника.
Обозначим x j , y j координату j -ой массы двухзвенного перевернутого маятника.
Непосредственно из Рисунка 3 находим, что
x1  U  sin 1 , y1  cos 1 , x2  U  sin 1  sin  2 , y2  cos 1  cos  2 .
Тогда кинетическая T и потенциальная V энергии маятника будут иметь
следующий вид:
1
T  [(U  1 cos 1 ) 2  (1 sin 1 ) 2  (U  1 cos 1   2 cos  2 ) 2  (1 sin 1   2 sin  2 ) 2 ],
2
V  g (2  cos 1  cos  2 ) .
Ограничиваемся малыми углами  1 ,  2 ,. Введем функцию Лагранжа L  T  V и
d L
L

 0 , ( i  1,2 ) для нашей системы:
напишем уравнения Лагранжа
dt  i  i
21  2  2 g1  2U  0 ,
    g  U  0 .
1
2
2
Отсюда
1  2 g1  g 2  U ,
2  2g1  2g 2 ,
или в каноническом виде управляемой линейной системы
x  Ax  Bu ,
(5)
где
 1 
 0
 

 2 
 0


x   , u U , A  
2g


 1
  2g
  

 2
0 1 0
0

 
0 0 1
0
, B  .

g 0 0
1

 
0
2 g 0 0 
 
Известно (такие задачи решают студенты на 4 курсе), что в случае, когда все
4 величины: углы отклонения звеньев маятника от вертикали  1 ,  2 и скорости
отклонения 1 ,  2 доступны измерению, при выборе управления в виде
U  a11  b11  a2 2  b2 2 ,
(6)
3
для того чтобы привести и удержать двухзвенный маятник (оба звена) в вертикальном
положении нужно, чтобы все 4 корня характеристического уравнения
4  b13  (4 g  a1 )2  2 g (b1  b2 )  2 g ( g  a1  a2 )  0
имели отрицательные действительные части.
Известен критерий Рауса-Гурвица: для того, чтобы корни полинома
c0 x n  c1 x n 1  ...  c n  0
имели отрицательные действительные части, нужно чтобы c0  0 и для матрицы
 c1 c3 c5 ... ...


 c0 c 2 c 4 ... ...
 0 c c c ...
1
3
5


 0 c0 c 2 c 4 ...
 ... ... ... ... ...


все ее главные миноры были положительными  i  0 .
В нашем случае эти условия будут иметь вид:
(7)
c1  0 , c1c2  c0 c3  0 , c3 (c1c 2  c0 c3 )  c 4 c12  0 , c4  0 ,
где
c0  1 , c1  b1 , c2  4g  a1 , c3  2 g (b1  b2 ) , c4  2g ( g  a1  a2 ) .
Таким образом, эта задача во много раз сложнее, чем предыдущая. Мы получаем систему
из 4-х уравнений, нам надо найти значения a1 , b1 , a 2 , b2 удовлетворяющие системе (7),
а затем построить управление (6) стабилизирующее двухзвенный перевернутый маятник.
Постановка задачи
В задаче нам были доступны измерению оба угла отклонения звеньев маятника от
вертикали  1 ,  2 и обе скорости отклонения 1 ,  2 . А что, если мы не можем мерить все
4 величины? Что, если мы можем измерить только угол отклонения нижнего звена
маятника  1 ? Можно ли зная только  1 привести и удержать оба звена маятника в
вертикальном положении? В этом и состоит конкурсная работа.
Стабилизация по выходу
Рассмотрим управляемый объект
(8)
x  Ax  Bu ,
y  Cx ,
n
где x  R - состояние системы, u  R m - управление, y  R l -измеряемый выход системы.
Требуется построить динамический регулятор k -го порядка вида
 x r  Ar xr  Br y,
(9)

 u  C r xr  Dr y,
где xr  R k - состояние регулятора (k  n) xr (0)  0 , обеспечивающего асимптотическую
устойчивость замкнутой системы (8), (9).
Представим уравнение замкнутой системы (8), (9) при k  0 в виде
 A  BD r C BC r 
,
x c  Ac xc , Ac  
B C
A 

r
r 
(10)
4
x
где xc    .
 xr 
Тогда условие разрешимости поставленной задачи сводится к существованию
квадратичной функции Ляпунова V ( x)  x T (t ) Xx(t ) с матрицей X  X T  0 такой, что по
любой траектории системы выполнено неравенство V ( x)  0 . Это условие эквивалентно
следующему матричному неравенству
ACT X  XAC  0 .
(11)
Введя параметры регулятора
 A Br 

(12)
   r
 C r Dr 
представим матрицу замкнутой системы (10) в виде
AC  A0  B0C0 ,
где
 A 0
0 B
0 I
 , B0  
 , C0  
 .
A0  
 0 0
I 0
C 0
Здесь символ “ I ” обозначает единичную матрицу размера ( k  k ) .
Тогда неравенство (11) можно переписать в виде матричного неравенства (элементами
неравенства являются матрицы)
(13)
A0T X  XA0  C0T  T B0T X  XB0 C0  0 .
В этом неравенстве матрицы  и X неизвестны, поэтому оно не является линейным
относительно совокупности переменных  и X . В настоящее время не существует
алгоритмов решения таких матричных неравенств. Но в то же время известны алгоритмы
для численного решения линейных матричных неравенств (например, используя пакет для
инженерных расчетов Matlab). Если мы зафиксируем  , то получим линейное матричное
неравенство относительно X . Аналогично, фиксируя X , получим линейное матричное
неравенство относительно неизвестных параметров регулятора  .
Известно, что линейное матричное неравенство
  PT T Q  QTP  0
где  , P , Q - заданные матрицы, причем  - симметричная матрица размера ( n  n ), P и
Q - прямоугольные матрицы порядков ( l  n ) и ( k  n ) соответственно,  - неизвестная
прямоугольная матрица размера ( k  l ) разрешимо тогда и только тогда, когда
W T W  0 , W T  W  0 ,
P
где столбцы матриц W
PWP
0
P
иW
Q
P
Q
Q
образуют базисы ядер матриц P и Q соответственно, т.е.
и QW  0 .
Q
Тогда обозначив
  A0T X  XA0 , P  C 0 и Q  B0T X
5
получим, что разрешимость матричного неравенства (13) сводится к разрешимости
системы линейных матричных неравенств относительно матриц X  X T  0 и
Y  YT  0,
 L1 ( X , Y )  WcT ( A0T X  XA0 )Wc  0
0
0

.
(14)

T
T
L
(
X
,
Y
)

W
(
YA

A
Y
)
W

0
,
2
0
0

T
T
B0
B0

в которых Y  X 1 (т.е. таких, что XY  I ), а столбцы матриц W
C0
и W
T
B0
образуют
базисы ядер матриц C0 и B 0T соответственно.
Если условия (14) выполнены и такие матрицы найдены, то параметры  искомого
регулятора (12) находятся как решения линейного матричного неравенства (13)
относительно переменной  .
Неравенства L1 ( X , Y ) и L2 ( X , Y ) являются линейными матричными неравенствами
относительно матриц X и Y соответственно. Но есть еще одно условие на матрицы, а
именно Y  X 1 , которое не является линейным и соответственно не позволяет легко
решать эту задачу специальными программными средствами. Обозначим эту задачу
поиска взаимнообратных матриц X и Y удовлетворяющих условию (14), как Задача 1.
Для ее решения сначала рассмотрим другую задачу:
Задача 2: найти
 : X  Y 1  I , X  X T  0, Y  Y T  0, Li ( X , Y )  0, i  1,2, 
min  min 

 L3 ( X , Y )  0

где
I 
 X
.
L3 ( X , Y )  
 Y 
 I
Дополнительное линейное матричное неравенство L3 ( X , Y )  0 в силу леммы
Шура эквивалентно неравенствам X  0 и X  Y 1 . Поэтому в случае, когда в Задаче 2
min  0 , соответствующие матрицы X  0 и Y  0 являются также решением Задачи 1.
Для решения Задачи 2 требуется минимизировать линейную функцию при
ограничениях, одно из которых
X  Y 1  I
(15)
не является выпуклым и, следовательно, не может быть представлено в виде линейного
матричного неравенства. Это обстоятельство вновь не позволяет решать Задачу 2
методами выпуклой оптимизации.
В связи с этим рассмотрим еще одну вспомогательную задачу:
Задача 3: найти
min  min  : F ( X , Y , G1 , G2 )  I , X  X T  0, Y  Y T  0, Li ( X , Y )  0, i  1,2, L3 ( X , Y )  0
где
F ( X , Y , G1 , G2 )  X  Y  2G1  2G2  G1YG1  G2 XG2 ,
Gi  GiT , i  1,2 - некоторые заданные матрицы.
В Задаче 3 по сравнению с Задачей 2 вместо неравенства (15) стоит линейное
матричное неравенство F ( X , Y , G1 , G2 )  I . Представим функцию F ( X , Y , G1 , G2 ) в виде
6
F ( X , Y , G1 , G2 )  (G1  Y 1 )Y (G1  Y 1 )  (G2  X 1 ) X (G2  X 1 ) 
 ( X  Y 1 )  (Y  X 1 )
Нетрудно видеть, что в силу неравенства X  Y 1 функция F ( X , Y , G1 , G2 )  0 , и когда
матрицы G1  Y 1 , G2   X 1 и величина min  0 , то соответствующие решения X и Y
Задачи 3 является и решением Задачи 2.
Тогда алгоритм поиска взаимнообратных матриц можно представить следующим
образом:
Алгоритм.
Шаг 1) Полагаем j  0 .
Шаг 2) Фиксируем матрицы G1  G1( j ) и G2  G2( j ) .
Шаг 3) Решаем Задачу 3, например, с помощью команды mincx пакета Matlab и
находим  j 1 , X j , Y j .
Шаг 4) Задаем G1( j 1)  Y j1 и G2( j 1)   X j 1 .
Шаг 5) Если разность между двумя итерациями
 j   j 1   , где  - некоторое
заданное значение, то взаимнообратные матрицы X  X T  0 и Y  Y T  0
найдены и Алгоритм останавливается. Иначе полагаем j  j  1 и
переходим на Шаг 2).
Сходимость алгоритма доказана ниже в Утверждении 1
Как было получено выше, математическая модель двухзвенного маятника имеет
вид (5), т.е. объект описывается уравнением
0 1 0  x1   0 
 x1   0
  
   
0 0 1  x 2   0 
 x 2   0
 x    2 g  g 0 0  x    1 u ,
 3 
 3   
 x    2 g 2 g 0 0  x   0 
 4   
 4 
y  x1 .
т.е. можем измерять только угол отклонения нижнего звена маятника  1 от вертикали.
Требуется синтезировать динамический регулятор третьего порядка.
Численное решение в Matlab заняло 6 итераций. Начальное отклонение звеньев
маятника в градусах 1  0.3 ,  2  0.2 . Ниже приведен полученный при этом
динамический регулятор (12) и полюса замкнутой системы (10) определяющие качество
переходного процесса.
Число
итераций
Динамический регулятор
Полюса замкнутой
системы
6
 10.9759 57.7350 139.9411 - 406.3920 


 - 9.1737 - 55.5995 - 117.2795 345.8179 
 =
6.0103 15.4676
36.2678 - 104.4947 


 26.2467 136.9277 318.9004 - 939.3792 


 1.1100  11.8386i
 0.6587  2.9425i
 0.3459  0.8245i
 4.1265
7
На Рисунке 4 приведен полученный график управления (9).
Рисунок 4.
Рисунок 5 представляет собой графики углов отклонения  1 и  2
2-го (зеленый) звена двухзвенного маятника (в градусах)
1-го (синий) и
Рисунок 5.
Для этого объекта было проведено 1000 экспериментов, с начальными матрицами
Q1 и Q2 для алгоритма, выбираемыми при помощи генератора случайных чисел.
Алгоритм не находил решение в 6 случаях (0.6%).
8
На Рисунке 6 представлено полученное процентное соотношение числа итераций,
необходимых для поиска динамического регулятора третьего порядка алгоритмом.
Рисунок 6.
Из Рисунка 6 видно, что алгоритм находил решение за шесть итерации в 2.3%
экспериментов, за семь итерации в 12.7% экспериментов, за восемь итераций 23.3%
экспериментов, за девять итераций в 19.5% экспериментов, за десять итераций в 15.0%
экспериментов, за одиннадцать итераций в 8.2% экспериментов, в 4.5% экспериментов
при количестве итераций больше, чем 17.
Таким образом, в конкурсной работе
1. была решена задача стабилизации двухзвенного перевернутого маятника при
возможности измерения только угла отклонения нижнего звена;
2. в процессе решения задачи был предложен алгоритм решения Задачи 1.
Где можно применить результаты? Развитие решения этой задачи может позволить
моделировать управление, например, в электрических схемах без точного вычисления
силы тока или в механических системах без точного вычисления скоростей. Датчики
снимают показания в некоторые дискретные моменты времени. Для построения
управления вида (6) необходимо знание скоростей отклонения 1 ,  2 . Численное
вычисление производной несет в себе ошибки вычисления. Отсутствие же необходимости
вычислять производную позволит улучшить качество управления и делает систему
управления Рисунка 2 без ошибок порожденных ее не точным вычислением.
9
Утверждение 1.
Для любых начальных матриц G1( 0 ) и G 2( 0 ) числовая последовательность  j ,
генерируемая алгоритмом, является невозрастающей и существуют следующие пределы
lim  j   , lim X j  X , lim Y j  Y .
j 
*
j 
*
j 
*
Доказательство.
Рассмотрим изменение спектрального радиуса матрицы F ( X , Y , G1 , G2 )
траектории алгоритма. Обозначим  j   ( F ( X j , Y j , G1( j ) , G2( j ) )) .
Представим
   j 1   j   ( F ( X j 1 , Y j 1 , G1( j 1) , G2( j 1) ))   ( F ( X j , Y j , G1( j ) , G2( j ) ))
в виде
  1   2  [  ( F ( X j 1 , Y j 1 , G1( j 1) , G2( j 1) ))   ( F ( X j , Y j , G1( j 1) , G2( j 1) ))] 
по
 [  ( F ( X j , Y j , G1( j 1) , G2( j 1) ))   ( F ( X j , Y j , G1( j ) , G2( j ) ))].
Поскольку на ( j  1) -й итерации  принимает минимальное при X  X j 1 , Y  Y j 1 , то
выражение в первых квадратных скобках неположительно в силу алгоритма.
Рассмотрим разность двух матриц, фигурирующих во вторых квадратных скобках.
Используем то, что G1( j )  Y j11 , G1( j 1)  Y j1 , G2( j )   X j 11 , G2( j 1)   X j 1 . Сделаем
следующие преобразования:
F ( X j , Y j , G1( j 1) , G2( j 1) )  F ( X j , Y j , G1( j ) , G2( j ) ) 
 Y j1  2Y j11  Y j11Y j Y j11  X j 1  2 X j 11  X j 11 X j X j 11 
 (Y j1  Y j11 )Y j (Y j1  Y j11 )  ( X j 1  X j 11 ) X j ( X j 1  X j 11 )  0.
Поскольку из неравенства A  B  0 следует, что  ( A)   ( B) получаем, что   0 , т.е.
что последовательность  j является невозрастающей.
Из неравенства L3 ( X , Y )  0 следует, что
F ( X , Y , G1 , G2 )  0 и, следовательно,  j  0 .
X  Y 1 , следовательно, функция
Последовательность  j является невозрастающей и ограничена снизу,
следовательно, она сходится, откуда в силу непрерывности функции спектрального
радиуса и следует существование указанных в теореме пределов.
Из Утверждения 1 следует, что при остановке алгоритма возможны две ситуации.
Случай, когда *  0 . В этом случае X *Y*  I и матрицы X * , Y* являются решениями
Задачи 1. Во втором случае, когда *  0 - нельзя сделать определенного вывода о
разрешимости Задачи 1. В этом случае целесообразно повторить алгоритм поиска
взаимнообратных матриц при других начальных условиях G1  G1( 0) и G2  G2( 0) , как это
обычно делают в задачах глобальной оптимизации.
10
Скачать