神经网络PID控制.

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
e(k) e(k) e(k 1)
2e(k) e(k) 2e(k 1) e(k 2)
10
4. 由NNC产生u(k), 将u(k)同时送到对象及NNI。 5. 用下列各式前向计算NNI的输出yˆ (k 1)。
O
(1) j
(k
)

y(k u(k
j
j), n
)


y(k 1)
yˆ (
k

1)
Oi(
2)
(
k
)


( i
3)
(k

1)

(2 ij
)
(k
)


y(k

1)

yˆ (k

1)
i(3) (k )
f

net
( i
2)
(
k
)
O
(1) j
(
k
)


(2 ij
)
(k

1)
i 1,2,,Q, j 0,1,, ny nu
4.3.4 神经网络PID控制
一、方案一
图一 神经网络PID控制系统结构图
1
x1(k) e(k)
x2(k) e(k) e(k) e(k 1)
x3(k) 2e(k) e(k) 2e(k 1) e(k 2)
e(k) r(k) y(k)
NNC的输出为: u(k) k1 x1(k) k2 x2 (k) k3 x3 (k)
u(k ), u(k 1),, u(k nu+1) (3)
4
NNI采用三层BP网络,网络的输入层有nI ny nu 1 个神经元。其构成为
O(1) j
(k
)

y(k u(k
j), j
ny
),
0 j ny 1 ny j ny nu 1
模型为
y(k ) F y(k 1), y(k 2),, y(k ny ),
u(k 1), u(k 2),, u(k nu ) (2)
式中,y(k ),u(k)为系统输出和输入;ny、nu为y和u
的阶次;F 为非线性函数。上式可改写为
y(k 1) F y(k ), y(k 1),, y(k ny+1),
24
以上算法归纳如下:
1. 选定BP网络的结构,即选定输入层节点数M和隐含层


数Q,








的初

(2) ij
(0)、
(3 li
)
(0),
选定学习速率和动量系数,k 0;
2. 采样得r(k)和y(k),计算e(k) r(k) y(k);
3. 对r(i)、y(i)、u(i 1)、e(i)(i k, k 1,, M 1)进行归
(
k
)+
(2) ij
(k
)
(2) i


3

( l
3)
(3 li
)
(
k
)
f

net
( i
2)
(k
)

l1


(21)
i 1,2,,Q

式中 g[] g( x)1 g( x)
f [] 1 f 2( x) 2
(3 li
)
(
k
)

(3) l

e(k

1) s gn
y(k 1) u(k )

u(k ) Ol(3) (k )
g
net
( l
3)
(
k
)

l 1,2,3

(20)
23
隐含层权系数的调整算式为

(2) ij
(
k+1)=

( i
2
)O
(1) j

O2(3) (k ) K I

O3(3) (k ) K D



(3 li
)为






, l(Q3
)

l为阈值,
g[] 1 [1 tanh( x)] 2
21
取性能指标
J 1 r(k 1) y(k 1) 2 1 e2(k 1)
(16)
0 1, 0 1
14
10. 令k k 1, 返回3。
15
参考书: 王永骥、涂健,神经元网络控制,机械
工业出版社. P303~307、 P177。
16
二、方案二
图二 神经网络PID控制系统结构图
17
经典PID控制算式为
u(k) u(k 1) K P[e(k) e(k 1)] K Ie(k)
u(k )
9
综上所述,图一所示的神经网络PID控制 系统的算法步骤: 1. 事先选定NNI BP神经网络的结构,即选定输入
层节点数 nI 和隐含层节点数 Q;选定学习速率
和动量系数 。用(-1,1)之间的随机值对NNC
和NNI的权值进行初始化,令k=0。 2. 采样得 y(k)、r(k) 。 3. 计算 e(k) r(k) y(k)
输出为
Q
yˆ(k 1)

( i
3
)
(
k
)Oi(
2
)
(
k
)
(6)
i 1


( i
3)为








(3)为
Q



(3) Q



7
NNI利用BP学习算法来修正加权系数和阈值, 使 性能指标
JI

1 y(k
2
1)
yˆ (k
1) 2
(7)
最小化,加权系数的调整规律为:
O(1) ny nu
(k
)

1
网络的隐含层单元个数Q nI,其输入输出关系为
ny nu

net
( i
2
)
(
k
)


(2 ij
)
(
k
)O
(1) j
(
k
)

j0
Oi(2)(k)
f
net
( i
2)
(k
)
i 1,2,,Q 1

O(2) Q
(k
)

1




(k
)
net
( l
3
)
(k
)

(3) li
(18)
由于 y(k 1) 未知,所以近似用符号函数sgn[ y(k 1)]代替,
u(k )
u(k )
由此带来的计算不精确的影响可通过调整学习速率来补偿。
22
由(1)式可得
u(k ) O1(3) (k ) e(k ) e(k 1)
y),
O(1) ny
nu
(k
)

1
0 j ny 1 ny j ny nu 1
ny nu
net
( i
2
)
(k
)


(2) ij
(
k
)O
(1) j
(
k
)
j0
Oi(2)(k)
f
net
( i
2)
(k
)
,
i 1,,Q 1
OQ(2) (k ) 1
式中ki , i 1,2,3为权系数,u(k)Leabharlann Baidu输入信号的
加权和。由此可见,NNC具有增量PID控制的结构。
2
采用性能指标
Jc

1 r(k
2
1)
y(k
1)2
的最小化来训练权系数ki , i 1,2,3。则
ki
(k)


