一种基于神经网络的电机控制算法*

2020-03-29 14:00张延风
弹箭与制导学报 2020年6期
关键词:中间层阶跃神经元

闫 锋,张延风,韦 悠,杨 静

(西安现代控制技术研究所,西安 710065)

0 引言

电机控制普遍采用PID控制,PID参数由人工整定,由于负载特性以及其他非线性因素影响,很难获得满意的控制效果。通过机器学习训练神经网络,使神经网络模型获得一定的自适应能力,采用梯度下降反向传播算法获得电机最优控制参数,进而克服被控对象的不确定性以及随机扰动的影响。

1 电机控制系统基本原理

电机控制系统基本原理如图1所示,一般为三环控制,即电流环、速度环和位置环。电流环可提高系统的快速性,及时抑制力矩扰动及电流波动,使系统有足够大的加速转矩,并且保障系统安全运行。速度环主要增强系统抗负载扰动的能力,抑制速度波动。位置环主要保证系统静态精度和动态跟踪的性能,直接关系到系统的稳定和高性能运行。位置环内部输出是速度环的设定,位置控制模式下系统进行了三环运算,此时系统运算量最大,动态响应速度最慢。

图1 电机控制系统基本原理框图

2 电机控制系统神经元模型

电机控制用到经典的PID算法,基于位置控制的PID算法为[1]:

(1)

图2 PID算法的神经元表示

3个连接参数分别为ω1、ω2、ω3,偏移参数为b。

神经元的输出为:

(2)

令激活函数y2=f(x)=x,b=0,则上式神经元输出即为PID算法输出。

图2是由一个神经元构成的神经网络,使用该神经元可以建立复杂神经网络,如图3所示。该神经网络包括10个节点组成的输入层、3个神经元组成的中间层、1个神经元组成的输出层。

输入层10个节点分别为Δθ0、Δθ1、…、Δθ9,其中Δθ0代表当前时刻的位置误差,Δθ1代表第1次前采样时刻的位置误差,Δθ9代表第9次前采样时刻的位置误差;中间层由u1、u2、u3三个神经元组成,输出层由u4组成,每个神经元均与前一层全连接,激活函数均为y=f(x)=x,偏移参数b均为0。ωij表示神经元i与前一层节点j连接参数。

中间神经元u1与前一层的连接参数为ω10、ω11、…、ω19,当ω10=1,其余的ω11~ω19均为0,神经元u1可近似为比例神经元,连接参数ω41便是比例参数P;中间神经元u2与前一层的连接参数为ω20、ω21、…、ω29,当ω20~ω29均为1,神经元u2可近似为积分神经元,连接参数ω42便是积分参数I;中间神经元u3与前一层的连接参数为ω30、ω31、…、ω39,当ω30=1,ω31=-1,ω32~ω39均为0,神经元u3可近似为微分神经元,连接参数ω43便是微分参数D。

图3所示的神经元网络包括PID算法,对该神经网络进行训练,如果PID算法为最优,则该神经网络收敛到PID算法;如果PID算法不是最优,那么该神经网络将收敛至另一个最优算法。图3神经网络中间层神经元的激活函数均为线性函数,可以证明,中间层均是线性神经元的全连接神经网络,等价于去掉该中间层的全连接神经网络。于是图3的神经网络等价于图4所示的神经元网络。

图3 PID算法的复杂神经网络

图4 无中间层的全连接神经网络

图4所示的神经网络与图3所示的神经网络等价,神经元u1的激活函数为y=f(x)=x,b仍为0,神经元u1与输入层的连接参数为ω0、ω1、…、ω9。

神经元u1的输出为:

y=ω0×Δθ0+ω1×Δθ1+ω2×Δθ2+

ω3×Δθ3+…+ω9×Δθ9

(3)

该神经网络根据最近10次的位置误差输出信号控制电机运动。

3 电机控制的神经网络训练

以已建立的基于神经网络的电机控制系统为对象,为得到该网络的连接参数,使该神经网络收敛到最优,可通过机器学习对神经网络进行训练[2-6]。

机器学习主要分为3个步骤:1)建模:寻找一系列函数来实现预期的功能,这里采用的是图4所示的神经网络。2)评估:通过建立一个损失函数,找出合理的评价标准评估函数的好坏。3)优化:快速找到性能最佳的函数,文中采用梯度下降的反向传播算法寻找最佳函数。

通过机器学习得到最佳参数,需要大量数据,在电机控制领域,可以通过电机驱动传动机构产生有规律的动作,采集位置传感器的数值,得到所需的数据。

