技术领域
本发明属于光电编码器调试技术领域,具体涉及一种基于卡尔曼滤波的双读数头光电编码器角度估计方法。
背景技术
光电编码器是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器;由于光电编码器具有易小型化和较强环境适应力,因此该器件被广泛应用于电机转子位置检测的传感器中。一般的光电编码器主要由光栅盘和光电探测装置组成。在伺服系统中,由于光电码盘与电动机同轴,电动机旋转时,光栅盘与电动机同速旋转.经发光二极管等电子元件组成的检测装置检测输出若干脉冲信号。通过计算每秒光电编码器输出脉冲的个数就能反映当前电动机的转速。为判断旋转方向,码盘还可提供相位相差90°的2个通道的光码输出,根据双通道光码的状态变化确定电机的转向。
目前,为了提高光电编码器的精度,一般采用中值滤波和均值滤波对光电编码器测量的数据进行滤波,虽然该方法能提高光电编码器的精度;但是该方法的延时较高,影响角度的响应速度,难以适用于高角度刷新频率的场合,无法克服由于轴系装配引起的偏心以及轴承跳动带来的测量误差。
发明内容
为解决以上现有技术存在的问题,本发明提出了一种基于卡尔曼滤波的双读数头光电编码器角度估计方法,该方法包括:
S1:采用两个读数头分别获取电机的角度信息和电流;
S2:采用滑动均值插值微分的方法分别计算两个读数头采集到的电机角度信息,得到电机的角速度;
S3:将两个读数头采集到的角度信息、电流以及计算得到的角速度分别进行卡尔曼滤波处理,得到两组滤波后的数据;
S4:对两组滤波后的数据进行自适应加权平均滤波处理,得到预测角度。
优选的,采用滑动均值插值微分的方法计算电机的角度信息的公式为:
进一步的,角度均值的公式为:
优选的,光电编码器的角度、角速度和角加速度关系为:
进一步的,光电编码器的角加速度公式为:
优选的,采用卡尔曼滤波方程对获取的数据进行滤波处理;卡尔曼滤波方程包括系统方程和观测方程;
系统方程为:
x
观测方程为:
y
优选的,对两组滤波后的数据进行自适应加权平均滤波处理的过程包括:计算系统的自适应加权系数K
进一步的,自适应加权系数K
在计算自适应加权系数时,e
进一步的,预测角度的公式为:
本发明通过卡尔曼滤波的方法对双读数头光电编码器中采集的数据进行滤波处理,不仅提高了光电编码器的精度,而且降低了时延,调高了角度的响应速度;本发明通过对滤波后的数据进行自适应加权平均滤波处理,降低了由于轴系装配引起的偏心以及轴承跳动带来的测量误差,还能自适应调节由于读数头精度下降引起的测量误差。
附图说明
图1为本发明的双读数头光电编码器结构示意图;
图2为本发明的角度信息估计方法示意图;
图3为本发明的第一读数头滤波前后角度曲线对比图;
图4为本发明的第二读数头滤波前后角度曲线对比图;
图5为本发明的两组角度信息自适应加权平均滤波前后误差曲线。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明的光电编码器结构包括:第一读数头、第二读数头以及码盘;所述第一读数头和所述第二读数头均设置在码盘上,且第一读数头和第二读数头对称。
一种基于卡尔曼滤波的双读数头光电编码器角度估计方法,如图2所示,该方法包括:
S1:采用两个读数头分别获取电机的角度信息和电流;
S2:采用滑动均值插值微分的方法分别计算两个读数头采集到的电机角度信息,得到电机的角速度;
S3:将两个读数头采集到的角度信息、电流以及计算得到的角速度分别进行卡尔曼滤波处理,得到两组滤波后的数据;
S4:对两组滤波后的数据进行自适应加权平均滤波处理,得到预测角度。
采用滑动均值插值微分的方法计算电机的角度信息的公式为:
其中,
其中,角度均值的公式为:
其中,
根据电机的角度信息计算光电编码器的角度、角速度和角加速度关系为:
其中,θ
光电编码器的角加速度公式为:
其中,I
对光电编码器测量的数据进行卡尔曼滤波处理的过程包括:建立系统方程和观测方程,根据建立的系统方程对获取的数据进行预测和测量更新处理,得到预测角度。建立的系统方程和观测方程的表达式为:
系统方程为:
x
观测方程为:
y
其中,x表示系统的状态变量,且x=[θ
在计算噪声过程中根据读数头误差参数建立估计测量噪声的正态分布模型;通过该模型,得到测量噪声;测量噪声为:v
进行卡尔曼滤波的过程中,首先给定初始值
步骤1:根据卡尔曼滤波处理的方程以及初始值
其中,
步骤2:根据给定的初始误差的协方差矩阵P
其中,P
步骤3:根据当前时刻预测误差的协方差矩阵计算卡尔曼滤波增益,该公式为:
其中,K
步骤4:根据当前时刻的预测值求出当前时刻的数据的滤波输出;其表达式为:
其中,y
步骤5:根据卡尔曼滤波增益和当前时刻的滤波输出计算输出误差的协方差矩阵。该公式为:
P
其中,I表示电机电流。
如图3和图4所示,OriginalAngle表示真实角度值,WithNoise表示编码器读数头读取的信息,KalmanFilter表示经过卡尔曼滤波后的数据。图3和图4分别表示第一读数头和第二读数头经过卡尔曼滤波前后的角度信息。
根据两个读数头得到的预测角度,再根据两个读数头标定时的误差大小,求自适应加权平均滤波值。
对两组滤波后的数据进行自适应加权平均滤波的公式为:
其中,K
其中,e
其中,e
如图5所示,AngleError1表示第二读数头经过滤波后的误差波动曲线,AngleError2表示第二读数头经过滤波后的误差波动曲线,KalmanFilter表示经过自适应加权平均滤波后的预估角度。经过求两组信号的自适应加权平均滤波值,由于机械对称安装特性,可以有效地消除由机械安装带来误差。
以上所举实施例,对本发明的目的、技术方案和优点进行了进一步的详细说明,所应理解的是,以上所举实施例仅为本发明的优选实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内对本发明所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
机译: 一种基于卡尔曼滤波的运动目标检测方法
机译: 基于准晶闸管的静态读/写随机存取存储器的准平面双栅鳍场效应晶体管制造方法
机译: 利用准平面双栅鳍式场效应晶体管工艺制造基于晶闸管的静态读/写随机存取存储器的方法