使用之前 Tango 会话的数据进行平面拟合

Plane fitting with data from previous Tango session

我在开发 Tango 应用程序时遇到以下问题,不确定我是否在正确的轨道上。

我想要达到的目标:

  1. 用户拍照。在后台,应用程序保存以持久保存当前点云和姿势。
  2. 服务器正在获取该图像并在幕后进行一些神奇的处理,并将 (x,y) 坐标发送回应用程序(异步且与当前 Tango 会话无关)。
  3. 重新启动应用程序,开始新的探戈会话并使用点云和姿势的持久副本在 (x,y) 处显示 3d 对象。

我希望我能够在以下算法中使用这些参数 - (x,y)、点云和 Pose 并获得一个 Pose,这是 RajawaliRenderer 知道如何渲染的 Rajawali 对象。

tango初始化是根据以下坐标系:

TANGO_WORLD_BASE_COORDINATE_FRAME = new TangoCoordinateFramePair(
                TangoPoseData.COORDINATE_FRAME_AREA_DESCRIPTION,
                TangoPoseData.COORDINATE_FRAME_DEVICE
        );

它在 TangoSupport.fitPlaneModelNearPoint 上抛出 TangoErrorException。

根据我的理解,fitPlaneModelNearPoint 方法应该执行不依赖于当前 Tango 会话的纯算法,但我不能确定,因为我没有它的实现。

非常感谢任何帮助。

好吧,这完全是我的错误。

序列化点云时出现错误。 Gson 库不知道如何反序列化为 subclass 并始终构造为父 class - 在这种情况下会创建损坏的数据