伺服控制系统框图如图5所示,θ为位置控制指令值,θ′为位置传感器的返回值,Δθ=θ′-θ。设控制指令值θ为正弦波,周期为T,幅值为A,假设每一秒100组数据,每一秒钟可以得到100组的Δθ,θ′,θ。

图5 伺服控制系统框图

第一组输入数据为:Δθ0、0、0、…、0,第二组输入数据为:Δθ1、Δθ0、0、…、0,第三组输入数据为:Δθ2、Δθ1、Δθ0、…、0,第10组输入数据为:Δθ9、Δθ8、Δθ7、…、Δθ0,第100组输入数据为:Δθ99、Δθ98、Δθ97、…、Δθ90。

第一组对应的误差为:δ0=Δθ0,第二组对应的误差为:δ1=Δθ0+Δθ1,第三组对应的误差为:δ2=Δθ0+Δθ1+Δθ2,第10组对应的误差为:δ9=Δθ0+Δθ1+Δθ2+…+Δθ9,第100组对应的误差为:δ99=Δθ90+Δθ91+Δθ92+…+Δθ99。

把批处理BATCH量设为100,那么每100组数据就可以更新一次参数,即每一秒钟更新迭代一次。把上述输入数据及对应的误差用矩阵来表示:

输入矩阵为10×100的矩阵:

(4)

误差矩阵为1×100的矩阵:[δ0δ1δ2…δ9…δ99]T

(5)

评价函数采用均方根误差函数:

(6)

对于该控制系统,最优参数即是使E最小的参数,可以采用经典的梯度下降反向传播算法不断迭代参数,直到找到最优参数(ω0、ω1、…、ω9)。

通过不断改变正弦波的周期T、幅值A,就可以让模型适合于各种动态过程,各种慢速、快速运动状态。

4 仿真与实验

4.1 系统仿真

对某直流伺服控制系统进行建模,系统构成如图4所示,使用Simulink对模型进行离散化,并使用以上算法进行仿真试验[7]。输入幅值为5°阶跃信号,获得伺服系统的阶跃特性曲线分别如图6和图7所示,可以看出,神经网络PID能够有效抑制超调,缩短调整时间,让系统更快到达稳态。

图6 传统PID的阶跃响应曲线

图7 神经网络PID的阶跃响应曲线

再输入频率60 rad/s,幅值为5°的正弦信号,获得伺服系统的响应曲线(见图8),可以看出,使用神经网络PID能够使系统获得更高的相频宽,提高了系统的响应速度。

图8 系统在正弦输入信号下的响应曲线

4.2 实验验证

为了验证电机神经网络控制算法的效果,依托实验室已有项目搭建了基于TMS320F28335DSP的电机控制平台,其结构组成示意图如图9所示,分别使用传统PID控制策略和基于神经网络PID控制策略进行了阶跃响应实验。由上位机发送位置指令给该控制平台,控制平台同时接收位置传感器发送的当前位置信息,送入DSP控制器组装件,经过算法运算处理后,信号送到速度环,驱动电机运动。

通过测试可以看出,采用传统PID控制下的对5°角偏差阶跃输入信号,达到稳态值95%范围内,调节时间小于50 ms,超调量等于5%,输出超调较大,调整时间较长。神经网络PID控制下的对5°角偏差阶跃输入信号,达到稳态值95%范围内,调节时间小于35 ms,超调量为零,说明基于神经网络PID的电机控制策略可以明显提高伺服系统的动态特性和静态特性。

图9 电机控制平台结构组成示意图

5 结论

在传统PID算法的基础上,提出了一种电机神经网络控制算法,该算法通过机器学习训练神经网络,使神经网络模型获得一定的自适应能力,采用梯度下降反向传播算法获得电机最优控制参数。仿真和实验结果表明:神经网络PID控制策略能够有效抑制超调,缩短调整时间,提高系统响应速度,能克服被控对象的不确定性以及随机扰动的影响,控制效果得到明显提升。

猜你喜欢
中间层阶跃神经元
基于低频阶跃脉冲的矿井低压漏电保护技术
Zn-15Al-xLa中间层对镁/钢接触反应钎焊接头性能影响
综采液压支架大流量水压比例阀阶跃响应特性研究*
浅析Lexus车系λ传感器工作原理及空燃比控制策略(三)
AI讲座:神经网络的空间对应
仿生芯片可再现生物神经元行为
这个神经元负责改变我们的习惯
如何利用合作教学激发“中间层”的活跃
浅谈通信综合营帐数据中间层设计原则与处理流程
研究人员精确定位控制饮酒的神经元