ЛАБы№1. Московская государственная академия приборостроения и информатики
Скачать 1.37 Mb.
|
Варианты заданий Модель системы Функционал качества управления 1. ∑ = + + = 1 0 2 2 2 2 2 1 ) ( ) ( 4 ) ( 3 2 1 k k x k u k u J 2. ) ( 4 ) ( ) ( 2 2 1 1 2 1 0 1 2 2 1 k x k x k u J k + + = ∑ = 1. 3 ) 0 ( , 1 ) 0 ( ) ( ) ( ) ( ) 1 ( ) ( 3 ) ( ) ( 3 ) 1 ( 2 1 1 2 1 2 2 1 1 1 = = + − = + + − = + x x k u k x k x k x k u k u k x k x 3. ) ( 12 ) ( 8 ) ( 4 ) ( 2 2 1 1 2 1 0 1 2 2 2 2 1 k x k x k u k u J k + + + = ∑ = 1. ∑ = + + = 1 0 2 2 2 2 2 1 ) ( 5 ) ( ) ( 7 2 1 k k x k u k u J 2. ) ( ) ( 9 ) ( 2 2 1 1 2 1 0 1 2 2 1 k x k x k u J k + + = ∑ = 2. 2 ) 0 ( , 1 ) 0 ( ) ( ) ( 4 ) ( ) ( 2 ) 1 ( ) ( 3 ) ( 2 ) ( 2 ) ( ) 1 ( 2 1 2 1 2 1 2 2 1 2 1 1 = = − − + = + − − + = + x x k u k u k x k x k x k u k u k x k x k x 3. ) ( 8 ) ( 6 ) ( 4 ) ( 2 1 1 2 1 0 1 2 2 2 2 1 k x k x k u k u J k + + + = ∑ = 1. ∑ = + + = 1 0 2 2 2 2 2 1 ) ( ) ( 4 ) ( 2 2 1 k k x k u k u J 2. ) ( 4 ) ( 3 ) ( 2 2 1 1 2 1 0 1 2 2 1 k x k x k u J k + + = ∑ = 3. 1 ) 0 ( , 1 ) 0 ( ) ( 2 ) ( 4 ) ( ) 1 ( ) ( ) ( ) ( 2 ) 1 ( 2 1 2 2 1 2 1 1 2 1 = = − + = + − + = + x x k u k x k x k x k u k x k x k x 3. ) ( 7 ) ( 3 ) ( 2 ) ( 2 1 1 2 1 0 1 2 2 2 2 1 k x k x k u k u J k + + + = ∑ = 1. ∑ = + = 1 0 2 2 2 ) ( 8 ) ( 4 2 1 k k x k u J 2. ) ( 4 ) ( ) ( 2 1 1 2 1 0 1 2 2 k x k x k u J k + + = ∑ = 4. 1 ) 0 ( , 1 ) 0 ( ) ( 2 ) ( ) ( 2 ) 1 ( ) ( ) ( ) ( ) 1 ( 2 1 2 1 2 2 1 1 = = − + = + − − = + x x k u k x k x k x k u k x k x k x 3. ) ( ) ( 3 ) ( 3 2 1 1 2 1 0 1 2 2 k x k x k u J k + + = ∑ = – 75 – Практическое занятие №6. ФИЛЬТР КАЛМАНА Постановка задачи Исследуется модель объекта управления в виде ⎩ ⎨ ⎧ ν + + + = + + = ν Hw Du Cx y Gw Bu Ax x (6.1) с известными входами u и возмущениями по входам w и измерениям ν, которые являются «белым» шумом со следующими характеристиками: { } { } { } { } { } ). ( ) ( ) ( ), ( ) ( ) ( ), ( ) ( ) ( , 0 τ − δ = τ τ − δ = τ τ − δ = τ = = t N w t v M t R v t v M t Q w t w M v M w M T T T (6.2) Требуется выполнить синтез наблюдателя для оценивания вектора переменных состояния объекта, который минимизирует установившуюся ошибку оценивания { } T t x x x x M P ) ˆ )( ˆ ( lim − − = ∞ → (6.3) Краткие сведения из теории Пусть многомерная система определяется как система с l-входами и n-выходами, у которой преобразование «вход-выход» задано в виде матричной импульсной переходной функции K(t, τ). Пусть U(t) – l-мерный вектор входа фильтра, а - n-мерный вектор выхода. Тогда связь между векторами и Y(t) определена интегралом ) ( ˆ t Х ) ( ˆ t Х 0 ) ( ˆ , ) ( ) , ( ) ( ˆ 0 0 = τ τ τ = ∫ t Х d Y t K t Х t t Пусть Y(t) – действительный случайный процесс с нулевым математическим ожиданием и корреляционной функцией R YY (t, τ). Обозначим норму произвольной квадратной матрицы B через ||B|| и определим её следующим образом: ) ( tr T BB B = , – 76 – где tr ( . ) – след, т.е. сумма диагональных элементов матрицы. Пусть на вход многомерного фильтра поступает искаженный сигнал как сумма полезного сигнала M(t) и помехи N(t), т.е. ) ( ) ( ) ( t N t M t Y + = , где M(t) и N(t) – l-мерные векторы с известными корреляционными функциями R MM (t, τ) и R NN (t, τ). Предположим, что существует идеальный вход X(t) некоторой системы, который определяет желаемый выход и связан с полезным сигналом соотношением ∫ τ τ τ = t t ID d M t K t X 0 ) ( ) , ( ) ( , где K ID (t, τ) – матрица импульсной передаточной функция идеальной системы. Рассмотрим вектор ошибок ) ( ˆ ) ( ) ( t X t X t X − = ′ σ Задача состоит в том, чтобы выбрать такую физическую реализуемую матричную импульсную переходную функцию К * (t, τ) так, чтобы математическое ожидание квадрата нормы ошибок было минимальным { } ) , ( 2 min ) ( τ σ = t K t X M , (6.4) где K(t, τ) = 0. В зависимости от того, какая задача стоит: прогнозирование, фильтрации или сглаживания, определяется K ID (t, τ) идеальной системы. В задаче фильтрации X(t) = M(t), т.е. K ID (t, τ) = E*δ(t–τ). При такой постановке задачи минимум среднеквадратической ошибки (6.4) определяется МИПФ K * (t, τ), получаемой из обобщенного уравнения Винера-Хопфа для многомерных систем ∫ τ = τ t YY MY ds s R s t K t R 0 * ) , ( ) , ( ) , ( Известно, что если на вход системы поступает случайный сигнал Y(t), являющийся стационарным, в широком смысле, случайным процессом, оптимальную матричную передаточную функцию W * (s) многомерного фильтра можно получить факторизацией рациональной матрицы спектральных плоскостей. В случае нестационарного случайного процесса решение интегрального уравнения Вольтерра 1-го рода даже для скалярного случая представляет серьезные трудности, не говоря уже о векторном. – 77 – Калман в своих работах модифицировал постановку задачи многомерной фильтрации Винера, придав ей форму проблемы пространства состояния. В результате такой модификации был получен фильтр Калмана, осуществляющий процедуру рекурсивного оценивания, когда подлежащий оцениванию сигнал является входным сигналом линейной нестационарной динамической системы. Рассмотрим непрерывную модель объекта управления ⎩ ⎨ ⎧ ν + + + = + + = ν Hw Du Cx y Gw Bu Ax x с известными входами u и возмущениями по входам w и измерениям ν, которые являются "белым" шумом со следующими характеристиками: { } { } { } { } { } ). ( ) ( ) ( ), ( ) ( ) ( ), ( ) ( ) ( , 0 τ − δ = τ τ − δ = τ τ − δ = τ = = t N w t v M t R v t v M t Q w t w M v M w M T T T Требуется выполнить синтез наблюдателя для оценивания вектора переменных состояния объекта, который минимизирует установившуюся ошибку оценивания { } T t x x x x M P ) ˆ )( ˆ ( lim − − = ∞ → Оптимальным решением является фильтр Калмана, описываемый уравнениями ⎪ ⎩ ⎪ ⎨ ⎧ + + ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ + ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ = ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ − − + + = , 0 ˆ ˆ ˆ ), ˆ ( ˆ ˆ v Hw u D x I C x y Du x C y L Bu x A › v v где матрица коэффициентов обратных связей L определяется на основе решения алгебраического матричного уравнения Риккати. Например, при Н=0 дисперсия P определяется из уравнения AP + PA T – (PC T +GN)R -1 (CP+N T G T ) + GQG T = 0, матрица L – L = APC T (N+CPC T ) -1 Наблюдатель (рис. 3) объединяет фильтр Калмана и объект управления. – 78 – Фильтр Калмана Объект управления + u w y v y v x y > > Рис.7.1. Наблюдатель Калмана Наблюдатель использует известные входы u и результаты измерений y v , искаженные случайными помехами, для того, чтобы вычислить оценки вектора переменных состояния xˆ и выходов . yˆ Пусть задана дискретная модель объекта управления ⎩ ⎨ ⎧ ν + + + = + + = + ν ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] 1 [ n n Hw n Du n Cx n y n Gw n Bu n Ax n x с известными входами u и возмущениями по входам w и измерениям v, которые являются "белым" шумом со следующими характеристиками: { } { } { } { } { } ] [ ] [ , ] [ ] [ , ] [ ] [ , 0 nm T nm T nm T N m w n v M R m v n v M Q m w n w M v M w M δ = δ = δ = = = Требуется выполнить синтез наблюдателя для оценивания вектора переменных состояния объекта управления, который минимизирует установившуюся ошибку оценивания, { } T t x x x x M P ) ˆ )( ˆ ( lim − − = ∞ → В этом случае фильтр Калмана, описывается уравнениями ⎪ ⎩ ⎪ ⎨ ⎧ ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ − − + ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ − − = ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ − − + + = + ] [ ] [ ) ( ] [ ˆ ) ( ] [ ˆ ] [ ˆ ]), [ ] [ ˆ ( ] [ ] [ ˆ ] 1 [ ˆ n y n u M MD CM D CM I n x MC I MC I C n y n x n Du n x C y L n Bu n x A n x v v ; где матрица коэффициентов обратных связей L и новая матрица коэффициентов обратных связей М определяются на основе решения матричного алгебраического уравнения Риккати. Наблюдатель объединяет фильтр Калмана и объект управления; он использует известные входы u[n] и результаты измерений у v [n], – 79 – искаженные случайными помехами, для того, чтобы вычислить оценки вектора переменных состояния х[n] и выходов у[n]. Обновленная матрица коэффициентов обратных связей М применяется для того, чтобы уточнить предсказание х[n] на основе измерения у v [n] ]) [ ] [ ˆ ] [ ( ] [ ˆ ] 1 [ ˆ n Du n x C n y M n x n x v − − + = + Последовательность выполнения Для синтеза фильтра Калмана в предназначены следующие функции Control System Toolbox: [kest, L, P] = kalman(sys, Qn, Rn, Nn) [kest, L, P] = kalman(sys, Qn, Rn, Nn, sensors, known) для дискретных моделей [kest, L, P, M, Z] = kalman(sys, Qn, Rn, Nn) для синтеза дискретного фильтра Калмана для непрерывных систем [kest, L, P, M, Z] = kalmz(sys, Qn, Rn, Nn) Приведенные выше функции выполняют синтез фильтров Калмана для оценки переменных состояния объекта управления на основе данных о случайных внешних возмущениях и ошибках измерений. На систему, описывающую объект управления и случайные воздействия накладываются следующие ограничения: − пара матриц (С, A) должна быть обнаруживаемой; − необходимо выполнение неравенств T N R N Q R 1 , 0 − − > , с учетом обозначений ) ( , , N QH G N HQH H N HN R GQG Q T T T T T + = + + = = Для выполнения практической работы необходимо выполнить следующие действия: – 80 – 1. Изучить теоретические сведения. 2. Запустить систему MATLAB. 3. Произвести расчет фильтра Калмана. 4. Выполнить моделирование системы управления с наблюдателем. 5. Сравнить данные, полученные на основе 6. Построить графики динамики системы при ненулевых начальных условиях. 7. Ответить на контрольные вопросы. 8. Оформить отчет и защитить работу. Методический пример Произведем расчет фильтра Калмана для системы с передаточной функцией , 100 100 ) ( 2 + + = s s s W и параметрами Q = 1, R = 0.01. 1. Произведем расчет фильтра Калмана >> sys=ss(tf(100,[1 1 100])) a = x1 x2 x1 -1 -3.125 x2 32 0 b = u1 x1 2 x2 0 c = x1 x2 y1 0 1.563 d = u1 y1 0 Continuous-time model. >> [A,B,C,D]=ssdata(sys) A = -1.0000 -3.1250 32.0000 0 B = – 81 – 2 0 C = 0 1.5625 D = 0 >> [A,B,C,D]=ssdata(sys) A = -1.0000 -3.1250 32.0000 0 B = 2 0 C = 0 1.5625 D = 0 >> P=ss(A, [B B], C, [D D]) a = x1 x2 x1 -1 -3.125 x2 32 0 b = u1 u2 x1 2 2 x2 0 0 c = x1 x2 y1 0 1.563 d = u1 u2 y1 0 0 Continuous-time model. >> Kest=kalman(P,1,0.01) a = x1_e x2_e x1_e -1 -30.11 x2_e 32 -41.56 b = u1 y1 x1_e 2 17.27 x2_e 0 26.6 c = x1_e x2_e y1_e 0 1.563 x1_e 1 0 x2_e 0 1 – 82 – d = u1 y1 y1_e 0 0 x1_e 0 0 x2_e 0 0 I/O groups: Group name I/O Channel(s) KnownInput I 1 Measurement I 2 OutputEstimate O 1 StateEstimate O 2,3 Continuous-time model. 2. Выполним моделирование системы управления с наблюдателем. Для этого с учетом x 1 = x1, x 2 = x2, = x3, = x4, введем следующие матрицы 1 ˆx 2 ˆx >> A1=[-1 -6.25 0 0; 16 0 0 0; 0 54 1 -60.2; 0 41.5 16 -41.5] A1 = -1.0000 -6.2500 0 0 16.0000 0 0 0 0 54.0000 1.0000 -60.2000 0 41.5000 16.0000 -41.5000 >> B1= [2 2 0; 0 0 0; 2 0 17.3; 0 0 13.3] B1 = 2.0000 2.0000 0 0 0 0 2.0000 0 17.3000 0 0 13.3000 >> C1=[0 3.125 0 0; 0 0 0 3.125] C1 = 0 3.1250 0 0 0 0 0 3.1250 3. Входом системы управления с наблюдателем является вектор u1=[u; w; v], выходом – y1 = [y; ]. Здесь y = 3.125y2, = 3.125y4. Ниже приведен фрагмент программы моделирования и результаты (рис. 6.1 – 6.2). yˆ yˆ t=0:0.001:5; u=ones(size(t)); w=randn(size(t))*1000^0.5; v=rаndn(size(t))*10^0.5; S=ss(A1, B1, C1, 0); u1=[u; w; v]; – 83 – [y1 y4]= lsim(S, u1', t); plot(t, y1(:,1),'-b',t,y1(:,2),':b') plot(t, v'+y1(:,1), ':g', t,y1(:,2),'-b') Рис. 6.1. Сравнение измеренного и точного выходных сигналов. Рис. 6.2. Сравнение зашумленного и точного значения выхода системы. – 84 – |