Известия РАН. Теория и системы управления, 2022, № 1, стр. 67-75

ВИРТУАЛЬНЫЕ ДАТЧИКИ В ЗАДАЧЕ ФУНКЦИОНАЛЬНОГО ДИАГНОСТИРОВАНИЯ НЕЛИНЕЙНЫХ СИСТЕМ

А. Н. Жирабок ab*, Ким Чхун Ир a

a Дальневосточный федеральный ун-т
Владивосток, Россия

b Институт проблем морских технологий ДВО РАН
Владивосток, Россия

* E-mail: zhirabok@mail.ru

Поступила в редакцию 04.07.2021
После доработки 20.08.2021
Принята к публикации 27.09.2021

Полный текст (PDF)

Аннотация

Рассматривается задача построения виртуальных датчиков в технических системах, описываемых нелинейными моделями, для решения задач функционального диагностирования. Приводятся соотношения, позволяющие построить датчик минимальной сложности, оценивающий заданную компоненту вектора состояния. Теоретические результаты иллюстрируются примером.

Введение. Проблема функционального диагностирования (ФД) к настоящему времени уже достаточно хорошо изучена, задачи обнаружения, поиска и идентификации дефектов решены для широкого класса динамических систем [14]. Одним из препятствий на пути реализации методов ФД может быть недостаточное число датчиков, которыми оснащена диагностируемая система. Введение дополнительных датчиков приводит к дополнительным затратам и не всегда реализуемо на практике. Более перспективным является использование так называемых виртуальных датчиков [3, 4], которые строятся на основе наблюдателей Люенбергера и в работах [3, 4] имеют размерность, совпадающую с размерностью исходной системы. В статье ставится и решается задача построения виртуальных датчиков минимальной размерности, оценивающих заданные компоненты вектора состояния нелинейной системы.

Для решения этой задачи предлагается использовать так называемый логико-динамический (ЛД) подход, который был успешно применен как для решения задачи ФД [5], так и анализа наблюдаемости и управляемости нелинейных систем [6]. ЛД-подход характерен тем, что он не гарантирует достижения оптимального решения задачи в смысле размерности получаемых в результате решения систем, но оперирует только линейными методами даже для систем с недифференцируемыми нелинейностями.

1. Основные модели. Рассмотрим стационарную систему, описанную нелинейной моделью

