我想使用加速计、陀螺仪和其他智能手机传感器绘制设备在3D空间中的运动情况。
经过一些研究,我发现了一个方程,它说可以通过对a*t^2方程进行双重积分来实现,但这引入了巨大的累积误差和漂移。我的解决方案是跳过双重积分,而不是计算梯形((a(t) - a(t-1)) * dt / 2) + (dt * a(t))的面积,然而,这是给出离散的结果,当相加时,不能提供正确的路径(即使没有应用重力过滤器,当设备在平面上移动时也是如此)。
有没有一种更准确的方法来实时执行这些计算,因为我有一个关于增量时间的常量值和每个时间间隔上的传感器数据样本,其中第N个样本是在时间N*dt采集的。
发布于 2020-02-21 22:40:38
不幸的是,如果你只是使用加速度计和陀螺仪数据,那么你通常会看到数据随着时间的推移有相当大的漂移。你还在用什么传感器?你能拿到GPS数据吗?你有一个数学模型来描述你期望智能手机经历的那种运动吗?
也就是说,如果你坚持使用IMU,那么有大量的过滤器可以给你比简单的集成更好的估计。其中最简单的可能是Madgwick Filter,它很容易实现,只需结合您的线性加速度计和陀螺仪数据。这里重要的一点是,陀螺传感器数据被转换并更新为四元数。
该tutorial actually提供了一个很好的IMU数学模型的概述,以及一些您可以测试的过滤器。最复杂的是Kalman Filter及其变体,就像Unscented Kalman Filter一样,它们可能很难调优,但一般都能提供良好的性能。
很抱歉,您的问题没有简单的答案。但是你问了一个广泛的问题,答案在很大程度上取决于你的应用程序。但我建议使用该教程中列出的Madgwick或互补过滤器,它们非常简单,可能会快速改善您的初始估计。
https://stackoverflow.com/questions/60339159
复制相似问题