Лабораторная работа № 1
Модальное управление и наблюдающие устройства
АВТОМАТИЗАЦИЯ СИНТЕЗА РЕГУЛЯТОРОВ И НАБЛЮДАТЕЛЕЙ СОСТОЯНИЯ В СРЕДЕ ПАКЕТА MATLAB

         Цель работы:  освоение методики синтеза регуляторов и наблюдателей состояния полного порядка в численной форме в среде пакета MATLAB.

          Продолжительность работы:  4 часа

Теоретическая часть

Математическая постановка задачи

Исходная (а) и преобразованная (б) матричные структурные схемы системы автоматического управления (САУ) с регулятором состояния полного порядка (РСПП) представлены на рис. 1, а структурные схемы наблюдателя состояния полного порядка (НСПП) – на рис. 2. Сразу оговоримся, что почти все описываемые в данной работе процедуры синтеза справедливы только для систем с единственным управляющим сигналом (т.е. для одномерных систем). Кроме того, здесь мы ограничимся рассмотрением только непрерывных систем.

	а)	б)
Рис. 1. Структурные схемы САУ с регулятором состояния полного порядка.

	а)	б)

Рис. 2. Структурные схемы наблюдателя состояния полного порядка.

Синтез РСПП и НСПП состоит в выборе коэффициентов корректирующих обратных связей K и L соответственно из условия обеспечения желаемого распределения полюсов или, что одно и то же, желаемых коэффициентов характеристического полинома замкнутойСАУ с РСПП или замкнутого НСПП.
Таким образом, для определения искомых коэффициентов необходимо решить одно из уравнений
							(1)
или
,						(2)
где  – матрица состояния замкнутой системы, которая определяется для САУ с РСПП как
,
а для НСПП как
;

– вектор желаемых полюсов замкнутой системы;

– желаемый характеристический полином замкнутой системы.
Существуют также аналитические выражения для вычисления искомых матриц коэффициентов РСПП и НСПП. Так, в соответствии с опубликованной в 1980 г. формулой Аккермана [3] коэффициенты РСПП можно определить из последней строки матрицы
,				(3)
где

– матрица управляемости.
Ещё один способ основывается на использовании прямого и обратного преобразования математического описания разомкнутой и замкнутой систем в пространстве состояний к канонической форме Фробениуса. Согласно алгоритму синтеза, приведенному в [1, 2], уравнения

и

имеют аналитические решения:
				 (4)
,				(5)
где

– коэффициенты характеристического полинома разомкнутой системы (или разомкнутого наблюдателя)
;

– коэффициенты желаемого характеристического полинома,
,
– матрица наблюдаемости;
, 
Другой способ поиска вектора искомых коэффициентов требует представления математического описания системы управления в канонической форме фазовой переменной, или перехода к описанию в канонической форме, если исходные уравнения состояния записаны в естественном базисе [1]. Пара матриц А и B считается записанной в каноническом базисе, если эти матрицы имеют вид:
,  
Следует отметить, что пара матриц А и А* в естественном и каноническом базисах имеют одни и те же собственные значения, кроме того, существует матрица преобразования (перехода) к канонической форме Р, такая, что выполняются условия:
, 
Неособая матрица Р при этом задаётся в виде:
,
где
	.
Представив описание объекта в канонической форме фазовой переменной, вычисляют вектор коэффициентов регулятора состояния в каноническом базисе как
,					(6)
где  - коэффициенты характеристических полиномов соответственно объекта (разомкнутой системы) и желаемого (замкнутой системы).
Имея матрицу перехода к каноническому базису Р, можно получить действительные коэффициенты обратных связей
.						(7)
Методики, описываемые формулами (6, 7) и (4, 5), удобны тем, что в выражения входят разности коэффициентов при соответствующих степенях характеристических полиномов разомкнутой системы и желаемого стандартного полинома. А все остальные задачи – формирование матриц и матричные операции, предусмотренные тем или иным методом синтеза – хорошо поддаются алгоритмизации, и не представляют затруднений.
Формулы (1) и (2), (3), (4) и (5), (6) и (7) могут с успехом лечь в основу как численных, так и аналитических методов автоматизации синтеза регуляторов и наблюдателей состояния.
Используемые в аналитических методах синтеза РСПП и НСПП матрицы преобразования при высоком порядке дифференциальных уравнений, описывающих объект регулирования, могут оказаться плохо предопределенными и давать большую погрешность. В связи с этим заслуживают внимания также и численные алгоритмы синтеза регуляторов и наблюдателей состояния полного порядка, наиболее популярный из которых предложен в [4].
Следует отметить, что, если известен какой-либо алгоритм поиска коэффициентов РСПП, то подставляя в него вместо матриц A и B матрицы AТ и CТ соответственно, можно определить транспонированный вектор коэффициентов НСПП LТ. Эта особенность обусловлена дуальной связью между управляемостью и наблюдаемостью.
Итак, при описании алгоритмов синтеза РСПП и НСПП мы будем рассматривать четыре основных способа:
1.	Алгоритм, основанный на составлении и решении системы n линейных алгебраических уравнений с n неизвестными относительно искомых коэффициентов (в матричной трактовке этот алгоритм описывается формулой (2)).
2.	Алгоритмы расчета, использующие стандартные (т.е. входящие в стандартную поставку системы MATLAB) функции. Это прежде всего, способ, основанный на использовании формулы Аккермана (3), и численный метод, предложенный в [4].
3.	Алгоритм, описанный в [1, 2] и основанный на использовании формул (4) и (5).
4.	Алгоритм вычислений с использованием перехода к описанию объекта в канонической форме фазовой переменной (формулы (6), (7)).

