Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

itnaVxICsm

.pdf
Скачиваний:
8
Добавлен:
13.02.2021
Размер:
349.88 Кб
Скачать

МИНОБРНАУКИ РОССИИ

___________________________________

Санкт-Петербургский государственный электротехнический университет «ЛЭТИ»

______________________________________

МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ ОБЪЕКТОВ И СИСТЕМ УПРАВЛЕНИЯ

Методические указания к лабораторным работам

Санкт-Петербург Издательство СПбГЭТУ «ЛЭТИ»

2014

УДК 004.942:629.123

Математическое моделирование объектов и систем управления: методич. указания к лабораторным работам / cост.: О. Ю. Лукомская, А. Г. Шпекторов. СПб.: Изд-во СПбГЭТУ «ЛЭТИ», 2014. 36 с.

Содержат описания лабораторных работ по математическому моделированию объектов и систем управления в среде MATLAB, MATLABSIMULINK. Приведены методики созданий программных моделей и исследования динамических систем в среде MATLAB и MATLAB-SIMULINK.

Предназначены для магистрантов, обучающихся по направлению «Автоматизация и управление», а также могут быть полезны инженернотехническим работникам этой области знаний.

Утверждено редакционно-издательским советом университета

в качестве методических указаний

© СПбГЭТУ «ЛЭТИ», 2014

2

Лабораторная работа 1. ЛИНЕАРИЗАЦИЯ ДИНАМИЧЕСКИХ СИСТЕМ

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

Общие положения

Вэтой работе исследуется математическая модель, линеаризованная в окрестности статического режима.

Вкачестве исходных данных рассматривают систему нелинейных дифференциальных уравнений (СНДУ), записанную в форме Коши:

xɺ(t) = f (x(t), u(t));

y(t ) = g(x(t ), u(t )), (1.1)

где x Rn – вектор состояния; u Rm – вектор управления; y Rk – вектор выходных переменных; f(x, u) и g(x, u) – в общем случае нелинейные функции.

Выбирают статический режим (x(0), u(0)), в окрестности которого производится линеаризация.

Далее определяют матрицы частных производных: матрица состояния

 

 

 

 

 

 

f (x, u)

 

 

 

 

 

 

 

 

 

 

 

 

f (x, u)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(0)

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

(0)

 

 

 

x

 

 

 

 

 

(0)

 

 

(0)

 

 

f (x,u)

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

x=x

 

 

, u =u

 

 

 

 

 

 

n

 

x=x

 

 

, u=u

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A =

 

 

 

 

(0) (0)

=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

;

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

, u

f

 

 

 

(x, u)

 

 

 

 

 

 

 

 

 

 

 

 

f (x, u)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1

 

 

 

 

 

 

 

 

 

(0)

 

 

(0)

 

 

xn

 

 

(0)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x=x

, u=u

 

 

 

x=x

, u=u

(0)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

аналогичным образом:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

матрица входов B = f (x, u)

 

 

 

(0)

 

 

 

(0)

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u

 

 

 

x

, u

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

матрица выходов C =

g(x, u)

 

(0)

 

 

 

(0)

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

x

, u

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

матрица обхода D = g(x, u)

 

 

(0)

 

 

 

(0)

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u

 

 

 

 

x

, u

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Матрицы А, В, C, D имеют постоянные коэффициенты, зависящие от

статического режима, т. е. от u(0) и x(0). Для СНДУ коэффициенты матриц могут быть определены аналитически, поскольку для каждой частной производной аналитическое выражение записать достаточно просто. Если аналитическое выражение для какого-либо коэффициента записать невозможно или сложно, то этот коэффициент можно определить численно, например:

f2 (x, u)

 

1 f2

(x1(0)

, , xn(0), u1(0), u2(0), u3(0) + δ, u4(0), , ul(0) )

 

 

 

 

 

 

 

u3

 

x=x(0), u=u(0) δ

 

 

 

 

 

 

 

f2 (x1(0), , xn(0), u1(0), , ul(0) )

,

 

 

 

 

 

 

 

 

 

 

 

 

 

где значение δ должно быть малым. Система линейных дифференциальных уравнений (СЛДУ) вида:

ɺ

 

x(t) = A x(t) + B u(t);

(1.2)

 

y(t) = C x(t) + D u(t),

x = x(t ) x(0),

записанная относительно векторов, обозначаемых через

