Управляемость линейной системы: различия между версиями
Janus (обсуждение | вклад) |
Janus (обсуждение | вклад) |
||
(не показано 14 промежуточных версий этого же участника) | |||
Строка 3: | Строка 3: | ||
\dot{x}(t) = A(t)x(t) + B(t)u(t) + f(t), \quad t \in [t_0, t_1], | \dot{x}(t) = A(t)x(t) + B(t)u(t) + f(t), \quad t \in [t_0, t_1], | ||
\end{equation} | \end{equation} | ||
− | где $$x \in \ | + | где $$x \in \mathbb{R}^{n} — вектор фазового состояния, u \in \mathbb{R}^m$$ — вектор управлений. |
Пусть наша система движется из положения x(t_0) = x^0 и должна попасть в положение x(t_1) = x^1, при этом мы минимизируем следующий функционал: | Пусть наша система движется из положения x(t_0) = x^0 и должна попасть в положение x(t_1) = x^1, при этом мы минимизируем следующий функционал: | ||
Строка 13: | Строка 13: | ||
== Определение == | == Определение == | ||
− | Система \eqref{syst} называется '''полностью (или вполне) управляемой''' на [t_0, t_1],\ t_0 < t_1, если для любых $$x^0, x^1 \in \ | + | Система \eqref{syst} называется '''полностью (или вполне) управляемой''' на [t_0, t_1],\ t_0 < t_1, если для любых $$x^0, x^1 \in \mathbb{R}^n существует такое управление u(\cdot), что x(t_1, t_0, x^0 \colon u(\cdot)) = x^1 или x(t_0, t_1, x^1 \colon u(\cdot)) = x^0$$. |
То есть под действием этого управления траектория, выпущенная в момент времени t_0 из точки x^0, в момент времени t_1 будет в состоянии x^1 (или же наоборот, если мы пускаем траектории из конечного состояния в обратном времени). | То есть под действием этого управления траектория, выпущенная в момент времени t_0 из точки x^0, в момент времени t_1 будет в состоянии x^1 (или же наоборот, если мы пускаем траектории из конечного состояния в обратном времени). | ||
Строка 33: | Строка 33: | ||
\] | \] | ||
− | + | Введём обозначения: | |
+ | \begin{equation}\label{matrH} | ||
+ | H(t_1, t) = X(t_1, t) B(t). | ||
+ | \end{equation} | ||
+ | За $$c \in \mathbb{R}^n$$ обозначим правую часть этого равенства. Получим '''задачу моментов''': | ||
\begin{equation}\label{zm} | \begin{equation}\label{zm} | ||
Строка 46: | Строка 50: | ||
''Необходимость''. Предположим противное: пусть существует l \neq \theta такое, что H^T(t_1, t) l \equiv 0. Транспонируем это равенство: l^T H(t_1, t) \equiv 0. | ''Необходимость''. Предположим противное: пусть существует l \neq \theta такое, что H^T(t_1, t) l \equiv 0. Транспонируем это равенство: l^T H(t_1, t) \equiv 0. | ||
− | Так как система управляема, то выполняется задача моментов \eqref{zm}, то есть для любого $$c \in \ | + | Так как система управляема, то выполняется задача моментов \eqref{zm}, то есть для любого $$c \in \mathbb{R}^n найдётся u(\cdot) такое, что \int\limits_{t_0}^{t_1} H(t_1, t) u(t) dt = c. Домножим обе части этого равенства на l^T$$. |
\[ | \[ | ||
Строка 61: | Строка 65: | ||
Теперь зафиксируем произвольные x^0,\ x^1. Рассмотрим u(t) = H^T(t_0, t) W^{-1} c — это и будет искомое управление. \blacksquare | Теперь зафиксируем произвольные x^0,\ x^1. Рассмотрим u(t) = H^T(t_0, t) W^{-1} c — это и будет искомое управление. \blacksquare | ||
+ | |||
+ | ''Следствия''. | ||
+ | * Система \eqref{syst} полностью управляема тогда и только тогда, когда определитель матрицы управляемости W(t,t_0) равен нулю. | ||
+ | * Если \eqref{syst} вполне управляема на [t_0, t_1], то система \eqref{syst} вполне управляема на [t'_0, t'_1] для произвольных t'_0 \le t_0,\ t'_1 \ge t_1 | ||
+ | |||
+ | == Теорема Калмана == | ||
+ | |||
+ | Рассмотрим ещё один критерий полной управляемости для автономных систем, то есть у которых A = \mathrm{const},\ B = \mathrm{const}. Сначала сформулируем вспомогательное утверждение. | ||
+ | |||
+ | '''Теорема Гамильтона-Кэли'''. Пусть матрица A \in \mathbb{R}^{n \times n} — постоянная матрица, а \chi_A(\lambda) = |A - \lambda I| = c_0 + c_1 \lambda + \cdots + c_{n-1} \lambda^{n-1} + c_n \lambda^n — её характеристический многочлен. Тогда \chi_A(A) = c_0 I + c_1 A + \cdots + c_n A^n = 0. | ||
+ | |||
+ | И выделим важное, но очевидное ''следствие'' из этой теоремы: найдутся такие числа \alpha_0,\ \alpha_1, \dots,\ \alpha_{n-1}, что | ||
+ | \begin{equation}\label{cons} | ||
+ | A^n = \alpha_0 I + \alpha_1 A + \cdots + \alpha_{n-1} A^{n-1}. | ||
+ | \end{equation} | ||
+ | |||
+ | Теперь мы можем приступить к формулировке и доказательству теоремы Калмана. | ||
+ | |||
+ | '''Теорема Калмана'''. Система \eqref{syst} полностью управляема тогда и только тогда, когда \rank [B \vert AB \vert \cdots \vert A^{n-1} B] = n. | ||
+ | |||
+ | Обозначим матрицу [B \vert AB \vert \cdots \vert A^{n-1} B] \in \mathrm{R}^{n \times mn} = C. | ||
+ | |||
+ | '''Доказательство'''. Будем доказывать, что система \eqref{syst} не вполне управляема тогда и только тогда, когда \rank C < n. | ||
+ | ''Необходимость''. Пусть система не вполне управляема. Тогда по критерию полной управляемости найдётся такой вектор l \neq \theta, что l^T H(t_1, t) = 0. Из \eqref{matrH} и [[Матричный экспоненциал|связи матрицы Коши и матричной экспоненты]] получаем, что l^T e^{A(t_1 - t)} B \equiv 0. Продифференцируем последнее равенство n-1 раз по t. Учтём, что экспонента и матрица перестановочны: | ||
+ | |||
+ | \begin{gather*} | ||
+ | -l^T e^{A(t_1 - t)} A B = 0; \\ | ||
+ | \vdots \\ | ||
+ | (-1)^{n-1} l^T e^{A(t_1 - t)} A^{n-1} B = 0. | ||
+ | \end{gather*} | ||
+ | |||
+ | Зафиксируем произвольное t \in (t_0, t_1) и рассмотрим \tilde{l} = \left( e^{A(t_1-t)} \right)^T l. Очевидно, что \tilde{l} \neq 0, так как матрица e^{A(t_1 - t)} — невырожденная. Тогда \tilde{l}^T B = \theta, \ \tilde{l}^T AB = \theta, \ \cdots,\ l^T A^{n-1} B = \theta. В таком случае получаем, что \tilde{l}^T C = \theta, то есть \rank C < n. | ||
+ | |||
+ | ''Достаточность''. Пусть \rank C < n. Так как образ неполноразмерен, то существует вектор $l \neq \theta$, перпендикулярный образу, то есть $l$ перпендикулярен всем столбцам матрицы [B \vert AB \vert \cdots \vert A^{n-1}B]: l^TB = \theta,\ l^T AB = \theta,\ \dots,\ l^T A^{n-1}B = \theta. Получаем, что что l^T [B \vert AB \vert \cdots \vert A^{n-1}B] = \theta. | ||
+ | |||
+ | По следствию из теоремы Калмана для любого k \in \mathbb{N} \cup \left\{0\right\} найдутся такие числа \alpha^{(k)}_0,\ \alpha^{(k)}_1, \dots, \alpha^{(k)}_{n-1}, что A^k = \alpha^{(k)}_0 I + \alpha^{(k)}_1 A + \cdots + \alpha^{(k)}_{n-1} A^{n-1}. Распишем подробнее, как выбираются коэффициенты \alpha_i^{(k)}: | ||
+ | * если k \in [0, n-1], то \alpha_k = 1, а остальные \alpha равны 0; | ||
+ | * если k = n, то используем теорему Гамильтона-Кэли; | ||
+ | * если k > n, то, домножая выражение \eqref{cons} на A, получаем, что A^{n+1} = \alpha_0 A + \alpha_1 A^2 + \cdots + \alpha_{n-1} A^n и далее по индукции. | ||
+ | |||
+ | Для любого k \in \mathbb{N} \cup \left\{0\right\} 0 выше мы получили, что l^T A^k B = \theta. Таким образом | ||
+ | \[ | ||
+ | l^T \sum\limits_{k=0}^{\infty} \frac{A^k t^k}{k!} B = \theta. | ||
+ | \] | ||
+ | |||
+ | Учитывая [[Матричный экспоненциал|формулу для матричной экспоненты]], получаем, что l^T e^{A(t_1 - t)} B = l^T H(t_1, t) = 0. Используя критерий полной управляемости, в итоге получаем, что система \eqref{syst} не вполне управляема. \blacksquare | ||
+ | |||
+ | '''Замечание'''. Если матрицы A и B — постоянны, то управляемость не зависит от t_0 и t_1 (главное, чтобы (t_0 \neq t_1). | ||
+ | |||
+ | == Декомпозиция состояний системы == | ||
+ | |||
+ | Рассмотрим систему с постоянными коэффициентами: | ||
+ | |||
+ | \begin{equation}\label{syst_avt} | ||
+ | \dot{x}(t) = Ax(t) + Bu(t),\quad A = \mathrm{const}, B = \mathrm{const}. | ||
+ | \end{equation} | ||
+ | |||
+ | Обозначим за r ранг расширенной матрицы системы [B \vert AB \vert \cdots \vert A^{n-1}B], где 0 < r < n. Тогда существует невырожденная матрица T \in \mathbb{R}^{n \times n} такая, что | ||
+ | \[ | ||
+ | \begin{gather*} | ||
+ | y = Tx,\\ | ||
+ | \dot{y} = \tilde{A} y(t) + \tilde{B} u(t), | ||
+ | \end{gather*} \quad | ||
+ | \begin{matrix} | ||
+ | \tilde{A} = TAT^{-1},\\ \tilde{B} = TB, | ||
+ | \end{matrix} | ||
+ | \] | ||
+ | |||
+ | при этом \rank [\tilde{B}_1 \vert \tilde{A}_{11} \tilde{B}_1 \vert \cdots \vert \tilde{A}_{11}^{r-1} \tilde{B}_1] = r, где | ||
+ | \[ | ||
+ | \tilde{A} = \begin{bmatrix} | ||
+ | \tilde{A}_{11} && \tilde{A}_{12} \\ | ||
+ | \bf 0 && \tilde{A}_{22} | ||
+ | \end{bmatrix},\quad | ||
+ | \tilde{B} = \begin{bmatrix} \tilde{B}_1 \\ \bf 0 \end{bmatrix}, | ||
+ | \] | ||
+ | |||
+ | а матрицы \tilde{A}_{11} и \tilde{B}_1 имеют соответственно размерности r \times n и r \times m. | ||
+ | |||
+ | Говоря простым языком, любую систему можно разложить так, что | ||
+ | |||
+ | \[ | ||
+ | y = \begin{bmatrix} y^{(1)} \\ y^{(2)} \end{bmatrix} \begin{array}{l} \left.\right\} r\text{ строк} \\ \left.\right\} n-r \text{ строк} \end{array}\ , | ||
+ | \] | ||
+ | |||
+ | при этом | ||
+ | |||
+ | \[ | ||
+ | \begin{aligned} | ||
+ | & \dfrac{dy^{(1)}}{dt} = \tilde{A}_{11} y^{(1)} + \tilde{A}_{12} y^{(2)} + \tilde{B}_1 u(t) \text{ — полностью управляемая часть} \\ | ||
+ | & \dfrac{dy^{(2)}}{dt} = \tilde{A}_{22} y^{(2)} \text{ — неуправляемая часть} | ||
+ | \end{aligned} ,\ \text{где } \rank[\tilde{B}_1 \vert \tilde{A}_{11} \tilde{B}_1 \vert \cdots \vert \tilde{A}_{11}^{r-1} \tilde{B}_1] = r. | ||
+ | \] | ||
+ | |||
+ | Если r = n, то система полностью управляема; если r = 0, то система неуправляема. | ||
+ | |||
+ | Для начала докажем вспомогательную лемму. | ||
+ | |||
+ | === Вспомогательная лемма === | ||
+ | |||
+ | Пусть r = \rank[B \vert AB \vert \cdots \vert A^{n-1}B],\ L = \im [B \vert AB \vert \cdots \vert A^{n-1}B]. Будем рассматривать систему \eqref{syst_avt}. Тогда L инвариантно относительно системы \eqref{syst_avt}, то есть для любых начального момента t_0, начального положения x^0 \in L и управления u(\cdot) выполняется, что x(t, t_0, x^0 \vert u(\cdot)) \in L \ \forall t\ \ge t_0. | ||
+ | |||
+ | '''Доказательство'''. Выпишем [[Формула Коши|формулу Коши]]: | ||
+ | \[ | ||
+ | x(t, t_0, x^0 \vert u(\cdot)) = e^{A(t_1 - t)} x^0 + \int\limits_{t_0}^t e^{A(t - \tau)} B(\tau) u(\tau) d\tau. | ||
+ | \] | ||
+ | |||
+ | Известно, что \left< l, x^0 \right> = 0\ \forall l\in L^T, то есть \forall l \in L^T выполняется, что l^T[B \vert AB \vert \cdots \vert A^{n-1}B] = \theta. По индукции получаем, что l^T A^k B = \theta \ \forall k\in \mathbb{N}\cup 0. Таким образом l^T e^{At} B = \theta. | ||
+ | |||
+ | Рассмотрим x^0 \in L. В таком случае x^0 представим в виде линейной комбинации столбцов матрицы [B \vert AB \vert \cdots \vert A^{n-1}B], то есть найдутся такие вектора v^{(0)}, \dots, v^{(n-1)} \in \mathbb{R}^m такие, что x^0 = Bv^(0) + \cdots + A^{n-1} B v^{(n-1)}. | ||
+ | |||
+ | Домножим формулу Коши слева на l^T: | ||
+ | |||
+ | \begin{aligned} | ||
+ | l^T x(t, t_0, x^0 \vert u(\cdot)) &= \sum\limits_{j=0}^{n-1} l^T e^{A(t - t_0)} A^j B v^{(j)} + \int\limits_{t_0}^{t_1} l^T e^{A(t-\tau)} B u(\tau) d\tau = \\ | ||
+ | &= \sum\limits_{j=0}^{n-1} \sum\limits_{k=0}^{\infty} l^T \frac{A^k (t-t_0)^k}{k!} A^j B v^{(j)} + \int\limits_{t_0}^t \sum\limits_{k=0}^{\infty} l^T \frac{A^k (t-\tau)^k}{k!} B u(\tau) d\tau = \left\{ l^T A^k B = \theta \ \forall k\in\mathbb{N} \right\} = \theta. | ||
+ | \end{aligned} | ||
+ | |||
+ | Таким образом получаем, что x \in (L^\perp)^\perp = L. \blacksquare | ||
+ | |||
+ | === Доказательство теоремы о декомпозиции === | ||
+ | |||
+ | Столбцы матрицы T^{-1} таковы, что первые r столбцов образуют базис L, а остальные образуют базис дополнения L до \mathbb{R}^n. | ||
+ | |||
+ | Рассмотрим следующие блочные матрицы: | ||
+ | \[ \begin{bmatrix} | ||
+ | \tilde{A}_{11} && \tilde{A}_{12} \\ | ||
+ | \tilde{A}_{21} && \tilde{A}_{22} | ||
+ | \end{bmatrix},\quad \begin{bmatrix} \tilde{B}_1 \\ \tilde{B}_2 \end{bmatrix} | ||
+ | \] | ||
+ | и докажем, что \tilde{A}_{21} = 0,\ \tilde{B}_2 = 0. | ||
+ | |||
+ | Рассмотрим систему | ||
+ | \begin{equation} \label{syst_y} | ||
+ | \left\{ | ||
+ | \begin{aligned} | ||
+ | & \dot{y}^{(1)}(t) = \tilde{A}_{11} y^{(1)}(t) + \tilde{A}_{12} y^{(2)} + \tilde{B}_1 u(t) \\ | ||
+ | & \dot{y}^{(2)}(t) = \tilde{A}_{21} y^{(1)}(t) + \tilde{A}_{22} y^{(2)} + \tilde{B}_2 u(t). | ||
+ | \end{aligned} | ||
+ | \right. . | ||
+ | \end{equation} | ||
+ | |||
+ | Она верна для любых начальных условий. Обозначим y^{(1)}(t_0) = y^{(1),0}, y^{(2)}(t_0) = y^{(2),0}. | ||
+ | |||
+ | Пусть u \equiv 0,\ y^{(2),0} = 0,\ y^{(1),0} — произвольное. Тогда | ||
+ | \[ | ||
+ | x(t_0) = T^{-1} y(t_0) = T^{-1} \begin{bmatrix} y^{(1),0} \\ 0 \end{bmatrix} \in L. | ||
+ | \] | ||
+ | |||
+ | Таким образом получаем, что x[t] \in L. | ||
+ | |||
+ | Во второй строке (6) при t = t_0 получаем, что 0 = \tilde{A}_{21} y^{(1),0} \ \forall y^{(1),0} \in \mathbb{R}^n. Таким образом, \tilde{A}_{21} = 0. | ||
+ | |||
+ | Теперь система (6) записывается в следующем виде: | ||
+ | |||
+ | \[ | ||
+ | \left\{ | ||
+ | \begin{aligned} | ||
+ | &\dot{y}^{(1)} = \tilde{A}_{11} y^{(1)}(t) + \tilde{A}_{21} y^{(2)}(t) + \tilde{B}_1 u(t) \\ | ||
+ | &\dot{y}{(2)} = \tilde{A}_{22} y^{(2)}(t) + \tilde{B}_2 u(t) | ||
+ | \end{aligned} | ||
+ | \right. | ||
+ | \] | ||
+ | |||
+ | Так как x[t] \in L, x[t] = T^{-1} \begin{bmatrix} y^{(1)}[t] \\ y^{(2)}[t] \end{bmatrix}, то y^{(2)}[t] \equiv 0. Вторая строка (6) при t = t_0 выглядит следующим образом: 0 = 0 + \tilde{B}_2 u(t) \ \forall u(\cdot), то есть \tilde{B}_2 = 0. | ||
+ | |||
+ | Осталось доказать ранговое условие. | ||
+ | |||
+ | Так как \tilde{B} = TB, \tilde{A}\tilde{B} = TAB, \dots, \tilde{A}^{n-1}\tilde{B} = TA^{n-1}B, то [\tilde{B} \vert \tilde{A}\tilde{B} \vert \cdots \vert \tilde{A}^{n-1}\tilde{B}] = T[B \vert AB \vert \cdots \vert A^{n-1}B], а значит \rank [\tilde{B} \vert \tilde{A}\tilde{B} \vert \cdots \vert \tilde{A}^{n-1}\tilde{B}]. Но так как \tilde{A}_{21} = 0, \tilde{B}_2 = 0, то \rank [\tilde{B} \vert \tilde{A}\tilde{B} \vert \cdots \vert \tilde{A}^{n-1}\tilde{B}] = \rank [\tilde{B}_1 \vert \tilde{A}_{11}\tilde{B}_{1} \vert \cdots \vert \tilde{A}_{11}^{n-1}\tilde{B}_1], откуда получаем, что \rank [B \vert AB \vert \cdots \vert A^{n-1}B] = r. \blacksquare |
Текущая версия на 14:20, 28 декабря 2020
Будем рассматривать систему \begin{equation}\label{syst} \dot{x}(t) = A(t)x(t) + B(t)u(t) + f(t), \quad t \in [t_0, t_1], \end{equation} где x \in \mathbb{R}^{n} — вектор фазового состояния, u \in \mathbb{R}^m — вектор управлений.
Пусть наша система движется из положения x(t_0) = x^0 и должна попасть в положение x(t_1) = x^1, при этом мы минимизируем следующий функционал:
J[u(\cdot)] = \lVert u(\cdot) \rVert = \left( \int\limits_{t_0}^{t_1} \lVert u(t) \rVert^2 dt \right)^\frac{1}{2} \to \min.
Содержание
Определение
Система \eqref{syst} называется полностью (или вполне) управляемой на [t_0, t_1],\ t_0 < t_1, если для любых x^0, x^1 \in \mathbb{R}^n существует такое управление u(\cdot), что x(t_1, t_0, x^0 \colon u(\cdot)) = x^1 или x(t_0, t_1, x^1 \colon u(\cdot)) = x^0.
То есть под действием этого управления траектория, выпущенная в момент времени t_0 из точки x^0, в момент времени t_1 будет в состоянии x^1 (или же наоборот, если мы пускаем траектории из конечного состояния в обратном времени).
Задача моментов
Найдём условия на u(\cdot), чтобы x(t_0) = x^0,\ x(t_1) = x^1. Для этого выпишем формулу Коши:
x^1 = X(t_1, t_0) x^0 + \int\limits_{t_0}^{t_1} X(t_1, t) \left( B(t) u(t) + f(t) \right) dt.
Перенесём все слагаемые, содержащие u(t) в одну сторону.
\int\limits_{t_0}^{t_1} X(t_1, t) B(t) u(t) dt = x^1 - X(t_1, t_0) x^0 - \int\limits_{t_0}^{t_1} X(t_1, t) f(t) dt.
Введём обозначения: \begin{equation}\label{matrH} H(t_1, t) = X(t_1, t) B(t). \end{equation} За c \in \mathbb{R}^n обозначим правую часть этого равенства. Получим задачу моментов:
\begin{equation}\label{zm} \int\limits_{t_0}^{t_1} H(t_1, t) u(t) dt = c. \end{equation}
Критерий полной управляемости
Система \eqref{syst} - полностью управляема тогда и только тогда, когда \forall l \neq \theta выполняется H^T(t_1, t) l \not \equiv 0.
Доказательство.
Необходимость. Предположим противное: пусть существует l \neq \theta такое, что H^T(t_1, t) l \equiv 0. Транспонируем это равенство: l^T H(t_1, t) \equiv 0. Так как система управляема, то выполняется задача моментов \eqref{zm}, то есть для любого c \in \mathbb{R}^n найдётся u(\cdot) такое, что \int\limits_{t_0}^{t_1} H(t_1, t) u(t) dt = c. Домножим обе части этого равенства на l^T.
\int\limits_{t_0}^{t_1} l^T H(t_1, t) u(t) dt = l^T c.
Легко видеть, что левая часть этого равенства равна нулю (т.к. l^T H(t_1, t) \equiv 0), а правая строго больше нуля. Пришли к противоречию. Значит наше предположение неверно, то есть H^T(t_1, t) l \not \equiv 0 \ \forall l \neq \theta.
Достаточность. Пусть H^T(t_1, t) l \not \equiv 0. Найдём тогда управление, которое решает поставленную задачу.
Рассмотрим W(t_1, t_0) = \int\limits_{t_0}^{t_1} H(t_1, t) H^T(t_1, t) — матрица управляемости
Рассмотрим l \in \ker W, то есть такие l, что H^T(t_1, t) l \equiv 0. По предположению это выполняется только если l = \theta, то есть \ker W = \{ \theta \}. Это значит, что определитель матрицы W не равен нулю.
Теперь зафиксируем произвольные x^0,\ x^1. Рассмотрим u(t) = H^T(t_0, t) W^{-1} c — это и будет искомое управление. \blacksquare
Следствия.
- Система \eqref{syst} полностью управляема тогда и только тогда, когда определитель матрицы управляемости W(t,t_0) равен нулю.
- Если \eqref{syst} вполне управляема на [t_0, t_1], то система \eqref{syst} вполне управляема на [t'_0, t'_1] для произвольных t'_0 \le t_0,\ t'_1 \ge t_1
Теорема Калмана
Рассмотрим ещё один критерий полной управляемости для автономных систем, то есть у которых A = \mathrm{const},\ B = \mathrm{const}. Сначала сформулируем вспомогательное утверждение.
Теорема Гамильтона-Кэли. Пусть матрица A \in \mathbb{R}^{n \times n} — постоянная матрица, а \chi_A(\lambda) = |A - \lambda I| = c_0 + c_1 \lambda + \cdots + c_{n-1} \lambda^{n-1} + c_n \lambda^n — её характеристический многочлен. Тогда \chi_A(A) = c_0 I + c_1 A + \cdots + c_n A^n = 0.
И выделим важное, но очевидное следствие из этой теоремы: найдутся такие числа \alpha_0,\ \alpha_1, \dots,\ \alpha_{n-1}, что \begin{equation}\label{cons} A^n = \alpha_0 I + \alpha_1 A + \cdots + \alpha_{n-1} A^{n-1}. \end{equation}
Теперь мы можем приступить к формулировке и доказательству теоремы Калмана.
Теорема Калмана. Система \eqref{syst} полностью управляема тогда и только тогда, когда \rank [B \vert AB \vert \cdots \vert A^{n-1} B] = n.
Обозначим матрицу [B \vert AB \vert \cdots \vert A^{n-1} B] \in \mathrm{R}^{n \times mn} = C.
Доказательство. Будем доказывать, что система \eqref{syst} не вполне управляема тогда и только тогда, когда \rank C < n. Необходимость. Пусть система не вполне управляема. Тогда по критерию полной управляемости найдётся такой вектор l \neq \theta, что l^T H(t_1, t) = 0. Из \eqref{matrH} и связи матрицы Коши и матричной экспоненты получаем, что l^T e^{A(t_1 - t)} B \equiv 0. Продифференцируем последнее равенство n-1 раз по t. Учтём, что экспонента и матрица перестановочны:
\begin{gather*} -l^T e^{A(t_1 - t)} A B = 0; \\ \vdots \\ (-1)^{n-1} l^T e^{A(t_1 - t)} A^{n-1} B = 0. \end{gather*}
Зафиксируем произвольное t \in (t_0, t_1) и рассмотрим \tilde{l} = \left( e^{A(t_1-t)} \right)^T l. Очевидно, что \tilde{l} \neq 0, так как матрица e^{A(t_1 - t)} — невырожденная. Тогда \tilde{l}^T B = \theta, \ \tilde{l}^T AB = \theta, \ \cdots,\ l^T A^{n-1} B = \theta. В таком случае получаем, что \tilde{l}^T C = \theta, то есть \rank C < n.
Достаточность. Пусть \rank C < n. Так как образ неполноразмерен, то существует вектор $l \neq \theta$, перпендикулярный образу, то есть $l$ перпендикулярен всем столбцам матрицы [B \vert AB \vert \cdots \vert A^{n-1}B]: l^TB = \theta,\ l^T AB = \theta,\ \dots,\ l^T A^{n-1}B = \theta. Получаем, что что l^T [B \vert AB \vert \cdots \vert A^{n-1}B] = \theta.
По следствию из теоремы Калмана для любого k \in \mathbb{N} \cup \left\{0\right\} найдутся такие числа \alpha^{(k)}_0,\ \alpha^{(k)}_1, \dots, \alpha^{(k)}_{n-1}, что A^k = \alpha^{(k)}_0 I + \alpha^{(k)}_1 A + \cdots + \alpha^{(k)}_{n-1} A^{n-1}. Распишем подробнее, как выбираются коэффициенты \alpha_i^{(k)}:
- если k \in [0, n-1], то \alpha_k = 1, а остальные \alpha равны 0;
- если k = n, то используем теорему Гамильтона-Кэли;
- если k > n, то, домножая выражение \eqref{cons} на A, получаем, что A^{n+1} = \alpha_0 A + \alpha_1 A^2 + \cdots + \alpha_{n-1} A^n и далее по индукции.
Для любого k \in \mathbb{N} \cup \left\{0\right\} 0 выше мы получили, что l^T A^k B = \theta. Таким образом l^T \sum\limits_{k=0}^{\infty} \frac{A^k t^k}{k!} B = \theta.
Учитывая формулу для матричной экспоненты, получаем, что l^T e^{A(t_1 - t)} B = l^T H(t_1, t) = 0. Используя критерий полной управляемости, в итоге получаем, что система \eqref{syst} не вполне управляема. \blacksquare
Замечание. Если матрицы A и B — постоянны, то управляемость не зависит от t_0 и t_1 (главное, чтобы (t_0 \neq t_1).
Декомпозиция состояний системы
Рассмотрим систему с постоянными коэффициентами:
\begin{equation}\label{syst_avt} \dot{x}(t) = Ax(t) + Bu(t),\quad A = \mathrm{const}, B = \mathrm{const}. \end{equation}
Обозначим за r ранг расширенной матрицы системы [B \vert AB \vert \cdots \vert A^{n-1}B], где 0 < r < n. Тогда существует невырожденная матрица T \in \mathbb{R}^{n \times n} такая, что \begin{gather*} y = Tx,\\ \dot{y} = \tilde{A} y(t) + \tilde{B} u(t), \end{gather*} \quad \begin{matrix} \tilde{A} = TAT^{-1},\\ \tilde{B} = TB, \end{matrix}
при этом \rank [\tilde{B}_1 \vert \tilde{A}_{11} \tilde{B}_1 \vert \cdots \vert \tilde{A}_{11}^{r-1} \tilde{B}_1] = r, где \tilde{A} = \begin{bmatrix} \tilde{A}_{11} && \tilde{A}_{12} \\ \bf 0 && \tilde{A}_{22} \end{bmatrix},\quad \tilde{B} = \begin{bmatrix} \tilde{B}_1 \\ \bf 0 \end{bmatrix},
а матрицы \tilde{A}_{11} и \tilde{B}_1 имеют соответственно размерности r \times n и r \times m.
Говоря простым языком, любую систему можно разложить так, что
y = \begin{bmatrix} y^{(1)} \\ y^{(2)} \end{bmatrix} \begin{array}{l} \left.\right\} r\text{ строк} \\ \left.\right\} n-r \text{ строк} \end{array}\ ,
при этом
\begin{aligned} & \dfrac{dy^{(1)}}{dt} = \tilde{A}_{11} y^{(1)} + \tilde{A}_{12} y^{(2)} + \tilde{B}_1 u(t) \text{ — полностью управляемая часть} \\ & \dfrac{dy^{(2)}}{dt} = \tilde{A}_{22} y^{(2)} \text{ — неуправляемая часть} \end{aligned} ,\ \text{где } \rank[\tilde{B}_1 \vert \tilde{A}_{11} \tilde{B}_1 \vert \cdots \vert \tilde{A}_{11}^{r-1} \tilde{B}_1] = r.
Если r = n, то система полностью управляема; если r = 0, то система неуправляема.
Для начала докажем вспомогательную лемму.
Вспомогательная лемма
Пусть r = \rank[B \vert AB \vert \cdots \vert A^{n-1}B],\ L = \im [B \vert AB \vert \cdots \vert A^{n-1}B]. Будем рассматривать систему \eqref{syst_avt}. Тогда L инвариантно относительно системы \eqref{syst_avt}, то есть для любых начального момента t_0, начального положения x^0 \in L и управления u(\cdot) выполняется, что x(t, t_0, x^0 \vert u(\cdot)) \in L \ \forall t\ \ge t_0.
Доказательство. Выпишем формулу Коши: x(t, t_0, x^0 \vert u(\cdot)) = e^{A(t_1 - t)} x^0 + \int\limits_{t_0}^t e^{A(t - \tau)} B(\tau) u(\tau) d\tau.
Известно, что \left< l, x^0 \right> = 0\ \forall l\in L^T, то есть \forall l \in L^T выполняется, что l^T[B \vert AB \vert \cdots \vert A^{n-1}B] = \theta. По индукции получаем, что l^T A^k B = \theta \ \forall k\in \mathbb{N}\cup 0. Таким образом l^T e^{At} B = \theta.
Рассмотрим x^0 \in L. В таком случае x^0 представим в виде линейной комбинации столбцов матрицы [B \vert AB \vert \cdots \vert A^{n-1}B], то есть найдутся такие вектора v^{(0)}, \dots, v^{(n-1)} \in \mathbb{R}^m такие, что x^0 = Bv^(0) + \cdots + A^{n-1} B v^{(n-1)}.
Домножим формулу Коши слева на l^T:
\begin{aligned} l^T x(t, t_0, x^0 \vert u(\cdot)) &= \sum\limits_{j=0}^{n-1} l^T e^{A(t - t_0)} A^j B v^{(j)} + \int\limits_{t_0}^{t_1} l^T e^{A(t-\tau)} B u(\tau) d\tau = \\ &= \sum\limits_{j=0}^{n-1} \sum\limits_{k=0}^{\infty} l^T \frac{A^k (t-t_0)^k}{k!} A^j B v^{(j)} + \int\limits_{t_0}^t \sum\limits_{k=0}^{\infty} l^T \frac{A^k (t-\tau)^k}{k!} B u(\tau) d\tau = \left\{ l^T A^k B = \theta \ \forall k\in\mathbb{N} \right\} = \theta. \end{aligned}
Таким образом получаем, что x \in (L^\perp)^\perp = L. \blacksquare
Доказательство теоремы о декомпозиции
Столбцы матрицы T^{-1} таковы, что первые r столбцов образуют базис L, а остальные образуют базис дополнения L до \mathbb{R}^n.
Рассмотрим следующие блочные матрицы: \begin{bmatrix} \tilde{A}_{11} && \tilde{A}_{12} \\ \tilde{A}_{21} && \tilde{A}_{22} \end{bmatrix},\quad \begin{bmatrix} \tilde{B}_1 \\ \tilde{B}_2 \end{bmatrix} и докажем, что \tilde{A}_{21} = 0,\ \tilde{B}_2 = 0.
Рассмотрим систему \begin{equation} \label{syst_y} \left\{ \begin{aligned} & \dot{y}^{(1)}(t) = \tilde{A}_{11} y^{(1)}(t) + \tilde{A}_{12} y^{(2)} + \tilde{B}_1 u(t) \\ & \dot{y}^{(2)}(t) = \tilde{A}_{21} y^{(1)}(t) + \tilde{A}_{22} y^{(2)} + \tilde{B}_2 u(t). \end{aligned} \right. . \end{equation}
Она верна для любых начальных условий. Обозначим y^{(1)}(t_0) = y^{(1),0}, y^{(2)}(t_0) = y^{(2),0}.
Пусть u \equiv 0,\ y^{(2),0} = 0,\ y^{(1),0} — произвольное. Тогда x(t_0) = T^{-1} y(t_0) = T^{-1} \begin{bmatrix} y^{(1),0} \\ 0 \end{bmatrix} \in L.
Таким образом получаем, что x[t] \in L.
Во второй строке (6) при t = t_0 получаем, что 0 = \tilde{A}_{21} y^{(1),0} \ \forall y^{(1),0} \in \mathbb{R}^n. Таким образом, \tilde{A}_{21} = 0.
Теперь система (6) записывается в следующем виде:
\left\{ \begin{aligned} &\dot{y}^{(1)} = \tilde{A}_{11} y^{(1)}(t) + \tilde{A}_{21} y^{(2)}(t) + \tilde{B}_1 u(t) \\ &\dot{y}{(2)} = \tilde{A}_{22} y^{(2)}(t) + \tilde{B}_2 u(t) \end{aligned} \right.
Так как x[t] \in L, x[t] = T^{-1} \begin{bmatrix} y^{(1)}[t] \\ y^{(2)}[t] \end{bmatrix}, то y^{(2)}[t] \equiv 0. Вторая строка (6) при t = t_0 выглядит следующим образом: 0 = 0 + \tilde{B}_2 u(t) \ \forall u(\cdot), то есть \tilde{B}_2 = 0.
Осталось доказать ранговое условие.
Так как \tilde{B} = TB, \tilde{A}\tilde{B} = TAB, \dots, \tilde{A}^{n-1}\tilde{B} = TA^{n-1}B, то [\tilde{B} \vert \tilde{A}\tilde{B} \vert \cdots \vert \tilde{A}^{n-1}\tilde{B}] = T[B \vert AB \vert \cdots \vert A^{n-1}B], а значит \rank [\tilde{B} \vert \tilde{A}\tilde{B} \vert \cdots \vert \tilde{A}^{n-1}\tilde{B}]. Но так как \tilde{A}_{21} = 0, \tilde{B}_2 = 0, то \rank [\tilde{B} \vert \tilde{A}\tilde{B} \vert \cdots \vert \tilde{A}^{n-1}\tilde{B}] = \rank [\tilde{B}_1 \vert \tilde{A}_{11}\tilde{B}_{1} \vert \cdots \vert \tilde{A}_{11}^{n-1}\tilde{B}_1], откуда получаем, что \rank [B \vert AB \vert \cdots \vert A^{n-1}B] = r. \blacksquare