Пакет "Автоматика"

Пакет программ "Автоматика" в среде Matlab служит для автоматизации построения алгоритмов работы регуляторов сложных одномерных и многомерных объектов. Он предназначен для разработчиков реальных систем автоматического управления.

A. Цели управления

  • Точность
    Она определяется заданными допусками на ошибки регулирования по каждой регулируемой переменной.
  • Время регулирования

B. Исходные данные

  • Линеаризованные дифференциальные уравнения объекта управления в различных формах (пространство состояния, "вход-выход", передаточная матрица)
  • Внешние возмущения и помехи
    Они являются неизвестными кусочно-непрерывными функциями с известными ограничениями их изменения.
  • Неопределенность коэффициентов объекта
    Выделяют две степени неопределенности. Малая степень, когда существует регулятор, обеспечивающий достижение заданных целей управления для всех возможных значений коэффициентов из заданных диапазонов (робастная стабилизация). Большая степень неопределенности соответствует случаю, когда такого регулятора не существует и алгоритм работы регулятора зависит от реализовавшихся значений коэффициентов объекта.

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

C. Работа с пакетом

Пакет состоит из директив, решающих определенные классы задач. Эти классы образуются в зависимости от свойств объекта (минимально- либо неминимально-фазовые объекты и т. п.), степени неопределенности его коэффициентов, уровня внешних возмущений и т. п. Директива содержит интерфейс и расчетную часть. Интерфейс служит для ввода исходных данных и вывода результатов директивы.

Пакет содержит три группы директив: синтез регуляторов, конечно-частотная идентификация, частотное адаптивное управление.

Работать с пакетом просто. Разработчик системы автоматического управления выбирает из списка директив ту, которая решает его задачу, вводит, используя интерфейс, исходные данные и получает результат: алгоритм работы регулятора и графики моделирования процесса управления с этим регулятором.

D. Область применения

Применение пакета не зависит от физической природы объекта управления. Требуется лишь, чтобы сведения о нем могли быть представлены в форме п. B.

E. Состояние пакета

Пакет является развитием наших пакетов ГАММА-1PC (1997 г.) и ADAPLAB-3 (2009 г.). Первый из них разработан вне среды Matlab и его разработка под названием ГАММА-2 продолжается.

Пакет ГАММА-1PC использовался для построения алгоритмов работы регуляторов различных объектов таких как: гироскопическая платформа, газовый коллектор месторождения, сложная энергетическая система и т. п.

Пакет ADAPLAB-3, разработанный в среде Matlab, использовался для построения адаптивного регулятора системы термостабилизации устройства космического назначения.

Пакет "Автоматика" разработан для SISO объектов и MIMO объектов с двумя измеряемыми переменными и двумя управлениями. Планируется развитие пакета для большого числа измеряемых переменных и управлений.

F. Преимущества

В системе Matlab имеются пакеты для синтеза регуляторов (Control System Toolbox) и идентификации (System Identification Toolbox). Для синтеза регуляторов используются методы $ LQ$- и $ H_\infty$-оптимизации. Целью управления в этих методах: значение квадратичного функционала, либо $ H_\infty$-норма передаточной матрицы системы. При этом внешние возмущения и помехи предполагаются затухающими функциями. Преимущество пакета "Автоматика" состоит в реализации целей управления (в условиях незатухающих внешних возмущений и помех), которые обычно используются при разработке реальных систем. Эти преимущества основаны на связях целей управления с коэффициентами функционалов $ LQ$- и $ H_\infty$-оптимизаций, что позволяет применить уравнения Риккати для достижения целей п. A. Пакет System Identification Toolbox применим в ситуациях, когда внешние возмущения отсутствуют, либо они являются белым шумом. Это относится к частотным методам и методам наименьших квадратов. Метод инструментальных переменных может применяться для более широкого класса внешних возмущений. Однако в нем отсутствует самонастройка входного сигнала, что может приводить большому времени идентификации, что может быть недопустимо при адаптивном управлении. Преимущество пакета "Автоматика" состоит в идентификации в условиях почти произвольных ограниченных внешних возмущений и помех. Это преимущество достигается путем использования частотной идентификации с самонастройкой испытательного сигнала.

