中文版互补滤波器0203资料Word文档格式.docx

上传人:b****6 文档编号:20324978 上传时间:2023-01-22 格式:DOCX 页数:11 大小:706.83KB
下载 相关 举报
中文版互补滤波器0203资料Word文档格式.docx_第1页
第1页 / 共11页
中文版互补滤波器0203资料Word文档格式.docx_第2页
第2页 / 共11页
中文版互补滤波器0203资料Word文档格式.docx_第3页
第3页 / 共11页
中文版互补滤波器0203资料Word文档格式.docx_第4页
第4页 / 共11页
中文版互补滤波器0203资料Word文档格式.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

中文版互补滤波器0203资料Word文档格式.docx

《中文版互补滤波器0203资料Word文档格式.docx》由会员分享,可在线阅读,更多相关《中文版互补滤波器0203资料Word文档格式.docx(11页珍藏版)》请在冰豆网上搜索。

中文版互补滤波器0203资料Word文档格式.docx

3.读取旋转时的方向值。

左图为陀螺仪正转,右图为陀螺仪反转。

 

读传感器的值

第一步是要看每个传感器的模拟输入(通过类比数模转换器,ADC),并让他们成为有用的单位。

这需要调整偏移和数值范围。

偏移是很容易找到的:

传感器水平和/或静止的时候读传感器的整型值。

如果它的值颤动,则选择一个平均值。

偏移量应该是一个整形变量(或常量)。

取值范围取决于传感器。

它是由多因素预期的单位得来。

这可以从传感器“数据手册”或实验得到。

它有时被称为传感器常数、增益、或灵敏度。

取值应该是一个浮点型的变量(或常量)。

即使没有ADC的结果也可以抵消负面的偏移,它们将会被去掉,所以不会使变量发生改变了。

  单位可以是度或弧度(每秒陀螺仪),它们必须是一致的。

更多的关于加速度计

如果必须要有一个360º

角旋转的估量,有y轴方向上的测量会很有用,但不是一定必须要。

有了它,我们可以用三角法找到两个轴的反正切的数值和计算两个轴的角度。

没有它,我们还可以用正弦或余弦和x轴单独算出角度,因为我们知道重力的大小。

但是三角法消耗处理器时间而且是非线性,所以,它可以避免就应该尽量避免。

为平衡平台,最重要的是确保角度靠近垂直。

如果平台倾斜从两个方向超过30º

那可能就没有更多的控制器可以做全速行驶去纠正它,在这种情形下,我们可以用小角度近似和x轴节约处理器时间和简化编码复杂度。

平台有一个倾斜的角度θ,但是是静止的(没有水平加速度)

X轴方向上:

(1g)×

sin(θ)

小角度近似:

sin(θ)≈θ,按幅度来算的话θ=±

π/6=±

30º

因此编码的二进制码如下:

x_acc=(float)(x_acc_ADC–x_acc_offset)*x_acc_scale

如果x_acc_scale角度将取值输出到1[g],x轴是径直指向下,x_acc将按弧度来算。

为了获得角度,x_acc_scale应该在180/π之间取值。

所需要的测量

为了控制平台,最好是知道基础平台角度和角速度。

这可能是一个角度PD(比例/微分)控制算法的基础,该算法已经证实了该系统类型可以很好地工作。

像这样的:

电机输出=Kp×

角度+Kd×

角速度

电机真正的输出又是另一回事。

但常规的想法是,这种控制建立可调谐Kd和Kp使它达到稳定和平稳的性能。

这是不太可能超越的水平点除了proportional-only控制器之外。

