Использование метода инвариантного погружения для исследования нестационарного динамического объекта В. М. Понятский ГУП “Конструкторское бюро приборостроения”, Тула1 В работе рассмотрен подход, основанный на методе инвариантного погружения для идентификации нестационарного динамического объекта. Проведен синтез непрерывного и дискретного алгоритмов идентификации нестационарного динамического объекта в виде апериодического и колебательного звеньев. Проведено тестирование полученных алгоритмов и сформированы рекомендации по их настройке. С использованием полученных алгоритмов проведена оценка коэффициента передачи и постоянной времени сервопривода вращающегося беспилотного летательного аппарата. Для сравнения проведена оценка с использованием алгоритмов фильтрации Калмана. 1. Введение Важной задачей при исследовании систем управления (СУ) является оценка характеристик ее элементов по результатам измерений информационных сигналов. При стендовых и натурных испытаниях получают сигналы с элементов объектов СУ, функционирующей в условиях пассивного или активного эксперимента. Эти сигналы обладают рядом особенностей (зашумленность сигналов, нестационарность сигналов), которые необходимо учитывать при идентификации параметров элементов СУ. В общем случае объект управления может быть описан следующей системой нелинейных дифференциальных уравнений: dx/dt y = = f (x, u, t) + G(x, t)w(t); H(t)x(t) + v(t), (1) где u — вектор управляющих воздействий; y — вектор наблюдаемых сигналов; x — расширенный вектор состояния, включающий параметры динамического объекта; w — вектор формирующих шумов интенсивностью R1(t); v — вектор шумов измерения интенсивностью R2(t); G(x, t) — матрица коэффициентов. 1 В. c М. Понятский, 2007 85 Дискретная стохастическая модель с линейным наблюдателем в пространстве состояний может быть представлена следующими векторно-матричными уравнениями: x(k + 1) = F (k)x(k) + B(k)u(k) + G(k)w(k); y(k) (2) = H(k)x(k) + v(k), где x(k) — вектор состояния; u(k) — вектор управления; y(k) — вектор наблюдений; F (k) — матрица состояния; B(k) — матрица управления; H(k) — матрица наблюдения; w(k) — вектор формирующих шумов интенсивностью R1(k); v(k) — вектор случайных помех интенсивностью R2(k), G(k) — матрица коэффициентов. Предполагается, что исследуемая система является детерминированной, полностью управляемым и полностью наблюдаемым динамическим объектом. Необходимо по измеряемым векторам управления u и наблюдения y провести оценивание вектора состояния x и матриц коэффициентов f (x, u, t), G(x, t) и h(x, u, t). 2. Методы идентификации нестационарного динамического объекта Рассмотрим два подхода к идентификации параметров нестационарных динамических объектов, основанные на методе инвариантного погружения [1–3] и фильтрации Калмана [4–9]. 2.1. Метод инвариантного погружения для идентификации нестационарного динамического объекта Непрерывный алгоритм инвариантного погружения для одновременной оценки состояния и параметров динамических объектов (1) имеет вид [1]: dxo /dt = f (xo , u, t) + P dP/dt = GR1GT + P ∂hT (xo , u, t) {y − h(xo , u, t)} /R2; ∂xo (3) ∂f T (xo , u, t) ∂f (xo , u, t) + P + P HR2−1 H T P, ∂xo ∂xo где xo — оценка расширенного вектора состояний; P — корреляционная матрица ошибок фильтрации. 86 Алгоритм инвариантного погружения в дискретном виде представляется следующим образом: xo (k + 1, k) = F (k)xo (k) + B(k)u(k); xo (k + 1) = xo (k, k − 1) + P (k)H T (k) y(k) − H T (k)xo (k, k − 1) /R2. Уравнение для априорной дисперсии: P (k + 1/k) = G(k)R1GT (k) + ∂F (k)/∂xo P (k)∂F T (k)/∂xo . Уравнение для дисперсии ошибки для линейного случая: P (k+1) = P (k+1/k)−P (k+1/k)H T [HP (k+1/k)H T +R2]HP (k+1/k). 2.2. Метод фильтрации Калмана для идентификации нестационарного динамического объекта Известные методы параметрической идентификации такие, как метод наименьших квадратов, фильтрация Калмана, подразумевают задание искомой структуры динамического объекта в виде разностного уравнения (2). Тогда в качестве исходных данных для разработки алгоритма идентификации используется входная модель: Q(k + 1) = F (k)Q(k) + w(k); y(k) = f T (k)Q(k) + v(k), (линейная регрессия), где y(k) — сигнал с выхода динамического объекта; Q(k) = |a1 , . . . , aka , b1 , . . . , bkb , c1 , . . . , ckc |T — вектор параметров; f (k) = |−y(k −1), . . . , −y(k −ka ), u(k −1), . . . , u(k −kb ), c(k − 1), . . . , c(k − kc )|T — вектор данных из входного и выходного сигналов; F (k) — матрица перехода состояний; w(k) — формирующий шум интенсивностью R1 = Ew(k)wT (k); v(k) — шумы измерения интенсивностью R2 = Ev(k)v T (k). Алгоритм фильтрации Калмана для оценки параметров динамического процесса имеет вид [5–9]: Qo (k + 1/k) = F (k)Qo (k); Qo (k) = Qo (k/k − 1) + L(k){y(k) − yo (k)}; yo (k) = foT (k)Qo (k/k − 1), 87 где Qo (k + 1/k) — прогнозирование оценки вектора параметров; Qo (k) = |ao1 aoka , bo1 . . . bokb , co1 . . . cokc |T — вектор оценок параметров; yo (k) — оценка сигнала с выхода динамического объекта; fo (k) = | − yo (k − 1), . . . , −yo (k − ka ), u(k − 1), . . . , u(k − kb ), c(k − 1), . . . , c(k − kc )|T — вектор данных с оценками выходного сигнала; L(k) — матрица коэффициентов фильтра: P (k + 1/k) = F (k)P (k)F T (k) + R1; L(k) = P (k/k − 1)fo (k)/{foT (k)P (k/k − 1)fo (k) + R2)}; P (k) = P (k/k − 1) − L(k)foT (k)P (k/k − 1), где P (k + 1/k) — дисперсионная матрица ошибок прогнозирования оценки вектора параметров; P (k) — дисперсионная матрица ошибок оценки вектора параметров. R1(k) вычисляется по следующей зависимости: R1(k + 1) = R1(k) + {w(k)wT (k) − R1(k)}t(k), t(k) — коэффициент забывания предыдущих значений. Идентификация нестационарных параметров динамических объектов осуществляется на интервалах времени T i = sT d, где T d — шаг дискретизации по времени, s = 0, 1, 2, . . . , N . В начале каждого интервала осуществляется расчет начальных значений Qic (k) = |aic1 . . . aicka , bic1 . . . bickb |T и R1ic(k) методом наименьших квадратов [6]: R1ic(k) = D/(ΦT Φ); Qic (k) = R1ic(k)ΦT Y m, где Φ — матрица наблюдений, Y m = |y(k), . . . , y(k + m)|T — вектор выходных сигналов. Осуществляется смещение временного окна T i на величину dT i, не превышающую размер этого окна. В конце каждого интервала времени в диапазоне T i − dT i, . . . , T i в соответствии с (6)–(7) получаются текущие оценки параметров. Рассмотрим процесс конструирования алгоритмов идентификации динамического объекта в виде апериодического и колебательного звеньев на основе метода инвариантного погружения и фильтрации Калмана. 88 3. Синтез алгоритмов идентификации 3.1. Синтез алгоритмов идентификации на основе метода инвариантного погружения Алгоритм инвариантного погружения для оценки состояния (y) и параметров (K, ω = 1/T ) динамического объекта в виде апериодического звена определяется следующими векторами и матрицами: xo = |yo , Ko , ωo |T ; h(x, u, t) = Hx; H = |1, 0, 0|; R2 = r2; Kro ωro 0 0 0 1 0 ; G(xo , t) = 0 0 1 −yo ωro + Kro ωro u ; 0 f (t) = 0 −ωro ωro u −yro + Kro u ∂f . 0 0 = 0 ∂xo 0 0 0 Уравнения идентификации будут иметь следующий вид (см. рис. 1): dyo /dt = −yo ωro + Kro ωro u + p11 (y − yo )/r2; dKo /dt = p( 12)(y − yo )/r2; dωo /dt = p( 13)(y − yo )/r2, где Kro = Ko + Kpr ; ωro = ωo + ωpr ; Kpr , ωpr — программные значения параметров. Уравнение для дисперсии ошибки: dp11 −p211 2 2 = + 2{−p11ωro + p12 ωro u + p13 (−yo + Kro u)} + Kro ωro r11 ; dt r2 dp12 /dt = −p11 p12 /r2 − p12 ωro + p22 ωro u + p23 (−yo + Kro u); dp13 /dt = −p11 p13 /r2 − p13 ωro + p23 ωro u + p33 (−yo + Kro u); dp22 /dt = −p212 /r2 + r12 ; dp23 /dt = −p12 p13 /r2; dp33 /dt = −p213 /r2 + r13 . 89 Рис. 1: Алгоритм инвариантного погружения для идентификации динамического объекта в виде апериодического звена. 90 Для случая идентификации динамического объекта в виде колебательного звена алгоритм инвариантного погружения для оценки состояния (y, V y) и параметров (K, ω = 1/T, ξ) имеет следующие вектора и матрицы: xo = |yo , V yo , Ko , ωo , ξo |T ; h(x, u, t) = Hx; H = |1, 0, 0, 0, 0|; R2 = r2; 1 0 0 0 0 2 0 Kro ωro 0 0 0 0 1 0 0 ; G(xo , t) = 0 0 0 0 1 0 0 0 0 0 1 V yro 2 2 −yoωro − 2ξ ω V y + K ω u ro ro o ro ro ; 0 f (t) = 0 0 0 1 0 0 0 2 2 −ωro −2ξro ωro ωro u 2(−ωroyo − ξro V yro −2ωro V yro ∂f +Kroωro u) . = 0 0 0 0 ∂xo 0 0 0 0 0 0 0 0 0 0 0 Алгоритм инвариантного погружения для идентификации динамического объекта в виде колебательного звена имеет вид (см. рис. 2): dyo /dt = V yo + p11 (y − yo )/r2; 2 2 dV yo /dt = −yo ωro − 2ξro ωro V yro + Kro ωro u + p12 (y − yro )/r2; dKo /dt = p13 (y − yo )/r2; dωo /dt = p14 14(y − yo )/r2; dξo /dt = p15 (y − yo )/r2, где ξro = ξo + ξpr ; ξpr — программное значение параметра. Предложенные алгоритмы идентификации, основанные на методе инвариантного погружения, позволяют непосредственно получать оценки состояния и оценки значений нестационарных параметров нелинейного нестационарного динамического объекта. 91 Рис. 2: Алгоритм инвариантного погружения для идентификации динамического объекта в виде колебательного звена. 92 Рис. 3: Алгоритм фильтрации Калмана для идентификации динамического объекта в виде апериодического звена. 3.2. Синтез алгоритмов идентификации на основе метода фильтрации Калмана Проведена разработка алгоритмов фильтрации Калмана для идентификации параметров сервопривода, исходя из представления модели объекта в виде апериодического звена [8]. Пусть динамический объект описывается следующим линейным разностным уравнением: y(k) + a1y(k − 1) = b1u(k − 1) + e(k), где a1 = −(1 − T d/T (k)), b1 = K(k)T d/T (k). Тогда алгоритм идентификации динамического объекта в виде апериодического звена имеет вид: Qo (k + 1/k) = Qo (k); 93 Рис. 4: Исходные сигналы с входа сервопривода и с датчика углового положения рулей для идентификации сервопривода. Qo (k) = Qo (k/k − 1) + L(k){y(k) − yo (k)}; yo (k) = foT (k)Qo (k/k − 1); L(k) = P (k − 1)f o(k)/{R2 + foT (k)P (k − 1)fo (k)}; P (k) = P (k − 1) − L(k)foT (k)P (k − 1) + R1, где Qo (k) = |a1o , b1o |T , fo (k) = | − yo (k − 1), u(k − 1)|T . Искомые величины апериодического звена Ko (k) и To (k) определяются в соответствии с матрицей дискретных параметров Qo (k) по зависимостям: To (k) = T d/(1 + a1o ), Ko (k) = b1o /(1 + a1o ). Разработаны алгоритмы идентификации динамического объекта в виде апериодического и колебательного звеньев. 4. Результаты На рис. 4 и 5 приведены соответственно исходные данные (сигнал управления и сигнал с датчика углового положения рулей) и результаты оценки постоянной времени и коэффициента передачи 94 Рис. 5: Результаты оценки постоянной времени и коэффициента передачи сервопривода с помощью метода инвариантного погружения (Тип, Кип) и фильтрации Калмана (Тфк, Кфк). сервопривода беспилотного вращающегося летательного аппарата. Как следует из приведенных данных, оценка, полученная с помощью метода инвариантного погружения (Тип, Кип) по сравнению с фильтрацией Калмана (Тфк, Кфк) [6–9], дает более гладкий и с меньшими флюктуациями закон изменения параметров. Однако, метод фильтрации Калмана более устойчив, а при использовании метода инвариантного погружения возможен срыв синхронизации. Таким образом, в работе рассмотрены два подхода: метод инвариантного погружения и метод фильтрации Калмана для оценки параметров нестационарного динамического объекта. Проведен синтез алгоритмов идентификации нестационарного динамического объекта в виде апериодического и колебательного звеньев. Проведенное сравнение полученных оценок коэффициента передачи и постоянной времени сервопривода показало, что метод инвариантного погружения дает более гладкую и с меньшими флюктуациями оценку параметров. Однако, метод фильтрации Калмана более устойчив, а при использовании метода инвариантного погружения возможен срыв синхронизации. 95 Список литературы [1] Сейдж Э. П., Мелса Дж. Л. Идентификация систем управления. — М.: Наука. 1974. [2] Сейдж Э. П., Мелса Дж. Л. Теория оценивания и ее применение в связи и управлении. — М.: Связь. 1976. [3] Эйпховф П. Основы идентификации систем управления. — М.: Мир. 1976. [4] Понятский В. М. Использование метода инвариантного погружения для оценки параметров электротехнических объектов // Труды четвертой Всероссийской научно-практической конференции “Системы управления электротехническими объектами”. — Тула: ТулГУ. 2007. [5] Льюнг Л. Идентификация систем. Теория для пользователя. — М.: Наука. 1991. 432 с. [6] Понятский В. М. Идентификация многомерных нестационарных динамических объектов методом фильтрации Калмана // Математическое моделирование физических процессов. — М: ФГУП РФЯЦ-ВНИИЭФ. Вып. 1. 2004. [7] Фатуев В. А., Юдаев А. В., Понятский В. М., Каргин А. В., Оберман М. С. Структурно-параметрическая идентификация многомерных нестационарных динамических систем // Материалы III Международной конференции “Идентификация систем и задачи управления”. — М.: ИПУ. 2004. [8] Понятский В. М. Компьютерная технология идентификации методом фильтрации Калмана параметров линейной нестационарной модели динамического объекта // Труды международной конференции “Третьи Окуневские чтения”. Ч. 3. — СПб.: БГТУ. 2003. С. 146–150. [9] Понятский В. М., Оберман М. С. Программа для идентификации методом фильтрации Калмана параметров линейной нестационарной модели динамического объекта // Труды международной конференции “Третьи Окуневские чтения”. Ч. 3. — СПб.: БГТУ. 2003. С. 151–158. 96