搜索
bottom↓
回复: 26

如何卡尔曼滤波器处理惯性测量得到的数据

[复制链接]

出0入0汤圆

发表于 2009-11-26 01:42:18 | 显示全部楼层 |阅读模式
简介
对我们来说, 卡尔曼滤波器看起来是空灵又瑰丽的一个概念。的确,它奇迹般的帮我们解决了一些较为棘手的问题。但是,它不是万能的,并不能帮我们解决一切我们面对的难题。
下面本文将解释卡尔曼滤波器是如何工作的。我们将采用实例的办法来帮助我们理解,而不是长篇累牍的讲令人讨厌而且晦涩的理论。因为我们大多数人只是在MAV/UAV(即微型飞行器/无人机)应用中才用到它,所以我会尽力使其看起来更具体和形象,而不是令人抽象的讲解。
假设大家都知道如何从加速度计和陀螺仪中得到相应的数据。一些基本的代数知识也会派上用场。:-)
基本运算
卡尔曼滤波是一个迭代器,需要两个数据。
首先,你将需要一些输入数据,这些输入数据可通过线性运算得到预期理想的输出。即:我们需对我们的问题抽象出一个线性模型。
第二,我们也需要其他的输入数据,这可能是预期的真值或非常接近真实值的近似值。每次迭代,卡尔曼滤波都会稍微改变改变线性模型的变量。所以我们线性模型的输出会和第二次的输入数据非常接近。

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

 楼主| 发表于 2009-11-26 01:46:43 | 显示全部楼层
我们用一个简单的模型来解释卡尔曼滤波器的基本运算
显然, 我们的两个输入数据采用加速度计和陀螺仪输出的数据。我们模型所用的陀螺仪数据形式如下:

(原文件名:陀螺仪数据.png)
第一个公式表示线性模型的一般表示形式。我们需要填写A和B矩阵,并选择一个稳态x。
变量u 表示输入数据. 此处是陀螺仪的数据。 我们是如何合并这些数据的? 我们只是添加了归一化测量。
alpha k = alpha k-1 + (_u_ k – bias)
我们需要包含两次测量(_dt_)之间的时间间隔dt,因为我们是在处理角速度。
alpha k = alpha k-1 + (_u_ k – bias) * dt
即:
alpha k = alpha k-1 – bias * dt + u k * dt

我们的偏置量是常量。对于陀螺仪来说,该偏置量就是偏置漂移量。好了, 我们了解了卡尔曼的精髓:该过滤器过比较加速度的输出结果(我们第二次输入的数据)来调整每次迭加的偏置量。
下面待续。。。睡觉了先。

出0入0汤圆

发表于 2009-11-26 04:18:40 | 显示全部楼层
楼上这个是非典型Kalman filter在惯导的应用,期待下文。

哪天我写个典型的Kalman filter在惯导中应用。

出0入0汤圆

发表于 2009-11-26 08:38:11 | 显示全部楼层
期待下文

出0入0汤圆

发表于 2009-11-26 08:59:03 | 显示全部楼层
顶,赞

出0入0汤圆

发表于 2009-11-26 09:12:53 | 显示全部楼层
翻译的不错

出0入0汤圆

 楼主| 发表于 2009-11-26 09:49:15 | 显示全部楼层
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2楼】 litao8421
楼上这个是非典型Kalman filter在惯导的应用,期待下文。
哪天我写个典型的Kalman filter在惯导中应用。  
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
期待典型的大作。。呵呵。别忘记告诉我一声啊。


结论
以下是一些利用到矩阵和统计的公式,现在我们不需要详细的知道这些公式如何来的。
u = measurement1    //读取最后得到的测量值
x = A · x + B · u  //更新模型的稳态x
y = measurement2  //读取第二次的测量值或真值.此处是加速度计的角度运算值
Inn = y – C · x  //第二次的值和用我们模型运算得到的预测值进行相减运算
s = C · P · C’ + Sz  //计算协方差
K = A · P · C’ · inv(_s_)  //计算卡尔曼增益
x = x + K · Inn  //纠正稳态的预测值
P = A · P · A’ – K · C · P · A’ + Sw  //计算预测误差的协方差

C矩阵是从状态矩阵的输出反推出来的。对我们来说,它是(1 0)’ :
alpha = C · x
Sz是测量过程中的噪声方差: Sz = E(zk zkT)
在我们的例子中,Sz是(加速度计数据中)抖动造成的噪声方差。
Sw是处理过程的噪声协方差矩阵(此处是一个 2×2的矩阵): Sw = E(x · xT)
故: Sw = E( [alpha bias]’ · [alpha bias] )
因为只有Sw矩阵对角线上的元素被用到,我们需要知道E(alpha2) and E(bias2),

陀螺仪的alpha中的噪声乘以dt2.故:E(alpha2) = E(u2)· dt2.
这些因子由我们所用传感器所决定。我们可通过实验计算出来。
自动驾驶仪等的卡尔曼滤波器的源代码中, 一般使用如下常量:
E(alpha2) = 0.001
E(bias2) = 0.003
Sz = 0.3 (radians = 17.2 degrees)

