Tango 开发指南(6) — 运动追踪原理

工作原理
Pose
使用建议
常见案例
局限

原文链接:https://developers.google.com/tango/overview/motion-tracking

工作原理

在 Tango 原理篇我们讲过,运动追踪技术能让设备理解自身在空间中的运动。本文讲解运动追踪技术的实现,以及在应用中使用该技术的若干建议。

Pose
Java Api
Tango 使用六个自由度来表示设备的位置和方向;位置和方向的集合称之为 pose。Tango 提供了两种获取 pose 数据的方法:回调和返回给定时间戳对应的 pose 的方法。pose 数据主要包含两个部分:一个单位为米用于转换的向量,一个用于旋转的四元组。pose 数据在指定帧对的前提下才有意义。

使用建议

如果你的应用要将用户在现实空间的运动转化到虚拟空间,那么你应当考虑现实空间需满足的条件。比如你的应用中有一个长一百米的虚拟城堡,那么用户需要再现实空间中走一百米才能从虚拟城堡的一头走到另外一头。

还有一个重要的地方是,要让用户知道如何在虚拟的 3D 世界中转向,以免用户在墙壁、门口或家具附近转悠时被堵住而无法前进。在应用中有必要给用户一张地图来让其知道哪些区域可以玩,或者提供缩放虚拟空间的功能。

常见案例

更强传感器:之前使用 Game Rotation Vector 的安卓应用,在使用 Tango 技术后,将获得更强大的感知能力。除了陀螺仪和加速感知仪,Tango 还使用了广角运动追踪相机(有时也被称为鱼眼相机)来提供更多的视觉信息,使得获取的旋转和线性加速度数据更加精确。

运动追踪:Tango 能追踪设备在在现实空间中的运动。下面的 demo 应用展示了设备在 2D 平面上的运动轨迹,其中图中棱锥代表设备。
这里写图片描述

虚拟相机:当你综合使用位置和方向数据时,你可以把设备当成一个处于 3D 渲染环境(比如游戏)中的虚拟相机。Tango 为 Unity 3D 游戏引擎提供了专门的 SDK,也为 OpenGL 和其他 3D 引擎提供了 C/Java SDK。

更多使用 Tango 技术的 AR 应用实践,请查看我们的 demo 页面。

局限

但从获取设备位置和方向这一功能上说,运动追踪技术已经很牛逼了。但是该技术还是有如下局限的:

  • 单靠运动追踪技术,设备无法理解周围的现实环境;
  • 运动追踪技术没有“记忆”功能,每次你启动一次运动追踪会话,运动追踪技术就报告当前相对于这次会话的基础帧的 pose;
  • 长时间和长距离的运动追踪会产生细小误差的积累,出现测量值的“漂移”,从而造成巨大的定位误差。对于某些类型的应用,开发者需要将区域描述“存档”以备后用——比如,杂货店应用保存某个货架场景以备消费者日后选后物品。“存档”也需要开发者解决“漂移”问题。所有这些问题,都可以使用下一个核心技术解决——区域学习
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值