如何在python中将3axis加速度计数据列表集成到速度和位置?

2024-06-08 14:30:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我从myo臂带上得到了加速度和陀螺仪数据的列表。加速度数据如[[-0.11474609375, -0.13037109375, 0.9873046875], [-0.111328125, -0.12890625, 0.9892578125], [-0.11376953125, -0.12255859375, 0.98828125]...]所示,其中各值表示x、y和z轴值。我知道要得到速度,你必须对它积分一次,对于位置,你必须对它进行双重积分

我遇到的问题是:

  • 在一些问题/文章/答案中,你需要初始速度来正确计算它。但是如何从加速计(和/或陀螺仪)数据中获得它呢
  • 对于quad function from scipy,需要一个函数来集成数据。如何找出哪个函数是正确的?我可以只取f(x),其中x是当前值,然后迭代所有值吗
  • 对于dblquad,同样的问题是,它需要多个值

收集这些数据的时间相对较短(约5-7秒),因此我认为在这段时间内,误差漂移不会有太大的影响

背景:这些数据是检测手写字母的ML算法所需要的一个特征。因此,速度可能会因点而异,因为每个人的写作速度不同,但可以使用平均速度

一些问题已经被问到了,比如this指的是真正的定位,这不是我的目标。另外this仅仅总结而不使用积分就足够了吗


Tags: 数据函数答案from列表文章functionthis
2条回答

你好,卢卡回答你的问题答案是:是的,如果你在混合中加入一个陀螺仪来估计位置,从而估计速度,这是可能的,但这很难,也不太可靠(取决于你的传感器的准确性和精密度)

你所建议的是一个惯性导航系统,它的工作原理是检测给定惯性系加速度的细微变化,在这种情况下,地球以恒定速度旋转。更多的深入信息,我发现这个article希望这有帮助

它们是正确的,你不能仅仅通过加速度来确定速度。记住加速度是速度变化的速率。。。例如,如果你有一个物体在1s内从0米/秒到10米/秒,它的加速度将通过应用下面的公式a=(vf vi)/t来计算,这将导致(10-0)/1=10米/秒^2,如果你有一个物体从100米/秒到110米/秒,你仍然会得到相同的加速度

要知道速度,你需要知道物体的位置,记住速度是物体从某个参考帧改变位置的速率,dji的无人机从示例中使用GPS coordinates to estimate its velocity relative to ground

相关问题 更多 >