J c ki (k )

r (k
Q
yˆ(k 1)

( i
3)
(
k
)Oi(
2
)
(k
)
i 1
11
6. 计算 yˆ (k 1) 。 u(k )
yˆ(k 1)
u(k )

Q i 1
yˆ (k 1) Oi(2) (k )
Oi(2) (k )
net
( i
2)
(k
)
net
( i
2
)
(k
)
u(k )
1)
y(k

1) y(k 1)
u(k )
xi (k)
(1)
为学习速率,0 1,
i 1,2,3
3
由于 y(k 1) 未知,所以采用NNI来辨识对象模型, u(k )
以求得 y(k 1) 的替代量yˆ (k 1) 。
u(k )
u(k )
设被控对象为单输入单输出的非线性系统,其数学
一化处理,作为NN的输入;
4. 根据(13) ~ (15)式前向计算NN的各层神经元的输入和输出,
NN输






为PID控








数K

P
K
I、K

D
5. 根据(12)式计算PID控制器的输出u(k), 参与控制和计算;
6. 采样得r(k+1)和y(k+1),计算e(k+1) r(k+1) y(k+1);
K D[e(k) 2e(k 1) e(k 2)]
(12)


,K
P,K
I,K

D








微分



18
设BP神经网络是一个M Q 3的三层前向网络。输入节点
对应所选的系统运行状态量,如系统不同时刻的输入量和
输出量等,必要时要进行归一化处理。







应PID控


(13)

M
neti(2) (k )

(2) ij
(
k
)O
(1) j
(
k
)

j0
O(2) i
(k
)

f
net
( i
2
)
(k
)
i 1,2,,Q 1

(14)
O(2) Q
(k
)

1




(2 ij
)为







(2)为
iM


,f
[]

tanh(
(4)

(5)
5
图二 辨识器网络NNI 结构图
6
(5)式

(2 ij
)为








(2) i(ny

nu

)




(2) i(ny

nu
)
(k
)=
i
(
k
);
f
为激发函数,
f
x

tanh(
x)

1 1

ex ex
网络的输出层单元个数为1,激发函数gx x,







数K
P,K
I,K

D
由于K P,K I,K D不能为负值,所以输出层神经元的激发函数取
非负的S函数,而隐含层神经元的激发函数可取正负对称的双
曲正切函数。
19
BP网络的输入层节点的输出为
O
(1) j
(k
)

xj

e(k

j),
j 1,2,, M 1
O(1) M
(k
)

1
网络的隐含层输入、输出为
u(k ) O2(3) (k ) e(k )
u(k ) O3(3) (k ) e(k ) 2e(k 1) e(k 2) 故BP网络输出层权系数的调整算式为
(19)

(3 li
)
(
k+1)=

( l
O 3) ( i
2)
(k
)+

j 0,1,, ny nu

(8)式中为学习速率,为动量系数,其值均在0,1上取值。
加入动量项的目的是使搜索过程快速收敛于全局极小。
8
由(4) ~ (6)式可导出yˆ(k 1) 的计算式,即 u(k )
yˆ(k 1) u(k )

Q i 1
yˆ(k 1) Oi(2) (k )
25
7.
由(
20)式








的权


(3) li
(
k
);
8.
由(
21)式








的权


(2) ij
(
k
);
9. 置k k 1, 返回到“3”,直到性能指标J
Oi(2) (k )
net
( i
2
)
(k
)
net
( i
2
)
(
k
)
u(k )
Q


( i
3
)
(
k
)
f

net
( i
2
)
(k
)

(2) iny
(
k
)
i 1
(9)
经过适当的学习后,NNI的输出yˆ将逼近y,因此
(1)式中的y(k 1) 可用 yˆ(k 1) 代替。
u(k )
Q


( i
3
)
(
k
)
f

net
( i
2)
(
k
)

(2) iny
(
k
)
i 1
(10)
7. 采样得y(k 1)、r(k 1)。(仿真计算时由对象
数学模型计算y(k 1))
12
8. 用(11)式及(10)式对NNC的权值进行修正。
ki (k)


J c ki (k)

x),上角

(1)、(2)、(3)分别对应输入层、隐含层、输出层。
20
网络的输出层的输入、输出为


Q
netl(3) (k )

(3 li
)
(k
)Oi(
2)
(k
)

i0
Ol(3) (k )

g
net
( l
3)
(k
)

l 1,2,3

(15)
O1(3) (k ) K P

J c y(k
1)
y(k 1) u(k )
u(k ) ki (k)

r ( k
1)

y(k
1)yˆ(k 1)
u(k )
xi (k)
0 1 , i 1,2,3
(11)
13
9. 用下列各式对NNI的权值进行修正。

( i
3
)
(k
2
2
依最速下降法修正权值,即

(3 li
)
(k+1)=


J

(3) li

(3 li
)
(k
)
(17)
式中为学习速率,为动量系数。
J

(3 li
)

J y(k 1)
y(k 1) u(k )
u(k ) Ol(3) (k )
Ol(3) (k )
net
( l
3
)

( i
3)
(
k
)=
y(k 1)
yˆ (k

1)
Oi(
2)
(
k
)+
( i
3)
(k-1)

(2) ij
(
k
)=
y(k

1)

yˆ (k

1)

( i
3
)
(k
)
f

net
( i
2
)
(k
)
O
(1) j
(k
)


(2) ij
(k-1)

(8)
i 1,2,Q,
相关文档
最新文档