Теория автоматического управления (Курсовое проектирование). Учебное пособие
.pdf
Vt := ttT |
Vy := y1T |
N:=19 |
i := 0.. N |
|
|
6 |
|
|
|
|
|
4 |
|
|
|
|
|
Vyi |
|
|
|
|
|
2 |
|
|
|
|
|
0 |
|
50 |
100 |
150 |
200 |
0 |
|
Vti
Рис. 2. Кривая разгона, приведенная к началу координат
Предполагая, что кривая соответствует переходному процессу апериодического звена второго порядка с передаточной функцией
Wo(s) = |
|
ko |
, |
(1) |
(T s +1)(T s +1) |
||||
|
1 |
2 |
|
|
переходный процесс можно описать выражением
|
æ |
- T1 |
|
-t |
|
T2 |
|
-t |
ö |
|
|
|
h(t) = ko × |
ç |
× e T1 + |
|
× e T2 |
+1÷ |
× u , |
(2) |
|||||
ç |
|
|
|
|||||||||
|
|
|
|
|
T - T |
|
|
÷ |
|
|
||
|
ç T - T |
|
|
|
|
|
÷ |
|
|
|||
|
è |
1 2 |
1 |
2 |
|
|
ø |
|
|
|||
где u= 4 – входное воздействие; ko – коэффициент передачи объекта; Т1 и Т2 – постоянные времени.
Из рис. 2 видно, что приближенное значение коэффициента передачи объекта ko можно принять равным 1,1.
Оценку неизвестных постоянных 1Т, Т2, а также более точное значение ko, обеспечивающих наилучшее приближение расчетной кривой h(t) (2) и экспериментальной кривой разгона, заданной численно, можно получить с помощью функцииgenfit(Vt, Vy, VT, F). Эта функция возвращает вектор параметров Т функции F, дающий минимальное среднеквадратическое отклонение функции F(t, Т1, Т2,..Тn) от некоторой функцииy(t), заданной множествами (векторами) значений Vy, Vt. Функция F должна быть задана в виде вектора, содержащего непосредственно саму функцию F в символьном виде и выражения всех её
11
производных по параметрам Т(в том числе и поk 0 , для чего введем k 0 в вектор Т, задав его в виде Т0):
u:=4 T0:=ko
Задаем начальное приближение вектора VT параметров Т0, Т1, Т2 и обращаемся к функции genfit(Vt, Vy, VT, F):
æ 1 ö VT := çç 1 ÷÷
è4 ø
TT:= genfit (Vt,Vy, VT, F).
Выводим вектор параметров ТT
.
Передаточная функция объекта в приращениях с учетом запаздывания будет иметь вид:
|
|
ko |
-st , |
|
Wo(s) = |
|
e |
||
(T s +1)(T s +1) |
||||
|
1 |
2 |
|
|
где k 0 =1,245 ; T1 = 89,65 c ; |
T2 = 3,15 c ; t = 40 c . |
|||
12
Выражение для функции с уточненными параметрами ТT возьмем из вектора F(t,TT): Y(t) := F(t , TT )0 .
Строим графики исходной и расчетной кривых(рис. 3), задав интервал изменения t: t := 0..190 . Как видно, графики достаточно близки.
6 |
|
|
|
|
4 |
|
|
|
|
Vy i |
|
|
|
|
Y ( t ) |
|
|
|
|
2 |
|
|
|
|
0 |
50 |
100 |
150 |
200 |
0 |
||||
|
|
Vt i , t |
|
|
|
Рис. 3. Экспериментальная и расчетная кривые |
|
||
Аналогичный результат можно получить, используя для поиска вектора параметров функции h(t), дающего минимальное среднеквадратическое отклонение функции h(t) от численно заданной функции y(ti) (минимизируемый критерий поиска), программу, реализующую метод покоординатного спуска.
Метод заключается в задании начального значения параметров и последующего их поочередного пошагового изменения в направлении, улучшающем критерий поиска. Если изменение любого параметра не приводит к улучшению критерия, уменьшают шаг изменения параметров. Если шаг станет меньше заданной погрешности поиска, процесс поиска завершают.
Алгоритм программы:
1)задают начальное значения шага изменения параметров dTN, погрешность поиска или точность оценки параметровeps, начальные значения параметров Тi;
2)рассчитывают переходный процесс h(t,T,nT,u) и минимизируемый критерий поиска Kriteri_o;
3)обнуляют признак улучшения критерияPriznak, устанавливают счетчик параметров i в ноль;
4)изменяют параметр Тi на величину шага dTN;
13
5)рассчитывают переходный процесс h(t,T,nT,u) и крите-
рий поиска Kriteri_n;
6)если произошло улучшение критерия, т. е. Kriteri_n< <Kriteri_o, то устанавливают признак улучшения критерия в единицу, значение Kriteri_n переписывают в Kriteri_o и повторяют изменение параметра, вычисление критерия и перезапись его на место предыдущего до тех пор, пока значения критерия не ухудшится; в этом случае возвращают предыдущее значение параметра и переходят к изменению следующего параметра; если массив параметров закончился, возвращаются к первому параметру (i=0) и продолжают вычисления;
7)если значение критерия на первом шаге не улучшилось,
изменяют знак dTN на противоположный, изменяют параметр на удвоенную величину шагаdTN, рассчитывают переходный процесс h(t,T,nT,u) и критерий поиска Kriteri_n; если произошло улучшение критерия то проводят вычисления аналогичные п. 6; если же критерий не улучшился, возвращают предыдущее значение параметра Тi и увеличивают счетчик параметров на единицу;
8)если массив параметров не закончился ( i £ NT ), возвращаются к п. 4; если массив параметров закончился ( i > NT ),
апризнак улучшения критерияPriznak остался равным нулю, уменьшают шаг dTN в два раза и сравнивают с точностью оценки параметров eps;
9)если dTN > eps - возвращаются к п. 3, т. е. продолжают поиск; если dTN £ eps - заканчивают поиск; последние значения
параметров и будут оптимальными.
Воспользуемся приведенным алгоритмом для поиска неизвестных параметров модели объекта. Запишем решение дифференциального уравнения (1) второго порядка в виде:
|
æ |
- T1 |
|
|
-t |
|
T2 |
|
|
- t |
h (t, Т , u ) = T0 |
ç |
|
× e |
T1 |
|
|
× e |
T2 |
||
× ç |
|
|
|
+ |
|
|
|
|||
T - T |
2 |
|
T - T |
2 |
|
|||||
|
ç |
1 |
|
|
|
1 |
|
|
||
|
è |
|
|
|
|
|
|
|
|
|
ö
+ 1÷÷ × u .
÷
ø
Зададим порядок уравнения, начальный шаг изменения параметров, точность оценки параметров, начальные значения параметров и запишем программу:
nT:=2 dTN:=0.99 eps:=0.0001 T0:=1 T1:=1 T2:=4
14
F(Vt, Vy,T) := dT ¬ dTN
Kriteri_o ¬ 0
for j Î 1.. N
Kriteri_o ¬ Kriteri_o + (Vyj - h(Vtj, T, nT , u))2
while dT > eps
|
Priznak ¬ 1 |
|||||||
|
while Priznak > 0 |
|||||||
|
|
Priznak ¬ 0 |
||||||
|
|
|||||||
|
|
for i Î 0.. nT |
||||||
|
|
|
|
Ti ¬ Ti + dT |
||||
|
|
|
||||||
|
|
|
|
Kriteri_n ¬ 0 |
||||
|
|
|
|
for j Î 1.. N |
||||
|
|
|
|
Kriteri_n ¬ Kriteri_n + (Vyj - h(Vtj, T,nT , u))2 |
||||
|
|
|
|
if |
Kriteri_n > Kriteri_o |
|||
|
|
|
|
|
dT ¬ -dT |
|||
|
|
|
|
|
||||
|
|
|
|
|
Ti ¬ Ti + 2dT |
|||
|
|
|
|
|
Kriteri_n ¬ 0 |
|||
|
|
|
|
|
for j Î 1.. N |
|||
|
|
|
|
|
Kriteri_n ¬ Kriteri_n + (Vyj - h(Vtj, T, nT ,u))2 |
|||
|
|
|
|
if |
Kriteri_n £ Kriteri_o |
|||
|
|
|
|
|
while Kriteri_n £ Kriteri_o |
|||
|
|
|
|
|
||||
|
|
|
|
|
|
Kriteri_o ¬ Kriteri_n |
||
|
|
|
|
|
|
|||
|
|
|
|
|
|
Ti ¬ Ti + dT |
||
|
|
|
|
|
|
Kriteri_n ¬ 0 |
||
|
|
|
|
|
|
for j Î 1.. N |
||
|
|
|
|
|
|
Kriteri_n ¬ Kriteri_n + (Vyj - h(Vtj,T, nT , u))2 |
||
|
|
|
|
|
Priznak ¬ 1 |
|||
|
|
|
|
Ti ¬ Ti - dT |
||||
|
a ¬ 0 |
|
|
|
|
|||
|
dT ¬ |
dT |
if Priznak |
|
0 |
|||
|
||||||||
|
2 |
|
|
|
|
|||
return T |
|
|
|
|
||||
15
Обратимся к программе и выведем вычисленные параметры |
|
|||||||||||||||
T := F(Vt, Vy,T), |
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
æ 1.243 ö |
|
|
|
|
|
|
|
|
|
|||||
T = |
ç 89.249÷ |
|
|
|
|
|
|
|
|
|
||||||
|
|
ç |
|
|
|
÷ |
|
|
|
|
|
|
|
|
|
|
|
|
è 3.247 ø |
|
|
|
|
|
|
|
|
|
|||||
График функции (рис. 4) |
|
|
|
|
|
|
||||||||||
|
|
æ |
|
-T |
|
- t |
|
T |
|
|
- t |
ö |
|
|
||
|
|
ç |
|
|
× e T1 + |
|
|
|
|
÷ |
|
|
||||
H(t) := T |
0 |
× ç |
T |
|
|
1 |
T |
|
|
2 |
|
× e T2 + 1÷ |
× u |
|
||
|
ç |
1 |
- T |
2 |
1 |
- T |
2 |
÷ |
|
|
||||||
|
|
è |
|
|
|
|
|
|
|
ø |
|
|
||||
достаточно близко совпадает с исходной функцией. |
|
|||||||||||||||
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Vyi |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
H(t) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|
|
|
|
50 |
|
|
|
|
|
100 |
|
150 |
200 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
Vti , t |
|
|
|
|
Рис. 4. Экспериментальная и расчетная кривая, полученная методом |
||||||||||||||||
|
|
|
|
|
|
|
наименьших квадратов |
|
|
|
||||||
Эту же программу можно использовать и для оценки параметров других передаточных функций, например,
kо
Wo(s) = (T1s +1)(T2s +1)(T3s +1),
для которой переходная функция запишется при ko=T0 как
16
|
|
|
|
|
é |
- |
t |
|
|
- |
t |
|
|
|
|
|
|
|
|
ê |
T12 e T1 |
T22e T2 |
|||||||
h1(t, T, nT, u) = T0 u êê1 - |
|
- |
|
- |
||||||||||
(T1 - T2 )(T1 - T3 ) |
(T2 - T1 )(T2 - T3 ) |
|||||||||||||
|
|
|
|
|
ê |
|
|
|
|
(3) |
||||
|
|
|
|
t |
ë |
|
|
|
|
|||||
|
|
|
- |
ù |
|
|
|
|
|
|
|
|
||
|
|
T32 e T3 |
ú |
|
|
|
|
|
|
|
|
|||
- |
|
úú . |
|
|
|
|
|
|
|
|
||||
(T - T )(T - T ) |
|
|
|
|
|
|
|
|
||||||
|
3 |
1 |
3 |
2 |
|
|
|
|
|
|
|
|
|
|
ú
û
Количество искомых параметров вектора nT в этом случае равно 4.
Для передаточной функции
Wo(s) = |
|
kо ×(T4s +1) |
(4) |
||
(T s +1)(T s +1)(T s +1) |
|
||||
|
1 |
2 |
3 |
|
|
переходная функция равна сумме функций, одна из которых описана выражением (3), вторая равна производной от этого выражения по времени, умноженной на T4:
h(t, T, nT, u) = h1(t, T, nT, u) + h2(t, T, nT, u) ,
|
|
|
|
|
|
|
|
|
|
é |
|
|
|
- |
t |
|
|
|
|
|
- |
|
t |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ê |
|
|
|
T1 |
|
|
|
|
T2 |
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
ê |
|
T1 e |
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
ê |
|
|
|
|
|
|
|
|
T2 e |
|
|
|
|
|
|||
h 2 ( t , T , nT , u ) = T0 T4 u |
ê |
(T - T |
2 |
)(T - T |
3 |
)+ |
(T |
2 |
- T )(T |
2 |
- T |
3 |
)+ |
||||||||||||||
|
|
|
|
|
|
|
|
|
|
ê |
1 |
|
1 |
|
|
|
1 |
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
ê |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ë |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- |
|
t |
|
|
ù |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
T3 e |
T3 |
|
|
ú |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
+ |
|
|
|
|
|
|
|
ú . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(T |
3 |
- T )(T |
3 |
- T |
2 |
) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
1 |
|
|
ú |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
û
Количество искомых параметров nT в данном случае равно пяти. Выражения для переходных функций по предполагае-
мым передаточным функциям объекта могут быть получены путем обратного преобразования Лапласа передаточной функции, деленной на s. При численной идентификации переходные процессы в дискретных точках можно вычислить с помощью рекуррентных формул.
17
2.2. Построение переходных процессов по рекуррентным формулам
Расчет переходного процесса по дифференциальному уравнению можно также производить методом конечных разно-
стей с малым шагом дискретизации времени Dt [2]. Для объекта с передаточной функцией(1) дифференциальное уравнение имеет вид:
T T |
d 2 y |
+ (T + T ) |
dy |
+ y = ko × u . |
|
|
|||
1 2 dt 2 |
1 2 dt |
|||
Производные в этом уравнении при маломDt для дискретных моментов времениiDt можно заменить отношениями конечных разностей:
dy |
» |
|
Dyi |
= |
|
yi - yi-1 |
, |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|||||
dt |
|
Dt |
|
|
Dt |
|
|
|
|||||
d 2 y |
|
» |
D2 y i |
= |
Dyi - Dyi-1 |
= |
yi - 2yi-1 + yi-2 |
, |
|||||
dt 2 |
|
Dt 2 |
Dt 2 |
||||||||||
|
|
Dt 2 |
|
|
|
|
|||||||
и уравнение в конечных разностях запишется как:
T T |
yi - 2yi-1 + yi-2 |
+ (T + T ) |
yi - yi-1 |
+ y |
i |
= ko × u |
i |
, |
|
|
|||||||
1 2 |
1 2 |
Dt |
|
|
|
|||
|
Dt 2 |
|
|
|
|
|
|
|
где i – номер значения или отсчета.
Выражая из последнего уравненияyi , запишем рекуррентную формулу вычисления yi через предыдущие значения функции и управляющее воздействие u :
|
ko × Dt 2 u |
i |
+ [2 × T T + (T + T |
2 |
)× Dt]y |
i-1 |
- T T × y |
i-2 |
|||||||||||||
yi = |
|
|
|
|
1 2 |
1 |
|
|
|
|
|
|
|
1 2 |
|||||||
|
|
|
T T + |
(T + T |
2 |
)× Dt + Dt 2 |
|
|
|
||||||||||||
или |
|
|
|
1 |
2 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
yi = a1(T1 , T2 , Dt )y i-1 + a2(T1, T2 , Dt )yi-2 + b(ko, T1, T2 , Dt )u i , (5) |
|||||||||||||||||||||
где a1(T1 , T2 , Dt)= |
|
[2 × T1T2 + (T1 + T2 )× Dt] |
, |
|
|
||||||||||||||||
|
T T |
+ (T |
+ T |
2 |
) |
× Dt + Dt 2 |
|
|
|||||||||||||
|
|
|
|
1 |
2 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|||
a2(T1 , T2 , Dt)= |
|
|
|
|
- T1T2 |
|
|
|
|
|
|
, |
|
|
|
||||||
T T + (T + T |
2 |
)× Dt + Dt 2 |
|
|
|
||||||||||||||||
|
|
|
1 |
2 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
18
b(ko, T1 , T2 , Dt )= |
|
|
koDt 2 |
||
|
|
|
. |
||
T T |
+ (T |
+ T )× Dt + Dt 2 |
|||
1 |
2 |
1 |
2 |
|
|
Вычисления производят в цикле, начиная с i = 2 , а первые два значения уi должны быть заданы.
Рекуррентное выражения вида (5) может быть записано и для других передаточных функций, представляемых дробнорациональной функцией:
|
æ |
m |
ö |
|
|
kо × ç |
å B |
s j +1÷ |
|
|
ç |
j |
÷ |
|
Wo(s) = |
è j=1 |
ø |
. |
|
n |
|
|
||
|
|
|
|
|
|
å A js j + 1 |
|
||
j=1
Записать выражение для переходного процесса таких функций в виде зависимости от коэффициентов ,АВ в общем случае невозможно, а рекуррентное выражение имеет вид:
yi = ån |
a j (Dt y) i- j + ko åm b j (Dt u) i- j . |
(6) |
j=1 |
j=0 |
|
В частности, передаточная функция (4) может быть записана в виде:
|
|
|
kо × (B1s +1) |
||||
Wo(s) = |
|
|
|
|
|
|
, |
A |
s3 |
+ A |
|
s 2 |
|
||
|
2 |
+ A s + 1 |
|||||
3 |
|
|
|
1 |
|
||
а дифференциальное уравнение объекта
A 3 |
d 3 y |
+ A 2 |
d 2 y |
+ A1 |
dy |
+ y = ko |
||
dt |
3 |
dt 2 |
dt |
|||||
|
|
|
|
|||||
æ |
|
|
du |
ö |
|
× çB |
1 |
× |
|
+ u ÷ . |
|
dt |
|||||
è |
|
ø |
Учитывая, что третья производная приближенно равна
d3 y |
» |
D3 yi |
= |
D2 yi - D2 yi-1 |
= |
|
|
|
|
dt 3 |
Dt 3 |
Dt 3 |
|
|
|
||||
|
|
|
|
|
|
||||
= |
(yi - 2yi-1 + yi-2 )- y( i-1 - 2yi-2 + yi-3 ) |
= |
yi - 3yi-1 + 3yi-2 - yi-3 |
, |
|||||
|
Dt 3 |
||||||||
|
|
|
|
|
Dt 3 |
|
|
|
|
в конечных разностях последнее уравнение можно записать как
19
A3
A1
|
yi - 3yi-1 + 3yi-2 - yi-3 |
|
+ A 2 |
yi |
- 2yi-1 + yi-2 |
+ |
||||||||||
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
Dt 3 |
|
|
|
|
|
|
|
Dt 2 |
|
||
|
y |
i |
- y |
i-1 |
|
|
æ |
u |
i |
- u |
i-1 |
|
|
ö |
|
|
|
|
|
+ y |
|
= ko × çB |
|
|
|
+ u |
|
÷. |
|
||||
|
|
|
Dt |
|
|
|
|
|
Dt |
|
|
|
||||
|
|
|
|
|
i |
è 1 |
|
|
|
|
|
i |
ø |
|
||
Чтобы избавиться от знаменателей, умножим левую и
правую части уравнения на Dt3 , затем выразим уi через остальные слагаемые:
yi = A3 + A 2 × Dt +1A1 × Dt 2 + Dt 3 [(3A3 + 2A 2 × Dt + A1 × Dt 2 )yi-1 - - (3A3 + A 2 × Dt )yi-2 + A3 yi-3 + ko(B1 × Dt 2 + Dt 3 )u i -
- ko × B1 × Dt 2 u i-1 ].
Это выражение можно представить в виде (6), где
a1 |
= |
|
3A |
3 + 2A 2 × Dt + A1 × Dt 2 |
, |
|||||||
A 3 + A 2 × Dt + A1 × Dt 2 |
+ Dt 3 |
|||||||||||
|
|
|
|
|
|
|
||||||
a 2 |
= |
|
|
- (3A3 + A 2 × Dt) |
|
|
|
|
, |
|||
|
A 3 + A 2 × Dt + A1 × Dt |
2 |
+ Dt 3 |
|
|
|
||||||
|
|
|
|
|
|
|
|
|||||
a 3 |
= |
|
|
A 3 |
|
|
|
|
, |
|||
|
A 3 + A 2 × Dt + A1 × Dt |
2 |
+ Dt 3 |
|
|
|||||||
|
|
|
|
|
|
|
|
|||||
|
|
|
|
B × Dt 2 + Dt 3 |
|
|
|
|
|
|
, |
|
b0 |
= |
|
|
1 |
|
|
|
|
|
|
||
|
A 3 + A 2 × Dt + A1 × Dt |
2 |
+ Dt 3 |
|
|
|||||||
|
|
|
|
|
|
|
|
|||||
|
|
|
|
- B × Dt 2 |
|
|
|
. |
||||
b1 |
= |
|
|
1 |
|
|
|
|||||
A3 + A 2 × Dt + A1 × Dt |
2 |
+ Dt 3 |
|
|||||||||
|
|
|
|
|
|
|
||||||
Можно выполнять идентификацию объекта по его рекуррентной функции, но следует иметь в виду, что ее коэффициенты зависят от шага дискретизации времени Dt , сами же коэффициенты следует рассчитывать с высокой точностью, так как эта модель очень чувствительна к погрешностям коэффициентов, сходимость процесса поиска к глобальному минимуму сильно ухудшается с увеличением числа коэффициентов.
20
