基于三轴加速度传感器的速度测量方法研究与实现*

2018-06-05 01:44姜秀柱周军娜
传感器与微系统 2018年6期
关键词:卡尔曼滤波滤波加速度

张 敏, 姜秀柱, 陈 伟, 周军娜

0 引 言

目前,针对中高速运动物体的速度测量方法很多:机械速度表法,结构简单、安装方便、无需能源且成本低,但其测量精度低、可靠性差、易受损;测速发电机法,采用电传输,安装方便灵活、简单易行,但精度低,尤其表现在低速运行时,且系统可靠性差;脉冲式转速传感器测速系统,通过与车辆轧轮同步旋转的脉冲发生器产生与车轮转速成正比的脉冲数,根据适当比例对单位时间内的脉冲数进行计数和显示获取车辆运行的速度[1]。文献[2]研发了一种用于桥门式起重机的位置和速度测量的装置,在机构旋转轴上增加技术齿轮,通过光电开关感应,产生脉冲信号的方式来测量起重机设备的速度和位置信息,方法结构简单,但安装繁琐且局限性大[3]。

本文提出了利用加速度传感器对低速大型机械的运动速度进行实时测量的方法,无需改变大型机械自身结构,且具有精度高,安装简便,实用通用等特点。

1 系统结构设计

利用速度是加速度在时间上的积分思想设计了一种针对大型低速机械设备运动速度的测量系统。基本原理如图1所示。

图1 速度测量基本原理

1.1 重力补偿[4]

当传感器静止时,X轴、Y轴、Z轴分别有加速度值输出,输出值受重力影响,各轴合加速度与重力加速度gn相等。通常情况下,重力加速度补偿公式为

(1)

式中 [axayaz]T为采集到的运动加速度;[x0y0z0]T为静止时传感器的输出值。

1.2 速度计算方法

对运动物体加速度在时间上进行积分,即可得到运动物体的运动速度。图2为物体运动的加速度—时间曲线,横轴为时间,纵轴为加速度(m/s2),加速度值已经过重力加速度补偿。

图2 加速度—时间曲线

假设从t0时刻开始采样,从t0~t时刻,连续时间域中速度v(t)和加速度a(t)的计算关系如式(2)所示

(2)

式中v(t0)为t0时刻的瞬时运动速度。

对式(2)进行离散化,得到差分方程

(3)

根据数值分析原理,当采样时间间隔Δt足够小时,可以近似地将曲线看作直线,采用梯形积分方法得到实际运算的积分公式

(4)

又t1-t0=t2-t1=…=tn-tn-1=Δt,当n>1时,可将式(4)改写为

a(2)+…+a(n-1)]Δt

(5)

根据式(5),仅需知道v(0)和加速度传感器的输出加速度值便可以求出运动速度。但当n特别大时,计算量将会很大,且会消耗大量的系统存储资源。为了提高计算效率,采用迭代的方法进行计算,仅需上一时刻的速度和加速度信息以及当前的加速度信息,便可计算出当前瞬时速度。递推公式如式(6)所示

(6)

同理,三轴加速度传感器输出的信息是在三维空间上的加速度信息,仅需根据式(6)分别计算X,Y,Z轴方向上的瞬时速度

(7)

(8)

(9)

则t时刻运动体在三维空间的瞬时速度为

(10)

1.3 硬件架构

系统组成如图3 所示,主要包括2部分:1)速度监测数据采集模块(即数据采集节点)[5],安装在运动物体上,采集加速度数据并发送给中心节点,包括一只三维加速度传感器和一个无线发射装置;2)无线接收装置(即数据中心节点)[5],用于接收数据采集模块传送的数据,并通过RS—232串口通信电路将数据传至上位机进行数据分析及运算,最终获得物体运动速度并显示输出。

图3 速度监测系统组成

系统设计,三轴加速度传感器采用ADI公司的ADXL345[6]三轴数字输出iMEMS加速度传感器,具有高分辨率、可调量程、高灵敏度、体积小、功耗小以及多种运动状态检测等特性。无线通信模块采用TI/Chipcon公司推出的第二代支持2.4GHz IEEE 802.15.4/ZigBee协议[7]的片上系统(system-on-a-chip,SoC)芯片CC2530[8],CC2530内部集成了工业标准增强型的8051CPU、高性能RF收发器、256 kB Flash ROM,8 kB RAM以及低功耗等其他许多强大功能[9]。

2 数据处理

2.1 随机误差处理

