尹相国,赵永瑞,姜石锟,王明伟
(中国石油大学 机电工程学院,山东 青岛 266580)
在许多应用中,如空间飞行器的惯性测量系统、设备安装以及建筑、路面、港口等工程机械领域都需要进行倾角的测量[1],在静态倾角测量中,需要对加速度计采集到的数据进行数据处理及解算,数据处理及解算算法的精密度对测量系统的精度起重要作用。
在静态环境中对多传感器数据进行融合计算,贝叶斯估计算法是常用手段[2]。近年来,基于贝叶斯估计处理多传感器数据的方法已经有了较深层次的研究,在工程上得到了广泛的应用[3]:陈增瑞等人将该算法应用于放入式电子测压器准静态校准数据的处理,增强了测量结果的可靠性,使得测试精度进一步提高[3];张邦成等人将该算法应用于轨道车辆Pt100温度检测系统中,有效筛选出发生故障的传感器,测量温度精准[4];谭龙飞等人将该算法应用于土壤水含量估计中,将多传感器测试数据的贝叶斯估计融合值与真实值对比,证明了贝叶斯理论融合算法估计值的可靠性[5]。本文提出用贝叶斯估计算法处理不同倾角计算方法得到的数据,并设计实验对其优化效果进行验证。
三轴加速度计具有三个相互正交的加速度敏感轴,分别称为X、Y、Z轴。图1为传感器示意图。
图1 三轴加速度传感器示意图Figure 1 Schematic diagram of triaxial acceleration sensor
倾斜角由三轴加速度传感器对重力加速度敏感而获得。当加速度传感器处于测量平衡状态时,会受到重力加速度作用。考虑加速度传感器的输出,与重力加速度的大小和方向建立关系,可以实现倾斜角度的测量[6-7]。通常将加速度传感器的Z轴垂直于安装平面,当安装平面与水平面重合时,Z轴与重力方向相同,重力加速度全部作用于Z轴,Z轴输出值为重力加速度;当安装平面与水平面存在夹角θ时,Z轴方向随之转动角度θ,如图2。
图2 加速度传感器安装示意图Figure 2 Schematic diagram of acceleration sensor installation
设Z轴与重力加速度的夹角为θ,则
ZOUT=1g×cosθ。
(1)
式(1)中,ZOUT为Z轴输出,g为重力加速度,θ为倾斜角度。
因此此时安装平面的倾斜角度为
(2)
1.2.1 灵敏度非线性
根据前面对倾角解算算法的分析,可以看出计算公式中使用的是余弦函数。对于余弦函数,在倾角为0°时,灵敏度最小;而在倾角为90°时,灵敏度最大,如图3。由此可以看出在传统解算算法中存在灵敏度的非线性[8-9]。当灵敏度比较小时,比较小的加速度计输出值变化可计算达到比较大的角度变化,误差相对较大。
图3 余弦函数灵敏度变化Figure 3 Sensitivity changes of cosine function
1.2.2 噪声
在测量过程中,一方面系统会受到来自外界的振动等干扰,称为机械噪声;另一方面电路中电子元器件的本体噪声引入到系统中,称为电子噪声,使测量结果存在误差。通过良好的设计,在MMA8451中电子噪声和机械噪声都已经最小化,并且在MMA8451的DSP中,数字滤波器可以进一步滤除噪声。
另外在ADC过程中还会引入量化噪声。由于MMA8451内置过采样技术,在实际应用中,可以提高过采样率,从而提高信噪比,增加有效位数。
贝叶斯估计算法作为数据融合计算的手段之一,为静态环境中的多传感器数据融合提供了一种有效方法。该算法有着严格的理论基础,其信息描述为概率分布,能够较好地处理具有可加高斯噪声(概率密度函数服从高斯分布)的不确定数据[2]。
假设xi和xj分别表示第i个和第j个传感器的数据,定义置信距离为:
(3)
(4)
式(3)(4)中:pi(x|xi)和pj(x|xj)分别为xi和xj的概率密度曲线;dij为xi对xj的置信距离;dji为xj对xi的置信距离。由于Xi和Xj均服从正态分布,于是有:
(5)
(6)
dij与dji反映了两个传感器之间相互支持的程度,置信距离的值越小,数据的支持程度越高。将多传感器测量系统中任意两个传感器的置信距离求解并建立置信距离矩阵Dm:
(7)
得到置信距离矩阵后,为划分置信距离需选择一个合适的临界值,用来判断两个传感器的输出数据之间的相互支持情况。设βij为置信距离的临界值,即认定当dij≤βij时认为第i个传感器的输出值支持第j个传感器的输出数据;反之则认定为不支持。定义二值变量表达式
(8)
将二值变量表达式代入置信距离矩阵Dm,得到关系矩阵Zm
(9)
关系矩阵用以清晰明确的表达传感器之间的支持情况。这样需要选择第二个临界值m。当多于m个传感器支持某个传感器的输出时,认为其输出数据是有效的。由此依据关系矩阵选择传感器的输出结果,得到l个有效数据作为最佳融合数。为描述方便,将其表示为(x1,x2,……,xl)。在测得一组测量数据(x1,x2,……,xl)的条件下,被测参数的条件概率密度函数为
(10)
(11)
(12)
融合结果为
(13)
用μN来表示被测参数μ的贝叶斯估计结果。
对于三轴加速度计的倾角计算,有三种计算方法:
方法一:根据Z轴加速度与重力加速度。
根据Z轴的输出与重力加速度之间的关系式,可以计算出Z轴与重力之间的夹角,即倾斜角θ1,关系式为
ZOUT=1g×cosθ1。
(14)
方法二:根据X、Y轴加速度矢量和与重力加速度。
根据X、Y轴的输出值,计算矢量和,然后可以根据矢量和与重力加速度之间的关系求出倾斜角θ2,关系式为
XYOUT=1g×sinθ2。
(15)
式(15)中,XYOUT为X、Y轴输出值的矢量和。
方法三:根据X、Y轴加速度矢量和与Z轴加速度。
根据X、Y轴的输出值,计算矢量和,然后可以根据矢量和与Z轴加速度之间的关系求出倾斜角θ3,关系式为
XYOUT=ZOUT×tanθ3。
(16)
通过上述分析可以看出,三种计算方法均存在非线性误差,但是不同计算方法的非线性分布不同。所以本文提出方法四,即将前面三种计算方法的计算数据看作是三个传感器对同一物理量采集到的数据,应用贝叶斯估计算法来进行数据的融合计算。具体步骤可以总结如下:首先,应用MMA8451的FIFO采集到X、Y、Z轴的连续输出值;其次,应用三种计算方法对倾斜角进行计算,得到多个θ1、θ2、θ3,分别计算其均值与方差;再次,对三个计算值进行贝叶斯估计的数据融合[4]。
为了对误差修正后的倾角解算算法进行验证,本文搭建了基于KL25Z微控制器和MMA8451三轴加速度传感器的硬件平台;采用C语言编写算法,实现嵌入式系统的程序设计。图4为系统框图。
图4 倾角测量系统Figure 4 Inclination measurement system
为检验倾角测量系统的准确性,将倾角测量系统平放在静止平面上,使用角度校准装置测量其与静止平面夹角。固定系统开发板一端,使其在某一轴依次倾斜0°~150°,每间隔10°测量并记录一次数据。由于静止平面并非绝对的零度,因此测量出的结果,应该都与参考值有个稳定的误差,即零度偏移,所以数据处理时还要进行零度校准。
选择置信距离的临界值为βij=0.8,临界值m=0。在程序中将三种计算方法的计算结果与贝叶斯估计的融合结果同时输出到OLED显示屏上,以利于进行对比。
对试验数据进行统计分析,可以得到误差分布图,如图5。
图5 不同方案下误差随测量角度变化Figure 5 Error changes with measurement angle under different schemes
对于不同计算方法的平均误差与最大误差进行统计计算,得到数据如表1。
表1 不同方案的误差Table 1 Errors of different schemes (°)
从图5可以看出,方法一和方法三在0°到90°变化时误差减小,而在90°以后误差逐渐变大。对于方法二,在0°到90°变化时,误差增大,而在90°以后误差减小。而方法四也就是数据融合方案的误差分布均匀。同时综合图5和表1可以看出,方法四的误差值总体较小,融合计算结果的平均误差相比单一计算方法减小了77%以上。通过数据对比,可以看出,基于贝叶斯估计的数据融合计算有效解决了灵敏度非线性问题。
本文通过对基于三轴加速度计的倾角解算算法进行理论研究,在数据噪声以及灵敏度非线性两个方面深入分析。在此基础上根据贝叶斯估计算法的特点提出改进方案,同时搭建以KL25Z及MMA8451为核心的倾角测量系统,对改进后的算法进行试验验证。试验表明,经贝叶斯估计处理后的测量结果与被校准数据的相关性得到提高,可靠性增强。说明使用该方法进一步提高了测试精度,此方法应用于三轴加速度计倾角计算数据处理的思路合理可行。本文提出的改进方案有效提高了倾角测量精度,为高精度倾角测量提供了有效理论支撑。