(1.1)
$\begin{gathered} \dot {x}(t) = Fx(t) + Gu(t) + C\Psi (x(t),\;u(t)) + L\rho (t), \\ y(t) = Hx(t), \\ \end{gathered} $
где $x(t) \in {{R}^{n}}$, $u(t) \in {{R}^{m}}$ и $y(t) \in {{R}^{l}}$ – векторы состояния, управления и выхода; F, G и $H$ – матрицы соответствующих размеров; C – матрица размера n × p, L – известная матрица размера n × q, $\rho (t) \in {{R}^{q}}$ – неизвестная функция времени, описывающая возмущения на систему. Нелинейный член $\Psi (x(t),\;u(t)$ имеет вид
$\Psi (x(t),\;u(t)) = \left( {\begin{array}{*{20}{c}} {{{\varphi }_{1}}({{A}_{1}}x(t),\;u(t))} \\ \cdots \\ {{{\varphi }_{p}}({{A}_{p}}x(t),\;u(t))} \end{array}} \right),$
${{A}_{1}}, \ldots ,{{A}_{p}}$ – матрицы-строки; ${{\varphi }_{1}}, \ldots ,{{\varphi }_{p}}$ – нелинейные (возможно, недифференцируемые) функции.

Требуется построить виртуальный датчик, оценивающий переменную ${{y}_{v}}(t) = {{H}_{v}}x(t)$ с известной матрицей ${{H}_{v}}$. Способ ее нахождения определяется рассматриваемой задачей диагностирования. В частности, наиболее благоприятной для реализации процедуры ФД является ситуация, когда все компоненты вектора состояния системы могут быть измерены. В этом случае матрица ${{H}_{v}}$ должна удовлетворять условию

${\text{rank}}\left( {\begin{array}{*{20}{c}} H \\ {{{H}_{v}}} \end{array}} \right) = n$.

В дальнейшем для простоты будем предполагать, что ${{H}_{v}}$ – матрица-строка. Если эта матрица содержит более одной строки, предлагаемое решение распространяется и на этот случай. Другие варианты задания матрицы ${{H}_{v}}$ приведены в [7], где было получено решение задачи в линейном случае.

Решение рассматриваемой задачи состоит в построении нелинейного наблюдателя, оценивающего переменную ${{y}_{v}}(t)$ и, таким образом, выполняющего функцию виртуального датчика. Уравнение искомого наблюдателя имеет вид

(1.2)
$\begin{gathered} {{{\dot {x}}}_{v}}(t) = {{F}_{*}}{{x}_{v}}(t) + {{J}_{*}}{{y}_{0}}(t) + {{G}_{*}}u(t) + {{C}_{*}}\Psi ({{x}_{v}}(t),\;{\kern 1pt} {{y}_{0}}(t),\;{\kern 1pt} u(t)) + {{J}_{v}}r(t), \\ {{y}_{*}}(t) = {{H}_{*}}{{x}_{v}}(t), \\ {{y}_{v}}(t) = {{H}_{{*v}}}{{x}_{v}}(t) + Qy(t), \\ r(t) = {{R}_{*}}y(t) - {{y}_{*}}(t), \\ \end{gathered} $
где ${{x}_{v}}(t) \in {{R}^{k}}$ – вектор состояния наблюдателя, k – размерность наблюдателя, ${{F}_{*}}$, ${{J}_{*}}$, ${{J}_{v}}$, ${{G}_{*}}$, ${{C}_{*}}$, ${{R}_{*}}$, ${{H}_{*}}$, ${{H}_{{*v}}}$, Q – матрицы, подлежащие определению, ${{C}_{*}}\Psi ({{x}_{v}},{{y}_{0}},u)$ – нелинейная составляющая,

${{y}_{0}}(t) = {{H}_{0}}x(t) = \left( {\begin{array}{*{20}{c}} H \\ {{{H}_{v}}} \end{array}} \right)x(t) = \left( {\begin{array}{*{20}{c}} {y(t)} \\ {{{y}_{v}}(t)} \end{array}} \right)$.

Отметим, что переменная ${{y}_{*}}(t)$ в (1.2) необходима для формирования невязки r(t), используемой в цепи обратной связи для обеспечения устойчивости наблюдателя.

В соответствии с ЛД-подходом решение задачи осуществляется в три этапа. На первом этапе строится линейная модель, не чувствительная к возмущениям:

(1.3)
$\begin{gathered} {{{\dot {x}}}_{v}}(t) = {{F}_{*}}{{x}_{v}}(t) + {{J}_{*}}{{y}_{0}}(t) + {{G}_{*}}u(t), \\ {{y}_{*}}(t) = {{H}_{*}}{{x}_{v}}(t). \\ \end{gathered} $

Далее проверяется возможность введения в нее нелинейной составляющей ${{C}_{*}}\Psi ({{x}_{v}},{{y}_{0}},u)$ и возможность оценки переменной ${{y}_{v}}(t)$ на основе условия

(1.4)
${{y}_{{v}}}(t) = {{H}_{{*{v}}}}{{x}_{{v}}}(t) + Qy(t).$

На последнем этапе ищется матрица ${{J}_{{v}}}$, обеспечивающая устойчивость наблюдателя.

2. Построение модели. Для получения решения на первом этапе матрицы ${{F}_{*}}$ и ${{H}_{*}}$ ищутся в каноническом виде:

(2.1)
${{F}_{*}} = \left( {\begin{array}{*{20}{c}} 0&1&0& \cdots &0 \\ 0&0&1& \cdots &0 \\ 0&0&0& \cdots &0 \\ \cdots & \cdots & \cdots & \ddots & \cdots \\ 0&0&0& \cdots &0 \end{array}} \right),\quad {{H}_{*}} = (\begin{array}{*{20}{c}} 1&0&0& \cdots &0 \end{array}).$

Предполагается, что после окончания переходного процесса векторы x(t) и ${{x}_{{v}}}(t)$ связаны матрицей Φ:

${{x}_{v}}(t) = \Phi x(t).$

Известно, что матрицы, описывающие модель, удовлетворяют следующим уравнениям [5, 6]:

(2.2)
${{R}_{*}}H = {{H}_{*}}\Phi ,\quad \Phi F = {{F}_{*}}\Phi + {{J}_{*}}{{H}_{0}},\quad {{G}_{*}} = \Phi G,$
(2.3)
${{C}_{*}} = \Phi C,\quad A{\kern 1pt} ' = {{A}_{*}}\left( {\begin{array}{*{20}{c}} \Phi \\ {{{H}_{0}}} \end{array}} \right).$

Последнее соотношение эквивалентно ранговому равенству

(2.4)
${\text{rank}}\left( {\begin{array}{*{20}{c}} \Phi \\ {{{H}_{0}}} \end{array}} \right) = {\text{rank}}\left( {\begin{array}{*{20}{c}} \Phi \\ {{{H}_{0}}} \\ {A'} \end{array}} \right),$
где матрица $A{\kern 1pt} '$ строится из тех строк матрицы A, номера ${{j}_{1}},{{j}_{2}},...,{{j}_{d}}$ которых совпадают с номерами ненулевых столбцов произведения $\Phi C$.

Решение задачи на первом этапе осуществляется на основе уравнения [5, 6]

(2.5)
$(\begin{array}{*{20}{c}} {{{R}_{*}}}&{ - {{J}_{{*1}}}}& \ldots &{ - {{J}_{{*k}}}} \end{array})({{V}^{{(k)}}}{\text{ }}{{L}^{{(k)}}}) = 0,$
где
${{V}^{{(k)}}} = \left( {\begin{array}{*{20}{c}} {H{{F}^{k}}} \\ {{{H}_{0}}{{F}^{{k - 1}}}} \\ \vdots \\ {{{H}_{0}}} \end{array}} \right),\quad L_{{}}^{{(k)}} = \left( {\begin{array}{*{20}{c}} {HL}&{HFL}& \ldots &{H{{F}^{{k - 1}}}L} \\ 0&{{{H}_{0}}L}& \ldots &{{{H}_{0}}{{F}^{{k - 2}}}L} \\ \vdots & \vdots & \ddots & \vdots \\ 0&0& \ldots &0 \end{array}} \right),\quad k = 1,{\text{ }}2,...,$
матрица V(k) обеспечивает построение модели (1.3), L(k) – нечувствительность ее к возмущениям. Уравнение (2.5) имеет нетривиальное решение, если

(2.6)
${\text{rank}}({{V}^{{(k)}}}{\text{ }}{{L}^{{(k)}}}) < l + (l + 1)k.$

Для построения модели из (2.6) определяется минимальное k и из (2.5) – строка $(\begin{array}{*{20}{c}} {{{R}_{*}}}&{ - {{J}_{{*1}}}}& \ldots &{ - {{J}_{{*k}}}} \end{array})$, затем на основе соотношений

${{R}_{*}}H = {{\Phi }_{1}},\quad {{\Phi }_{i}}F = {{\Phi }_{{i + 1}}} + {{J}_{{*i}}}{{H}_{0}},\quad i = \overline {1,k - 1} ,\quad {{\Phi }_{k}}F = {{J}_{k}}{{H}_{0}},$
полученных из (2.1) и (2.2), строится матрица $\Phi $, на чем заканчивается первый этап.

Для реализации второго этапа представим уравнение (1.4) в виде

${{H}_{v}}x(t) = {{H}_{{*{v}}}}\Phi x(t) + QHx(t),$
откуда следует
(2.7)
${{H}_{{v}}} = {{H}_{{*{v}}}}\Phi + QH = (\begin{array}{*{20}{c}} {{{H}_{{*{v}}}}}&Q \end{array})\left( {\begin{array}{*{20}{c}} \Phi \\ H \end{array}} \right),$
что эквивалентно равенству

(2.8)
${\text{rank}}\left( {\begin{array}{*{20}{c}} \Phi \\ H \end{array}} \right) = {\text{rank}}\left( {\begin{array}{*{20}{c}} \Phi \\ H \\ {{{H}_{{v}}}} \end{array}} \right).$

Выполнение условия (2.8) означает, что матрица-строка ${{H}_{{v}}}$ может быть выражена через матрицу ${{({{\Phi }^{{\text{T}}}}{\text{ }}{{H}^{{\text{T}}}})}^{{\text{T}}}}$ и построенная линейная модель будет оценивать заданную компоненту ${{y}_{v}} = {{H}_{v}}x$; матрицы ${{H}_{{*{v}}}}$ и Q определяются из алгебраического уравнения (2.7).

Для проверки возможности преобразования построенной линейной модели в нелинейную рассчитывается матрица ${{C}_{*}} = \Phi C$, определяются номера ${{j}_{1}},{{j}_{2}},...,{{j}_{d}}$ ненулевых ее столбцов и по описанному выше правилу строится матрица $A{\kern 1pt} '$. Далее проверяется условие (2.4) и при его выполнении строится нелинейная составляющая:

$\Psi ({{x}_{v}},{{y}_{0}},u) = \left( {\begin{array}{*{20}{c}} {{{\varphi }_{{{{j}_{1}}}}}({{A}_{{*{{j}_{1}}}}}{{x}_{v}},{{y}_{0}},u)} \\ \cdots \\ {{{\varphi }_{{{{j}_{d}}}}}({{A}_{{*{{j}_{d}}}}}{{x}_{v}},{{y}_{0}},u)} \end{array}} \right),$
где матрицы-строки ${{A}_{{*{{j}_{1}}}}}$, ${{A}_{{*{{j}_{2}}}}}$, …, ${{A}_{{*{{j}_{d}}}}}$ определяются из линейных алгебраических уравнений

${{A}_{j}} = {{A}_{{*j}}}\left( {\begin{array}{*{20}{c}} \Phi \\ {{{H}_{0}}} \end{array}} \right),\quad j = {{j}_{1}},{{j}_{2}},...,{{j}_{d}}.$

Если хотя бы одно из условий (2.4) и (2.8) не верно, нужно найти другое решение уравнения (2.5) при прежней или увеличенной размерности k.

Полагая, что условия (2.4) и (2.8) выполняются, примем ${{G}_{*}} = \Phi G$, на чем заканчивается процедура построения нелинейной модели (второй этап).

Соотношение (2.7) предлагается использовать для получения критерия возможности построения виртуального датчика, не чувствительного к возмущениям. Для этого введем матрицу максимального ранга ${{L}_{*}}$, такую, что ${{L}_{*}}L = 0$. Тогда $\Phi = K{{L}_{*}}$ для некоторой матрицы K. Заменим в (2.7) $\Phi $ на $K{{L}_{*}}$ и преобразуем полученное выражение:

${{H}_{v}} = (\begin{array}{*{20}{c}} {{{H}_{{*{v}}}}}&Q \end{array})\left( {\begin{array}{*{20}{c}} {K{{L}_{*}}} \\ H \end{array}} \right) = (\begin{array}{*{20}{c}} {K{{H}_{{*{v}}}}}&Q \end{array})\left( {\begin{array}{*{20}{c}} {{{L}_{*}}} \\ H \end{array}} \right).$

Из последнего уравнения ясно, что оно имеет решение в том случае, когда

(2.9)
${\text{rank}}\left( {\begin{array}{*{20}{c}} {{{L}_{*}}} \\ H \end{array}} \right) = {\text{rank}}\left( {\begin{array}{*{20}{c}} {{{L}_{*}}} \\ H \\ {{{H}_{{v}}}} \end{array}} \right).$

Приведенное ранговое равенство и является искомым критерием: если оно выполняется, виртуальный датчик может быть построен, в противном случае решение не существует. Отметим, что условие (2.9) дополняет условия существования решения, не чувствительного к возмущениям, найденные в [5].

3. Обеспечение устойчивости. На третьем этапе для определения матрицы ${{J}_{v}}$, обеспечивающей устойчивость наблюдателя, введем ошибку по состоянию $e(t) = \Phi x(t) - {{x}_{{v}}}(t)$ и с учетом (1.1), (1.2) и (2.2) запишем и преобразуем уравнение для $\dot {e}(t)$:

$\begin{gathered} \dot {e}(t) = \Phi Fx(t) + \Phi Gu(t) + \Phi C\Psi (x(t),\;{\kern 1pt} u(t)) - ({{F}_{*}}{{x}_{{v}}}(t) + {{J}_{*}}{{y}_{0}}(t) + {{G}_{*}}u(t) + {{C}_{*}}\Psi ({{x}_{{v}}},{{y}_{0}},u) + \\ \, + {{J}_{{v}}}({{R}_{*}}y(t) - {{y}_{*}}(t))) = {{F}_{*}}\Phi x(t) - {{F}_{*}}{{x}_{{v}}}(t) - {{J}_{{v}}}{{R}_{*}}Hx(t) + {{J}_{{v}}}{{H}_{*}}{{x}_{{v}}}(t) + \Delta \Psi (t) = {{F}_{*}}\Phi x(t) - {{J}_{{v}}}{{H}_{*}}\Phi x(t) - \\ \, - {{F}_{*}}{{x}_{{v}}}(t) + {{J}_{{v}}}{{H}_{*}}{{x}_{{v}}}(t) + \Delta \Psi (t) = ({{F}_{*}} - {{J}_{{v}}}{{H}_{*}})\Phi x(t)\, - \,({{F}_{*}} - {{J}_{{v}}}{{H}_{*}}){{x}_{{v}}}(t) + \Delta \Psi (t)\, = \,({{F}_{*}} - {{J}_{{v}}}{{H}_{*}})e(t)\, + \,\Delta \Psi (t), \\ \end{gathered} $
где

$\Delta \Psi (t) = {{C}_{*}}\Psi (x(t),\;u(t)) - {{C}_{*}}\Psi ({{x}_{v}}(t),\;{{y}_{0}}(t),\;u(t)) = {{C}_{*}}\Psi (\Phi x(t),\;{{y}_{0}}(t),\;u(t)) - {{C}_{*}}\Psi ({{x}_{v}}(t),\;{{y}_{0}}(t),\;u(t)).$

Рассмотрим два подхода к выбору матрицы ${{J}_{v}}$. В первом из них предполагается, что функция $\Psi (x,u)$ удовлетворяет условию Липшица по аргументу $x$, т.е.

(3.1)
$\left\| {\Psi (x,u) - \Psi (x{\kern 1pt} ',u)} \right\| \leqslant N\left\| {x - x{\kern 1pt} '} \right\|,$
N > 0 – некоторая константа. Тогда функция $\Delta \Psi (t)$ также удовлетворяет этому условию с некоторой константой ${{N}_{*}} > 0$, т.е.

(3.2)
$\left\| {\Delta \Psi (t)} \right\| \leqslant {{N}_{*}}\left\| {e(t)} \right\|.$

Известно, что если пара $({{F}_{*}},{{H}_{*}})$ наблюдаема, то существует такая матрица ${{J}_{{v}}}$, что ${{F}_{{**}}} = ({{F}_{*}} - {{J}_{{v}}}{{H}_{*}})$ устойчива. Из канонической формы (2.1) с очевидностью следует наблюдаемость пары $({{F}_{*}},{{H}_{*}})$ и, следовательно, существование матрицы ${{J}_{{v}}}$, обеспечивающей устойчивость матрицы ${{F}_{{**}}}$. Из устойчивости этой матрицы также вытекает, что существуют симметрические положительно-определенные матрицы P и W, такие, что

(3.3)
$F_{{**}}^{{\text{T}}}P + P{{F}_{{**}}} = - W.$

Рассмотрим функцию Ляпунова $V(t) = {{e}^{{\text{T}}}}(t)Pe(t)$ и найдем ее производную с учетом (3.1) и (3.2):

$\begin{gathered} \dot {V}(t) = {{({{F}_{{**}}}e(t) + \Delta \Psi (t))}^{{\text{T}}}}Pe(t) + {{e}^{{\text{T}}}}(t)P({{F}_{{**}}}e(t) + \Delta \Psi (t)) = {{e}^{{\text{T}}}}(t)(F_{{**}}^{{\text{T}}}P + P{{F}_{{**}}})e(t) + \\ \, + 2{{e}^{{\text{T}}}}(t)P\Delta \Psi (t) = - {{e}^{{\text{T}}}}(t)We(t) + 2{{e}^{{\text{T}}}}(t)P\Delta \Psi (t) \leqslant - {{\left\| {e(t)} \right\|}^{2}}{{\lambda }_{{\min }}}(W) + 2\left\| {{{e}^{{\text{T}}}}(t)P\Delta \Psi (t)} \right\| \leqslant \\ \, \leqslant - {{\left\| {e(t)} \right\|}^{2}}{{\lambda }_{{\min }}}(W) + 2{{\left\| {e(t)} \right\|}^{2}}{{\lambda }_{{\max }}}(P){{N}_{*}}, \\ \end{gathered} $
где ${{\lambda }_{{\min }}}(W)$ и ${{\lambda }_{{\max }}}(P)$ – минимальное и максимальное собственные числа матриц W и P соответственно. Из последнего выражения ясно, что если
(3.4)
${{N}_{*}}{\text{ }} < \frac{{{{\lambda }_{{\min }}}(W)}}{{2{{\lambda }_{{\max }}}(P)}},$
то $\dot {V}(t) < 0$, т.е. наблюдатель устойчив. Отметим, что такой подход был рассмотрен в [8].

Будем искать ${{J}_{v}}$ в виде ${{J}_{v}} = {{(\begin{array}{*{20}{c}} {{{a}_{1}}}&{{{a}_{2}}}& \ldots &{{{a}_{k}}} \end{array})}^{{\text{T}}}}$. Тогда

${{F}_{*}} - {{J}_{{v}}}{{H}_{*}} = \left( {\begin{array}{*{20}{c}} 0&1&0& \cdots &0 \\ 0&0&1& \cdots &0 \\ 0&0&0&1&0 \\ \cdots & \cdots & \cdots & \ddots & \cdots \\ 0&0&0& \cdots &0 \end{array}} \right) - {{J}_{v}}(\begin{array}{*{20}{c}} 1&0&0& \cdots &0 \end{array}) = \left( {\begin{array}{*{20}{c}} { - {{a}_{1}}}&1&0& \cdots &0 \\ { - {{a}_{2}}}&0&1& \cdots &0 \\ { - {{a}_{3}}}&0&0&1&0 \\ \cdots & \cdots & \cdots & \ddots & \cdots \\ { - {{a}_{k}}}&0&0& \cdots &0 \end{array}} \right).$

Коэффициенты ${{a}_{1}},{{a}_{2}},...,{{a}_{k}}$ связаны с собственными числами ${{\lambda }_{1}},{{\lambda }_{2}},...,{{\lambda }_{k}}$ матрицы ${{F}_{*}} - {{J}_{v}}{{H}_{*}}$ известными соотношениями:

${{a}_{1}} = - ({{\lambda }_{1}} + {{\lambda }_{2}} + ... + {{\lambda }_{k}}),\quad {{a}_{2}} = {{\lambda }_{1}}{{\lambda }_{2}} + {{\lambda }_{1}}{{\lambda }_{3}}... + {{\lambda }_{{k - 1}}}{{\lambda }_{k}},...,\quad {{a}_{1}} = {{( - 1)}^{k}}{{\lambda }_{1}}{{\lambda }_{2}}...{{\lambda }_{k}},$

Исходя из заданных требований к качеству переходного процесса, можно выбрать собственные числа ${{\lambda }_{1}},{{\lambda }_{2}},...,{{\lambda }_{k}}$ и определить коэффициенты ${{a}_{1}},{{a}_{2}},...,{{a}_{k}}$.

Отметим, что из-за наличия слагаемого ${{J}_{*}}{{y}_{0}}(t)$ в модели (1.2) может появиться обратная связь по переменной ${{y}_{v}}(t) = {{H}_{{*{v}}}}{{x}_{{v}}}(t) + Qy(t),$ что приведет к матрице ${{F}_{*}}$, отличной от канонического вида (2.1). В этом случае выбор коэффициентов ${{a}_{1}},{{a}_{2}},...,{{a}_{k}}$ должен быть осуществлен так, чтобы собственные числа матрицы ${{F}_{*}} - {{J}_{v}}{{H}_{*}}$ удовлетворяли требованию устойчивости. Сделать это можно, если выразить в общем виде собственные числа матрицы ${{F}_{*}} - {{J}_{{v}}}{{H}_{*}}$ через коэффициенты ${{a}_{1}},{{a}_{2}},...,{{a}_{k}}$, выбрав числа ${{\lambda }_{1}},{{\lambda }_{2}},...,{{\lambda }_{k}}$ и найдя из полученных уравнений искомые коэффициенты.

Рассмотренный подход накладывает довольно жесткие ограничения на класс функций $\Psi (x,u)$, которые диктуются условием (3.4) на константу ${{N}_{*}}$ – как правило, она должна быть меньше единицы. Только при k = 1 из (3.3) следует ${{\lambda }_{{\min }}}(W) = 2P{{J}_{v}}$ и ${{N}_{*}}{\text{ }} < {{J}_{v}}$, т.е. коэффициент ${{J}_{v}}$ всегда может быть выбран так, чтобы соблюсти условие ${{N}_{*}}{\text{ }} < {{J}_{v}}$ для произвольной функции, удовлетворяющей условию Липшица.

Отметим, что условие Липшица (3.1) носит глобальный характер и выполняется далеко не всегда, однако любая дифференцируемая функция локально удовлетворяет этому условию, поскольку верно приближенное равенство

$\Psi (x,u) - \Psi (x{\kern 1pt} ',u) \approx \frac{{\partial \Psi (x,u)}}{{\partial x}}(x - x{\kern 1pt} ').$

Это положено в основу второго подхода, где предполагается, что функция $\Psi (x,u)$ дифференцируема, ошибка e(t) мала и функция $\Delta \Psi (t)$ может быть разложена в ряд Тейлора относительно текущего значения.

Более детально рассмотрим это вначале для случая, когда система содержит одну нелинейность и $\Psi (x(t),u(t)) = \varphi (Ax(t),u(t))$. Поскольку $A = {{A}_{*}}\left( {\begin{array}{*{20}{c}} \Phi \\ {{{H}_{0}}} \end{array}} \right)$ и $e = \Phi x - {{x}_{v}}$, то

$Ax = {{A}_{*}}\left( {\begin{array}{*{20}{c}} \Phi \\ {{{H}_{0}}} \end{array}} \right)x = A_{*}^{1}\Phi x + A_{*}^{2}{{H}_{0}}x = A_{*}^{1}({{x}_{{v}}} + e) + A_{*}^{2}{{y}_{0}}$
и разность $\Delta \Psi (t)$ можно записать в виде

$\begin{gathered} \Delta \Psi (t) = {{С}_{*}}(\varphi (Ax(t),\;u(t)) - \varphi (A_{*}^{1}{{x}_{*}}(t) + A_{*}^{2}{{y}_{0}}(t),\;u(t))) = {{С}_{*}}(\phi (A_{*}^{1}{{x}_{{v}}}(t) + A_{*}^{2}{{y}_{0}}(t) + \\ \, + A_{*}^{1}e(t),\;u(t)) - \varphi (A_{*}^{1}{{x}_{{v}}}(t) + A_{*}^{2}{{y}_{0}}(t),\;u(t))) \approx \Phi C\frac{{\partial \varphi ({{x}_{{v}}},{{y}_{0}},u)}}{{\partial {{x}_{{v}}}}}A_{*}^{1}e(t). \\ \end{gathered} $

В результате получаем окончательное уравнение для ошибки e(t):

(3.5)
$\dot {e}(t) = \left( {{{F}_{*}} - {{J}_{v}}{{H}_{*}} + \Phi C\frac{{\partial \varphi ({{x}_{{v}}},{{y}_{0}},u)}}{{\partial {{x}_{{v}}}}}A_{*}^{1}} \right)e(t) = {{F}_{e}}({{J}_{{v}}},{{x}_{{v}}},{{y}_{0}},u)e(t),$
из которого следует, что элементы матрицы обратной связи ${{J}_{{v}}}$ в этом случае будут зависеть от компонент вектора состояния ${{x}_{{v}}}$, управления u и переменной ${{y}_{0}}$. Для определения этих элементов необходимо выполнить следующие операции:

найти характеристический полином матрицы ${{F}_{e}}({{J}_{{v}}},{{x}_{{v}}},{{y}_{0}},u)$ в виде

$\det ({{F}_{e}}({{J}_{{v}}},{{x}_{{v}}},{{y}_{0}},u) - \lambda E) = {{\lambda }^{k}} + {{a}_{1}}({{J}_{{v}}},{{x}_{{v}}},{{y}_{0}},u){{\lambda }^{{k - 1}}} + \ldots + {{a}_{k}}({{J}_{{v}}},{{x}_{{v}}},{{y}_{0}},u);$
для обеспечения требуемой динамики наблюдателя задать значения собственных чисел ${{\lambda }_{1}}, \ldots ,{{\lambda }_{k}}$;

составить систему нелинейных уравнений:

${{a}_{1}}({{J}_{{v}}},{{x}_{{v}}},{{y}_{0}},u) = - ({{\lambda }_{1}} + {{\lambda }_{2}} + \ldots + {{\lambda }_{k}}),$
${{a}_{2}}({{J}_{{v}}},{{x}_{{v}}},{{y}_{0}},u) = {{\lambda }_{1}}{{\lambda }_{2}} + {{\lambda }_{1}}{{\lambda }_{3}} + \ldots + {{\lambda }_{{k - 1}}}{{\lambda }_{k}},$
…,
${{a}_{k}}({{J}_{{v}}},{{x}_{{v}}},{{y}_{0}},u) = {{( - 1)}^{k}}{{\lambda }_{1}}{{\lambda }_{2}} \ldots {{\lambda }_{k}};$
найти из этой системы элементы матрицы ${{J}_{{v}}}$.

При наличии в системе нескольких нелинейностей получаем

${{F}_{e}}({{J}_{{v}}},{{x}_{{v}}},{{y}_{0}},u) = {{F}_{*}} - {{J}_{{v}}}{{H}_{*}} + \Phi C\left( {\begin{array}{*{20}{c}} {(\partial {{\varphi }_{1}}({{x}_{{v}}},{{y}_{0}},u){\text{/}}\partial {{x}_{{v}}})A_{{*1}}^{1}} \\ \ldots \\ {(\partial {{\varphi }_{p}}({{x}_{{v}}},{{y}_{0}},u){\text{/}}\partial {{x}_{v}})A_{{*p}}^{1}} \end{array}} \right).$

На практике рассмотренный метод может быть использован для наблюдателя размерности не более 3–4, поскольку приводит к громоздким выражениям при вычислении определителя $\det ({{F}_{e}}({{J}_{{v}}},{{x}_{{v}}},{{y}_{0}},u) - \lambda E)$. Его преимущество по сравнению с методами, изложенными в [8], состоит в том, что он не приводит к производным в управляющих и выходных сигналах.

4. Пример. Рассмотрим систему управления

(4.1)
$\begin{gathered} {{{\dot {x}}}_{1}}(t) = {{u}_{1}}(t){\text{/}}{{\vartheta }_{1}} - {{b}_{1}}\sqrt {{{x}_{1}}(t) - {{x}_{2}}(t)} , \\ {{{\dot {x}}}_{2}}(t) = {{u}_{2}}(t){\text{/}}{{\vartheta }_{2}} + {{b}_{1}}\sqrt {{{x}_{1}}(t) - {{x}_{2}}(t)} - {{b}_{2}}\sqrt {{{x}_{2}}(t) - {{x}_{3}}(t)} , \\ {{{\dot {x}}}_{2}}(t) = {{b}_{2}}\sqrt {{{x}_{2}}(t) - {{x}_{3}}(t)} - {{b}_{3}}\sqrt {{{x}_{3}}(t) - {{\vartheta }_{3}}} + \rho (t), \\ {{y}_{1}}(t) = {{x}_{2}}(t),\quad {{y}_{2}}(t) = {{x}_{3}}(t). \\ \end{gathered} $

Уравнения (4.1) описывают так называемую трехтанковую систему (см. рисунок), состоящую из трех резервуаров, соединенных между собой трубами. Жидкость поступает в первый и второй танки и выливается из третьего танка. Уровни жидкости в танках обозначены ${{x}_{1}}(t)$, ${{x}_{2}}(t)$ и ${{x}_{3}}(t)$; ${{\vartheta }_{1}}$, ${{\vartheta }_{2}}$, ${{\vartheta }_{3}}$, ${{b}_{1}}$, ${{b}_{2}}$ и ${{b}_{3}}$ – коэффициенты, значения которых определяются геометрическими размерами системы.

Рисунок.

Трехтанковая система

Поскольку неизмеряемой является компонента ${{x}_{1}}(t)$, примем ${{y}_{v}}(t) = {{x}_{1}}(t)$, ${{H}_{{v}}} = (1{\text{ }}0{\text{ 0}})$ и построим соответствующий виртуальный наблюдатель. Для простоты зададим ${{\vartheta }_{1}} = {{\vartheta }_{2}} = 1$, ${{\vartheta }_{3}} = 0$, ${{b}_{1}} = {{b}_{2}} = {{b}_{3}} = 1$. Поскольку уравнения (4.1) содержат только нелинейные члены, для них F = 0 и решение задачи описанным методом невозможно. Для устранения этого недостатка, согласно ЛД-подходу, добавим в первое уравнение формальный член $ - ({{x}_{1}} - {{x}_{2}}) + ({{x}_{1}} - {{x}_{2}})$, первый элемент которого отнесем к линейной части, второй – к нелинейной. Аналогично во второе уравнение добавим член ${{x}_{1}} - {{x}_{2}} - ({{x}_{2}} - {{x}_{3}}) - ({{x}_{1}} - {{x}_{2}}$$({{x}_{2}} - {{x}_{3}}))$, в третье – член $({{x}_{2}} - {{x}_{3}} - {{x}_{3}})$ – (x2x3x3). В результате получим следующее описание системы:

$F = \left( {\begin{array}{*{20}{c}} { - 1}&1&0 \\ 1&{ - 2}&1 \\ 0&1&{ - 2} \end{array}} \right),\quad G = \left( {\begin{array}{*{20}{c}} 1&0 \\ 0&1 \\ 0&0 \end{array}} \right),\quad H = \left( {\begin{array}{*{20}{c}} 0&1&0 \\ 0&0&1 \end{array}} \right),\quad L = \left( {\begin{array}{*{20}{c}} 0 \\ 0 \\ 1 \end{array}} \right),$
$C = \left( {\begin{array}{*{20}{c}} 1&0&0 \\ 0&1&0 \\ 0&0&1 \end{array}} \right),\quad \Psi (x,u) = \left( {\begin{array}{*{20}{c}} { - \sqrt {{{A}_{1}}x} + {{A}_{1}}x} \\ {\sqrt {{{A}_{1}}x} - \sqrt {{{A}_{2}}x} - ({{A}_{1}}x - {{A}_{2}}x)} \\ {\sqrt {{{A}_{2}}x} - \sqrt {{{A}_{3}}x} - ({{A}_{2}}x - {{A}_{3}}x)} \end{array}} \right),$
${{A}_{1}} = (\begin{array}{*{20}{c}} 1&{ - 1}&0 \end{array}),\quad {{A}_{2}} = (\begin{array}{*{20}{c}} 0&1&{ - 1} \end{array}),\quad {{A}_{3}} = (\begin{array}{*{20}{c}} 0&0&1 \end{array}).$

Нетрудно проверить, что условие (2.6) выполняется при k = 1, однако при этом не верно условие (2.8), поэтому принимаем k = 2. Составная матрица $({{V}^{{(2)}}}{\text{ }}{{L}^{{(2)}}})$ имеет вид

$({{V}^{{(2)}}}{\text{ }}{{L}^{{(2)}}}) = \left( {\begin{array}{*{20}{c}} { - 3}&6&{ - 4}&0&1 \\ 1&{ - 4}&5&1&{ - 2} \\ 1&{ - 2}&1&0&0 \\ 0&1&{ - 2}&0&1 \\ { - 1}&1&0&0&0 \\ 0&1&0&0&0 \\ 0&0&1&0&0 \\ 1&0&0&0&0 \end{array}} \right).$

Можно проверить, что с матрицей $({{V}^{{(2)}}}{\text{ }}{{L}^{{(2)}}})$ уравнение (2.5) имеет два решения:

$(\begin{array}{*{20}{c}} {{{R}_{*}}}&{ - {{J}_{{*1}}}}&{ - {{J}_{{*2}}}} \end{array}) = (\begin{array}{*{20}{c}} 1&0&2&{ - 1}&0&{ - 1}&0&1 \end{array}),\quad {{\Phi }^{{(1)}}} = \left( {\begin{array}{*{20}{c}} 0&1&0 \\ 1&0&0 \end{array}} \right),\quad {{J}^{{(1)}}} = \left( {\begin{array}{*{20}{c}} { - 2}&1&0 \\ 1&0&{ - 1} \end{array}} \right),$
$(\begin{array}{*{20}{c}} {{{R}_{*}}}&{ - {{J}_{{*1}}}}&{ - {{J}_{{*2}}}} \end{array}) = (\begin{array}{*{20}{c}} 1&0&3&{ - 1}&0&1&{ - 1}&0 \end{array}),\quad {{\Phi }^{{(2)}}} = \left( {\begin{array}{*{20}{c}} 0&1&0 \\ 1&1&0 \end{array}} \right),\quad {{J}^{{(2)}}} = \left( {\begin{array}{*{20}{c}} { - 3}&1&0 \\ { - 1}&1&0 \end{array}} \right).$

Рассмотрим первое из них. Так как

${{\Phi }^{{(1)}}}C = \left( {\begin{array}{*{20}{c}} 0&1&0 \\ 1&0&0 \end{array}} \right),$
то ${{j}_{1}} = 2$, ${{j}_{2}} = 1$ и

$A{\kern 1pt} ' = \left( {\begin{array}{*{20}{c}} {{{A}_{2}}} \\ {{{A}_{1}}} \end{array}} \right) = \left( {\begin{array}{*{20}{c}} 0&1&{ - 1} \\ 1&{ - 1}&0 \end{array}} \right).$

Нетрудно видеть, что условие (2.4) выполняется и нелинейная составляющая может быть добавлена в линейную модель. Уравнение (2.3) принимает вид

$A{\kern 1pt} ' = \left( {\begin{array}{*{20}{c}} 0&1&{ - 1} \\ 1&{ - 1}&0 \end{array}} \right) = {{A}_{*}}\left( {\begin{array}{*{20}{c}} 0&1&0 \\ 1&0&0 \\ 0&1&0 \\ 0&0&1 \\ 1&0&0 \end{array}} \right),$
одно из возможных решений которого представлено строками

${{A}_{{*1}}} = (\begin{array}{*{20}{c}} 0&1&{ - 1}&0&0 \end{array}),\quad {{A}_{{*2}}} = (\begin{array}{*{20}{c}} 0&0&1&{ - 1}&0 \end{array}).$

В результате получаем модель:

$\begin{gathered} {{{\dot {x}}}_{{{v}1}}} = {{x}_{{{v}2}}} - 2{{y}_{1}} + {{y}_{2}} + {{u}_{2}} + \sqrt {{{x}_{{{v}2}}} - {{y}_{1}}} - \sqrt {{{y}_{1}} - {{y}_{2}}} - ({{x}_{{{v}2}}} - {{y}_{1}} - ({{y}_{1}} - {{y}_{2}})) = {{u}_{2}} + \sqrt {{{x}_{{{v}2}}} - {{y}_{1}}} - \sqrt {{{y}_{1}} - {{y}_{2}}} , \\ {{{\dot {x}}}_{{{v}2}}} = - {{y}_{{v}}} + {{y}_{1}} - \sqrt {{{x}_{{{v}2}}} - {{y}_{1}}} + {{x}_{{{v}2}}} - {{y}_{1}} = - {{x}_{{{v}2}}} + {{y}_{1}} + {{u}_{1}} - \sqrt {{{x}_{{{v}2}}} - {{y}_{1}}} + {{x}_{{{v}2}}} - {{y}_{1}} = {{u}_{1}} - \sqrt {{{x}_{{{v}2}}} - {{y}_{1}}} , \\ {{y}_{*}} = {{x}_{{{v}1}}},\quad {{y}_{{v}}} = {{x}_{{{v}2}}}. \\ \end{gathered} $

Уравнение (3.5) для ошибки e(t) принимает вид

$\dot {e}(t) = \left( {\left( {\begin{array}{*{20}{c}} { - {{J}_{{{v}1}}}}&0 \\ { - {{J}_{{{v}2}}}}&0 \end{array}} \right) + \left( {\begin{array}{*{20}{c}} 0&{\frac{1}{{2\sqrt {{{x}_{{{v}2}}} - {{y}_{1}}} }}} \\ 0&{ - \frac{1}{{2\sqrt {{{x}_{{{v}2}}} - {{y}_{1}}} }}} \end{array}} \right)} \right)e(t) = \left( {\begin{array}{*{20}{c}} { - {{J}_{{{v}1}}}}&{\frac{1}{{2\sqrt {{{x}_{{{v}2}}} - {{y}_{1}}} }}} \\ { - {{J}_{{{v}2}}}}&{ - \frac{1}{{2\sqrt {{{x}_{{{v}2}}} - {{y}_{1}}} }}} \end{array}} \right)e(t).$
Запишем характеристический полином матрицы этого уравнения:

$({{J}_{{{v}1}}} + \lambda )\left( {\frac{1}{{2\sqrt {{{x}_{{{v}2}}} - {{y}_{1}}} }} + \lambda } \right) + \frac{{{{J}_{{{v}2}}}}}{{2\sqrt {{{x}_{{{v}2}}} - {{y}_{1}}} }} = {{\lambda }^{2}} + \lambda \left( {{{J}_{{{v}1}}} + \frac{1}{{2\sqrt {{{x}_{{{v}2}}} - {{y}_{1}}} }}} \right) + \frac{{{{J}_{{{v}1}}} + {{J}_{{{v}2}}}}}{{2\sqrt {{{x}_{{{v}2}}} - {{y}_{1}}} }} = 0.$

Примем ${{\lambda }_{1}} = {{\lambda }_{2}} = - 1$, тогда

${{J}_{{{v}1}}} + \frac{1}{{2\sqrt {{{x}_{{{v}2}}} - {{y}_{1}}} }} = 2,\quad \frac{{{{J}_{{{v}1}}} + {{J}_{{{v}2}}}}}{{2\sqrt {{{x}_{{{v}2}}} - {{y}_{1}}} }} = 1,$
откуда

${{J}_{{{v}1}}} = 2 - \frac{1}{{2\sqrt {{{x}_{{{v}2}}} - {{y}_{1}}} }},\quad {{J}_{{{v}2}}} = 2\sqrt {{{x}_{{{v}2}}} - {{y}_{1}}} + \frac{1}{{2\sqrt {{{x}_{{{v}2}}} - {{y}_{1}}} }} - 2.$

Приведем описание наблюдателя:

$\begin{gathered} {{{\dot {x}}}_{{{v}1}}}(t) = {{u}_{2}}(t) + \sqrt {{{x}_{{{v}2}}}(t) - {{y}_{1}}(t)} - \sqrt {{{y}_{1}}(t) - {{y}_{2}}(t)} + {{J}_{{{v}1}}}r(t), \\ {{{\dot {x}}}_{{{v}2}}}(t) = {{u}_{1}}(t) - \sqrt {{{x}_{{{v}2}}}(t) - {{y}_{1}}(t)} + {{J}_{{{v}2}}}r(t), \\ \end{gathered} $
$\begin{gathered} {{y}_{*}}(t) = {{x}_{{{v}1}}}(t), \\ {{y}_{{v}}}(t) = {{x}_{{{v}2}}}(t), \\ r(t) = {{y}_{1}}(t) - {{y}_{*}}(t). \\ \end{gathered} $

Заключение. В работе предложен метод построения виртуальных датчиков в технических системах, описываемых нелинейными моделями. На основе наблюдателей Люенбергера получены соотношения, позволяющие построить датчики минимальной размерности, оценивающие заданные компоненты вектора состояния диагностируемой системы. Синтезированные виртуальные датчики дают возможность в ряде случаев не только уменьшить сложность средств диагностирования и повысить глубину диагностирования, но и рассмотреть задачи, которые без использования таких датчиков не могли быть решены.

Список литературы

  1. Мироновский Л.А. Функциональное диагностирование динамических систем. М.; СПб.: МГУ-ГРИФ, 1998.

  2. Шумский А.Е., Жирабок А.Н., Гаджиев Ч. Диагностирование и отказоустойчивое управление динамическими системами. Монография [электронный ресурс]. Владивосток: ДВФУ, 2016. 178 с. http://elib.dvfu.ru/vital/access/manager/Repository/fefu:4053.

  3. Blanke M., Kinnaert M., Lunze J., Staroswiecki M. Diagnosis and Fault Tolerant Control. Berlin: Springer-Verlag, 2003.

  4. Witczak M. Fault Diagnosis and Fault Tolerant Control Strategies for Nonlinear Systems. Berlin: Springer, 2014.

  5. Жирабок А.Н., Зуев А.В., Шумский А.Е. Метод идентификации дефектов в нелинейных системах на основе скользящих наблюдателей // Изв. РАН. ТиСУ. 2021. № 1. С. 11–23.

  6. Жирабок А.Н. Анализ наблюдаемости и управляемости нелинейных динамических систем линейными методами // Изв. РАН. ТиСУ. 2010. № 1. С. 10–17.

  7. Жирабок А.Н., Ким Чхун Ир. Виртуальные датчики в задаче функционального диагностирования // Мехатроника, автоматизация, управление. 2021. № 6. С. 298–303.

  8. Misawa E.A., Hedrick J.K. Nonlinear Observers – a State of the Art Survey // J. Dynamic Systems, Measurements and Control. 1989. V. 111. P. 344–352.

Дополнительные материалы отсутствуют.