【问题标题】:Combine X and Y accelerations to calculate resultant angle and acceleration结合 X 和 Y 加速度来计算合成角度和加速度
【发布时间】:2013-04-24 08:46:37
【问题描述】:

从 x 和 y 计算合成加速度。 计算合成加速度的角度。

【问题讨论】:

  • 你从哪里得到 x 和 y 加速度? GPS没有x和y,它有lat和lon whoich与笛卡尔x,y无关;特别是两个轴的缩放比例相差 cos(lat),欧洲的 thatg 是 0.6。
  • 好的,你对加速度计的 z 轴做了什么,你的问题中没有。
  • 你只想要切向(沿路线的速度变化)分量,还是加速度的向心分量?

标签: math angle acceleration


【解决方案1】:

您可以使用向量数学来计算向量的长度和角度:

length = sqrt(x * x + y * y)
angle = atan2(y, x) //this might be changed depending on your angle definitions

【讨论】:

  • 如果xy 是加速度的正交部分,那么length 就是整体加速度。
  • @user2052706:加速度是一个向量。向量既是长度(大小)又是方向。此答案中的语句计算向量的长度和向量的方向。角度是从正 x 方向逆时针的弧度(逆时针是从正 x 方向到正 y 方向)。
  • 但请注意,该角度不是地理方位,它使用0°作为北,顺时针;这个公式给出了数学方向,它使用 0° 作为东,逆时针方向。
【解决方案2】:

您不需要 x 和 y 加速度,只需将加速度计算为每次速度变化即可。
对于 Gps,我建议使用位置的速度属性,这比位置更准确。
如果您没有速度,则将速度计算为每次距离。

距离:使用您找到的任何距离公式来计算两个纬度/经度坐标之间的距离。

如果要使用从加速度传感器获得的值,则应使用 3 轴加速度矢量:
另见how-do-i-get-the-total-acceleration-from-3-axes

检查实施是否合理的另一个提示:
总结所有(一维)加速度,它们应该接近 0。

【讨论】:

  • 否决票的任何原因?我已经实现了它并且它的工作完美,所以如果有人声称我的答案不正确,请评论原因!
  • @mr0matt 使用加速度传感器是个好主意,但前提是您能够移除重力矢量。但是由于使用 GPS 计算加速度非常容易,而且您不必去除任何重力或校准,因此可以比较结果!此外,它可以满足您的需求!您要测量哪种加速度?手机的还是车的?如果您在崎岖不平的道路上撞到,您可以获得较高的脉动加速度。你必须定义一个过滤器来获得你想要的加速频率。测量车辆/手机是否静止
  • acc 传感器没问题。对于车辆加速,GPS 方法可在 3 小时内为您提供正确的结果。对于加速传感器,稍后告诉我您需要多少时间。
  • 如果您将手机转动 90°,您将获得 1g 的加速度!所以手机必须固定安装在车上。进一步的 GPS 速度精确到 0.1 公里/小时,因此如果速度超过 10 公里/小时,这将提供相当精确的加速。
  • 我赞成这个问题。如果任何人都可以从 GPS 本身“获取”速度读数(我的意思是给定定位的实际 GPS 速度,而不是从连续位置计算的值),那是可以得到的最精确的值路径。加速度计对于车辆加速度并不是很不精确,其幅度和频率内容与人移动手机(走路、游戏、通话时等)有很大不同。
【解决方案3】:

如果您想要相对于世界坐标系的加速度方向,那么您必须同时注册TYPE_ACCELEROMETERTYPE_MAGNETIC_FIELD。使用您调用 getRotationMatrix 的结果,然后将 accelerometer 值乘以该 ma​​trix 将为您提供 acceleration 的坐标世界坐标系。前 2 个坐标是 xy 坐标。
实际上你最好也注册TYPE_GRAVITY并将结果与​​磁场结果一起传递给getRotationMatrix,这样你就不必自己过滤accelerometer值.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-07
    • 1970-01-01
    • 1970-01-01
    • 2018-04-20
    相关资源
    最近更新 更多