u = u(t ) u(0) , y(t) = y(t) − y(0) , называется системой, полученной путем

линеаризации в окрестности статического режима (u(0), x(0)).

Эта система обладает следующим замечательным качеством. Если рас-

смотреть

решение

системы

(1.1)

при

некоторых начальных

условиях

x(t0 ) = x*

и при некотором

изменении вектора

входов u(t) на

интервале

t [t0 , t1], то полученное решение х(t) обладает свойством:

 

 

 

 

 

x(t) ≈ x* +

x(t),

t [t

0

, t ],

(1.3)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

где х(t) –

решение системы (1.2) при начальных условиях x(t0 ) = x* x(0)

и при входном векторе u(t

0

) = u(t) − u(0) , t [t

0

, t

 

]. Другими словами, соот-

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

ветствие математических моделей (1.1) и (1.2) выражено соотношениями:

 

 

 

x (t) ≈ x

(0)

+

x (t),

i = 1, , n;

 

 

 

 

i

 

 

 

i

 

i

 

 

 

 

 

 

 

 

 

 

 

 

u

(t) ≈ u

(0)

+

u

(t),

i = 1, , l;

(1.4)

 

 

 

i

 

 

 

i

 

i

 

 

 

 

 

 

 

 

 

 

 

 

y

(t) ≈ y(0)

+

y

(t),

i = 1, , m;

 

 

 

 

i

 

 

 

i

 

i

 

 

 

 

 

 

 

 

 

Переменные xi (t),

ui (t) называются приращениями (или отклонения-

ми) переменных x , u

i

относительно значений x(0)

, u(0).

 

 

i

 

 

 

 

 

 

 

 

 

i

 

 

 

i

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

Таким образом, в окрестности статического режима динамику исходного объекта (1.1) с большой точностью описывает динамика объекта (1.2). Знак приближенного равенства в (1.3) означает, что при значительном отклонении

значений вектора u(t) от значения u(0) , т. е. при больших значениях компо-

ненты вектора ui (t) , схожесть будет меньше. В результате процесс исследования динамики нелинейного объекта (1.1) в окрестности его статического режима может быть осуществлен по схеме, показанной на рис. 1.1.

u(t)

u(t) ≈ u(t) −

u(t)

x* = x(0) + x*

xɺ(t) = f (x(t), u(t)) y(t) = g(x(t), u(t))

u (0)

xɺ(t) = A x(t) + B u(t) y(t) = C x(t) + D u(t)

x* = x* x(0)

Рис. 1.1

x(t)

x(t) ≈ x(0) + x(t)

x(t)

Описание в виде (1.2) является общепринятым. Практически все стандартные методы и программные средства для работы с линейными системами используют такое представление. В частности, пакет MATLAB ориентирован именно на такое представление, когда объект исследования описан в пространстве состояний.

Использование линеаризованной модели дает следующие преимущества при исследовании динамической системы.

1.Решение СЛДУ всегда проще найти, в ряде случаев оно может быть найдено аналитически.

2.Для линейных систем определены такие понятия, как передаточные функции и частотные характеристики. Для оценки устойчивости движения в окрестности положения равновесия достаточно рассчитать собственные числа матрицы А. Кроме того, для линейных систем справедлив принцип суперпозиции, что позволяет, например, использовать методы частотного анализа.

5

3. Для линейных систем методы теории автоматического управления разработаны наиболее полно. Это позволяет строить законы управления для линеаризованных объектов и с учетом преобразования (1.3) переносить их на исходные нелинейные объекты.

В настоящее время возможности среды MATLAB позволяют находить линеаризованные модели без ручного вычисления матриц частных производных. Среда SIMULINK содержит не только средства графического представления и интегрирования динамических систем, но и специальные функции их обработки, в том числе и линеаризации.

Для анализа SIMULINK-объектов используются следующие функции:

[ST, IN, OUT] =TRIM(‘SYS’, X0, U0) – определение статического ре-

жима SIMULINK-модели. Параметры функции: SYS – имя модели, X0, U0 – начальные значения векторов состояния и управления, ST, IN, OUT – установившиеся значения соответственно векторов состояния, входа и выхода.

[A,B,C,D]=LINMOD('SYS',X,U) – получение матриц линеаризованной модели.

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

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

1.Построить модель динамической системы в среде SIMULINK в соответствии с исходными данными (табл. 1.1).

