iPhone加速度计究竟测量什么?

11
UIAcceleration类的苹果文档指出:“当设备静止时,背面朝向水平面时,每个加速事件的值大致如下:x轴:0,y轴:0,z轴:-1。”现在,我感到困惑了!当你明确表示“设备静止不动”时,如何还存在加速度非零的情况呢?

更新

根据回复,我认为这应该被称为“力计”或“重力仪”,而不是加速计!

所以,如果你把它翻过来(放在它的肚子上),它将测量x:0 y:0 z:+1。 - Rok Jarc
4
对你更新的评论:广义相对论中的等效原理告诉我们,物体上的加速度等同于重力(简单地说)。因此,对我来说,加速度计和任何术语一样好,尽管“力计”可能最接近设备的实际工作原理。请注意,重力计实际上是略有不同的设备。 - user707650
@Evert iOS报告了在外力抵消重力的情况下它将要加速的方向。测量外力会更有意义,但iOS令人困惑地呈现了一个伪加速度重力矢量。不仅是地面的法向反作用力抵消了重力,而且所有的力都被颠倒了。因此也许应该称之为减速计。 - Potatoswatter
你错了。加速度计是它的正确名称,因为任何加速度都意味着有一个作用于物体上的力。拥有加速度并不意味着有运动 - 如果您的设备静止不动,这并不意味着它上面没有加速度。由于重力始终存在,将其包含在测量中是正确的。如果测量值全部为零,那么如果您将设备放在空中,它将不会掉下来 =) - Alexander Volkov
Potatoswatter 是正确的,iOS 加速度方向是相反的。由于重力加速度的影响,表面上看来是远离地球而不是朝向地球。但不幸的是,如果你颠倒加速度计读数的符号,使它们处于正确的方向,那么你就会得到一个左手坐标系。请参阅此页面以获取正确的加速度计轴标签:http://nscookbook.com/2013/03/ios-programming-recipe-19-using-core-motion-to-access-gyro-and-accelerometer/ - PhilHarvey
7个回答

13

因为重力作用于设备上,施加了恒定的1G加速度,所以你在Z轴上得到了-1。我猜你想要用户加速度,可以使用设备运动处理程序从DeviceMotion对象中获取,而不是使用加速度处理程序。 userAcceleration属性过滤掉设备上的重力影响,只提供用户正在对其产生多大加速度。


我只是想理解这里的概念。即使手机受到重力作用,当它静止时,沿任何方向的速度都不会改变。因此加速度仍应为零,对吧? - gigahari
当设备静止(或以恒定速度恒定方向移动)时,它将测量(感受到)指向地心的1g。您应该将这3个方向视为向量-它们的矢量和将是1g,并且从它们的大小可以计算出设备的倾斜角度。正如Ali所提到的:在自由落体时,它会测量0-当放在桌子上时,它“感受到”桌子将其固定在原地的力 :) - Rok Jarc
5
设备仍然受到重力的牵引。原力依旧存在。绝地武士比任何人都更了解这一点。 - macbirdie

8
我在CoreMotion参考指南中找到了答案,感谢 bensnider提供的帮助:

加速度计测量两个加速度向量的总和:重力和用户加速度。 用户加速度是用户赋予设备的加速度。


6

您可以在所使用的加速度计(LIS302DL)的数据手册中找到最佳答案。


1
@rokjarc提供的链接已经失效。搜索CD00135460.pdf后发现以下链接:eng.auburn.edumyavr.infocs.smith.edu - trejder

5

它测量重力。单位被选择为,使得重力等于 9.81 米/秒^2 时,等于 1 单位。符号表示手机轴的方向。换句话说,是手机认为向下的方向。

在自由落体中,手机将 0 视为加速度。我不知道您想要把手机上下扔多少次来测试它 :)


只是为了添加官方文档的链接:https://developer.apple.com/library/ios/documentation/coremotion/reference/CMAccelerometerData_Class/Reference/Reference.html#//apple_ref/doc/c_ref/CMAcceleration - Ikhsan Assaat

2
当你坐着时,重力会将你拉到椅子上。如果没有椅子或地面,你会以大约9.8米/秒^2的加速度下落。为了防止你摔倒,椅子必须施加一个与重力方向相反且至少等于重力大小的力。
加速度计显示拉力的值,它是一个三维向量。在这种情况下,它是朝向直下的。给出的值用G表示,即重力加速度的单位乘以该值。

0
回答者们一直没有用正确的措辞为您解释清楚... 这个设备"相对于您而言是静止的。但实际上它根本没有静止。 重力的http://en.wikipedia.org/wiki/Centripetal_force使其(以及您)具有向心加速度。这是真实存在的,它可以防止您偏离地球飞出去,并且正是加速计忠实地显示的内容。(地球并不特殊——我们也围绕太阳旋转等等,其向心加速度可能会小得多,但足够灵敏的加速计会显示所有这些内容。)

0

我目前还没有足够的声望来直接回复@gigahari的评论,但是作为附言,人们应该意识到一些应用程序(如物理应用程序phyphox和PhysicsToolbox Sensor Suite)不报告(a+g) - phyphox的“with g”选项和PhysicsToolbox均报告矢量和(a-g),有时被称为“重量操作定义”。这个版本的重量操作定义的简要讨论可以在维基百科上找到https://en.wikipedia.org/wiki/Weight#Operational_definition


你的回答可以通过提供更多支持信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人可以确认你的答案是正确的。您可以在帮助中心中找到有关如何编写良好答案的更多信息。 - Community

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接