神经网络PID控制.
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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,
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,