Главная страница  Программы проектирования 

[0] [ 1 ] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] [98] [99] [100]

ГЛАВА 1

ПОСТРОЕНИЕ МАТЕМАТИЧЕСКИХ МОДЕЛЕЙ УПРАВЛЯЕМЫХ СИСТЕМ

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

1.1. ЛИНЕАРИЗАЦИЯ УРАВНЕНИЯ С ПОМОЩЬЮ ЭВМ

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

Управляемое движение динамической системы будем описывать дифференциальным уравнением

=f(z,v,0,z(0) = zo, (1.1)

где z= (ziZ2... Zn)f - n-мерный вектор координат состояния; v = = {viV2...Vm) - m-мерный вектор управляющих функций. Нелинейная вектор-функция f= (/1/2... fn) принимается дифференцируемой по Z, V. Пусть назначена некоторая траектория движения нелинейной системы (1.1). Условимся, что такой траектории соответствуют z*(), v*(), />0. Обозначим отклонения

x(0=z(0-z*(0; u(0=v(0-v*(0. (1.2)

Если х()=0, u{t)=0 для каждого >0, движение системы называют невозмущенным, в противном случае - возмущенным. Траектория невозмущенного движения (базовая) определяется дифференциальным уравнением

=f(z*,v*,0.z*(O) = z;. (1.3)

Считая отклонения (1.2) малыми, получим приближенное линейное уравнение для х(). С этой целью представим вектор-функцию f{z, V, t) в виде

f(z, V, 0«f(z*, V*, 0+ (-) х(0-Ь() и(0. (1.4)



Обозначим

\ =А, IJL] =в. (1.6)

Матрицы А и В имеют размер пХп и nXtn соответственно и называются матрицами Якоби, Символ : означает, что частные производные вычисляют в точке (z*, v*, t). С учетом (1.2) - (1.4) из (1.1) следует

= Ах (О + Ви (0:х (0) = Хо, (1.6)

При этом начальное значение xo = zq-z*q.

Дифференциальное уравнение (1.6) линейно, определяет возмущенное движение системы (1.1) относительно базовой (невозмущенной) траектории, определяемой (1.3). В общем случае А = = А(), В = В(), тогда говорят, что система (1.6) нестационарна. Если функция f(-) не зависит явно от времени , а в каждой точке (z*, V*) матрицы А, В постоянны, то говорят, что система (1.6) стационарна. Как следует из (1.5), формирование линейного уравнения возмущенного движения (1.6) сводится к вычислению матрицы Якоби. ,

Для вычисления элементов матрицы Якоби векторной функции f(x) воспользуемся формулой центральной разности

д dfi (х) fi (X + Axj tj) - ft (X - Axj ej) dxj 2hxj

Здесь Axj - приращение no /-Й координате; ej - единичный вектор, направленный вдоль /-й координаты.

Ошибка вычисления по приведенной формуле состоит из методической составляющей, обусловленной неточностью формулы, и вычислительной составляющей, обусловленной неточностью вычислений. При уменьшении приращения методическая составляющая уменьшается, а вычислительная возрастает. Для получения правильного результата необходимо выбрать такое приращение, чтобы суммарная ошибка не превышала допустимой. Это нетрудно сделать, если функция достаточно гладкая, а требования к точности умеренные. Рекомендуем задавать приращения IQ-... 10~ от абсолютных значений соответствующих координат.

В приведенной ниже подпрограмме JACOBI производится оценка методической составляющей ошибки. Подпрограмма уменьшает приращение, если оценка ошибки превышает допустимую, и увеличивает приращение, если оценка ошибки достаточно мала. Однако не следует задавать начальные приращения слишком малыми: в этом случае увеличивается вычислительная составляющая ошибки, и подпрограмма может уменьшить приращение вместо того, чтобы его увеличить.

Подпрограмма JACOBI

Назначение: расчет матрицы Якоби A=(3f(x)/(9x нелинейной векторной функции f(x).



Обращение: CALL JACOBI (X. Y, N, M, FUN, EPS, DX, DXMIN, DXMAX, A). Параметры:

X - вектор аргументов;

У - вектор значений функции в точке х;

N - размерность вектора х;

М - размерность вектора у;

FUN - имя подпрограммы вычисления векторной функции, ее параметры: X - вектор аргументов, Y - вектор значений функции;

EPS - допустимая относительная ошибка вычисления элементов матрицы Якоби;

DX - вектор начальных приращений по аргументам (на входе),

скорректированные значения приращений (на выходе); DXMIN - минимальные значения приращений; DXMAX - максимальные значения приращений; А - массив (М, N) рассчитанных элементов матрицы Якоби.

Примечание. Допустимо обращение: CALL JACOBI (X, Y, N, М, F, EPS, DX, DX, DX, A). Тогда значения приращений не изменяются.

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

х=3\пх1~Х2+Хз, X2=2xi-Xi.*;2-j-X3 cos Ль i3=X2 sin Xi-f-Xs.

С помощью подпрограммы JACOBI рассчитаем матрицу A=df{x)ldx в точке Xi = 0,8, Х2=2, Хз=1,5. Зададим начальные приращения Ах1 = Д.Г2 = Лхз = 0,02 и EPS = 0,01. В результате расчета получим

" 3.751 -4 1

А= -1,876 -3,2 0,6967

1,393 0,7174 1

1.2. КАНОНИЧЕСКИЕ ФОРМЫ УРАВНЕНИЙ

В инженерной практике часто возникает необходимость записывать уравнения систем в наиболее простых формах, называемых каноническими. Из предложенного большого количества канонических форм [59] для анализа и синтеза систем наибольшее применение нашли лишь некоторые. Рассмотрим два наиболее употребительных канонических преобразования для одно- и многомерной систем.

КАНОНИЧЕСКАЯ ФОРМА ОДНОМЕРНОЙ СИСТЕМЫ Для одномерной системы

х(0=Ах(0+Ьи(0, x{t)=qx{t) (1.7)

с произвольной структурой матрицы А= («, п) и векторов Ь, q(«, 1) предпочтительной является каноническая форма в фазовых координатах

i(0 = Gz(/)-fe„«(0, 2(0=Pz(). (1.8)




[0] [ 1 ] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] [98] [99] [100]

0.0326