当前位置: 首页 > 专利查询>东南大学专利>正文

一种提高基于霍尔效应磁编码器输出角度精度的方法技术

技术编号:22239311 阅读:82 留言:0更新日期:2019-10-09 19:02
本发明专利技术公开了一种提高基于霍尔效应磁编码器输出角度精度的方法,具体为:构造LM‑BP神经网络结构;通过PSO方法优化LM‑BP神经网络的初始权值和阈值:计算PSO粒子种群粒子维度、计算粒子的适应度值、更新粒子位置和速度、得到PSO优化后的LM‑BP神经网络的初始权值和阈值;进行PSO‑LM‑BP神经网络训练:初始化LM‑BP神经网络控制向量、计算输出层输出和理想输出信号的平方误差、更新控制向量、判断平方误差大小;PSO‑LM‑BP神经网络预测磁编码器输出角度。本发明专利技术通过PSO和LM相配合的方式来优化BP神经网络,为BP神经网络方法找到全局最优的初始权值和阈值,从而提高了磁编码器的原始输出角度的精度,减小了磁编码器的误差,大幅提高了磁编码器的输出角度精度。

A Method for Improving the Output Angle Accuracy of Hall-effect Magnetic Encoder

【技术实现步骤摘要】
一种提高基于霍尔效应磁编码器输出角度精度的方法
本专利技术属于控制检测
,涉及位置传感器检测技术,具体涉及一种提高基于霍尔效应磁编码器输出角度精度的方法。
技术介绍
磁编码器是一种用于检测物体位置角度、电机角速度和转速等的位置传感器,其主要分为基于电磁阻效应的磁敏电阻型磁编码器和基于霍尔效应的霍尔型磁编码器。磁敏电阻式编码器利用电阻在不同磁场下的变化来检测磁场的位置变化。该技术较为成熟,并且功耗低、集成度高、灵敏度高,但是制造工艺相对复杂、制造成本较高。霍尔型磁编码器采用霍尔敏感元件,利用霍尔效应将变化的磁场转化为变化的电场来检测位置角度。霍尔元件体积小、抗干扰性能高、结构简单和制造成本低,但精度相较于磁敏电阻式编码器较低,因此提高基于霍尔效应的磁编码器的输出角度精度成为重要技术。由于磁编码器硬件电路安装、磁栅充磁和PCB(Printedcircuitboard,印刷电路板)加工时存在不可避免的误差,导致磁编码器的角度测量存在误差。传统的BP神经网络方法采用的最速下降法,该方法一直沿着梯度反向方向寻找误差最小解,容易陷入局部最小值,且BP神经网络在迭代的最终阶段为线性收敛,收敛速度慢。而LM(Levenberg-Marquard,列文伯格-马夸尔特)方法结合了最快梯度下降法和高斯-牛顿法,初始阶段使用最快梯度下降法使得下降速度快,迅速找到最优解所在位置,最终阶段使用高斯-牛顿法,收敛性能好,且LM方法有较好的稳定性能,能防止陷入局部最优解,但是LM训练的BP神经网络受初始值的影响严重,导致磁编码器的精度无法达到预期要求。
技术实现思路
专利技术目的:为了克服现有技术中存在的不足,提供一种提高基于霍尔效应磁编码器输出角度精度的方法,其通过基于PSO(ParticleSwarmOptimization,粒子群优化方法)和LM(Levenberg-Marquard,列文伯格-马夸尔特)优化BP(BackPropagation,反向传播)神经网络的方法来补偿磁编码器的输出角度误差,从而来提高磁编码器的精度。技术方案:为实现上述目的,本专利技术提供一种提高基于霍尔效应磁编码器输出角度精度的方法,包括如下步骤:S1:构造LM-BP神经网络结构:包括BP神经网络的输入层、隐含层和输出层,其中输入层节点数为S,隐含层节点数为J,输出层节点数为K,输入层输入向量为x=(x1,x2,…,xS),隐含层输出向量为y=(y1,y2,…,yJ),输出层输出向量为O=(O1,O2,…,OK),输出层的理想输出向量为d=(d1,d2,…,dK),输入层与隐含层的连接权值为vjs,s=1,2,…,S;j=1,2…,J,隐含层与输出层的连接权值为wkj,j=1,2,…,J;k=1,2,…,K,隐含层的阈值为aj,j=1,2,…,J,输出层的阈值为bk,k=1,2,…,K;磁编码器实际输出角度为BP神经网络输入层输入,维度为1,磁编码器理想输出角度为BP神经网络输出层输出,维度为1,BP神经网络隐含层节点数范围为[3,12],在[-1,1]范围内随机初始化BP神经网络的权值vjs、wkj和阈值aj、bk。S2:通过PSO方法优化LM-BP神经网络的初始权值和阈值,其具体步骤为:S2-1:选取M个粒子构成PSO粒子种群,计算该种群粒子维度N=SJ+J+JK+K,其中S为输入层节点数,J为隐含层节点数,K为输出层节点数,将BP神经网络的权值vjs、wkj和阈值aj、bk映射为PSO粒子群的粒子初始化位置其中m为第m个粒子,n为该粒子的第n维,粒子速度Vm=(vm1,vm2,…,vmN)表示粒子在N维空间内的活动速度,随机初始化初始速度其中m=1,2,…,M;S2-2:计算粒子的适应度值,选取种群中最小的个体极值作为种群的全局极值Pg;S2-3:更新粒子位置和速度;S2-4:重复步骤S2-2和S2-3,若种群的全局极值Pg已经满足磁编码器输出角度的目标精度要求,则结束计算,输出当前的粒子位置为PSO粒子群的最佳位置解,从而得到PSO优化后的LM-BP神经网络的初始权值vjs、wkj和阈值aj、bk;S3:进行PSO-LM-BP神经网络训练,其具体步骤为:S3-1:初始化LM-BP神经网络控制向量;S3-2:计算输出层输出和理想输出信号的平方误差E(up);S3-3:更新控制向量:根据磁编码器的输出角度精度要求,设置LM-BP神经网络的训练精度ε,若误差E(up)<ε,则LM训练BP神经网络已经完成;否则更新LM-BP神经网络的控制向量;S3-4:判断平方误差E(up+1)与E(up)的大小,若E(up)大,则更新阻尼系数为μ/β(β>1),且更新up为up+1;否则,取新的阻尼数为μβ(β>1),up不变;S3-5:重复步骤S3-2~S3-4直至E(up+1)满足磁编码输出角度目标误差要求;S4:PSO-LM-BP神经网络预测磁编码器输出角度。进一步的,所述步骤S2-2中计算粒子的适应度值的具体方式为:PSO粒子群的适应度函数为H(·),其表达式如下:其中,H(Xm)表示粒子m的适应度函数值,dk为BP神经网络输出层第k个节点的理想输出;Ok为BP神经网络输出层第k个节点的实际输出:yj为BP神经网络隐含层的第j个节点的输出:xs为BP神经网络输入层第s个节点的输出,f(·)为隐含层和输出层的激活函数,本专利技术中激活函数选取为Sigmoid函数:对于每个粒子的位置Xm,其个体极值Pm=(pm1,pm2,…,pmN)与粒子的适应度值相等,选取种群中最小的个体极值作为种群的全局极值Pg=(pg1,pg2,…,pgN)。进一步的,所述步骤S2-3中更新粒子位置和速度的具体方式为:按照如下公式更新粒子的位置和速度:其中,m为第m个粒子,n为该粒子的第n维,t为迭代次数,为第t次迭代的粒子位置,为第t+1次迭代的粒子位置;为第t次迭代的粒子速度,其在迭代过程中根据式(4)进行更新其中,为第t+1次迭代的粒子速度,c1和c2为常数加速因子,其取值根据数据集情况而定,r1和r2为分布于[0,1]之间的随机数,增加粒子速度变化的随机性,ωt为第t次迭代时的惯性权重,其取值范围为[0,1],根据公式进行更新,其中ωstart为初始惯性权重,以便PSO粒子群可以全局搜索最优位置解;ωend为终止惯性权重,以便PSO粒子群可以局部精准搜索,Tmax为迭代最大次数,Pm=(pm1,pm2,…,pmn,…,pmN)为第m个粒子的个体极值,Pg=(pg1,pg2,…,pgn,…,pgN)为种群的全局极值。进一步的,所述步骤S3-1的具体过程为:LM-BP神经网络的控制向量u由vjs、wkj、aj、bk组成,有u=(v11,v12,…,vJS,w11,w12…,wKJ,a1,…,aJ,b1,…bK);将步骤S2中PSO粒子群优化后的权值和阈值aj、bk作为u的初值进一步的,所述步骤S3-2中平方误差E(up)的具体计算方式为:根据公式(6)计算输出层输出O=(O1,O2,…OK)和理想输出信号d=(d1,d2,…dK)的平方误差其中为LM-BP神经网络的第p次迭代的控制向量,E(up)为控制向量为up时BP神经网络输出层O和理想输出信号d之间的平方误差,dk为BP神经网本文档来自技高网...

