python - 如何将 3 轴加速度计数据列表集成到 python 中的速度和位置?
问题描述
我从 myo 臂章获得加速度和陀螺仪数据列表。给出加速度数据,就像[[-0.11474609375, -0.13037109375, 0.9873046875], [-0.111328125, -0.12890625, 0.9892578125], [-0.11376953125, -0.12255859375, 0.98828125]...]
值代表 x、y 和 z 轴值一样。我知道要获得速度,您必须将其集成一次,并且对于位置,您必须对其进行双重集成。
我遇到的问题是:
- 在某些问题/文章/答案中,您需要初始速度才能正确计算它。但是我如何从加速度计(和/或陀螺仪)数据中得到它?
- 对于来自 scipy 的 quad 函数,需要一个函数来整合数据。我如何找出哪个函数是正确的?我可以只取 f(x) 其中 x 是当前值并遍历所有值吗?
- dblquad也有同样的问题,只是它需要多个值。
这些收集数据的时间段相对较短(大约 5-7 秒),所以我认为这次误差漂移不会太多。
背景:需要这些数据作为检测手写字母的 ML 算法的一项功能。因此速度可能会因点而异,因为每个人都以不同的速度写作,但可以使用平均速度。
解决方案
他们是正确的,您无法仅从加速度确定速度。请记住,加速度是速度变化的速率……因此,例如,如果您有一个物体在 1 秒内从 0 m/s 变为 10 m/s,则其加速度将通过应用以下公式 a =(vf -vi)/t 这将导致 (10-0)/1 =10 m/s^2 如果另一方面你得到一个从 100m/s 到 110m/s 的物体,你仍然会得到相同的结果加速度。
要知道速度,您需要知道物体的位置,请记住速度是物体从某个参考帧改变位置的速率,例如,dji 的无人机使用GPS 坐标来估计其相对于地面的速度。
推荐阅读
- c++ - Accessing the runtime type of a polymorphic object by switch and static_cast
- rust - 在使用关联类型的情况下,如何为通用容器实现 Borrow?
- c# - OntriggerEnter 未调用 playerController
- javascript - 如何从字符串制作 HTML 元素,然后在 React 中选择一个元素?
- css - 如何在 React 中隐藏包装的组件
- cassandra - 无法强制转换为格式化日期 - Cassandra 时间戳类型
- laravel - laravel 数据库种子数据透视表
- java - 处理3中二维数组的变化值
- ios - 在 UIViewControllerTransitioning 如何在转换进行时点击视图内的按钮?
- javascript - 从索引视图中的部分视图重新渲染索引视图?