关于陀螺测量计时的技术细节和限制已经有一个很好的答案: Movesense、imu 数据的时间戳源和一般的计时问题
但是,我想从使用两个传感器的 Android 应用程序开发人员的角度提出更实际的问题,以及对陀螺测量计时的高精度要求。
同步/合并来自两个传感器的时间戳并将测量值放在同一时间轴上的最准确方法是什么?
传感器软件版本 1.7 引入了 Time/Detailed API 来检查传感器设备上设置的内部时间戳和 UTC 时间。这就是我想象的使用两个传感器的方式:
- 在订阅任何内容之前,请根据 Android 设备时间 (PUT /Time) 在传感器 1 和传感器 2 上设置 UTC 时间(微秒)
- 获取“传感器打开以来的时间”(以毫秒为单位)和“传感器上设置的 UTC 时间”(以微秒为单位)(在传感器 1 和传感器 2 上)(GET /Time/Detailed)的差异。
- 计算这两个时间戳的差异(以毫秒为单位)(对于两个传感器)。
- 使用内部时间戳从传感器获取陀螺仪值。将步骤 3 中的计算值添加到内部时间戳,以获得正确的/全球 UTC 时间值。
这个程序正确吗?有没有更有效或更准确的方法来做到这一点?例如,在链接的帖子中提到了设置时间的 GATT 服务是最快的方式。还要别的吗?
陀螺仪传感器时间的可能漂移如何?之后有什么技巧可以限制漂移的影响吗?在较长的测量期间获取 /Time/Detailed 信息并检查内部时钟与 UTC 时间相比是否漂移/改变是否有意义?
谢谢!