Пространство состояний (теория управления)

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Пространство состояний — в теории управления один из основных методов описания поведения динамической системы. Движение системы в пространстве состояний отражает изменение ее состояний.

Определение[править | править вики-текст]

В пространстве состояний создаётся модель динамической системы, включающая набор переменных входа, выхода и состояния, связанных между собой дифференциальными уравнениями первого порядка, которые записываются в матричной форме. В отличие от описания в виде передаточной функции и других методов частотной области, пространство состояний позволяет работать не только с линейными системами и нулевыми начальными условиями. Кроме того, в пространстве состояний относительно просто работать с MIMO-системами.

Линейные непрерывные системы[править | править вики-текст]

Структурная схема непрерывной линейной системы, описанной в виде переменных состояния

Для случая линейной системы с p \! входами, q \! выходами и n \! переменными состояния описание имеет вид:

\dot{\mathbf{x}}(t) = A(t) \mathbf{x}(t) + B(t) \mathbf{u}(t)
\mathbf{y}(t) = C(t) \mathbf{x}(t) + D(t) \mathbf{u}(t)

где

x(t) \in \mathbb{R}^n; y(t) \in \mathbb{R}^q; u(t) \in \mathbb{R}^p;
\operatorname{dim}[A(\cdot)] = n \times n, \operatorname{dim}[B(\cdot)] = n \times p, \operatorname{dim}[C(\cdot)] = q \times n, \operatorname{dim}[D(\cdot)] = q \times p, \dot{\mathbf{x}}(t) := {d\mathbf{x}(t) \over dt}.
x(\cdot)вектор состояния, элементы которого называются состояниями системы
y(\cdot)вектор выхода,
u(\cdot)вектор управления,
A(\cdot)матрица системы,
B(\cdot)матрица управления,
C(\cdot)матрица выхода,
D(\cdot)матрица прямой связи.

Часто матрица D(\cdot) является нулевой, это означает, что в системе нет явной прямой связи.

Дискретные системы[править | править вики-текст]

Для дискретных систем запись уравнений в пространстве состояний основывается не на дифференциальных, а на разностных уравнениях.

\mathbf{x}(nT + T) = A(nT) \mathbf{x}(nT) + B(nT) \mathbf{u}(nT)
\mathbf{y}(nT) = C(nT) \mathbf{x}(nT) + D(nT) \mathbf{u}(nT)

Нелинейные системы[править | править вики-текст]

Нелинейная динамическая система n-го порядка может быть описана в виде системы из n уравнений 1-го порядка:

\dot x_1=f_1(x_1(t);\ldots,x_n(t),u_1(t),\ldots,u_m(t))
\vdots
\dot x_n=f_n(x_1(t);\ldots,x_n(t),u_1(t),\ldots,u_m(t))

или в более компактной форме:

\mathbf{\dot{x}}(t) = \mathbf{f}(t, \mathbf{x}(t),\mathbf{u}(t))
\mathbf{y}(t)       = \mathbf{h}(t, \mathbf{x}(t),\mathbf{u}(t))

Первое уравнение — это уравнение состояния, второе — уравнение выхода.

Линеаризация[править | править вики-текст]

В некоторых случаях возможна линеаризация описания динамической системы для окрестности рабочей точки (\mathbf{\tilde x}, \mathbf{\tilde u}).

В установившемся режиме (\mathbf{\tilde u}= const) для рабочей точки \mathbf{\tilde x}= const, справедливо следующее выражение:

\mathbf{\dot{x}} = \mathbf{f}(\mathbf{\tilde x},\mathbf{\tilde u})=\mathbf{0}

Вводя обозначения:

\delta\mathbf{u} = \mathbf{u}-\mathbf{\tilde u}
\delta\mathbf{x} = \mathbf{x}-\mathbf{\tilde x}

Разложение уравнения состояния \mathbf{f}(\mathbf{x}(t),\mathbf{u}(t)) в ряд Тейлора, ограниченное первыми двумя членами даёт следующее выражение:

\mathbf{f}(\mathbf{x}(t),\mathbf{u}(t))\approx
\mathbf{f}(\mathbf{\tilde x}(t),\mathbf{\tilde u}(t)) +
\frac{\delta \mathbf{f}}{\delta \mathbf{x}} \delta \mathbf{x} +
\frac{\delta \mathbf{f}}{\delta \mathbf{u}} \delta \mathbf{u}

При взятии частных производных вектор-функции \mathbf{f} по вектору переменных состояний \mathbf{x} и вектору входных воздействий \mathbf{u} получаются матрицы Якоби соответствующих систем функций:


\frac{\delta \mathbf{f}}{\delta \mathbf{x}} = 
\begin{bmatrix}
 \frac{\delta \mathbf{f_1}}{\delta \mathbf{x_1}}&
 \cdots & 
 \frac{\delta \mathbf{f_1}}{\delta \mathbf{x_n}} \\
 
 \vdots &
 \ddots & 
 \vdots \\
 \frac{\delta \mathbf{f_n}}{\delta \mathbf{x_1}}&
 \cdots & 
 \frac{\delta \mathbf{f_n}}{\delta \mathbf{x_n}}
