相关疑难解决方法(0)

结合陀螺仪和加速度计数据

我正在使用Lego Mindstorm的NXT系统构建一个平衡机器人.我使用的是HiTechnic的两个传感器,第一个是加速度计,第二个是陀螺仪.我已经成功地滤除了传感器和衍生角度的噪声,两者的范围在-90到90度之间,0度完全平衡.

我的下一个挑战是结合两个传感器值来校正陀螺仪随时间的漂移.下面是我根据实际数据创建的示例图,用于演示陀螺仪的漂移:

在此输入图像描述

我见过的最常用的方法是将这些传感器结合起来使用卡尔曼滤波器.但是,我不是微积分的专家,我真的不懂数学符号,但我确实理解源代码中的数学.

我正在使用RobotC(就像任何其他C衍生产品一样),如果有人能给我一些如何在C中完成此任务的例子,我将非常感激.

谢谢您的帮助!

解决方案结果:

好吧,kersny通过向我介绍补充过滤器解决了我的问题.这是一个说明我的结果的图表:

结果#1

在此输入图像描述

结果#2

在此输入图像描述

如您所见,滤波器校正陀螺仪漂移并将两个信号组合成单个平滑信号.

编辑:因为我正在修复破碎的图像,我认为显示我用来生成这些数据的装备会很有趣:

在此输入图像描述

c algorithm accelerometer lego nxt

69
推荐指数
2
解决办法
9万
查看次数

陀螺漂移在手机上

很多帖子谈论陀螺漂移问题.有些人说陀螺仪阅读有漂移,但也有人说整合有漂移.

  1. 原始陀螺仪读数有漂移[link].
  2. 积分有漂移[link](Answer1).

所以,我进行了一次实验.接下来的两个数字就是我得到的.下图显示陀螺仪读数根本没有漂移,但有偏移.由于偏移,整合是可怕的.所以似乎整合就是漂移,是吗? 在此输入图像描述

下图显示,当偏移减小时,积分根本不会漂移. 在此输入图像描述

另外,我进行了另一个实验.首先,我将手机固定在桌面上大约10秒钟.然后将其旋转到左侧然后恢复到后面.然后正确和返回.下图很好地说明了角度.我使用的只是减少偏移然后进行整合.

在此输入图像描述

所以,我最大的问题是,偏移是陀螺漂移(积分漂移)的本质吗?在这种情况下,可以使用互补滤波器或卡尔曼滤波器来消除陀螺漂移吗?

任何帮助表示赞赏.

mobile gyroscope

13
推荐指数
1
解决办法
2万
查看次数

将陀螺仪与加速度计结合使用以获得航向

我正在使用Android设备获取标题(方位角或偏航角).

Android API使用Accelerometer值+ mganetic字段来计算矩阵旋转,然后从矩阵中提取方位角(也称为SensorManager.getOrientation(...))但结果非常不准确!特别是如果手机受到某些磁性物质的干扰.

然后我有陀螺仪,如果我整合了陀螺仪时间的价值,我就能得到一个实际的角度,但是像所有人都知道的那样:p,这可能会漂移... 10秒后甚至很难我'我没有移动10°漂移的角度......

所以在这里,我在一侧有accel + magneto的结果,它在磁场附近相当废话,另一方面我有陀螺的结果非常好,但随着时间的推移漂移......

所以我的问题是,是否有一种简单或聪明的方法将两个结果组合在一起以获得一种"稳健"的航向估算?我说很容易,因为我知道有卡尔曼滤波器..但即使是艰难的我读了理论50次我也不能得到一个该死的东西:).

谢谢!

android accelerometer azimuth orientation gyroscope

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

accelerometer ×2

gyroscope ×2

algorithm ×1

android ×1

azimuth ×1

c ×1

lego ×1

mobile ×1

nxt ×1

orientation ×1