发 帖  
原厂入驻New
张飞60小时讲透半桥串联谐振软开关电源设计,立即学习!

[经验] 加速度传感器修正角速度传感器累计误差的原理

2019-5-13 06:20:56  225 罗姆 传感器
分享
0
陀螺仪输出角速度,是瞬时量,一般角速度姿态平衡上是不能直接使用,多数惯导系统控制需要角度信号,所以需要角速度与时间积分计算角度,得到的角度变化量与初始角度相加,就得到目标角度,其中积分时间Dt越小,输出角度越准.但陀螺仪的原理决定了它的测量基准是自身,并没有系统外的绝对参照物,加上Dt是不可能无限小 。所以积分的累积误差会随着时间流逝迅速增加,最终导致输出角度与实际不符,所以陀螺仪只能工作在相对较短的时间尺度内。

加速度测量的是重力方向,有系统外绝对参照物“重力轴”,在无外力加速度的情况下,能准确输出ROLL/PITCH两轴姿态角度,并且此角度不会有累积误差,在更长的时间尺度内都是准确的。但是加速度传感器测角度也有缺点 ,加速度传感器实际上是用MEMS技术检测惯性力造成的微小形变,而惯性力与重力本质就是一个东东 ,所以它就不会区分重力加速度与外力加速度,当系统在三维空间做变速运动时,它的输出就不正确了。很可惜,多数需要惯导姿态角的系统,都不是工作在静止状态下。

所以在没有其它参照物的基础上,要得到较为真实的姿态角,就要扬长避短,结合两者的优点,摈弃其各自缺点 。最简单的办法就是加权,设计算法在短时间尺度内增加陀螺仪的权值,在更长时间尺度内增加加速度权值,这样系统输出角度就更真实了。

其实MK四轴的平衡算法也是这样,首先对陀螺仪做PI运算,其中I的真正含义就是积分反演角度。有了陀螺仪PI算法,四轴就有了瞬时增稳,就可以遥控飞了,但是它不会永远水平。由于累积误差的作用,很快中立点就不是水平位置了,这时候就需要用加速度不断的纠正陀螺仪积分误差。

你可以看到MK算法中有根据加速度方向不断把积分量I递减清零的代码,就是这个融合算法的核心了。MK立足于一个高级航模玩具,为了在低成本8位单片机上运行,不去显式的计算姿态角,只把校正后的PI值输出负反馈控制电机了,这样的好处是基本上只用整型算法就能完成运算,而要显式的计算姿态角,更专业的做法就是KALMAN滤波显式求解姿态 。卡曼滤波也是在对历史数据积分,并且可以同步融合陀螺仪与加速度数据,陀螺仪与加速度贡献权值还可以通过滤波参数调整。所以它就成了惯性数据处理的经典算法,他的缺点是浮点运算量较大,对系统资源要求较高。很少有人在资源较少的8位单片机上玩卡曼滤波的。

总结一下就是:

PITCH/ROLL角速度积分->PITCH/ROLL姿态角,再结合加速度纠正累积误差

YAW角速度积分->方向角,再结合地磁传感器、GPS纠正累积误差

当然导航并非只能用加速度传感器,其它有绝对参照物的传感器都可以,比如人除了耳蜗外,还有视觉,根据身边的景物人也不会有累积误差导致摔跤的问题 ,但一般人闭上眼睛,即便有耳蜗能保持平衡,摔跤可能性也会增加。还有其它传感器,比如红外,航模上有种德国红外平衡仪,就是检测地平线上下,红外背景强度不同来保证绝对姿态的。卫星上以前还听说过星光导航的,应该也是用它来作为一个相对静止的参照物。
http://bbs.cirmall.com/thread-10588-1-1.html
qq967873880 2019-5-13 06:32:12
看看了                  
回复

举报

xhm1872642 2019-5-13 12:10:40
学习了,有没有这方面好的资料,刚入手传感器,谢谢!
回复

举报

只有小组成员才能发言,加入小组>>

20个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /10 下一条

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