【技术保护点】
1.一种提高基于霍尔效应磁编码器输出角度精度的方法,其特征在于:包括如下步骤:S1:构造LM‑BP神经网络结构:包括BP神经网络的输入层、隐含层和输出层,其中输入层节点数为S,隐含层节点数为J,输出层节点数为K,输入层输入向量为x=(x1,x2,…,xS),隐含层输出向量为y=(y1,y2,…,yJ),输出层输出向量为O=(O1,O2,…,OK),输出层的理想输出向量为d=(d1,d2,…,dK),输入层与隐含层的连接权值为vjs,s=1,2,…,S;j=1,2…,J,隐含层与输出层的连接权值为wkj,j=1,2,…,J;k=1,2,…,K,隐含层的阈值为aj,j=1,2,…,J,输出层的阈值为bk,k=1,2,…,K;磁编码器实际输出角度为BP神经网络输入层输入,维度为1,磁编码器理想输出角度为BP神经网络输出层输出,维度为1,BP神经网络隐含层节点数范围为[3,12],在[‑1,1]范围内随机初始化BP神经网络的权值vjs、wkj和阈值aj、bk;S2:通过PSO方法优化LM‑BP神经网络的初始权值和阈值,其具体步骤为:S2‑1:选取M个粒子构成PSO粒子种群,计算该种群粒子维度N=SJ+J+JK+K,其中S为输入层节点数,J为隐含层节点数,K为输出层节点数,将BP神经网络的权值vjs、wkj和阈值aj、bk映射为PSO粒子群的粒子初始化位置...

