多传感器融合中的卡尔曼滤波应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
多传感器融合中的卡尔曼滤波探讨
1 引言
目前靠单一的信息源很难保证获取环境信息的快速性和准确性的要求,会给系统对周围环境的理解及系统的决策带来影响,另外,单一传感器获得的仅仅是环境特征的局部、片面的信息,它的信息量是十分有限的。而且每个传感器采集到的信息还受到自身品质、性能噪声的影响,采集到的信息往往是不完整的,带有较大的不确定性,偶尔甚至是错误的。而且在传统方式中,各传感器采集的信息单独、孤立的进行加工处理,不仅会导致处理工作量增加,而且割断了各传感器信息的联系丢失了信息的有机组合蕴涵的信息特征,也造成信息资
源的浪费[3-7]。在运动控制系统中,传统上就往往将速度传感器测量到的速度和加速度计测量到的加速度进行单独处理,没有将两者的信息进行数据融合。由物理定律可知,加速度与速度成导数关系,所以两者的数据是存在内在联系的,完全可以根据信息融合理论对两者数据进行综合处理,从而得到更加准确的结果。卡尔曼滤波器是常用的一种数据融合技术,它利用迭代递推计算的方式,对存贮空间要求很小,适合于存贮空间和计算速度受限的场合
[1,2]。本文分析了数度传感器和加速度计各自的优缺点,给出了一种应用卡尔曼滤波器原理对两者进行数据融合的方法。
2 传感器简介
2.1 光电编码器
光电编码器通常用于角度、位移、或转速测量,通过对光脉冲的个数进行计数再经过计算而得到测量值。假设在周长为L 的圆盘上有M 个过光孔,离散系统中,在周期时间T 内对脉冲进行计数值为N ,则第k 次测量的线速度v 可表达为
MT
k Le k v MT k Le MT k LN k e k N MT L k v )()()()())()(()(+=+=+=∧ (2-1) e 是随机误差,为光脉冲取整后的剩余值,取值范围为(-1, 1),可看作均匀分布。∧v 为实际的观测值,与真值v 之间相差MT
Le 。可见,在固定长度的L 上,加大M 或T 的值,都可以减小误差。但是加大M 需要付出昂贵的成本,使传感器价格大幅提高,如光栅式光电传感器;而加大T 又会降低系统的动态响应性能,所以在实际应用中,这两者均难如愿。 在需要同时测量加速度的场合,理论上可以由对速度求差分方程得出,即
2
2))1(()(())1()(()1()()(MT k e k Le MT k N k N L T k v k v k a --+--=--= (2-2) 容易看出,相对误差显著提高,数据几乎不可用,所以需要专门的加速度计对加速度进行测量。
2.2 加速度计
加速度计用于测量物体的线性加速度,根据不同的测量原理,有很多种类,本文中使用的MMA7260是一款低成本、低功耗、小体积、功能完善的单芯片加速度计,主要用于运动检测、惯性导航、震动检测、交通安全等。MMA7260响应快、带宽可调整、可响应高频率输入,但是其测量数据噪声与带宽的平方根成正比,会随着带宽增加而增加。
5.1350)(⨯=BW g rms Noise μ (2-3)
式中BW 为传感器带宽(HZ)。因此在设计时,首先要确定被测加速度的频率范围,然后再
设计滤波器的参数,尽量使滤波器的带宽略高于被测频率,这样做不仅有利于滤除高频干扰,也有利于降低系统噪声干扰。本文根据实际需要选择带宽为30Hz ,可满足动态特性要求,此时加速度计输出噪声为
mg g rms Noise 347.25.130350)(=⨯=μ (2-4)
可见,加速度测量性能相当不错。不过,加速度计有一个普遍缺点,就是随着温度的变化会发生零点漂移,MMA7260数据手册上的参考参数是2mg/℃。此外,在长期使用后也会出现一定的零点漂移,这就使得在精度要求比较高的场合,需要对加速度计的零点漂移进行校正。
另外,理论上也可由对加速度计的数据做积分运算得到速度,但是,任何小的误差经过长时间积分后,都会被无限的放大,所以,在实际测量中,很难信任由加速度积分得到的速度结果。由此,通过前面的分析可知光电编码器和加速度计各有优缺点,单独使用都不能很好的完成任务,需要联合使用,对其数据进行数据融合,以得到更加准确的结果。 3 卡尔曼滤波器
1960年,R.E.Kalman 在一篇论文中介绍了一种应用于离散线性滤波的迭代算法,这就是后来得到广泛应用的著名的卡尔曼滤波。卡尔曼滤波的目的就是要尽可能的减少噪声的影响,并且从含有噪声的测量值中得到系统状态的最优估计。同时,它的解是递归计算的,其状态的每一次更新估计都由前一次估计和新的输入数据计算得到,因此只需存储前一次估计,用计算机计算起来非常高效[9]。这些优点使得卡尔曼滤波特别适合于本文的速度与加速度状态估计,下面将介绍离散卡尔曼滤波算法。
3.1 线性离散系统的状态方程
卡尔曼滤波器给出了线性离散时间动态系统的状态描述,一般而言可用式(3-1)线性差分方程表达[10]
)1()1()1()(-+-+-=k w k Bu k Ax k x (3-1)
式中 n R k x ∈)(为k 时刻系统的状态向量,n R k u ∈)(为k 时刻系统的输入信号,n
R k w ∈)(为过程噪声,可建模为零均值的白噪声,其相关矩阵定义为 ⎩⎨⎧≠==k
n k n n Q k w n w E H 0
)(])()([ (3-2) n n R A ,∈为状态转移矩阵,B 为输入控制加权矩阵。
3.2线性离散系统的观测方程
系统的通用观测方程可表示为 )()()(k k Hx k z λ+= (3-3)
式中 n R k z ∈)(为k 时刻观测向量,n
R k ∈)(λ为观测噪声,可建模为零均值的白噪声,其相关矩阵定义为下式,其中H 为观测矩阵。 ⎩⎨⎧≠==k
n k n n R k n E H 0)(])()([λλ (3-4)