2.Подобрать коэффициенты модели таким образом, чтобы система оказалась устойчивой (путем моделирования).

3.Создать модель, аналогичную найденной, используя в качестве входных и выходных сигналов порты входа-выхода.

 

Таблица 1.1

Номер варианта

СНДУ

1

xɺ

= a x + a x

2

 

 

 

x

2

 

 

+ b u; xɺ

2

= a

21

x + a

22

x

2

+ b u

 

 

 

 

 

1

11

1

12

2

 

 

 

 

 

 

11

 

1

 

21

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

ɺ

 

 

2

 

 

 

 

 

 

 

 

ɺ

= a21x1 + a22 x2 + b21u

 

 

 

 

 

 

 

 

 

 

 

x1 = a11x1 + a12 x2 + b11u; x2

3

ɺ

 

 

 

 

 

 

 

 

 

 

 

ɺ

 

 

 

 

 

 

 

 

x1

= a11x1 + a12 x2 + b11u; x2 = a21x1x2 + a22 x2 + b21u

4

ɺ

 

 

 

 

 

 

 

 

 

 

 

ɺ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1

= a11x1 + a12 x2

 

x2

 

+ b11u; x2

= a21x1 + a22 x2 + b21u

 

 

 

5

ɺ

 

 

 

 

 

2

 

 

 

ɺ

 

 

 

 

2

+ b21u

 

x1 = a11x1 + a12 x2

+ b11u; x2

= a21x1 + a22 x2

6

ɺ

 

 

 

2

 

 

 

x2

 

 

ɺ

 

 

 

 

 

 

2

+ b21u

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1

= a11x1 + a12 x2

 

 

 

 

 

+ b11u; x2

= a21x1 + a22 x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4.Определить точку равновесия, используя функцию TRIM.

5.Проверить корректность работы функции TRIM моделированием.

6.Найти линеаризованную модель системы аналитическим и машинным способом. Проверить модели на соответствие.

7.Проверить устойчивость линеаризованной модели по собственным чис-

лам.

8.Определить точку равновесия, соответствующую заданным входным воздействиям.

Содержание отчета

1.Постановка задачи и исходные уравнения.

2.Модель СНДУ в SIMULINK.

3.Значения коэффициентов модели.

4.Скрипт на языке MATLAB, с расчетом и проверкой статического режима, матрицы линеаризованной модели, собственных чисел,

5.Аналитически найденные матрицы линеаризованной модели.

6.Выводы.

Лабораторная работа 2. МОДЕЛИРОВАНИЕ ЛИНЕЙНОЙ ДИНАМИКИ

ПОДВИЖНЫХ ОБЪЕКТОВ

Цель работы: изучить основные методы исследования линейных моделей, овладеть навыками приведения моделей к разным формам, освоить основные функции языка MATLAB из библиотеки Control System Toolbox.

Общие положения

Для работы с динамическими объектами, математическим описанием которых являются системы обыкновенных линейных дифференциальных (или разностных) уравнений с постоянными коэффициентами, в системе

MATLAB предназначен пакет Control System Toolbox (CST). Такие объекты и системы управления в целом именуются в документации по пакету LTIсистемами (linear time-invariant system). В отечественной литературе используется эквивалентное наименование «линейные стационарные системы».

Пусть некоторый линейный стационарный динамический объект имеет вектор состояний x Rn , вектор управлений u E m (вектор входа объекта) и вектор измерений y E k (вектор выхода). В пакете CST используются два

7

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

1) уравнения пространства состояний: xɺ = Ax + B u, y = Cx + Du,

где A, B, C, D – матрицы с постоянными компонентами размеров

n × n ,

n × m , k × n , k × m соответственно;

 

 

 

 

 

 

 

 

 

 

 

2) уравнения в изображениях по Лапласу:

 

 

 

 

 

 

y = H (s)u,

 

 

 

 

 

где H (s)

передаточная матрица от входа u к выходу y ,

 

 

h11

(s)

 

h12

(s)

...

h1m

(s)

 

 

h

(s)

 

h

(s)

...

h

(s)

 

 

H (s) = 21

 

 

22

 

 

 

 

 

2m

 

,

 

 

 

 

 

...

...

...

 

 

 

...

 

 

 

 

h

(s)

 

h

(s)

...

h

(s)

 

 

k1

 

 

k 2

 

 

 

 

 

km

 

 

 

где hij (s)

рациональные дроби от переменной Лапласа s .

 

