Работа на конкурс «Свободный полет» О СТАБИЛИЗАЦИИ НЕУСТОЙЧИВЫХ КОЛЕБАНИЙ информация о конкурсанте: ФИО: дата рождения: Федюков Александр Анатольевич 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 21 2 2 g1 2U 0 , g U 0 . 1 2 2 Отсюда 1 2 g1 g 2 U , 2 2g1 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 a11 b11 a2 2 b2 2 , (6) 3 для того чтобы привести и удержать двухзвенный маятник (оба звена) в вертикальном положении нужно, чтобы все 4 корня характеристического уравнения 4 b13 (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 B0C0 , где 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 QTP 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 j1 и 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 x1 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 j11 , G1( j 1) Y j1 , 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 j1 2Y j11 Y j11Y j Y j11 X j 1 2 X j 11 X j 11 X j X j 11 (Y j1 Y j11 )Y j (Y j1 Y j11 ) ( 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