(如果角度是正向的,但是角速度是负向的,即它反馈回来的是水平的,电机就会提前减慢。

事实上,这种PD控制方案就像对智能车添加一个可调弹簧和阻尼器。

映射传感器

这是最好的方法吗?

赞成的观点:

1.直观。

2.容易编码

3.陀螺给快速、准确的角速度测量

反对的观点:

1.噪声。

2.x轴要读水平方向任何角度改变的加速度。

(想象一下平台是水平,但平台电机使它向前加速,加速度计也无法和引力鉴别开。

0.75和0.25是参考数值。

这些可以调谐滤波到满意的变化时间常数。

赞成的观点:

1.依然很直观。

2.依然很容易编码。

3.过滤掉短周期水平加速度,唯一可以通过的是长周期的加速度(重力)。

1.测角由于取平均值而滞后,过滤器越多就越能滞后,滞后一般会影响稳定性。

1.只有一个传感器来读.

2.快速,滞后不是问题

3.不受制于水平加速度。

4.容易编码。

1.可怕的陀螺漂移,如果陀螺没有准确的读出平衡时的零点(而且它不会),小速度将持续增加角度,直到它远离实际的角度。

1.想象一下理论上完美的滤波器可以滤去杂波、准确的估计。

2.考虑到系统的已知的物理性质(质量、惯性等)。

1.我不知道它是如何工作的,它的算法很复杂的,需要了解一些线性代数的知识。

不同情况有不同形式。

2.可能很难编码。

3.会消耗处理器的时间。

1.可以帮助解决噪声、漂移、水平加速度的依赖性。

2.快速估计角度,比只有低通滤波器时的滞后明显减弱。

3.处理器不是很密集。

1.和低通滤波相比需要了解更多的理论知识,但没有像卡尔曼滤波器那样。

更多关于数字滤波器

数字滤波器有很多的原理,其中大部分我不懂,但是没有理论符号的基本概念很容易掌握(z-domain转移函数,如果你想研究它),这里有一些定义:

整合:

这很简单,想像一个汽车以一个已知的速度移动,你的程序是一只钟每隔几毫秒滴答响一次,为了在每一个滴答声响得到新的位置,你应把旧的位置加上改变的位置。

这个位置的改变只是自从上次滴答响,这辆小汽车的速度乘以时间,你由单片机定时器或其他已知的定时器得到数值。

在代码:

新位置=旧的位置+速度*变化的时间。

对于平衡的平台来说:

角度=原来的角度+陀螺仪的值*变化的时间。

低通滤波器:

低通滤波的目的是只让长期信号的变化量通过,过滤掉短期的波动。

一种方法是力的变化建立在随后的时间一点一点地通过程序循环。

在代码中:

angle=(0.98)*angle+(0.02)*x_acc

例如,开始是零的角度,加速计突然跳跃到10º

角度估计的改变像随后的迭代:

如果传感器保持在10º

角度估计将会上升直至在它的水平这个值。

所花费的时间,达到充分数值既取决于过滤常数(例如0.98和0.02)也取决于采样率的回路(dt)。

高通滤波器:

理论和低通滤波器相比这有点难以解释,但作用上它恰恰和低通滤波器相反:

它允许短周期信号通过,过滤信号而达到稳定,这能用来抵消漂移(过滤掉直流成分)。

采样周期:

每个程序之间经过循环所需时间的长短。

如果采样率是100赫兹,采样周期为0.01秒。

时间常数:

滤波器的时间常数表现为一个相对持续的信号,对于一个低通滤波器,分析了信号的时间常数远比通过信号改变而短于过滤的时间常数。

对于高通滤波器那就是相反的,这个时间常数,τ,是一个低通滤波器。

y=(a)*(y)+(1-a)*(x);

所以如果你知道所需的时间常数和采样率,你可以选择滤波器系数。

补充:

这表示滤波器的两个部分总是合成一部分,输出是一种精度高的值、单位的线性估计这样做是有意义的。

读得差不了,我感觉这滤波器不是准确的互补,但是当时间常数远比采样率大的时候是一个很好的近似(对任何数字控制来说是一个必要条件)。

仔细看看角互补滤波器

如果这个过滤器运行一个循环中执行100次/秒,时间常数对低通、高通滤波器是:

在这个定义中是徘徊在信任陀螺仪和加速度计的边界,如果这个时间短于半秒钟,陀螺仪整合和滤除水平加速度噪声优先。

如果时间期长于半秒钟,平均加速计的质量比陀螺仪更重,可能这一点有漂流。

大多数情况下,设计滤波器通常用其他的方式,首先,选择一个时间常数,然后用它来计算滤波器系数。

挑选时间常数在这个地方你可以调整响应。

如果你的陀螺仪漂移平均每秒2º

(可能是一个最坏的估计),你可能想要一个小于一秒的时间常数,让你可以保证在任一个方向上从未漂移超过两度。

但时间常数越低,加速度越水平噪声将允许通过。

像许多其他控制的情况下,有一个权衡,唯一的办法就是去试验。

记住,选择正确的采样率系数是非常重要的,如果你改变你的程序,增加更多的浮点运算和是导致你的采样率下降的两个因素。

你的时间常数会变大有两个因素除非你重新计算你的过滤条件。

举个例子,考虑使用26.2毫秒的收音机更新你的控制回路(通常是一个缓慢的思想,但它是工作的)。

如果你想要一个0.75秒的时间常数、过滤器术语应该是这样的:

滤波器上陀螺仪的偏压它也是值得去思考。

这个过滤器陀螺肯定不会造成漂移的问题,但它仍然可以影响角的计算方法。

举例来说,我们误选错了偏移和我们的速率陀螺静止时报告5º

/秒的旋转,它算术上可以证明(这里我不会)角度估计等于偏移速度乘以时间常数。

因此,如果我们有一个0.75秒时间常数,这将给一个常数3.75º

角的偏移量。

另外,这可能是一个坏的情形(陀螺仪不应该那么远偏移),长角度偏移和一个漂泊角度偏移量相比较是很容易处理的。

举例说来,你可以在相反的方向旋转加速度计3.75º

来调节它。

对某些实验结果的足够理论

控制平台:

自定义PIC-based无线控制器,十位精度的ad。

数据采集:

一个串行USB收音机,做在VisualBasic上。

陀螺:

ADXRS401、模拟装置iMEMS/秒75º

角速率传感器。

加速度:

ADXL203,模拟设备两轴iMEMS加速度计。

注意过滤处理两个问题:

水平加速度干扰而不旋转(强调蓝色)和陀螺漂移(突出红色)。

这里有两件事情需要注意:

第一,不可预见的启动问题(蓝色凸显),如果你不适当初始化你的变量这是什么都可能发生的,长时间常数是指前几秒钟可以不确定。

这是很容易地确保所有重要的变量将被初始化为0,或者任何一个“安全”的数值。

其次,注意到严重的陀螺偏移量(红色突出),大约6º

/秒,以及如何创造一个恒角度在偏移角度估计中。

角度偏移约等于陀螺偏移乘以时间常数)这是一个很好的坏的情形的例子

总结

我认为这个过滤器,很适合D.I.Y.平衡解决方案,原因如下:

1.这似乎工作,角度估计是准确,响应快的,但是对横向加速度和陀螺仪漂移是不敏感的。

2.微处理器是安全的,它需要少量的浮点操作,但总之你使用的这些应在你的控制代码中。

100赫兹或以上它可以很容易的控制回路。

2.和备选的方案例如卡尔曼滤波器相比这更直观,更容易解释理论。

这可能没有任何解释为什么它运转的要好,但在教育项目,如第一,它就是一个优势。

之前我说100%的可能性,这是一个完美的解决办法来平衡平台,我想看看一些硬件测试…也许D.I.Y.赛格威吗?

另外,我也不确定这当中有多少适用于水平定位。

我怀疑不是太多:

没有地心引力,有一个小的加速度计就可以给一个绝对的参考。

当然,你能将它两次求积分估计目标位置,但是这将漂移很多。

虽然,过滤技术可以用一系列不同的传感器实行,也许一个加速度计及一个编码器集合——但想定的情况根本不模拟。

(编码器不存在绝对定位装置…如果轮子失去牵引力一样会漂移,一个好的对水平方向定位的模拟量将使用GPS做长期估计和惯性传感器进行短期整合。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 研究生入学考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1