G. Примеры

  • G1. Синтез регуляторов

    Все директивы пакета "Автоматика" решают задачи точного управления. Рассмотрим асимптотически устойчивую систему управления:

    \begin{displaymath}\begin {array}{c} \dot x=Ax+B_2u+B_1f, y=C_2x+\eta, z=C_1x,\\ \end {array}\end{displaymath} (1)
    $\displaystyle \dot x_c=A_cx_c+B_cy, u=C_cx_c+D_cy$ (2)
    где x - вектор состояний объекта (1), $ x_c$ - вектор состояния регулятора (2), $ u$ - вектор управления, $ y$ - вектор измеряемых переменных, $ z$ - вектор регулируемых переменных, $ f$ - вектор неизмеряемых внешних возмущений, $ \eta$ - вектор помех измерений, $ A$, $ B_2$, $ B_1$, $ C_2$, $ C_1$, $ A_c$, $ B_c$, $ C_c$, $ D_c$ - матрицы чисел. Внешнее возмущение и помеха измерения - ограниченные полигармонические функции:
    \begin{displaymath}\begin{array}{c} f_i(t)=\sum_{k=0}^\infty f_{ik}\sin(\omega_...
...{\varphi}_{k}) \end{array}(i=\overline{1,m}, j=\overline{1,l})\end{displaymath} (3)
    где частоты $ \omega_k$ и $ \tilde\omega_k$ и фазы $ \varphi_k$ и $ \tilde \varphi_k$ $ (k=\overline{0,\infty})$- неизвестны, а неизвестные амплитуды $ f_{ik}$ и $ \eta_{jk}$ $ (i=\overline{1,m}, j=\overline{1,l}, k=\overline{0,\infty})$удовлетворяют условиям:
    \begin{displaymath}\begin{array}{c} \sum_{k=0}^\infty\vert f_{ik}(t)\vert\le f_...