Методика машинного синтеза РСПП и НСПП в численном виде

Система программирования MATLAB предлагает пользователю две функции для расчета коэффициентов регулятора состояния по желаемым полюсам [5, 9]:

K=acker(A,B,Р)
и
K=place(A,B,Р).
Обе решают одну и ту же задачу (формула (1)) разными методами: первая – по формуле Аккермана (3), а вторая – по численному алгоритму, предложенному в [4]. Разработчики MATLAB рекомендуют применять функцию acker для синтеза систем с одним входом и одним выходом, описываемых дифференциальными уравнениями не выше 5-го порядка, а функцию place – во всех остальных случаях, включая и многомерные системы, хотя нам удавалось во многих случаях успешно применять функцию acker и для систем более высокого порядка. Функция acker по окончании работы проверяет результат синтеза, выполняя попарное сравнение значений желаемых и полученных в результате синтеза полюсов системы.
Комментарии, касающиеся всех описанных способов. Как уже было сказано выше, вследствие дуальной связи между наблюдаемостью и управляемостью, любую из приведенных функций можно использовать и для синтеза НСПП, например,

Lt=acker(A’, C’, P); L=Lt’

(операция A’ в пакете MATLAB означает транспонирование матрицы).
Литература

1.	Медведев В.С., Потемкин В.Г. Control System Toolbox. МАТЛАБ 5 для студентов. М.: ДИАЛОГ-МИФИ, 1989. 287 с.
2.	Лазарев Ю.Ф. MATLAB 5.x. Киев: BHV. 2000. 384 с.
3.	Дьяконов В., Круглов В. Математические пакеты расширения MATLAB: Специальный справочник. СПб.: Питер. 2001. 480с.
4.	Классические и современные методы теории автоматического управления. Т.2./ Под общей ред. К.А. Пупкова.- М.: Изд-во МГТУ –2001.
5.	Филлипс Ч., Харбор Р. Системы управления с обратной связью.-М.:Лаборатория Базовых Знаний, 2001- С.396.

Порядок выполнения работы

1.	Загрузить Matlab. Набрать команды:demo, toolboxes, Control Systems, Tutorials, Getting Started. Ознакомиться с технологией построения моделей и анализа динамических характеристик при помощи утилиты LTIView. 
2.	Для непрерывного объекта с передаточной функцией  
 необходимо получить передаточную функцию замкнутой системы 
 
Для оценки состояния возьмите наблюдатель полного порядка с собственными числами .
3.	Вычислите коэффициенты регулятора линейной обратной связи по состоянию по формулам (2).
4.	Синтезировать наблюдатель полного порядка и получить передаточную функцию регулятора-наблюдателя по формулам (3).
В целях решения поставленной задачи воспользоваться, например, следующей последовательностью команд системы MATLAB [5] ):
A=[0 1 0; 0 0 1; 0 -8 -9]; B=[0; 0; 1]; C=[8 0 0];D=0;
e10p4=ss(A, B, C, D);
Pp = [-10 -10 -40];
K=acker(A, B, Pp)
 Pe=[-20 -20 -20];
Lt=acker(A',C',Pe); L=Lt'
rsys=reg(e10p4, K, L), pause
Wec=-tf(rsys), Wp=tf(e10p4), W01=Wec*Wp, pause
 [gm, pm, wg, wp]=margin(W01)
e10p11=minreal(W01/(1+W01));
bode(W01), pause
step(e10p11, 2)
В составленной выше  программе Pp – это вектор-строка желаемого расположения полюсов системы управления, а инструкция acker позволяет вычислить вектор коэффициентов K.
Система с регулятором может быть построена по команде вида
e10p2=ss((A-B*K), B, C, D);% - ss-объект; 
initial(e10p2, [1; 0; 0])%- реакция на начальные условия.
[wnum, wden]=ss2tf(A, B, C, D);
W=tf(wnum, wden)%-передаточная функция
5.	Нарисуйте  структурную схему синтезированной системы . Получите график переходного процесса замкнутой системы, и определите прямые показатели качества САР. Для этого наберите команду LTIView в командном окне.
6.	Построить логарифмические амплитудные и фазовые частотные характеристики регулятора-наблюдателя, а также определить запасы устойчивости по фазе и амплитуде при помощи инструментария LTIView.
7.	Аналитический синтез цифровой системы управления реализовать на основе преобразования найденной выше непрерывной формы системы управления следующим образом..
8.	Для непрерывной системы найдена структура непрерывного регулятора;
9.	Выполнить дискретизацию непрерывного регулятора, подобрать шаг дискретизации так, чтобы процессы отличались не более чем на 2%;
10.	Выполнить синтез цифровой системы управления, используя в структуре асимптотический наблюдатель полного порядка.

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

