【问题标题】:Mismatch between PoseProvider.GetPoseAtTime returned pose and poses returned in OnTangoPoseAvailablePoseProvider.GetPoseAtTime 返回的姿势与 OnTangoPoseAvailable 中返回的姿势不匹配
【发布时间】:2016-04-28 03:22:12
【问题描述】:

我正在根据 OnExperimentalTangoImageAvailable 中返回的时间戳向 PoseProvider 查询 AD2Dev 姿势,我看到了一些奇怪的结果。

记录通过 OnTangoPoseAvailable 传入的姿势,我看到如下结果:

pose at time : 70595.754506

From Pose AD2Dev via callback
-0.2031748 -0.3201837 0.925312 -0.4358828
0.9790875 -0.0764451 0.1885304 -2.015653
0.01037121 0.9442661 0.3290197 0.1402309
0 0 0 1

我通过使用传入姿势的相同时间戳调用 GetPoseAtTime 来检查这一点,并得到相同的结果:

from pose AD GetPoseAtTime
-0.2031748 -0.3201837 0.925312 -0.4358828
0.9790875 -0.0764451 0.1885304 -2.015653
0.01037121 0.9442661 0.3290197 0.1402309
0 0 0 1

之后的姿势是这样的:

pose at time : 70595.764504
-0.2031739 -0.3201777 0.9253144 -0.4358475
0.9790877 -0.07645106 0.1885275 -2.015655
0.01037896 0.9442677 0.3290148 0.1403415
0 0 0 1

在 OnExperimentalTangoImageAvailable 中,我像这样更新纹理帧:

frameTimestamp = VideoOverlayProvider.RenderLatestFrame(TangoEnums.TangoCameraId.TANGO_CAMERA_COLOR);

这给了我 70595.755121338 的时间戳

为 AD2Dev 调用 GetPoseAtTime,我希望生成的姿势会影响上述两个姿势。 但是,我得到以下结果:

TANGO_POSE_VALID 70595.755121338 TANGO_COORDINATE_FRAME_AREA_DESCRIPTION TANGO_COORDINATE_FRAME_DEVICE

-0.1990919 -0.3197772 0.9263396 -0.437389
0.9799466 -0.07286096 0.1854613 -2.02092
0.008187711 0.9446872 0.3278706 0.1360694
0 0 0 1

可以看到位置不在两个bounding pose之间,旋转也相差很大。

谁能解释我做错了什么,或者为什么从 GetPoseAtTime 返回的结果姿势不是先前和后续姿势之间的直接 lerp?是否会因漂移而发生某种形式的反向校正?

【问题讨论】:

    标签: unity3d google-project-tango


    【解决方案1】:

    我不相信你做错了什么。在默认启用“低延迟模式”的情况下,来自 OnTangoPoseAvailable 的姿势比使用 GetPoseAtTime 获取的姿势更粗糙且更不准确。

    我的理解是 GetPoseAtTime 是根据运行在 30hz 的鱼眼相机和运行在 100hz 的 IMU 来插入位姿的。

    因为 IMU 在鱼眼姿势之间收集更多运动数据,所以它永远不会是直线插值。如果在 IMU 数据之间没有进行一些球面插值,我也不会感到惊讶,除了在打开区域学习的情况下自动校正过去的跟踪数据。

    【讨论】:

    • 谢谢山姆,我会继续挖掘的。我在纹理回调中查询 AD2Dev 姿势时得到的偏移量始终不同(完全不同,有时大约为厘米),这就是为什么我惊讶于获得与即将到来的姿势相同的值(当我使用 GetPoseAtTime 查询时)通过 PoseAvailable 回调;我希望那时也能应用任何形式的漂移校正。我会收集更多数据,看看能否获得更多见解。
    猜你喜欢
    • 2021-08-28
    • 2013-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-16
    • 1970-01-01
    • 2015-11-25
    • 2020-10-31
    相关资源
    最近更新 更多