книги / Современные проблемы теории управления
..pdfТерм MMR
|
1 |
|
|
|
|
1 |
|
1 |
|
-5 |
|
|
|
|
0 |
|
|
|
|
|
|
1 |
1 |
|
|
1 |
|
|
1 |
0 |
|
|
2 |
3 |
|
|
0 |
||
|
|
|
|
|
|
1 |
|
|
|
|
0 |
5 |
5 |
|
|
|
|
||
|
|
|
|
|
|
|
|
2 |
y |
x |
|
|
1 |
|
1 |
|
|
||
|
|
|
||
|
|
|
|
X |
Y |
–7 |
0 |
–6 |
0 |
–5 |
5 |
–4 |
4 |
–3 |
3 |
–2 |
2 |
–1 |
1 |
00
10
Рис. 7.11. Структурная схема, таблица истинности и графическое изображение терма МMR
Терм NL (норма левая)
|
|
0 |
|
5 |
3 |
|
|
y |
x |
1 |
1 |
|
||
|
|
|
|
1 |
|
|
1 |
1 |
|
-5 |
|
|
|
0 |
|
1 |
1 |
|
1 |
|
|
|
|
|
0 |
2 |
|
1 |
1 |
|
0 |
|
X |
Y |
–6 |
0 |
–5 |
0 |
–4 |
1 |
–3 |
2 |
–2 |
3 |
–1 |
4 |
05
10
20
Рис. 7.12. Структурная схема, таблица истинности терма NL
171
|
Терм NR (норма правая) |
|
|
||
|
|
|
|
X |
Y |
|
|
|
|
–2 |
0 |
|
0 |
3 |
y |
–1 |
0 |
|
|
0 |
5 |
||
|
5 |
|
|
1 |
4 |
|
1 |
|
|
2 |
3 |
x |
|
|
|
||
|
|
|
|
3 |
2 |
|
1 |
|
|
4 |
1 |
|
1 |
1 |
|
5 |
0 |
|
0 |
|
|
||
|
1 |
|
|
|
|
|
0 |
|
|
6 |
0 |
|
|
|
1 |
||
|
1 |
|
|
|
|
5 |
1 |
2 |
|
|
|
|
|
|
|
||
|
|
1 |
|
|
|
|
0 |
|
|
|
|
|
Рис. 7.13. Структурная схема, таблица истинности терма NR |
|
|||
|
Терм MPL (положительное левое среднее) |
|
|||
|
|
1 |
|
|
|
|
0 |
3 |
|
|
|
|
|
|
|
|
|
|
x |
|
|
0 |
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
1 |
1 |
1 |
|
|
0 |
|
|
||
|
|
|
y |
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
1 |
|
|
|
|
5 |
2 |
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
0 |
|
|
|
X |
Y |
-1 |
0 |
00
11
22
33
44
55
60
70
Рис. 7.14. Структурная схема, таблица истинности терма MRL
172
Терм MPR (положительное среднее правое)
0 |
1 |
|
y |
||
|
10
x |
|
1 |
|
|
|
1 |
|
|
5 |
1 |
2 |
|
||
|
|
|
|
|
0 |
1 |
|
1 |
1
10
1
1
3
0
X Y
30
40
55
64
73
82
91
10 0
Рис. 7.15. Структурная схема, таблица истинности и графическое изображение терма MPR
Терм ТP (положительное большое) |
|
|
|
1 |
|
10 |
|
|
5 |
1 |
|
|
|
|
1 |
1 |
y |
x |
|
|
1 |
|
3 |
5 |
1 |
|
|
|
1 |
|
|
|
|
|
2 |
0
0
1
X Y
40
50
61
72
83
94
10 5
Рис. 7.16. Структурная схема, таблица истинности и графическое изображение терма ТP
173
Определение ветви функции принадлежности
Для определения участков кривых принадлежности в системе SСADE собран кодер, показанный на рис. 7.17. В зависимости от входной величины x определяется номер участка, в который она попадает.
|
|
Coder |
|
|
|
3 |
|
x |
-0.5 |
|
|
|
|
3 |
|
|
0 |
|
|
|
|
y |
|
|
|
|
|
|
0.0 |
|
|
|
|
1 |
|
|
|
|
2 |
|
|
|
4 |
|
|
4 |
1 |
|
|
|
|
|
|
3 |
|
|
|
|
1 |
|
|
|
1 |
|
|
2 |
2 |
|
|
|
|
|
0.5 |
|
|
|
|
2 |
|
|
|
|
3 |
|
|
|
2 |
|
|
1 |
3 |
|
|
|
|
|
1.0 |
|
3 |
Рис. 7.17. Coder. Определение ветви функции принадлежности
Fuzzy
В блоке Fuzzy, показанном на рис. 7.18, собираются все участки функции принадлежности с помощью двух мультиплексоров, управляемых кодером.
Блок адаптации
Для осуществления алгоритма адаптации составлена схема Learn (рис. 7.19). Был проведен анализ двух алгоритмов адаптации: первый (предлагается в литературе) алгоритм стохастической аппроксимации и второй – метод обучения. В соответствии с методом стохастической аппроксимации подборка коэффициентов проводится в соответствии с выражением
174
φi (k +1) = φi (k) + CE(k)yi (k) ,
где φi (k) – коэффициент нейрона для i-го входа на k-й итерации; E(k) – ошибкауправления, E(k) = ( U − φi yi ).
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
Coder |
|
|
|
|
|
|
REAL |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10.0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
y 1 |
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
1 |
INT1 |
|
|
|
|
|
|
|
|
|
|
x |
|
L_M |
|
|
|
0 |
0.2 |
|
|
|
||
|
|
|
|
|
|
|
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
1 |
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|
|
M_M_L |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
Def ault |
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
M_M_R |
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
N_L |
|
|
|
|
REAL |
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
1 |
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
2 |
|
3 |
|
y 2 |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
N_R |
|
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
Def ault |
0.2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
0 |
|
|
|
|
|
|
|
|
|
M_P_L |
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
M_P_R |
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
B_P |
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 7.18. Схема блока Fuzzy |
|
|
|
|
||||
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
X |
1 |
|
|
|
|
|
|
|
|
|
DeltaU |
|
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
1 |
1 |
|
|
1 |
|
|
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
u1 |
|
|
|
|
|
3 |
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
Fi_in |
|
|
|
2 |
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
||
Acc |
u2 |
|
|
1 |
|
|
2 |
|
|
1 |
|
Fi_out |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
R І |
|
|
|
|
|
|
|
Acc |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
R І |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
true |
|
3 |
|
|
|
|
|
|
Рис. 7.19. Блок обучения Learn |
|
|
|
|
Как показали исследования, число итераций при стохастической аппроксимации достигает от нескольких десятков и до сотни. А регулирование должно проходить в реальном времени,
175
поэтому число итераций должно быть как можно меньше. Метод обучения уменьшил число итераций до 2–3. И далее используем именно этот метод. Метод обучения строится по рекуррентной формуле (3.10).
Схема Learn является базовой для итерационной процедуры и входит отдельным блоком в схему Learn NN, в которой происходит сравнение суммы сигналов φ1 y1 + φ2 y2 с сигналом
ошибки U. Точность сравнения для процесса адаптации задана, например 0,01. Эту точность можно менять (рис. 7.20).
|
|
1 |
|
FBY1 |
|
|
|
f alse |
|
|
1 |
0.5 |
1 |
|
|
|
|
|
|
|
|
Acc |
a |
|
|
|
|
|
1 |
fold<<5>> |
|
1 |
|
|
DeltaU |
|
|
1 |
|
|
FI1U1 |
|
|
|
|
|
Ok |
|
|
|
|
Learn |
|
Acc |
FI2U2 |
|
|
|
|
|
||
|
|
|
|
|
|
|
u1 |
|
2 |
|
|
|
|
2 u2
3 |
FBY 2 |
|
|
1 |
0.5 |
Рис. 7.20. Структурная схема итерационного блока
Произведение φi yi подается на активационный блок. Сум-
ма сигналов с активационных блоков представляет сигнал управления объектом.
7.4.2. МОДЕЛИРОВАНИЕ АКТИВАЦИОННОГО БЛОКА
Для активационного блока предложены две структуры. В первой структуре вначале определяется максимальное по модулю произведение φi yi . И именно этот сигнал далее подается
на усилитель. Эта структура заложена в схеме (рис. 7.25). Вторая структура отличается от первой тем, что каждое произведение φi yi усиливается своим усилителем, и далее усиленные сиг-
176
налы поступают на выходной сумматор. В усилителях использованы разные функции, в которых можно менять параметры с целью выбора наилучшего для обеспечения требуемых динамических характеристик.
Рассмотрены четыре вида активационных функций:
1. |
f (x) = |
|
|
1 |
|
– смещенная сигмоидная функция; |
||
|
|
|
|
|
||||
1 |
+ e−kx |
|||||||
|
|
|
||||||
2. |
f (x) = |
1− e− kx |
– симметричная сигмоидная функция; |
|||||
|
|
1+ e−kx |
|
|||||
3. |
thkx = |
ekx − e− kx |
– гиперболический тангенс; |
|||||
ekx + e− kx |
||||||||
|
|
|
||||||
4. |
f (κ x) = |
2 |
arcthκ x – обратныйгиперболическийтангенс. |
|||||
|
||||||||
|
|
|
|
π |
|
Сигмоидная функция обладает свойством усиливать слабые сигналы лучше, чем сильные, и предотвращает насыщение от сильных сигналов, так как они соответствуют областям аргументов, где сигмоид имеет положительный наклон. Отличие гиперболического тангенса от смещенной сигмоидной функции в том, что он принимает значения разных знаков, что для ряда нейронных регуляторов является полезным, кроме того, наклон функции гиперболического косинуса меньше, а значит, коэффициент усиления также меньше (рис. 7.21).
ActivFunk1
OK |
1 |
|
1 |
|
|
||
FI1U1 |
|
|
2 |
0.0 |
|
2 |
|
|
2 |
|
3 |
|
|
2.5 |
|
FI2U2 |
|
2 |
1 |
|
|
|
1.0 |
|
0.0 |
|
y 1 |
|
1 |
|
|
|
X |
|
0.0 |
|
1 |
|
|
|
mathext:... |
|
1 |
|
2 |
|
|
|
X |
|
|
|
|
1.0 |
|
|
1 |
|
|
|
-1.5 |
|
|
|
Рис. 7.21. Структурная схема смещенной сигмоидной функции |
177
ActivFunk2 |
( f (x) = |
2 arcthx |
гиперболический |
косинус), |
||
показанный на рис. 7.22. |
|
π |
|
|
|
|
|
|
|
|
|
||
OK |
|
|
|
|
|
|
|
|
|
|
|
1.0 |
|
|
1 |
|
1 |
|
|
|
FI1U1 |
|
|
|
|
|
|
|
|
|
mathext:... |
1 |
1 |
|
-1.0 |
|
|
|
|
|
|
|
|
|
1.0 |
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
2 |
|
|
y 1 |
FI2U2 |
2 |
mathext::ExpR |
2 |
|
|
|
|
2 |
|
||||
|
|
|
|
|
|
|
-1.0 |
|
|
|
|
0.0 |
|
|
|
|
1.0 |
|
|
|
Рис. 7.22. Структурная схема ActivFunk2 функции |
|
|||||
|
гиперболический косинус |
|
Структурные схемы ActivFunk3 симметричной сигмоидной функции и сигмоидной функции ActivFunk4 показаны на рис. 7.23, 7.24.
|
1.0 |
2 |
|
|
|
|
|
||
|
2 |
|
|
|
FI1U1 |
1 |
2 |
|
|
|
mathext:... |
2 |
||
|
-1.5 |
|
|
|
|
|
1.0 |
3 |
|
|
|
|
||
|
|
|
1 |
|
|
1 |
|
y 1 |
|
|
|
|
||
FI2U2 |
2 |
1 |
|
|
mathext:... |
1 |
|||
|
|
|||
|
-1.5 |
|
0.0 |
|
|
|
1.0 |
|
|
|
|
1 |
|
|
OK |
|
|
|
|
Рис. 7.23. Структурная схема ActivFunk3 симметричной |
||||
|
сигмоидной функции |
|
||
|
ActivFunk4 |
|
||
|
1.0 |
1 |
|
|
|
|
|
||
|
1 |
|
|
|
FI1U1 |
1 |
2 |
|
|
|
mathext:... |
2 |
||
|
2.0 |
|
|
|
|
|
1.0 |
3 |
|
|
|
|
||
|
|
|
1 |
|
|
2 |
1 |
y 1 |
|
|
|
|
||
FI2U2 |
2 |
|
|
|
mathext:... |
|
1 |
||
|
|
|||
|
2.0 |
|
0.0 |
|
|
|
1.0 |
|
|
|
|
2 |
|
|
OK |
|
|
|
|
Рис. 7.24. Структура ActivFunk 4 сигмоидной функции |
178
f (x) = e2x − 1 . e2x + 1
Далее блоки Learn NN и ActivFunk объединены в общую структуру LearnActiv, показанную на рис. 7.25. В этой структуре можно менять вид активационной функции.
DeltaU
|
|
|
|
|
|
|
1 |
|
|
1 |
|
|
|
|
U1 |
|
|
|
|
|
LearnNN |
|
|
Activ Funk1 |
|
|
|
y |
|
U2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
Рис. 7.25. Структура LearnActiv
7.4.3. Описание исследуемых объектов
Рассмотрим динамический объект второго порядка, описываемый дифференциальным уравнением с заданными коэффициентами. В зависимости от коэффициентов система может быть устойчивой и неустойчивой, атакжес колебаниями ибез колебаний.
Запишем дифференциальное уравнение с нулевыми начальными условиями:
d2 y(2 t) + b1 dy(t) + b0 y (t ) = x(t ).
dt dt
Для данного дифференциального уравнения можно записать передаточную функцию:
W ( p) = |
Y ( p) |
= |
1 |
. |
(7.1) |
|
X ( p) |
p2 + b1 p + b0 |
|||||
|
|
|
|
Для того чтобы воспользоваться системой SСАDЕ Suite, модель объекта должна быть преобразована в дискретный вид.
179
Переведём передаточную функцию, заданную в непрерывном виде, в дискретный вид, используя z-преобразование (замену оператора p на z):
p = 2 fD |
1− z |
−1 |
, |
(7.2) |
||
1 |
+ z |
−1 |
||||
|
|
|
где fD – частота дискретизации.
Подставив (7.2) в полином знаменателя (7.1), получим:
|
|
|
|
2 |
|
(1− z−1 )2 |
|
2 fD |
1 |
− z−1 |
+ b0 = |
|
|
||||||||
|
|
|
4 fD |
|
(1+ z−1 )2 |
+ b1 |
|
+ z−1 |
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
(7.3) |
|||||
|
|
2 |
(1− z |
−1 |
) |
2 |
+ b1 2 fD |
(1− z |
−2 |
) + b0 (1+ z |
−2 |
) |
2 |
|
|||||||
|
|
|
|||||||||||||||||||
= |
|
4 fD |
|
|
|
|
|
|
|
= |
X (z) |
. |
|||||||||
|
|
|
|
|
|
|
(1+ z−1 )2 |
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Y (z) |
Решая пропорцию в выражении (7.3), получим:
X(z) + 2X (z)z−1 + X (z)z−2 =
=(4 fD2 + b12 fD + b0 )+ z−1 (−8fD2 + 2b0 )+ z−2 (4 fD2 − b12 fD + b0 ) Y (z). (7.4)
Преобразуя (7.4), получим:
(4 fD2 + b1 2 fD + b0 )Y (z) = X (z) + 2X (z) z−1 + X (z) z−2 −
(7.5)
− z−1 (−8 fD2 + 2b0 )Y (z) − z−2 (4 fD2 − b1 2 fD + b0 )Y (z).
В соответствии с выражением (7.5) составлена структура в системе SCADE Suite (рис. 7.26).
По указанному выше алгоритму можно описать любую систему.
Пример 7. Разработать адаптивное нечеткое управление недетерминированного объекта со встроенной моделью.
В последнее время в связи с предъявлением все более высоких требований к системам управления объектов проблема
180