我正在尝试实现一个健身应用程序,可以在Android 中跟踪跑步速度和跑步距离。
看起来我可以使用 GPS 或加速度计来计算这些信息。
由于跑步者可能会将手机放在手里、放在肩膀上或放在口袋里,所以我的第一直觉是使用 GPS 获取位置并计算跑步速度和跑步距离。但最近有人告诉我,我也可以使用加速度计也能做到这一点。
我的问题是:在Android中,哪种方法更好地计算跑步速度和跑步距离,GPS还是加速度计?
我怀疑计步器是基于加速计的,因为加速计的使用成本比 GPS 便宜。事实上,我认为很多计步器甚至不尝试测量距离。只是加速度颠簸等于步数。然后,如果他们给你一个距离测量值,那就是将检测到的步数乘以猜测的或平均步长。
GPS(如果您位于它工作的区域!)可以很好地测量距离。即使使用非常便宜的 GPS 接收器。一切都基本正常,您应该预计起点和终点位置在 10m 以内,因此对于 1km 的行程,您有 20m 的不确定性,即总距离不确定性的 2%。这种不确定性随着行驶距离线性下降(即 2 公里跑步将有 1% 的不确定性,4 公里跑步将有 0.5% 的不确定性等),这里的问题将是您的实时显示(卫星切换产生的 GPS 位置跳跃,给出大量的速度值) ,或信号立即丢失,导致所有可立即显示的数据丢失)
我认为,有了一个好的加速度计,从停止开始,您可以不断积分信号以获得速度,并不断积分结果以获得距离......我只是不确定您在任何给定手机中获得什么样的加速度计质量?您可能需要过滤噪音甚至垃圾数据。并且您还需要考虑它的准确性。如果传感器的精度为 20%,那么距离跟踪器的性能就会非常差。因此,您可能必须使用步数计数和步长估计。
也许两者的结合可以发挥作用?
我很想使用加速度计数据(积分或计步,具体取决于什么总是有效)在短时间内跟踪速度和距离,然后在更长的时间范围内,可以使用广义 GPS 数据来校正或缩放该数据来自加速度计。特别是如果您在任何给定时间根据不确定性测量过滤/阻止 GPS 数据。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)