【技术特征摘要】
1.一种提高基于霍尔效应磁编码器输出角度精度的方法,其特征在于:包括如下步骤:S1:构造LM-BP神经网络结构:包括BP神经网络的输入层、隐含层和输出层,其中输入层节点数为S,隐含层节点数为J,输出层节点数为K,输入层输入向量为x=(x1,x2,…,xS),隐含层输出向量为y=(y1,y2,…,yJ),输出层输出向量为O=(O1,O2,…,OK),输出层的理想输出向量为d=(d1,d2,…,dK),输入层与隐含层的连接权值为vjs,s=1,2,…,S;j=1,2…,J,隐含层与输出层的连接权值为wkj,j=1,2,…,J;k=1,2,…,K,隐含层的阈值为aj,j=1,2,…,J,输出层的阈值为bk,k=1,2,…,K;磁编码器实际输出角度为BP神经网络输入层输入,维度为1,磁编码器理想输出角度为BP神经网络输出层输出,维度为1,BP神经网络隐含层节点数范围为[3,12],在[-1,1]范围内随机初始化BP神经网络的权值vjs、wkj和阈值aj、bk;S2:通过PSO方法优化LM-BP神经网络的初始权值和阈值,其具体步骤为:S2-1:选取M个粒子构成PSO粒子种群,计算该种群粒子维度N=SJ+J+JK+K,其中S为输入层节点数,J为隐含层节点数,K为输出层节点数,将BP神经网络的权值vjs、wkj和阈值aj、bk映射为PSO粒子群的粒子初始化位置其中m为第m个粒子,n为该粒子的第n维,粒子速度Vm=(vm1,vm2,…,vmN)表示粒子在N维空间内的活动速度,随机初始化初始速度其中m=1,2,…,M;S2-2:计算粒子的适应度值,选取种群中最小的个体极值作为种群的全局极值Pg;S2-3:更新粒子位置和速度;S2-4:重复步骤S2-2和S2-3,若种群的全局极值Pg已经满足磁编码器输出角度的目标精度要求,则结束计算,输出当前的粒子位置为PSO粒子群的最佳位置解,从而得到PSO优化后的LM-BP神经网络的初始权值vjs、wkj和阈值aj、bk;S3:进行PSO-LM-BP神经网络训练,其具体步骤为:S3-1:初始化LM-BP神经网络控制向量;S3-2:计算输出层输出和理想输出信号的平方误差E(up);S3-3:更新控制向量:根据磁编码器的输出角度精度要求,设置LM-BP神经网络的训练精度ε,若误差E(up)<ε,则LM训练BP神经网络已经完成;否则更新LM-BP神经网络的控制向量;S3-4:判断平方误差E(up+1)与E(up)的大小,若E(up)大,则更新阻尼系数为μ/β(β>1),且更新up为up+1;否则,取新的阻尼数为μβ(β>1),up不变;S3-5:重复步骤S3-2~S3-4直至E(up+1)满足磁编码输出角度目标误差要求;S4:PSO-LM-BP神经网络预测磁编码器输出角度。2.根据权利要求1所述的一种提高基于霍尔效应磁编码器输出角度精度的方法,其特征在于:所述步骤S2-2中计算粒子的适应度值的具体方式为:PSO粒子群的适应度函数为H(·),其表达式如下:其中,H(Xm)表示粒子m的适应度函数值,dk为BP神经网络输出层第...

【专利技术属性】
技术研发人员:潘志文黄姗姗刘楠尤肖虎
申请(专利权)人:东南大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1