以上是翻译某国外高人的,限于水平,难免出错...(仅仅为了方便自己阅读,请不要拍砖,呵呵).
注:E(.)是统计函数,表示期望值。

出0入0汤圆

发表于 2009-11-26 09:52:46 | 显示全部楼层
坐下听课,数学太烂了,这些东西一定要有人咬烂了我才能吃,=,=

出0入0汤圆

 楼主| 发表于 2009-11-26 10:49:00 | 显示全部楼层
PID是比例,积分,微分的缩写.
比例调节作用:是按比例反应系统的偏差,系统一旦出现了偏差,比例调节立即产生调节作用用以减少偏差。比例作用大,可以加快调节,减少误差,但是过大的比例,使系统的稳定性下降,甚至造成系统的不稳定。

积分调节作用:是使系统消除稳态误差,提高无差度。因为有误差,积分调节就进行,直至无差,积分调节停止,积分调节输出一常值。积分作用的强弱取决与积分时间常数Ti,Ti越小,积分作用就越强。反之Ti大则积分作用弱,加入积分调节可使系统稳定性下降,动态响应变慢。积分作用常与另两种调节规律结合,组成PI调节器或PID调节器。

微分调节作用:微分作用反映系统偏差信号的变化率,具有预见性,能预见偏差变化的趋势,因此能产生超前的控制作用,在偏差还没有形成之前,已被微分调节作用消除。因此,可以改善系统的动态性能。在微分时间选择合适情况下,可以减少超调,减少调节时间。微分作用对噪声干扰有放大作用,因此过强的加微分调节,对系统抗干扰不利。此外,微分反应的是变化率,而当输入没有变化时,微分作用输出为零。微分作用不能单独使用,需要与另外两种调节规律相结合,组成PD或PID控制器

出10入0汤圆

发表于 2009-11-26 17:07:21 | 显示全部楼层
MARK

谢谢!

出10入0汤圆

发表于 2009-11-27 14:05:35 | 显示全部楼层
楼主,标题是不是有点难读?

出0入0汤圆

 楼主| 发表于 2009-11-27 14:46:19 | 显示全部楼层
to huike:
翻译的不准确,不好意思,没注意。呵呵。

出0入0汤圆

发表于 2009-12-12 21:27:40 | 显示全部楼层
能指明一下原始出处么?感谢

出0入0汤圆

发表于 2011-1-5 20:13:56 | 显示全部楼层
再学习

出0入0汤圆

发表于 2011-6-9 22:17:05 | 显示全部楼层
原文在此ourdev_647343WM85SE.mht(文件大小:98K) (原文件名:MAV-blog  Kalman filtering of IMU data.mht)

出0入0汤圆

发表于 2011-6-10 17:03:46 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-6-29 14:12:38 | 显示全部楼层
如果dt是常数,A就是常数阵。
s = C · P · C’ + Sz  //计算协方差
K = A · P · C’ · inv(_s_)  //计算卡尔曼增益  
P = A · P · A’ – K · C · P · A’ + Sw  //计算预测误差的协方差
Sw、Sz有都是常数,可以预见给定一个初始P阵,K必然会趋于稳定。而且稳定值只跟Sz、Sw、P的初值选取有关,就是说,只要确定了Sz、Sw、P0,K的稳态值是可以算出来的。那么这样的“卡尔曼滤波”,还是卡尔曼滤波吗?凉粉吃进肚子里,还是凉粉吗?等高手解释啊………………

出0入0汤圆

发表于 2011-6-29 15:13:15 | 显示全部楼层
记号一下~

出0入0汤圆

发表于 2011-6-30 09:21:06 | 显示全部楼层
刚补习了一下卡尔曼滤波原理,增益是可以离线计算的。关键是几个噪声方差怎么测量。

出0入0汤圆

发表于 2011-8-3 21:33:10 | 显示全部楼层
学习下

出0入0汤圆

发表于 2011-8-3 21:59:49 | 显示全部楼层
赶快占座

谢谢楼主分享!

出0入0汤圆

发表于 2011-12-9 01:28:39 | 显示全部楼层
mark

出0入0汤圆

发表于 2013-1-9 09:09:27 | 显示全部楼层
这么好的帖子 咋 么有下文了呢

出0入0汤圆

发表于 2013-8-27 12:35:35 | 显示全部楼层
mark!!!!!!!!!!!!!!

出0入0汤圆

发表于 2013-8-27 13:40:54 | 显示全部楼层
期待下文。

出0入0汤圆

发表于 2013-8-27 13:41:09 | 显示全部楼层
写得不错,期待下文。

出0入0汤圆

发表于 2013-12-26 22:38:19 | 显示全部楼层
感谢大师分享,不过还是不是很懂
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 22:16

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表