互补滤波器翻译The Balance Filter_第1页
互补滤波器翻译The Balance Filter_第2页
互补滤波器翻译The Balance Filter_第3页
互补滤波器翻译The Balance Filter_第4页
互补滤波器翻译The Balance Filter_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

互补滤波器传感器两轴加速度计•测量“加速度”,但实际上是每单位质量受力。(F=ma,所以二F/m)•可以用来测量重力。如上图X轴读0g,Y轴读取1g。•可以用来测量倾斜陀螺仪•测量角速度(旋转速度)•静止时读数为0.•读数正负区别如下图所示读来自传感器的值第一步是在模拟输入(通过模拟-数字转换器ADC)为每个传感器和让他们成有用的单位。这需要调整抵消和规模:•偏移量很容易发现:看看整数值时传感器读取水平和/或固定。如果它跳动,选择平均价值。偏移量应是有符号*int-type变量(或常数)。•取值范围取决于传感器。这可以在传感器数据表或实验获得。它有时被称为传感器常数,增益,或灵敏度。取值范围应该是一个浮子式变量(或常数)。关于加速度传感器一些额外的知识如果有必要有一个估计的角度旋转360°,y轴测量将是有用的,但不是必要的。有了它,我们可以用三角找到两轴数据的旋转角的正切值,并计算出角度。没有它,我们仍然可以使用正弦或余弦和x轴的数据计算出角度,因为我们知道重力的大小。但三角函数会浪费处理器时间并且不是线性的,所以如果这是可以避免的,它应该被避免。对于一个平衡平台,最重要的用来计算的角度是接近垂直。如果这个平台在两个方向倾斜超过30°,有可能控制器只能按照满值(30度)去控制他。在这个窗口中,我们可以使用小角度近似和x轴节省处理器时间和编码复杂度:

平台是向前倾斜角度e,但固定(无水平加速),如左图所示。有x轴读数为:(ig)xsin(o)0小角度近似:sin(e)^e,单位为弧度。在正负30°角度内有较高准确性。期望的测量值为了控制平台,对于这个平台来说最好知道角度和角速度。这是一个角度的基础PD(比例/积分)控制算法,已被证明适合这种类型的系统。如下文:MotorOutput=KpX(Angle)+K。x(AngularVelocity)MotorOutput是完全另外一回事。但总的来说,这种控制设置可以通过调节Kp和Kd从而得到稳定和平滑性的性能。不太可能只用比例Kp就实现较好的控制。(如果角是正面的,但角速度为负,即返回到水平,电机会进一步减速。)实际上,PD控制体系类似于向着目标增加可调整的增强或减弱弱输出。如何测量方法1如下图。

优点:•直观•容易编码•陀螺提供快速、准确的角速度测量。缺点•噪声大•x轴将读取任何水平加速度作为一个角的变化。(想象的平台水平,但汽车造成加速前进。加速度计不能区分这重力)。方法2如图:优点:•依旧直观•依旧容易编码

•过滤掉短期水平加速度。只有长期的加速度(重力)通过。缺点:•由于平均滞后角测量。过滤器的越多,它就越滞后。延迟通常不利于稳定。方法3如图:优点:•据说theoretically-ideal过滤器结合噪声传感器可得到干净、准确的估计。•考虑系统的已知的物理性质(质量、惯性等)。缺点:•我不知道它是如何工作的。这在数学上是复杂的,需要一些线性代数的知识。不同的情况有不同的形式。•很难编码•消耗CPU时间方法四如下:优点:•可以帮助解决噪声、漂移和横向加速度的依赖。•角度估计的滞后,远低于低通滤波器。•并不是那么消耗CPU时间缺点:•比简单的过滤器需要更多的理论,但一点也不像卡尔曼滤波器。更多关于数字滤波器的问题目前有很多理论数字过滤器,其中大部分我不明白,但相当容易掌握的基本概念没有理论注释。这里有一些定义:积分:这是很容易的。认为汽车旅行有一个已知的速度和你的工程是一个时钟,每隔几毫秒就计时。为了得到每个计时点的新位置,你把旧的位置加上位置的变化。位置的变化只是汽车的速度乘以时间自上次时钟开始,你可以从单片机的定时器或其他一些已知的计时器。在代码:position+=speed*dt;;,或平衡平台,angle+=gyro*dt;低通滤波器:低通滤波器的目标是通过长期的变化,只让短期波动通过。做到这一点的一种方法是在整个循环周期中,强迫在随后的时间里建立小的变化。代码如下:angle=(0.98)*angle+(0.02)*x_acc;例如,如果角度为零开始,加速度计读数突然跳跃到10°,角度估计这样的变化在随后的迭代:Iter.12345678910e0.20°0.40°0.59°0.78°0.96°1.14°1.32°1.49°1.66°1.83°如果传感器就保持在10°,角度估计将上升,直到它达到预期的水平。达到完整的预期值所花费的时间取决于两个过滤器常量(0.98和0.02)和循环的采样率(dt)。高通滤波器:这有点难以解释的理论比低通滤波器概念上它恰恰相反:它允许短期信号通过而过滤信号稳定。这可以用于抵消漂移。采样周期:每个程序之间传递的时间循环。如果采样率为100Hz,采样时间是0.01秒。时间常数:滤波器的时间常数表现为一个相对持续的信号。对于低通滤波器,比时间常数长的信号可以通过,比时间常数短的信号将会被滤掉。高通滤波器相反。数字低通滤波器时间常数T,y=(a)*(y)+(1-a)*(x);以采样周期做循环运算,dt,可以这样得到:a•dtrT=—Q=1-at+dt所以如果你知道所需的时间常数和采样频率,你可以得到滤波器系数a。所谓互补:这就意味着滤波器的两个部分总是合成一个,这样的输出是一个准确、线性估计有意义的单位。阅读更多之后,我想在这里过滤不完全互补,但是当时间常数远远超过采样率是一个很好的近似(数字控制的必要条件)。深入的研究此角度测量的互补滤波器在大多数情况下,设计滤波器通常走向另一个方向。首先,你选择一个时间常数,然后使用计算滤波器系数。通过选择时间常数你可以稍稍调整响应。如果你的陀螺仪漂移平均每秒2°(可能最坏的估计),您可能会希望某一时刻的时间常数比下一秒的时间常数小,这样您就可以保证从未漂移超过两个单位(两度)。但是时间常数越低,越多的水平的加速度噪声将会被允许通过。类似于许多其他控制情况下,权衡和稍稍调整的唯一方法是实验。请记住,采样率选择合适的系数是非常重要的。如果你改变计划,增加更多的浮点计算,并且你的采样率下降两个因子,时间常数将上升的两个因子。除非你重新计算你的过滤周期。作为一个例子,考虑使用26.2M秒更新无线信息作为你的控制回路(周期)(通常是一个缓慢的想法,但它确实工作)。如果你想要一个0.75秒的时间常数,滤波参数将会是如此:a==°'75seC=0.966r+dt0.75sec+0.0262sec这时,angle=(0.966)*(angle+gyro*0.0262)+(0.034)*(x_acc);.第二个滤波系数是0.034,通过计算(1-0.966)得到。在有个滤波器里也应该考虑陀螺仪的偏移。它绝对不会引起漂移问题,但它仍然可以影响角度的计算。例如,我们错误地选择了个错误的漂零值,并且陀螺仪得到了5°/秒的角速度。可以通过数学计算证明(这里我不会)这在角度的估计

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论