单页坐标参考 本页是 Sensor Logger 使用的坐标系的综合文档。如果您发现任何错误,请通过提出 Issue 或直接提出拉取请求来报告。有关传感器和测量的其他信息,可在应用程序内点击每个传感器旁边的“眼睛”图标。 有关单位的信息,请参阅 https://github.com/tszheichoi/awesome-sensor-logger/blob/main/UNITS.md 手机上的加速 加速度在以下坐标系中报告,其中 和 是屏幕的水平轴和垂直轴,并指向屏幕内/外。这些轴 “粘” 在设备上,因此即使手机旋转,它们也不会改变。 iOS 和 Android 之间的区别 这就是操作系统的坐标框架的样子。 重要说明:这些图表显示了施加的力的方向。
本页是 Sensor Logger 使用的坐标系的综合文档。如果您发现任何错误,请通过提出 Issue 或直接提出拉取请求来报告。有关传感器和测量的其他信息,可在应用程序内点击每个传感器旁边的“眼睛”图标。
有关单位的信息,请参阅 https://github.com/tszheichoi/awesome-sensor-logger/blob/main/UNITS.md
加速度在以下坐标系中报告,其中 和 是屏幕的水平轴和垂直轴,并指向屏幕内/外。这些轴 “粘” 在设备上,因此即使手机旋转,它们也不会改变。x``y``z
这就是操作系统的坐标框架的样子。

重要说明:这些图表显示了施加的力的方向。这与 Apple 官方文档中的图表不同,后者显示了惯性力(完全相反)。https://developer.apple.com/documentation/coremotion/cmheadphonemotionmanager。
虽然轴的方向在各个平台上相同,但 iOS 和 Android 之间的所有三个轴都存在负号差异。例如,如果沿轴向右移动手机,则在 Android 上将记录正值,而在 iOS 上将记录负值。这只是定义的差异 —— 可能是因为 iOS 的约定是在_惯性力_的背景下,而 Android 的约定是在_加速力_的背景下。x
因此,重力传感器在 iOS 和 Android 之间也有一个负号的不同。当您将手机平放在桌子上时,重力矢量指向 iOS 和 Android 上。-z``+z
:1.29版本中的新功能:在_设置>传感器配置_下切换标准化单位和框架将通过自动将iOS上记录的值转换为Android约定来消除这种差异。有关更多信息,请参阅此内容。
Apple Watch 的加速数据遵循与 iPhone 相同的约定。Headphone 运动传感器的加速度值遵循以下约定。

来源: https://developer.apple.com/documentation/coremotion/cmheadphonemotionmanager
下面的这张照片大致对齐了所有三款 Apple 设备的坐标。图片中三个设备的坐标系始终相同且一致。因此,可以安全地比较来自这些设备的测量值并执行数据融合。但是,它们共同与 Android 的坐标系不一致,如上一节所述。在_设置>传感器配置_下切换“标准化单位和框架”会将_Apple Watch和AirPods的所有测量值_转换为Android的惯例。另外请注意,如果未打开“标准化单位和框架”,那么iPhone、Apple Watch和AirPods的加速度单位会有所不同。

此图比较了所有三个苹果设备的加速度数据的单位和坐标系,并开启了“标准化单位和框架”(注意:“标准化单位和框架”默认处于关闭状态)。

旋转速率和方向是围绕与加速度相同的轴测量的。当您在 Sensor Logger 中读取陀螺仪传感器时,请参阅下图。

来源: https://developer.apple.com/documentation/coremotion/getting_raw_gyroscope_events
对于陀螺仪传感器的旋转速率读数,iOS 和 Android 具有一致的定义。
方向源自旋转速率,并引用相同的轴。具体来说:
roll指y;pitch指x;yaw是指围绕 的旋转。有时也称为 .z``azimuth此外,方向具有任意偏移量,因为它是旋转速率的积分值(即积分常数)。为此,Sensor Logger 使用参考系,这意味着当轴与北对齐时(即设备轴与北之间的角度),该值为 0。x-north-z-vertical``yaw``x``y
由于遗留原因和向后兼容性原因,在解释 yaw 值时存在一些关键差异:
yaw``z``yaw``zpitch``x``pitch``x此外,在 Android 上,您还可以记录其他 Orientations(方向),并进行各种权衡。请参阅 https://github.com/tszheichoi/awesome-sensor-logger/blob/main/ORIENTATION.md。
:在1.29版本中的新功能:在_设置>传感器配置_下切换标准化单位和框架将通过自动将iOS上记录的值转换为Android约定来消除1和2。有关更多信息,请参阅此内容。