采用卡尔曼滤波算法处理随机误差,基本思想为:采用信号与噪声的状态空间模型,利用前一时刻的估计值和现时刻的观测值更新对状态变量的估计,求得现时刻的估计值[10]。适用于实时数据的处理与运算[11]。

卡尔曼滤波器分为2个阶段:预测和更新。预测阶段用于推测当前状态的估计值和误差协方差的估计值;更新阶段用于推算当前卡尔曼滤波器的增益值,根据预测阶段得到的估计值推算当前状态的状态值和误差协方差。预测阶段包含2个方程,更新阶段包含3个方程,如图4所示。

图4 卡尔曼滤波算法流程

从图4中可以观察到,实际使用卡尔曼滤波时需要提供2个参数:测量噪声协方差R和过程激励噪声协方差Q。理想状态下,Q和R为常数,Kg将会快速收敛并保持为常数[11]。但实际上R很难保持不变,且Q也随滤波器的状态发生改变,即,每次迭代运算中的Q和R均不同。每次迭代计算时,还要增加计算当前R和Q。

本系统中R,Q值的最优估计只与初值以及当前值相关,按比例获取信息,预先设定比例因子a1(0≤a1≤1)、a2(0≤a2≤1)和初值R(0),Q(0)。R和Q的计算过程为

v(k)=Z(k)-H(k)X(k|k-1)

(11)

R(k)=(1-a1)R(0)+a1[V(k)VT(k)-

HP(k|k-1)HT]

(12)

P(k|k)-AP(k-1|k-1)AT-2Kg(k)R(k)·

(13)

2.2 累积误差处理

理想情况下,当加速度传感器静止时,传感器的输出为零。但实际上加速度传感器静止时的测量值并不等于零,这是因为环境(如温度)的变化和传感器自身的一些不可控因素使得加速度传感器产生固有的噪声和偏移。除了噪声和偏移,被测机械的抖动也会引起加速度传感器的输出有微小变化。如果未为对噪声及变化进行任何处理,而直接对加速度进行积分,则误差会被累积到速度结果之中,使计算结果出现不可预估的误差。为了尽可能减少累积误差,本文提出了一种自适应补偿的方法。

自适应补偿算法根据静止阶段速度与加速度为零的特点对零值误差与累积误差进行修正。修正原理如图5所示。

图5 加速度修正原理

修正公式推导如下:

设a(k)为加速度传感器采集的一段时间内的加速度序列;0与k3为数据采集的起始点;k1与k2为运动的起止时间点。

根据式(6)可知

(14)

式中 Δt为采样间隔。

由于0~k1时间段内被测物体并未开始运动,此时加速度可以看成整个运动过程中都包含的偏移量,将0~k1时间段内加速度强制置零,可得运动初始状态校正结果

(15)

对加速度修正后,积分得到的速度初值为零,因此,运动初始状态无需对速度进行修正。

运动结束时刻的速度v(k2)可以看成整个运动过程中的累积误差,由累积误差与时间成正比的特性,可得

(16)

(17)

运动的起止时间k1与k2的获得需要有明确且精准的判定。采用阈值来判定运动的开始点和结束时间点,思想如下:

假设0~k1时间内连续输出的n个加速度为被测物准备运动前静止状态的输出。此处,n是一个经验值,本文设n为5。首先,取前n个输出值中的最大幅值记作Amax(k),设阈值为

TA=KAAmax(k)

(18)

式中KA为一个经验值,在文本设为2。

若第n之后的加速度超过阈值TA,则为运动的开始点k1;若未超过TA,而超过了最大幅值,则将此值记为最大幅值,相应地阈值亦随之改变,实现了自适应。

本文所设计的速度无线测量系统主要用于大型器械的运动速度测量,一般运动距离不长、运动速度不高,且不会出现匀高速运动,因此,运动过程中,当有连续m个加速度幅值低于阈值时,即可认为运动停止,连续m个值中的最小值对应的时间点可看作运动停止时间k2。本文m为经验值,设为5。

3 实验验证与分析

3.1 基于噪声自适应的卡尔曼滤波实验与分析

对水平运动状态下的测试小车进行加速度采集,并使用本文改进的噪声自适应卡尔曼滤波对数据进行处理,滤波结果如图6。其中,图6(a)为X轴数据滤波处理结果对比,图6(b)为Y轴数据滤波处理结果对比,图6(c)为Z轴数据滤波处理结果对比。可看出:改进的噪声自适应卡尔曼算法能够有效滤除数据中的噪声干扰。

图6 加速度滤波处理结果

