, , ,
(同济大学 机械与能源工程学院,上海 201804)
应变式力传感器是使用最为广泛的一种测力传感器,具有较高的灵敏度和精度,并且适用于静态和动态测量。由于电阻应变计、传感器机械本体和信号调理电路的热噪声、环境噪声和电磁噪声,输出信号会出现较大的信号漂移,即传感器在恒定加载时,输出信号不稳定,波动较大,且不具有明显规律[1]。随机噪声的出现对传感器的静动态性能测量精度影响较大,甚至导致无法进行标定。
卡尔曼滤波是一种高效率的自回归滤波器,能够从一系列的不完全和包含噪声的测量中,估计动态系统的状态[2]。它根据前一时刻的状态估值和当前时刻的观测值递推估计出新的状态估值,因此,卡尔曼滤波对信号的平稳性和时不变性不做要求,并且不需要存储历史数据,适合于实时信号处理。
本文以数字信号处理器(DSP)和A/D转换器设计的数据采集系统为硬件电路平台,以实验室自主研制的应变式单维力传感器为研究对象,采用卡尔曼滤波算法实现了对传感器输出信号的实时滤波,有助于提高传感器测量精度。卡尔曼滤波程序通过Matlab仿真实现,最后在CCS(code composer studio)开发平台上进行硬件验证。
卡尔曼滤波的研究对象是随机线性离散系统,其状态方程可表示为[3]
Xk=FkXk-1+BkUk+Wk.
(1)
观测方程为
Zk=HkXk+Vk,
(2)
式中Xk为系统的状态向量,Fk为状态转移矩阵,Bk为输入控制矩阵,Uk为控制向量,Wk为过程噪声,其符合均值为0,协方差矩阵为Qk的正态分布,Wk~N(0,Qk)。
Zk为系统的观测向量,Hk为观测矩阵,Vk为观测噪声,其符合均值为0,协方差矩阵为Rk的正态分布。Vk~N(0,Rk)。
卡尔曼滤波器的滤波计算包括2个阶段:预测与更新。在预测阶段,滤波器使用上一状态的估计,做出对当前状态的估计。在更新阶段,滤波器利用对当前状态的观测值优化在预测阶段获得的预测值,以获得更为精确的新估计值。假设控制信号Uk=0,则预测状态方程
(3)
预测误差协方差为
(4)
更新为
(5)
更新状态估计为
(6)
更新误差协方差为
Pk|k=(I-KkHk)Pk|k-1.
(7)
对于力传感器测量系统,可以认为过程噪声Wk和观测噪声Vk是互相独立的高斯白噪声序列,对应的协方差矩阵Qk和Rk可认为是常值Q和R[4]。实际应用中,Q和R可由对象模型和离线采集数据获得,再根据经验调整这两个滤波参数以获得良好的滤波性能。只要给定滤波初值0和P0,根据k时刻的观测值Zk就能递推出此刻的状态估计值k|k和误差协方差Pk|k。
应变式力传感器数学模型[1]如图1所示。
图1 应变式力传感器测试模型
其中,Uk为传感器收到的载荷信号,力传感器弹性体、应变电桥电路和信号调理电路可以等效为一阶惯性环节,其传递函数为
(8)
力传感器输出模拟信号经过A/D转换为数字量,采样环节可以简化为零阶保持器
(9)
其中,T为采样周期。对系统模型进行离散化,即取z变换得
(10)
由图1的数学模型得
(11)
则
(1-e-aT·z-1)x(z)=(1-e-aT)·z-1u(z).
(12)
对上式作z反变换,得差分方程
Xk=e-aT·Xk-1+(1-e-aT)Uk.
(13)
式(13)与系统状态方程(1)和观测方程(2)对比,考虑到实际模型中存在噪声,得出力传感器实际工作中的状态方程和观测方程如下
Xk=e-aT·Xk-1+(1-e-aT)Uk+Wk,
(14)
Zk=Xk+Vk.
(15)
传感器弹性体一阶固有频率f=1 700 Hz,则式中a≈f=1 700Hz。采样频率f=50 kHz,则
e-aT≈1.
(16)
根据卡尔曼滤波理论,如果系统满足完全随机可控性和完全随机可观测性,则滤波初值0和P0选择带来的影响会随着递推次数增加而减少,因此,滤波初值可以根据经验拟定,不会对滤波结果产生影响,算法流程图见图2。
图2 卡尔曼滤波算法流程
力传感器测试系统如图3所示。以实验室研制的薄壁柱式单维力传感器为研究对象,当传感器受力时,应变电桥输出差分电压,经过信号调理电路的放大和滤波,由A/D采样进入DSP,DSP采集并实时使用卡尔曼滤波算法处理数据,将滤波结果存储到上位机软件中。
图3 测试系统框图
图4 A/D转换时序图
McBSP(multichannel buffered serial port)是一种多通道缓冲串行口,拥有二级发送缓冲寄存器和三级接收缓冲寄存器,可对连续的数据流进行操作。可以与IOM-2,SPI,AC97等兼容设备直接连接,支持多通道发送和接收,串行字长度可选。McBSP包括一个数据通道和一个控制通道。数据发送引脚DX负责数据的发送,数据接收引脚DR负责数据的接收,发送时钟引脚CLKX,接收时钟引脚CLKR。
TMS320C6416芯片的McBSP在时钟停止模式时与SPI接口兼容。此时多通道缓冲串口中发送器和接收器内部同步,接收时钟信号CLKR和发送时钟信号CLKX在内部相连。McBSP中DX端口数据在时钟CLKX的上升沿采样并逐位移入到MAX1281内部移位寄存器,同时A/D转换的结果在接收时钟信号CLKR的下降沿由DR脚逐位移入到McBSP内部数据接收寄存器(DRR)中,等待DSP处理。串口电路如图5。
图5 接口电路
滤波实验前先将力传感器固定在标定台上,以采样频率f=50 kHz采集50×103个数据,计算出平均值和方差作为滤波初值0和P0。滤波参数Q反映的是模型噪声方差,由于模型准确可定为极小值,R反映的是测量方差,由采集的50×103个数据求得。再根据经验调整这两个滤波参数以获得良好的滤波性能,最终确定Q=1×10-6,R=2.5×10-3。
图6为传感器加载800 g砝码时采样值滤波前后结果,可见滤波值很好地抑制了随机干扰噪声信号,保留了传感器载荷信号,有助于提高标定精度。
图6 标定结果滤波前后对比
图7和图8为传感器由800 g加载到1 000 g砝码时采样值滤波前后结果,可见卡尔曼滤波也适用于动态加载过程,可应用于传感器动态性能分析。
图7 动态加载滤波前结果
图8 动态加载滤波后结果
标定实验时,采用逐级加载和逐级卸载的方法采集6组滤波数据,取均值得到对应的输入—输出数据。Matlab编程[5]计算可得V=0.007 8+0.002 3L,非线性误差为0.271 6 %,滞后误差为0.130 5 %。拟合结果如图9所示,可见拟合直线与测量数据点十分接近,即测量范围内电压值V与载荷值L具有良好的线性关系。
本文将卡尔曼滤波算法应用到应变式力传感器信号采
图9 标定过程拟合曲线
集系统中,实现了高速实时数据处理,可以很好地滤除测量过程噪声。通过分析传感器的数学模型,获得了滤波初值和滤波参数,最后在自主研制的单维力传感器测试系统上进行了实验验证。结果表明:卡尔曼滤波可以抑制随机干扰噪声信号,保留传感器的载荷信号,适用于静态和动态测量过程,有利于提高传感器的标定精度。
参考文献:
[1] 许德章,葛运建,高理富.机器人多维力传感器标定Kalman滤波[J].电子测量与仪器学报,2006(1):100-105.
[2] 邹振宇.基于DSP的Kalman滤波器的算法研究[D].成都:成都理工大学,2012:2-15.
[3] Kalman R E.A new approach to linear filtering and prediction problems[J].Journal of Basic Engineering,1960,82(1):35-45.
[4] 周 倩.车辆组合导航中卡尔曼滤波器的设计及FPGA实现[D].北京:北京交通大学,2009:7-10.
[5] 姬翠翠,朱 华,江 炜.基于Matlab和Origin实现测力传感器的静态标定[J].传感器与微系统,2007(12):111-113.