如何使用传感器数据计算移动设备的行进路径?

迪米塔尔(Dimitar Veljanovski)

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

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

假设我有一个恒定的增量时间值和每个时间间隔的传感器数据采样值,并且在时间N * dt采集了第N个采样值,是否有一种更准确的实时方式来执行这些计算。

doggie_breath

不幸的是,如果您仅使用加速度计和陀螺仪数据,则通常会看到数据随时间的推移会有相当大的漂移。您还使用其他哪些传感器?您可以访问GPS数据吗?而且,您是否拥有希望智能手机执行的那种运动的数学模型?

就是说,如果您坚持使用IMU,那么会有各种各样的过滤器为您提供比简单集成更好的估计。其中最简单的可能是Madgwick滤波器,它实现起来很简单,并且只将线性加速度计和陀螺仪数据组合在一起。这里重要的一点是,陀螺仪传感器数据被转换并更新为四元数。

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

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何顺序获取传感器数据?

来自分类Dev

计算传感器数据的平均值(电容传感器)

来自分类Dev

如何使用光敏传感器?

来自分类Dev

如何从USB连接的Android设备读取传感器

来自分类Dev

如何使用JNI + OpenCV + NDK获取原始的android相机传感器图像数据?

来自分类Dev

如何以批处理模式接收传感器数据?

来自分类Dev

使用传感器数据的Android智能电源管理

来自分类Dev

使用R子集重叠的每日传感器数据

来自分类Dev

MRTG使用脚本获取传感器数据

来自分类Dev

如何在Unity中使用Android光传感器

来自分类Dev

如何使用Kotlin Coroutines处理Android传感器事件?

来自分类Dev

如何使用xamarin表格获取传感器值?

来自分类Dev

如何使用传感器跟踪温度变化?

来自分类Dev

DS18B20 +数字温度传感器:如何处理传感器输出中的数据?

来自分类Dev

将传感器数据从Android设备上传到远程主机

来自分类Dev

我可以保存可穿戴设备(MOTO 360)的传感器数据吗?

来自分类Dev

将传感器数据从Android设备上传到远程主机

来自分类Dev

有关在iOS设备上写入传感器数据的建议

来自分类Dev

MongoDB查询传感器数据收集

来自分类Dev

检测传感器数据的变化点

来自分类Dev

将数据从传感器写入文件

来自分类Dev

同步来自不同传感器的数据

来自分类Dev

用于传感器数据连接的 DBus

来自分类Dev

当手绕传感器移动时,接近传感器打开

来自分类Dev

如何使用STM32CUBEF4 HAL库通过i2c读出传感器数据?

来自分类Dev

Android如何设置传感器延迟?

来自分类Dev

如何注销多个传感器的android

来自分类Dev

使用 IPMITOOL 禁用风扇传感器

来自分类Dev

如何从LIS3DH传感器计算g值?

Related 相关文章

热门标签

归档