[发明专利]一种神经网络PID闭环控制的FPGA实现方法在审
| 申请号: | 202111052881.8 | 申请日: | 2021-09-08 |
| 公开(公告)号: | CN113780543A | 公开(公告)日: | 2021-12-10 |
| 发明(设计)人: | 王俊;李谋道;林瑞全;程长春;谢鑫;林剑峰;谢欢;章敏 | 申请(专利权)人: | 福州大学 |
| 主分类号: | G06N3/063 | 分类号: | G06N3/063;G06N3/04;G06N3/08 |
| 代理公司: | 福州元创专利商标代理有限公司 35100 | 代理人: | 陈明鑫;蔡学俊 |
| 地址: | 350108 福建省福州市*** | 国省代码: | 福建;35 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 神经网络 pid 闭环控制 fpga 实现 方法 | ||
1.一种神经网络PID闭环控制的FPGA实现方法,其特征在于,包括如下步骤:
步骤S1、通过外部设备获取期望的转速,通过计算得到误差、期望转速和实际转速之后进入步骤S2;
步骤S2、利用BP神经网络算法进行前向传播计算,计算性能指标函数后进入步骤S3;
步骤S3、利用梯度下降原理进行误差的反向传播来修正各层神经元的权重,然后进入步骤S4;
步骤S4、在每次训练后,利用闭环PID算法计算并通过PWM技术和四倍频脉冲计数进行控制与测速。
2.根据权利要求1所述的一种神经网络PID闭环控制的FPGA实现方法,其特征在于,步骤S1中,通过公式e(k)=r(k)-y(k)进行误差计算,其中e(k)、r(k)和y(k)分别代表k时刻的当前误差、期望转速和实际转速,并作为BP神经网络的输入。
3.根据权利要求1所述的一种神经网络PID闭环控制的FPGA实现方法,其特征在于,步骤S2中,通过步骤S1得到的神经网络输入,再经过输入层、隐含层和输出层的神经元,神经元包括乘法器、累加器、权值寄存器、激活函数,结果为PID控制器的Kp、Ki和Kd控制参数;
式中的和分别代表隐含层的输入和输出层的输入;和分别代表输入层的输出、隐含层的输出和输出层的输出;g(x)和f(x)分别代表隐含层的激活函数和输出层的激活函数;wij和wjl分别代表隐含层的各层神经元的权重和输出层的各层神经元的权重;∑代表累加符号,累加符号是当前层第i个神经元的权重与上层所有神经元的输出相乘后的累加。
4.根据权利要求1所述的一种神经网络PID闭环控制的FPGA实现方法,其特征在于,步骤S3,采用梯度下降原理来修正隐含层和输出层的各个神经元的权重,在训练过程中通过多次迭代改变各层神经元权重,最终通过大量的迭代找到函数极小值点,如公式(2)所示进行权重计算:
式中的η为学习率且大于0,γ为惯性系数且大于0,和分别代表上次训练的隐含层的权重和输出层的权重,o(1)(i)、分别代表输入层的输出、隐含层的输出,和分别是输出层的当前权重与上层权重的差值和隐含层的当前权重与上层权重的差值,和分别代表输出层各神经元的局部梯度值和隐含层各神经元的局部梯度值,其公式(3)和公式(4)如下所示:
在公式(3)和公式(4)中,e(k)为给定转速和实际转速的差值;用符号函数取代控制对象的输出比上输入的变化量,由此计算不精确的影响可通过学习率来补偿;表示输出层的激活函数的导数,其中的自变量为输出层的输入值;为增量式PID算法的比例、积分和微分的乘积项;为隐含层的激活函数的导数,其中的自变量为隐含层的神经元的输入值;为输出层的各神经元的权重与输出层的各神经元的局部梯度值相乘后再累加。
5.根据权利要求1所述的一种神经网络PID闭环控制的FPGA实现方法,其特征在于,步骤S4,由神经网络训练得到的控制系数作为增量式PID算法的比例、积分和微分系数,公式(5)为增量式PID控制算式;四倍频脉冲计数用于计数一个时间段的脉冲的个数,再经过M测速法计算电机的实际速度;采用PWM技术调节电机的占空比控制电机的速度;
Δu(k)=Kp[e(k)-e(k-1)]+Kie(k)+Kd[e(k)-2e(k-1)+e(k-2)] (5)
其中,Kp、Ki和Kd分别为BP神经网络的输出层输出;对应PID控制算法的比例、积分和微分;e(k)、e(k-1)和e(k-2)分别是当前时刻、上时刻和上上时刻的误差;Δu(k)为控制对象的输入的增量变化。
6.根据权利要求1所述的一种神经网络PID闭环控制的FPGA实现方法,其特征在于,所述隐含层的激活函数和输出层的激活函数分别选择Tansing函数和Sigmoid的函数,其使用查找表来实现激活函数,Tansing函数值范围在[-1,1]之间并关于零点对称,Sigmoid的函数取值范围在[0,1]之间,如果公式(6)所示:
e为自然对数的底,e约等于2.71828182;f(x)表示为隐含层激活函数的符号,g(x)表示输出层激活函数的符号;上述公式的含义在于激活函数是用来加入非线性因素,提高神经网络对模型的表达能力,解决线性模型所能解决的问题。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福州大学,未经福州大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111052881.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种细木工板表面自动翻面打磨装置
- 下一篇:等离子点火装置及其点火方法