...\eta_j^* \\ (i=\overline{1,m}, j=\overline{1,l}) \end{array}\end{displaymath} (4)
    где $ f^*_i$ и $ \eta^*_i$ $ (i=\overline{1,m}, j=\overline{1,r})$- известные числа. При выполнении условий (4) справедливы неравенства:
    $\displaystyle \vert f_i(t)\vert\le f_i^*, \; \vert\eta_i(t)\vert\le \eta_i^* \; (i=\overline{1,m}, j=\overline{1,r})$ (5)
    Частным случаем функций (3) являются кусочно-непрерывные функции, разложенные в ряд Фурье, удовлетворяющий условиям (4). Установившиеся ошибки по регулируемым переменным и управлениям определим как:
    $\displaystyle z_{i,st}=\lim_{t \to \infty} sup \vert z_i(t)\vert\quad(i=\overline{1,m})$ (6)
    Цель управления имеет вид:
    $\displaystyle z_{i,st}\le z_{i,st}^* (i=\overline{1,m})$ (7)
    где $ z_{i,st}^* (i=\overline{1,m})$ - заданные числа. Управление, обеспечивающее достижение цели (7) называется точным управлением. Директивы синтеза предназначены для нахождения матриц регулятора (2), при которых достигается цель управления (7) для объекта (1) при различных уровнях неопределенности его матриц.

    На рисунке 1 изображен интерфейс директивы синтеза регулятора для объекта заданного уравнением вида (1), где матрицы объекта имеют вид:

    Рис. 1: Интерфейс директивы синтеза регулятора
    Image asrmi

    $\displaystyle A = \left[ \begin{array}{c c c c c c c} 0 & 0 & 0 & -1.25 & 0 &...
... 0 & 1 & 0 & -13.67\\ 0 & 0 & 0 & 0 & 0 & 1 & -11.33\\ \end{array} \right]$ (8)
    $\displaystyle B_{2} = \left[ \begin{array}{c c} 1.25 & 3.75\\ 5.5 & 19.65\\...
...5\\ 0 & 0.75\\ 13.33 & 20\\ 53.33 & 2\\ 40 & 0\\ \end{array} \right]$ (9)
    $\displaystyle B_{1} = \left[ \begin{array}{c c} 1.25 & 0\\ 5.5 & 0\\ 2 & 0\\ 0 & 0\\ 0 & 20\\ 0 & 2\\ 0 & 0\\ \end {array} \right]$ (10)
    $\displaystyle C_{1} = C_{2}= \left[ \begin{array}{c c c c c c c} 0 & 0 & 0 & 1 & 0 & 0 & 0\\ 0 & 0 & 0 & 0 & 0 & 0 & 1\\ \end {array} \right]$ (11)
    $\displaystyle D = \left[ \begin{array}{c c} 0 & 0\\ 0 & 0\\ \end{array} \right]$ (12)
    Внешнее возмущение следующее:
    \begin{displaymath}\begin{array}{c} f_{1}=f_{2} = \sin(2.1t); \end{array}\end{displaymath} (13)
    Рис. 2: Интерфейс программы синтеза регулятора
    Image asrmires

    Требуемые установившиеся ошибки регулируемой пременной и границы возмущений следующие:

    \begin{displaymath}\begin{array}{c} y^{*}_{1} = y^{*}_{2} = 0.1;\\ f^{*}_{1} = f^{*}_{2} = 1;\\ \end{array}\end{displaymath} (14)
    Значения параметров по умолчанию $ \alpha_{1}$ и $ \alpha_{2}$ равны 3.

    Результаты выполнения директивы показаны на рис. 2. Синтезированный регулятор (2) описывается следующими матрицами:

    $\displaystyle A_{c} = \left[ \begin{array}{c c c c c c c c c} 0 & 0 & 0 & -70...
...& 1 & 0 & -683\\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -73\\ \end{array} \right]$ (15)
    $\displaystyle B_{c} = \left[ \begin{array}{c c} -1431 & -5649\\ -1832 & -25...
...3933 & -18475\\ -03141 & -1429\\ -450 &0\\ 0 & 0\\ \end{array} \right]$ (16)
    $\displaystyle C_{c}= \left[ \begin{array}{c c c c c c c c c} 0 & 0 & 0 & 1 & 0 & 0 & 0 &0 &0\\ 0 & 0 & 0 & 0 & 0 & 0 & 0 &0 &1\\ \end {array} \right]$ (17)
    $\displaystyle D_{c} = \left[ \begin{array}{c c} 0 & 0\\ 0 & 0\\ \end{array} \right]$ (18)
  • G2. Конечно-частотная идентификация

    Директивы конечно-частотной идентификации предназначены для моделирования процессов конечно-частотной идентификации и уточнения параметров алгоритмов идентификации. В методе конечно-частотной идентификации используются испытательные сигналы, которые являются суммой гармоник, число которых не превышает размерности вектора состояний объекта. Директивы отличаются самонастройкой амплитуд, частот и длительностью тестовых сигналов. Рассмотрим асимптотически устойчивый объект вида 1, запишем его в форме передаточных матриц:

    $\displaystyle y=W(s)u+W_{f}(s)f+\eta;$ (19)
    где $ W(s)=C_2(I_ns-A)^{-1}B_2$, $ W_f(s)=C_2(I_ns-A)^{-1}B_1$ Элементы передаточной матрицы $ W(s)$ имеют вид:
    \begin{displaymath}\begin{array}{c} w_{pq}(s)={{k_{pq}^{(\gamma_{pq})}s^{\gamma...
...{pq}^{(0)}}},\\ p=\overline{1,r},q=\overline{1,m}; \end{array}\end{displaymath} (20)
    Числа $ \gamma_{pq}$ и $ n_{pq}$ определяют порядок передаточных матриц и могут использоваться для исследования структурной неопределенности объекта. К объекту 19 прикладывается сигнал
    \begin{displaymath}\begin{array}{c} u_q(t)=\sum_{k=1}^{n}\rho_{qk}\sin \omega_{qk}(t-t_u), \\ t_u\le t<t_u+\tau, q=\overline{1,m} \end{array}\end{displaymath} (21)
    где $ t_u$ - момент приложения тестового сигнала, $ \tau$ - длительность приложения испытательного сигнала (время идентификации), частоты $ \omega_{qk}(q=\overline{1,m},k=\overline{1,n})$ - положительные, не совпадающие друг с другом числа, амплитуды $ \rho_{qk}(q=\overline{1,m},k=\overline{1,n})$ - неотрицательные числа. Директивы идентификации предназначены для нахождения оценок коэффициентов передаточных функций 20. Пакет производит идентификацию непрерывных и дискретных объектов. Директивы идентификации разбиты на две группы: идентификации объектов управления и идентификации объектов управления, замкнутых регулятором. Алгоритмы работы директив в двух группах похожи, но для объектов, замкнутых регулятором производится ряд дополнительных расчетов и на них наложен ряд ограничений. Так тестовый сигнал имеет вид:
    \begin{displaymath}\begin{array}{c} v_l(t)=\sum_{k=1}^n \rho_{lk}\sin \omega_{l...
...\\ t_n \le t \le t_n+\tau \; (l=\overline{1,m}), \end{array}\end{displaymath} (22)
    где параметры тестового сигнала $ t_n$, $ \tau$, $ \omega_{lk}(l=\overline{1,m},k=\overline{1,n})$, $ \rho_{lk}(l=\overline{1,m},k=\overline{1,n})$ - соответствуют параметрам сигнала 21, но задаются или настраиваются отдельно. Объект (1) описывается уравнением
    \begin{displaymath}\begin{array}{c} \dot x=Ax+B_1f+B_2(u+v), \\ \\ y=C_2x+\eta,z=C_1x,\\ \end{array}\end{displaymath} (23)
    Выходы и выходы объекта и регулятора передаются на фильтр Фурье и, используя функцию fourmi, находим значения преобразования Фурье для входных и выходных сигналов. Затем вычисляются частотные параметры. С помощью функции freqmi находим оценки коэффициентов передаточной матрицы объекта 19.

    Пакет содержит следующие директивы идентификации:

    • Директива d123sumi: идентификация без самонастройки испытательного сигнала;
    • Директива d123dumi: идентификация с самонастройкой времени идентификации;
    • Директива d123admi: идентификация с самонастройкой амплитуд испытательного сигнала и времени идентификации;
    • Директива d123floadumi: идентификация с самонастройкой частот и амплитуд испытательного сигнала и времени идентификации.

    Рис. 3: Интерфейс директивы идентификации
    Image d123

    На рисунке 3 изображен интерфейс директивы идентификации без самонастройки тестового сигнала. Объект для идентификации описывается уравнением

    \begin{displaymath}\begin{array}{c} 0.2y^{(3)}+1.24y^{(2)}+5.24y^{(1)}+y = -0.4u + f; \end{array}\end{displaymath} (24)
    или в виде 19 можно записать:
    \begin{displaymath}\begin{array}{c} y = {{(-0.4s+1)u + f}\over{0.2s^3+1.24s^2+5.24s+1}}; \end{array}\end{displaymath} (25)
    Для объекта $ y = z$. Далее вводятся внешние возмущения, вида:
    \begin{displaymath}\begin{array}{c} f = \textmd{sign}[\sin(2.1t)]; \end{array}\end{displaymath} (26)
    Интервал дискретности принимается равным $ h = 0.1$. Далее вводятся вектора частот и амплитуд для тестового сигнала $ \omega=[0.2, 4, 6]$ и $ \rho=[3, 3, 3]$. Таким образом тестовый сигнал примет вид:
    \begin{displaymath}\begin{array}{c} u = 3\sin(0.2t)+3\sin(4t)+3\sin(6t); \end{array}\end{displaymath} (27)
    Далее задаются параметры по умолчанию.

    Так степени полиномов передаточных функций 19 задают структурную неопределенность объекта. По умолчанию степень полинома знаменателя передаточной функции объекта принимается $ n=3$, также по умолчанию степень числителя принимается на единицу меньше $ \gamma=n-1=2$. Параметры время идентификации и задержка начала идентификации определяют работу директивы. Первый определяет длительность процесса идентификации, второй - длительность переходного процесса в объекте, на время протекания которого производится задержка начала фильтрации сигналов. Эти параметры задаются в периодах минимальной частоты.

    Рис. 4: Результаты выполнения директивы идентификации
    Image d123res

    На рисунке 4 изображены результаты выполнения директивы, в верхней части окна выводится протокол выполнения директивы, а в нижнем представлена графическая информация. В таблице 1 показаны результаты идентификации.

    Таблица: Результат выполнения директивы идентификации
      Числитель ПФ Знаменатель ПФ  
    Объект $ -0.4s+1$ $ 0.2s^3+1.24s^2+5.24s+1$  
    Результат $ -0.349s+1$ $ 0.229s^3+1.280s^2+5.357s+1$  

  • G3. Частотное адаптивное управление

    Директивы частотного адаптивного управления предназначены для моделирования процессов адаптации и уточнения параметров алгоритмов идентификации и адаптации. Директивы могут быть применены для адаптации регулятора объекта (1). Директивы адаптации имеют следующий алгоритм:

    Производится идентификация объекта с помощью одной из директив идентификации объекта управления. Затем, используя одну из директив синтеза, находится регулятор (2). С течением времени коэффициенты объекта "уходят" от идентифицированных значений и точность регулятора снижается. Требуется произвести идентификацию объекта заново. Примем при этом, что система (1),(2) сохранила устойчивость. Для идентификации применяется директива идентификации объекта замкнутого регулятором. После завершения идентификации производится расчет нового регулятора для объекта. В дальнейшем при необходимости идентификация и пересчет регулятора могут выполняться необходимое число раз.

    Пакет содержит следующие директивы адаптации:

    • Директива d323sumi: адаптация без самонастройки испытательного сигнала;
    • Директива d323dumi: адаптация с самонастройкой времени идентификации;
    • Директива d323admi: адаптация с самонастройкой амплитуд испытательного сигнала и времени идентификации;
    • Директива d323floadumi: адаптация с самонастройкой частот и амплитуд испытательного сигнала и времени идентификации;
    Рис. 5: Интерфейс директивы адаптации
    Image d323

    На рисунке 5 изображен интерфейс директивы адаптации с самонастройкой амплитуд тестового сигнала и времени идентификации. Объект для адаптации описывается уравнением 24 или 25, внешнее возмущение также примем равным возмущению из интерфейса идентификации 26.

    Интервал дискретности принимается равным $ h = 0.1$. Требования к точности и границе внешнего возмущения определяются как:

    \begin{displaymath}\begin{array}{c} y^{*} = 0.3;\\ f^{*} = 3;\\ \end{array}\end{displaymath} (28)
    Верхние границы входов и выходов объекта при идентификации равны:
    \begin{displaymath}\begin{array}{c} y_{-} = 1.5;\\ u_{-} = 3;\\ \end{array}\end{displaymath} (29)
    Диапазон собственных частот объекта принимается равным $ \omega=[0.2;30.2]$ Остальные параметры задаются в интерфейсе по умолчанию, но могут быть изменены при необходимости. Также выбирается формат протокола директивы, есть возможность его сохранения. На рисунке 6 показано окно с результатами выполнения директивы. Результаты адаптации системы представлены в таблице 2.


    Таблица: Результат выполнения директивы адаптации
    Этап Числитель ПФ Знаменатель ПФ  
    Объект $ -0.4s+1$ $ 0.2s^3+1.24s^2+5.24s+1$  
    I $ -0.4s+1.001$ $ 0.196s^3+1.211s^2+5.235s+1$  
    II $ -0.398s+1$ $ 0.195s^3+1.189s^2+5.288s+1$  
    Рис. 6: Результаты выполнения директивы адаптации
    Image d323res