图7为本文改进的算法与标准卡尔曼滤波(KF)的均方根误差(root mean square error,RMSE)对比,均方根误差对一组测量中的特大或特小误差反映非常敏感,因此,能够很好地反映出测量的精密度。由图7可看出,滤波刚开始阶段,标准卡尔曼滤波算法误差低,测量精度稍高,但随着时间的增加,标准卡尔曼滤波的误差越来越大,而本文改进的噪声自适应卡尔曼滤波的误差则一直很平稳,并无增大趋势,因此,本文改进的滤波算法更加稳定,更有效地滤除了运动中的抖动及外界环境的干扰噪声。

图7 滤波误差对比

表1为本文改进的噪声自适应卡尔曼滤波算法与标准卡尔曼滤波算法耗时比较。

可以看出,随着样本集数据量的增大,与标准卡尔曼滤波算法相比,本文改进的噪声自适应卡尔曼滤波算法时耗逐渐增大。因为标准卡尔曼滤波计算过程中无需计算噪声统计特性,而本文改进的滤波算法每次都需要计算噪声统计特性,但根据图7可知,本文算法的滤波效果较标准卡尔曼滤波较好,精度高,并且可自适应的调整测量噪声。

表1 2种滤波算法耗时比较 s

3.2 自适应零值误差补偿算法的实验与分析

采集到的初始加速度数据经过去重力补偿和滤波处理后,即可以进入速度计算以及误差补偿处理阶段。测量过程中,测试小车水平直线运动,理想情况下,Z轴输出应为零,但由于传感器非常灵敏且路面不够平滑,运行过程中,Z轴方向也有数据输出,且小车运行时自身也会有抖动,导致运行前传感器有数据输出,而滤波器只能滤除随机误差无法去除抖动。图8为各分轴速度补偿处理结果对比。结果表明:经过累积误差自适应补偿算法处理后,Z轴速度虽有轻微波动,但基本处于零轴附近,较接近真实结果。

图8 速度累积误差补偿结果对比

4 结束语

针对低速运动的大型机械,提出了一种基于ADXL345加速度传感器的速度检测方法并设计了速度测量系统,系

统引入了噪声自适应的卡尔曼滤波算法对传感器数据降噪,使用零值误差自适应补偿方法处理累积误差,并设计程序实现了算法。实验分析结果表明:经本文改进的滤波算法处理随机误差,并通过本文累积误差补偿算法计算得出的运动速度的精度可达到0.01 m/s,误差为1 %~2 %。系统具有安装灵活、算法简单、准确性高的优点。

参考文献:

[1] 韩先一.车辆运行速度测量方法的研究[D].西安:西安理工大学,2004.

[2] 张世璞.汽车速度测量方法研究[D].天津:天津理工大学,2011.

[3] 蒋剑锋,陆纪法,王汉炜,等.桥式起重机位置和速度测量装置的研发及应用[J].装备制造技术,2011,3(1):157-158.

[4] Tan C,Park S.Design of accelerometer-based inertial navigation systems[J].IEEE Transactions on Instrumentation and Measurement,2005,54(6):2520-2530.

[5] 邓德玖.起重机能耗检测无线传感网数据中心节点的研究与设计[D].徐州 : 中国矿业大学,2014.

[6] 袁 西,陈 栋,田 湘,等.三轴数字加速度计ADXL345及其在捷联惯导中的应用[J].电子设计工程,2010,18(3):138-140.

[7] 李 娜.基于ZigBee的无线传感器网络在工业监测中的应用[D].西安:长安大学,2009.

[8] 蔡利婷,陈平华,罗 彬,等.基于CC2530的ZigBee数据采集系统的设计[J].计算机技术与发展,2012,11(2):197-200.

[9] 徐志国,陈正宇.基于CC2530的实时环境监测系统设计[J].金陵科技学院学报,2014,30(2):23-28.

[10] 彭丁聪.卡尔曼滤波的基本原理及应用[J].软件导报,2009,11(8):32-34.

[11] 邓自立.最优估计理论及其应用:建模、滤波、信息融合估计[M].哈尔滨:哈尔滨工业大学出版社,2005:51-56.

猜你喜欢
卡尔曼滤波滤波加速度
“鳖”不住了!从26元/斤飙至38元/斤,2022年甲鱼能否再跑出“加速度”?
天际加速度
改进的扩展卡尔曼滤波算法研究
创新,动能转换的“加速度”
死亡加速度
基于递推更新卡尔曼滤波的磁偶极子目标跟踪
基于模糊卡尔曼滤波算法的动力电池SOC估计
基于自适应Kalman滤波的改进PSO算法
RTS平滑滤波在事后姿态确定中的应用
基于线性正则变换的 LMS 自适应滤波