【问题标题】:Is (experimental) Drift-Correction working yet?(实验性)漂移校正是否有效?
【发布时间】:2016-12-12 15:38:29
【问题描述】:

我正在寻找有关如何正确使用漂移校正(使用 Unity SDK)的更多信息。

在 Tango 网站上,它说“漂移校正帧来自区域描述参考帧”,帧对 Start Of Service -> Device“不包括漂移校正”,对于区域描述 -> Start Of Service,它“仅在发生本地化事件或漂移校正时提供更新”。

我想使用漂移校正姿势的方式就像在 TangoPointCloud 预制件中一样,其中深度点乘以由帧对 SoS -> Device 产生的矩阵 startServiceTDevice。假设漂移校正帧在 AD 帧中,我需要 SoS -> AD。因为只有 AD -> SoS 可用,所以我尝试了这个和它的逆。生成的姿势太小了,但没有任何意义(即使使用错误的方向,如果我一直在四处走动,平移也不应该接近零)。然后我认为 AD 框架实际上可能类似于漂移校正的服务开始,但我再次找不到 AD -> 设备和 SoS -> 设备之间的任何显着/可见差异,其中绝对没有循环闭合.我在完成扫描后请求并应用姿势,所以到那时应该已经检测到漂移了。

在 Tango 网站上进一步说“启动后会有一段时间无法使用漂移校正帧。”但是 AD -> SoS 姿势从一开始就可用(并且有效),我不能' 还没有产生不存在的情况(例如,没有运动、快速运动......)。

漂移校正是否有效?还是我用错了?

PS:在latest stackoverflow post 上听起来好像漂移校正仅用于跟踪丢失后的重新定位。然而,我觉得这很难相信,因为 Tango 网站将漂移校正描述为“当设备看到它知道它在您的会话早些时候看到的地方时,它意识到它已经在一个循环中移动并调整它的路径以更符合它以前的观察结果。”。

【问题讨论】:

    标签: google-project-tango


    【解决方案1】:

    目前,漂移校正作为实验性功能发挥作用,在某些极端情况下它会被破坏。稍后我会详细介绍。

    为了使用漂移校正姿势,您需要使用ADF_T_Device 帧对(ADF 是基本帧,设备是目标帧)。在使用偏移校正姿势将点投影到世界空间的示例中,您无需进行Adf_T_ss * ss_T_device 变换,只需直接使用ADF_T_device 帧即可。如果这是在 Unity 中,您只需检查 PointCloud 预制件上的 use area description pose

    破坏漂移校正的角落案例:

    1. 用户在开始体验后立即摇晃设备。

    实际上,漂移校正正在构建更密集但更准确的 ADF 版本。如果用户一开始就覆盖相机或摇动设备,这将导致缓冲区中没有保存 ADF(或特征)。因此,API 可能会进入一种状态,该状态永远不会提供来自 ADF_T_Device 帧对的任何有效姿势。

    1. 设备丢失跟踪,用户在未重新定位的情况下移动到新空间。

    这与第一种情况类似。如果用户在丢失跟踪后移动到新空间而没有重新定位,则设备将永远不会重新定位,因此将无法通过ADF_T_device 帧获得有效的姿势。

    漂移校正 API 仍处于试验阶段,我们也在尝试从 API 层面解决上述问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-12
      • 2020-06-05
      • 1970-01-01
      • 1970-01-01
      • 2016-10-13
      • 1970-01-01
      • 1970-01-01
      • 2016-04-13
      相关资源
      最近更新 更多