\end{bmatrix}
\quad
\frac{\delta \mathbf{f}}{\delta \mathbf{u}} = 
\begin{bmatrix}
 \frac{\delta \mathbf{f_1}}{\delta \mathbf{u_1}}&
 \cdots & 
 \frac{\delta \mathbf{f_1}}{\delta \mathbf{u_p}} \\
 
 \vdots &
 \ddots & 
 \vdots \\
 \frac{\delta \mathbf{f_n}}{\delta \mathbf{u_1}}&
 \cdots & 
 \frac{\delta \mathbf{f_n}}{\delta \mathbf{u_p}}
\end{bmatrix}

Аналогично для функции выхода:


\frac{\delta \mathbf{h}}{\delta \mathbf{x}} = 
\begin{bmatrix}
 \frac{\delta \mathbf{h_1}}{\delta \mathbf{x_1}}&
 \cdots & 
 \frac{\delta \mathbf{h_1}}{\delta \mathbf{x_n}} \\
 
 \vdots &
 \ddots & 
 \vdots \\
 \frac{\delta \mathbf{h_q}}{\delta \mathbf{x_1}}&
 \cdots & 
 \frac{\delta \mathbf{h_q}}{\delta \mathbf{x_n}}
\end{bmatrix}
\quad
\frac{\delta \mathbf{h}}{\delta \mathbf{u}} = 
\begin{bmatrix}
 \frac{\delta \mathbf{h_1}}{\delta \mathbf{u_1}}&
 \cdots & 
 \frac{\delta \mathbf{h_1}}{\delta \mathbf{u_p}} \\
 
 \vdots &
 \ddots & 
 \vdots \\
 \frac{\delta \mathbf{h_q}}{\delta \mathbf{u_1}}&
 \cdots & 
 \frac{\delta \mathbf{h_q}}{\delta \mathbf{u_p}}
\end{bmatrix}

Учитывая \delta \mathbf{\dot x}=\mathbf{\dot x}-\mathbf{\dot \tilde x}=\mathbf{\dot x}, линеаризованное описание динамической системы в окрестности рабочей точки примет вид:

\mathbf{\dot x} =\mathbf{A}\delta \mathbf{x}+\mathbf{B} \delta \mathbf{u}
\delta \mathbf{y} =\mathbf{C}\delta \mathbf{x}+\mathbf{D} \delta \mathbf{u}

где


 \mathbf{A}=\frac{\delta \mathbf{f}}{\delta \mathbf{x}}\quad
 \mathbf{B}=\frac{\delta \mathbf{f}}{\delta \mathbf{u}}\quad
 \mathbf{C}=\frac{\delta \mathbf{h}}{\delta \mathbf{x}}\quad
 \mathbf{D}=\frac{\delta \mathbf{h}}{\delta \mathbf{u}}

Примеры[править | править вики-текст]

Модель в пространстве состояний для маятника[править | править вики-текст]

Маятник является классической свободной нелинейной системой. Математически движение маятника описывается следующим соотношением:

ml\ddot\theta(t)= -mg\sin\theta(t) - kl\dot\theta(t) \!

где

  • \theta(t) \! — угол отклонения маятника.
  • m \! — приведённая масса маятника
  • g \! — ускорение свободного падения
  • k \! — коэффициент трения в подшипнике подвеса
  • l \! — длина подвеса маятника

В таком случае уравнения в пространстве состояний будут иметь вид:

\dot{x_1}(t) = x_2(t)
\dot{x_2}(t) = - \frac{g}{l}\sin{x_1}(t) - \frac{k}{m}{x_2}(t)

где

Запись уравнений состояния в общем виде:

\dot{\mathbf{x}}(t) = \left( \begin{matrix} \dot{x_1}(t) \\ \dot{x_2}(t) \end{matrix} \right) = \mathbf{f}(t, x(t)) = \left( \begin{matrix} x_2(t) \\ - \frac{g}{l}\sin{x_1}(t) - \frac{k}{m}{x_2}(t) \end{matrix} \right)

Линеаризация модели маятника[править | править вики-текст]

Линеаризованная матрица системы для модели маятника в окрестности точки равновесия \left(\tilde x_1=0 \right) имеет вид:


\frac{\delta \mathbf{f}}{\delta \mathbf{x}} =
\left( 
   \begin{matrix} 
        0&\  1 \\ 
        -\frac{g}{l}\cos{\tilde x_1}&\ - \frac{k}{m}
   \end{matrix} 
\right) 
=
\left( 
   \begin{matrix} 
        0&\ 1 \\ 
        -\frac{g}{l}&\ - \frac{k}{m}
   \end{matrix} 
\right)

При отсутствии трения в подвесе (k = 0) получим уравнение движения математического маятника:

\ddot x = -\frac{g}{l}x

См. также[править | править вики-текст]

Ссылки[править | править вики-текст]