Указанные компоненты hij (s)

передаточной матрицы H (s) могут быть

заданы в двух вариантах:

 

 

 

 

 

 

 

 

 

 

 

 

а) полиномами nij (s), dij (s) в числителе и знаменателе соответственно

 

 

hij (s) =

 

nij

(s)

;

 

 

 

(2.1)

 

 

 

 

 

 

 

 

 

 

 

 

dij

(s)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

б) коэффициентами усиления k

ij

и множествами нулей α p и полюсов βq :

 

 

 

 

 

 

 

 

 

 

 

ij

ij

 

hij (s) = kij

Nij (s − αijp )

Kij (s − βijq ),

 

 

 

p =1

 

 

 

q =1

 

 

 

где Nij и Kij – степени полиномов nij (s) и dij (s).

В соответствии с приведенными соотношениями для формирования математической модели, описывающей динамику LTI-объекта, можно задать один из трех наборов параметров:

1)четыре числовые матрицы A, B, C, D для системы уравнений в пространстве состояний;

2)две полиномиальные матрицы N (s) = { nij (s)} и D(s) = {dij (s)};

8

3) числовую матрицу K = {kij с действительными компонентами и две

матрицы Z = {α p

и P = {βq

, элементами которых служат векторы с ком-

ij

ij

 

плексными компонентами – нулями и полюсами дробей hij(s).

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

1. Создание LTI-моделей.

sys = ss(A,B,C,D) – в пространстве состояний,

sys = ss(A,B,C,D,E) – создание дескрипторной модели, SYS = TF(NUM,DEN) – в форме передаточной функции,

SYS = ZPK(Z,P,K) – через нули, полюса и весовые множители (разложение передаточной функции).

Применение указанных функций без параметров приводит к созданию пустых моделей ss-, tf- и zpk-типов. При одном входном параметре

SYS = SS(D)

SYS = TF(D)

SYS = ZPK(D)

LTI-модель представляет собой пропорциональное звено.

Эти же функции используются для перевода LTI-моделей из одной формы в другую:

SYS_SS = SS(SYS_TF)

SYS_TF = TF(SYS_ZPK)

SYS_ZPK = ZPK(SYS_TF)

Примечание: tf- и zpk-модели определяются однозначно, ss-модель является одной из бесконечного числа реализаций. Для получения минимальной реализации следует применять команду:

SYS_SS = SS(SYS_TF, ‘min’)

Минимальная реализация соответствует минимальной сумме модулей элементов матриц состояния, управления, выхода (наблюдения) и обхода.

9

2. Доступ к свойствам моделей.

LTI-модели в среде MATLAB являются объектами, обладающими набором свойств. Вывод полного списка свойств модели осуществляется при помощи функции GET:

GET(имя объекта)

Для получения списка свойств типовой модели можно применять функцию LTIPROPS(‘тип модели’).

Есть два способа доступа к свойствам объекта. Первый использует ту же функцию GET:

GET(имя объекта,’имя свойства’)

Изменять значение того или иного свойства позволяет функция SET. SET(имя объекта,’имя свойства1’, новое значение1,’имя свойства2’, но-

вое значение2…)

Второй способ предполагает доступ к свойству объекта, как к полю структуры или типа, заданного пользователем:

имя объекта.имя свойства = новое значение.

Примечание. При изменении размерностей входов-выходов LTI-модели следует применять функцию SET, которая позволяет менять одновременно несколько значений разных свойств.

Есть также набор функций быстрого доступа к образующим свойствам моделей:

[A,B,C,D] = SSDATA(SYS)

[NUM,DEN] = TFDATA(SYS)

[Z,P,K] = ZPKDATA(SYS)

3. Частотные и временные характеристики моделей:

а) функция BODE – АЧХ и ФЧХ системы (диаграммы Боде). Есть несколько форматов использования функции:

BODE(SYS) строит АЧХ и ФЧХ системы SYS в логарифмическом масштабе. Частотный диапазон и число точек выбирается автоматически.

BODE(SYS,{WMIN,WMAX}) строит характеристики для заданного частотного диапазона (в радианах в секунду).

BODE(SYS,W) – построение характеристик для вектора частоты W, определенного пользователем (в равномерном или логарифмическом масштабе).

BODE(SYS1,SYS2,...,W) строит характеристики для множества моделей на одном графике. Вектор W определяется пользователем.

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]