1.	Какой сигнал в наблюдателе состояния является входом, а какой сигнал имеет место на выходе?
2.	Чем отличается синтез регулятора-наблюдателя от частотного метода синтеза корректирующего устройства по В.В.Солодовникову?
3.	Как формируются уравнения состояния объекта, если известна его передаточная функция ?
4.	Как можно воспользоваться свойством дуальности при синтнзе наблюдателя?

Справочные данные:

>> A=[0 1 0; 0 0 1; 0 -8 -9];>> B=[0; 0; 1];>> C=[8 0 0];>> D=0;
>> e10p4=ss(A,B,C,D);
>> Pp = [-10 -10 -40];д
>> e10p4=ss(A, B, C, D);
>> K = acker(A, B, Pp)
K =
        4000         892          51
>> Pe=[-20 -20 -20];
>> Lt=acker(A', C', Pe); L=Lt'
L =
    6.3750
   91.6250
  124.3750
>> rsys=reg(e10p4, K, L), pause
a = 
                        x1           x2           x3
           x1          -51            1            0
           x2         -733            0            1
           x3        -4995         -900          -60
b = 
                        u1
           x1        6.375
           x2       91.625
           x3       124.38
c = 
                        x1           x2           x3
           y1        -4000         -892          -51
d = 
                        u1
           y1            0
Continuous-time model.
>> Wec = -tf(rsys)
 Transfer function:
1.136e005 s^2 + 1.405e006 s + 4e006
-----------------------------------
s^3 + 111 s^2 + 4693 s + 9.487e004
 >> Wp = tf(e10p4),
 Transfer function:
        8
-----------------
s^3 + 9 s^2 + 8 s
 >> W01 = Wec*Wp, pause
 Transfer function:
               9.086e005 s^2 + 1.124e007 s + 3.2e007
--------------------------------------------------------------------------------------
s^6 + 120 s^5 + 5700 s^4 + 1.38e005 s^3 + 8.914e005 s^2 + 7.59e005 s
>> [gm, pm, wg, wp] = margin(W01)
gm =
    3.1884
pm =
   42.8812
wg =
   27.1118
wp =
    10.2734

Рис.1. Логарифмические АФЧХ синтезированной разомкнутой системы W01(s)

>> W010=W0/WN
Transfer function:
          4000 s^3 + 240000 s^2 + 3.6e006 s + 1.6e007
----------------------------------------------------------------
s^6 + 120 s^5 + 5400 s^4 + 112000 s^3 + 1.05e006 s^2 + 3.6e006 s
 >> W01
 Transfer function:
               9.086e005 s^2 + 1.124e007 s + 3.2e007
--------------------------------------------------------------------
s^6 + 120 s^5 + 5700 s^4 + 1.38e005 s^3 + 8.914e005 s^2 + 7.59e005 s

Рис.2. Логарифмические АФЧХ разомкнутой системы заданной W010(s)

Рис.3. ЛАФЧХ  двух систем W01(s)  и  W010(s)

>> FI=W01/(1+W01)
 Transfer function:
 9.086e005 s^8 + 1.203e008 s^7 + 6.56e009 s^6 + 1.933e011 s^5 + 2.544e012 s^4    
                                                                                
                                   + 1.513e013 s^3 + 3.706e013 s^2 + 2.429e013 s
                                                                                
--------------------------------------------------------------------------------------------------
s^12 + 240 s^11 + 25800 s^10 + 1.644e006 s^9 + 6.83e007 s^8 + 1.909e009 s^7     
                                                                                
        + 3.595e010 s^6 + 4.48e011 s^5 + 3.548e012 s^4 + 1.648e013 s^3          
                                                                                
                                                   + 3.763e013 s^2 + 2.429e013 s
F=zpk(FI)
 
Zero/pole/gain:
908581 s (s+58.5) (s+8) (s+7.932) (s+4.44) (s+1) (s^2 + 52.5s + 1622)
-------------------------------------------------------------------------------------
s (s+58.5) (s+40) (s+20)^3 (s+10)^2 (s+8) (s+1) (s^2 + 52.5s + 1622)

Рис.4. Аппроксимация W01(s)

Transfer function:
    560.2 s + 2487
-----------------------
s^3 + 59.5 s^2 + 58.5 s