求助啊 L3G4200D 数据采集老是很乱
采集的是角速度。。。可是当L3G4200D放着不动时,三个轴都会发出每次不同的数据??这个为何啊???再者。。这求角度。。积分的时间到底应该怎么算啊??算上一次取数据到这次取数据的时间差???
陀螺仪本身就会这样, 变化大
所以必须要做滤波和偏移校正
Angle += Gyro*dt
dt为取样时间(读取Sensor的时间), 也就是你想的"上一次取数据到这次取数据的时间差"
Gyro为角速度, 角度 = 角速度*时间
john800422 发表于 2012-9-8 22:25 static/image/common/back.gif
陀螺仪本身就会这样, 变化大
所以必须要做滤波和偏移校正
大神。。。滤波是使用L3G4200D自身的那个滤波器吗???顺便问一下:偏移校正怎么调???买器件跟的说明书里。。没有介绍。。。 使用自身滤波器也是可以, 但积分后还是容易累积误差,
也就是随时间越长, 角度越不精确
所以通常会加上加速度计做辅助
自己先了解一下只做积分的结果
再从简单的软件滤波试试看
像是互补滤波
我的偏移校正方法:
1. 始将陀螺仪静置一段时间, 在这期间内做取样
2. 将取样到的资料作平均数
3. 正常使用陀螺仪时会将读到的数据减掉平均数
例子:
假设陀螺仪静止状态下读到的资料为 10, 20, 16, 18
平均数 = ( 10 + 20 + 16 + 18 ) / 4 = 16
但理论上陀螺仪静止时角速度应为0
所以正确的资料 = 读到的资料 - 16
也就是陀螺仪静止状态下读到的正确资料为 -6, 4, 0, 2 mark mark记下有用 学到了。谢谢 也正在使用中 MARK;
虽然时间有点就远了,现在自己想好好做下IMU,也当做是自己的学习吧。。个人认为即使不动,也是会有漂移的,零漂应该就是这样。。求角度,用一个定时器的话应该就可行 john800422 发表于 2012-9-9 12:57
使用自身滤波器也是可以, 但积分后还是容易累积误差,
也就是随时间越长, 角度越不精确
所以通常会加上加速 ...
请问有没有有关L3g4200D做的比较好的例子呢?参考一下啦。还有就是用四元数的时候,一般情况下我们使用角度增量进行四元数更新,我看一本上写用角速度直接进行数据更新更方便,误差也更小?不知是否了解呢?
页:
[1]