烽火社区

标题: 我的自平衡小车D2—加速度计与陀螺仪获取姿态参数的差异 [打印本页]

作者: YZA    时间: 2015-3-24 11:34 AM
标题: 我的自平衡小车D2—加速度计与陀螺仪获取姿态参数的差异

滤波的算法还没有研究明白,先放上一段从传感器直接采样的结果。

[attach]37414[/attach]

[attach]37415[/attach]

[attach]37416[/attach]

[attach]37417[/attach]


通过串口上传3个数据:采样时间、通过加速度计算得到的角度AngleA、通过角速度积分得到的角度AngleG。

在pc端得到的数据曲线

[attach]37418[/attach]

红色曲线是AngleA,绿色是AngleG,范围±10°,整个测量时间为20s

可以看到最前面静止区域,两条曲线噪声都不算严重,至少可以说明系统噪声不会是太严重的问题。

A部分是敲击桌子产生的,由于加速度计是通过测量两个方向的加速度来计算偏转角的。理想情况我们想要得到的是这两个方向的重力加速度分量。但是任何机械系统不可避免存在的平动振动也会产生相当大的加速度,而加速度计完全无法区分这两种加速度,所以振动加速度在我们的测量中引入了强烈的噪声。

B部分是用手偏移一个角度的结果,而C部分是系统晃动时采集的数据,此时不可避免的引入振动,加速度计过分敏感的神经再次受到强烈的刺激 。

而陀螺仪对振动不敏感,所以基本不会受到什么影响。我认为最前面加速度计测量得到的噪声也主要来源于桌面的震动,毕竟我桌子上的电脑风扇也是一个很大的噪声源。陀螺仪积分过程本身还有一个好处,时间积分为0的随机噪声也在此过程中平滑掉了。

短时间来看,陀螺仪已经可以非常好的对姿态进行判定,但是对于较长的时间,误差也随积分的过程不断累积,尽管有做过修正量Gry_offset来调校,随着时间累积,这个调校总归是不可靠的。

下面是100s的静态测试

[attach]37419[/attach]

如果系统是动态的,受到系统反应时间的影响,误差会更大,所以用加速度计进行修正是必要的。
卡尔曼滤波应该是比较"简单"而成熟的算法,但是要完全看懂对于我这样的初鸟来说也不太容易。D3应该就是关于卡尔曼滤波的一些心得了。其实这些对于论坛里各位DX来说可能是相当浅显的内容,不过毕竟也是我个人从0到1的过程,希望DX们不吝指教,见笑了。


作者: hongyu123    时间: 2015-3-24 11:40 AM

九轴怎么协调运转的啊






欢迎光临 烽火社区 (http://bbs.cnecport.com/) Powered by Discuz! X3.2