2

我想使用加速度计、陀螺仪和其他智能手机传感器绘制设备在 3D 空间中的运动。

经过一番研究,我发现了一个方程,它说可以通过对a*t^2方程进行双重积分来完成,但这引入了巨大的累积误差和漂移余量。我对此的解决方案是跳过双重积分,而是计算梯形的面积 -((a(t) - a(t-1)) * dt / 2) + (dt * a(t))但是这会给出离散的结果,当加起来时不会提供正确的路径(即使没有应用重力过滤器并且在平面上移动设备时)。

考虑到在时间 N*dt 采集第 N 个样本的每个时间间隔,我有一个恒定的增量时间值和一个传感器数据样本,因此是否有更准确的方法可以实时执行这些计算。

4

1 回答 1

1

不幸的是,如果您只使用加速度计和陀螺仪数据,那么随着时间的推移,您通常会看到相当多的数据漂移。您还在使用哪些其他传感器?您可以访问 GPS 数据吗?你有一个你期望智能手机经历的运动的数学模型吗?

也就是说,如果您被 IMU 困住,那么有各种各样的过滤器可以为您提供比简单集成更好的估计。其中最简单的可能是Madgwick Filter,它实现起来很简单,只需结合您的线性加速度计和陀螺仪数据。这里的一个重要结论是陀螺仪传感器数据作为四元数进行转换和更新。

教程实际上很好地概述了 IMU 的数学模型,以及一些您可以测试的过滤器。最复杂的是卡尔曼滤波器和它的变种,比如无味卡尔曼滤波器,它们可能很难调整,但一般都能提供良好的性能。

抱歉,您的问题没有简单的答案。但是您提出了一个广泛的问题,而答案在很大程度上取决于您的应用程序。但我建议您使用该教程中列出的 Madgwick 或互补过滤器,它们非常简单,并且可以让您快速改进最初的估计。

于 2020-02-21T14:40:37.950 回答