Главная мысль настоящей лекции: нелинейность может рассматриваться как неопределенность даже если коэффициент усиления объекта управления меняет знак в различных режимах работы. Насколько эффективно отрицание нелинейности -- зависит от спецификаций на качество управления (устойчивость/достижимость, время установления и перерегулирование). Есть примеры, где линейный регулятор обеспечивает оптимальность регулирования и масса обратных примеров, где не только не обеспечивается качество регулирования, но и даже устойчивость.
1. Что мы хотим от теории управления на самом деле.
- достижимость (reachability): если система $\Sigma : \dot x = f(x,u)$, $y = h(x)$ инвертируема, то сделать так, чтобы добиться возможности установки любого значений $y \in Y$ на ее выходе;
- достижимость (более строго) : найти такое управление $u(t)$, чтобы из заданного начального состояния $x(0) = x_0$ перейти в конечное $x^*$ с заданным на выходе значением $y^* = h(x^*) \in Y$;
- время управления (settling time): установить на выходе системы заданное значение $y^* \in Y$ за время не более $T$;
- перерегулирование (overshoot): $\delta = \max_{t | y(t) > y^*} \| y(t) - y^* \|$ -- превышение сигнала над конечным установившемся значением.
- робастность (robustness): обеспечить устойчивость, достижимость, заданные время установления и уровень перерегулирования для класса систем $\{ \Sigma_i \}$, каждая из которых отличается от исходной $\Sigma$ в определенной мере;
- структура регулятора может быть фиксирована (PID и т.д.);
- задача синтеза регулятора, обеспечивающего все перечисленное, может не иметь решений;
- что делать: использовать разные методы и математические инструемнты, до тех пор, пока не найдем приемлемое решение;
- что хочет от нас теория управления : задач оптимизации, желательно безусловной оптимизации.
2. Вероятностная устойчивость.
- многие задачи робастного управления NP-трудны (т.е. время их решения растет экспоненциально от размерности задачи),
- простая задача: проверить, что система $\Sigma$ с неопределенностью, описываемой семейством моделей $\hat P = \{P_i\}$, устойчива для всех $P \in \hat P$,
- такая задача является NP-трудной,
- вероятностные алгоритмы -- использование моделирования и семплирования (выборки) $P$ из множества $\hat P$
- точность вероятностного алгоритма: результат решения верен с вероятностью $1-\delta$, $0 < \delta < 1$
- оценочная функция $J : \Sigma \mapsto \gamma$, $\gamma \in \mathbb R$ -- берет конкретную систему $\Sigma$ и вычисляет насколько она неустойчива (например, это может быть $H_2$ или $H_\infty$ нормы)
- задача 1 (устойчивость в среднем) : найти с заданной точностью $\epsilon$ и доверительной вероятностью $\delta$ вероятность $p = Pr\{ J(\Sigma) \le \gamma \}$
- задача 2 (устойчивость в худшем) : найти с заданной точностью $\epsilon$ и доверительной вероятностью $\delta$ значение $\gamma$, такое что с заданной вероятностью $p$ что все системы в семействе обеспечивают заданный уровень устойчивости $\gamma$ : $Pr\{ J(\Sigma) \le \gamma \} \ge p$
- алгоритмы просты : посчитать число семплов $N = N(\epsilon, \delta)$, сгенерировать независимую случайную выборку $\{ P_1, ... P_N \}$ из $\hat P$, просимулировать соответствующие системы, оценить выборочную вероятность $p = \sum_{i=1}^N [J(\Sigma_i) \le \gamma]$ (задача 1), $p = \max_{i=1,N} J(\Sigma_i)$ (задача 2)
- сколько нужно $N$ -- неравенство Чернова, не зависит от размерности задачи.
- в MATLAB : описать границы изменения параметров системы с помощью функции ureal, записать систему в пространстве состояний с помощью функции uss, просимулировать систему с помощью функции usample на случайных выборках.
3. Суть $H_{\infty}$ управления
- возьмем стандартную схему управления по сигналу ошибки и запишем ее в самом абстрактном виде $y = L e$, $L = P \circ C$, $e = r - y$.
- вычислим операторы: $T : r \mapsto y$ -- оператор функции системы от входа на выход, $S : r \to e$ -- оператор чувствительности системы к искусственному внешнему возмущению $r$.
- простейшие вычисления: $y = P \circ C(r - y) = (1 + P \circ C)^{-1} \circ P \circ C r = T r$, $e = r - y = r - T r = S r$, $e = (1 + P \circ C)^{-1} r$
- что удивительно: $S + T = 1$, т.е. оба оператора не могут быть минимизированы одновременно,
- с оператором $S$ отождествляется точность регулирования, чем меньше его норма $\|S\|=\max_{v \ne 0}\{ \| S v \| / \| v \| \}$ -- тем меньше размах ошибки
- с оператором $T$ отождествляется усиление системы в целом, необходимо обеспечивать минимальное усиление в областях, где система неустойчива
- $H_{\infty}$ управление -- это минимизации нормы операторов в системе для достижения устойчивости и спецификаций качества
- замкнутая система:
представляется в виде
- таким образом, передаточный оператор системы от входа на выход записывается в виде:
$$\Sigma : u_1 \mapsto y_1$$
$$\Sigma = \begin{pmatrix} W_1 \circ S \cr W_2 \circ R \cr W_3 \circ T \end{pmatrix} = \begin{pmatrix} W_1 \circ (1 + P \circ C)^{-1} \cr W_2 \circ (1 + P \circ C)^{-1} \circ C \cr W_3 \circ (1 + P \circ C)^{-1} \circ P \circ C \end{pmatrix}$$
- в MATLAB представление системы управления в данном виде осуществляется функцией augw (из Robust Control Toolbox)
- синтез $H_{\infty}$ регулятора -- минимизация оператора $\Sigma$ : $\| \Sigma \| \to \min$
- для устойчивости необходимо, чтобы $\| \Sigma \| < 1$.
- математическая теория предсказывает как это сделать относительно просто (какими свойствами должна обладать матрица контроллера)
- в MATLAB для синтеза hinfsyn или hinfstruct (также из Robust Control Toolbox)
4. На практике
- прямых методов для транслирования спецификаций временной области во взвешивающие функции $W_1$, $W_2$, $W_3$ -- в MATLAB нет
- на самом деле, это мультиобъектная оптимизация (по нескольким показателям сразу) -- необходим компромисс,
- по поводу $W_1$ : чтобы достичь подавления экзогенных возмущений (в частности от $r$), надо добиться минимума оператора $S$ в области частот $\omega \to 0$, т.е. $W_1$ -- фильтр низких частот,
- по поводу $W_2$ : чтобы достичь меньшей чувствительности к изменениям в объекте управления, необходимо минимизировать оператора $R$ во всей области частот, т.е. $W_2$ -- усилитель,
- по поводу $W_3$ : чтобы достичь подавления чувствительности к шуму, надо добиться минимума оператора $T$ в области частот $\omega \to \infty$, т.е. $W_3$ -- фильтр высоких частот,
- автоматизированный синтез : выбрали веса $W$, синтезировали контроллер, промоделировали, изменили веса $W$ и т.д.
- другой путь в MATLAB : Simulink Design Optimization -- использовать только моделирование и оптимизацию без всякой аналитики.
Дополнительные материалы:
неплохое объяснение про $H_{\infty}$
http://www.isma-isaac.be/publications/PMA_MOD_publications/ISMA25/p61p68.pdf
откуда брать веса
http://personalpages.manchester.ac.uk/staff/Alexander.Lanzon/publications/pdf_files/cdc-01_Lanzon.pdf
про MATLAB
http://www.ist.uni-stuttgart.de/education/courses/robust/download/hinfinity_control.pdf
как в $H_{\infty}$ можно встроить напрямую спецификации по времени
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.154.4842&rep=rep1&type=pdf
Комментариев нет:
Отправить комментарий