问题标签 [google-project-tango]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1056 浏览

java - 如何在 Google Tango 中获取旋转角度

我正在使用 Google 的 Project Tango 设备开发室内定位应用程序,并且我希望 UI 显示与 ADF 地图相关的设备方向。

为此,我从 TangoPoseData 访问 Z 轴旋转信息,并尝试将旋转数据转换回以度为单位的角度。

TangoPoseData 中的旋转信息定义如下,
z = RotationAxis.z * sin(RotationAngle / 2)

我的代码如下所示:

//Sine value of the angle
double tangoRotationZsin = pose.rotation[2];

//Convert the sine value into a angle in radians
double tangoRotationZRad = 2*Math.asin(tangoRotationZsin);

//Convert to an angle in degrees
double tangoRotationZDeg = tangoRotationZRad * 180/Math.PI;

问题:

以度为单位的角度值 (tangoRotationZDeg) 应该在 -180 到 180 的范围内,但即使我在 Z 轴上将设备旋转 360 度数次,角度的范围也仅在 -120 到 120 度之间(有时在 -110 到110 度)。

我错过了什么?
我猜这个问题与 TangoPoseData 中的“RotationAxis.z”因子有关,我在我的代码中假设它等于 1,但不确定。

感谢您的任何帮助!

0 投票
0 回答
206 浏览

google-project-tango - What is the TangoMortician?

At this point in testing, I've got a slot of data flowing into transmission queues (and then being thrown away :-) This means I'm taking every image, pointcloud, and pose with C API callbacks. I don't use the java tango api, and the java app is holding about 48MB of data on average and is configured for a large heap.

For some reason, I keep getting into a situation where I get a log message from the tango_client_api -

virtual void TangoMortician::binderDied(const android::wp&): Internal Error: TangoService died.

Following this, oddly enough I get a successful connect to the tango service, but everything's pretty much borked.

The only cure I have found is to reboot the tablet, but whatever my app is doing to annoy it causes the issue to return after a handful of debug cycles.

0 投票
2 回答
979 浏览

android-camera - 从 TangoService_connectOnFrameAvailable 保存帧

如何通过 TangoService_connectOnFrameAvailable() 保存帧并在我的计算机上正确显示?正如此参考页面所述,像素以 HAL_PIXEL_FORMAT_YV12 格式存储。在我的 TangoService_connectOnFrameAvailable 回调函数中,我像这样保存框架:

然后摆脱第一行中的元数据并显示我运行的图像:

我小心翼翼地确保在 vooya 中频道顺序是 yvu。结果输出是: yv12 测试图片

我在保存图像并显示它时做错了什么?

根据 Mark Mullin 的回复更新:

这现在显示了下图,但仍有一些伪影;我想知道这是来自 Tango 平板相机还是我对原始数据的处理……有什么想法吗?

yv12 测试 2

0 投票
1 回答
704 浏览

android - connectOnFrameAvailable() 为 TangoImageBuffer 提供了奇怪的格式信息

还试图从 Tango 的颜色凸轮访问颜色数据字节,我被困在 java API 上,因为我能够将 tango Cam 连接到表面进行显示(但实际上显示就可以了,不容易访问原始数据,也时间戳)...所以最后我在本机代码(最新的 FERMAT 库和标头)上使用 C API 并遵循我在堆栈溢出中找到的建议,通过将派生示例代码注册到connectOnFrameAvailable()...(我开始使用 PointCloudActivity 示例进行该测试)。

  • 我发现的第一个问题是注册到该回调的一些副作用,通常工作正常(回调定期触发),但随后我也注册的另一个回调,以获得 xyz 云,开始无法触发。就像我提到的示例代码一样,云是通过onXYZijAvailable()回调获得的,应用程序使用 TangoService_connectOnXYZijAvailable(onXYZijAvailable).

因此,未能触发 xyz 回调并不总是发生,但通常有一半的时间,在测试期间,有一个糟糕的解决方法,就是将应用程序置于后台,然后再次置于前台......这很奇怪,这是否与“恢复”相关暂停/恢复低级别的东西??)。如果有人有线索....顺便说一句,在Java API中,观察到相同的副作用,一旦连接凸轮纹理进行显示(通过Tango足够的API ...)

但这是我的第二个“问题”,回到从相机获取 YV12 颜色数据:通过注册到 TangoService_connectOnFrameAvailable(TangoCameraId::TANGO_CAMERA_COLOR, nullptr, onFrameAvailable) 并提供静态函数 onFrameAvailable 定义如下:

问题是接收到的 TangoImageBuffer 结构的宽度、高度、步幅信息似乎有效(1280x720,...),但返回的格式每次都在变化,而不是预期的幻数(这里是 0x32315659)...我在做有什么问题吗?(但其他信息还可以……)

此外,这里显然只定义了一种数据格式(YV12),但是从演示应用程序中看到鱼眼图像,似乎是灰度图像,它是否使用与 RGB cam 相同的(颜色)格式作为低级捕获?

0 投票
1 回答
147 浏览

google-project-tango - Project Tango C 示例和区域记录初始化

Project Tango Explorer 的文档指出,在开始区域学习之前保持单元稳定至关重要。提供的 C 示例不包括此内容。这里的交互到底是什么?在启用区域学习之前,设备是否必须稳定?如何确定设备何时稳定了足够长的时间?

0 投票
1 回答
604 浏览

google-project-tango - 新 Tango 设备 OTA 未升级

几天前拆箱的新设备。无法使用OTA升级,说当前软件是最新的,即使不是。如果没有当前的内核,我无法下载 tango 内核等。所以该设备基本上是非功能性的(除了普通的平板电脑:-))开箱即用。

与此问题相同的问题: 无法更新 Tango Core -“包文件未正确签名”

恢复出厂设置并没有解决问题。与上一个问题不同,等待 48 小时并没有解决问题。Google+ 开发者组的几个用户在使用这批设备时遇到了类似的问题,所以这似乎是一个常见问题

谢谢!

0 投票
1 回答
249 浏览

image - 为什么 Tango 彩色图像中有伪影?

我在通过以下方式传递给TangoService_connectOnFrameAvailable()的回调中复制 YV12 帧:

完成此操作后,我尝试在vooya中显示 YV12 图像,并转换为 RGBA 后显示它(按照之前的答案)。但是,在这两种情况下,我都在图像的左上角和整个底部看到了一些伪影。这是一个例子:

图像伪影

我如何复制数据有问题吗?或者这是TangoService_connectOnFrameAvailable()的问题?还是平板电脑的摄像头有问题?

0 投票
1 回答
389 浏览

google-project-tango - 探戈色帧质量不是最好的,看起来像是从较低的分辨率放大的。这是 Tango 硬件限制吗?

我从 TANGO_CAMERA_COLOR 获得色框。帧的质量不是最好的——看起来它们是从较低的分辨率放大的。通过比较在同一设备上运行的标准 Android 相机应用程序和“Project Tango Native Augmented Reality”示例应用程序的视频质量,可以轻松看出这一点。问题:这是预期的吗?如果是,那为什么?有没有办法提高质量,是否有计划在未来的 Tango 版本中提高质量?

我将 config_color_iso 设置为 400,即默认展示时间。每个深度帧都有对应的颜色帧,时间戳完全相同。红外照明(伪影)仅在极少数彩色帧上可见。

0 投票
3 回答
2370 浏览

android - 我如何开始参与 Project Tango?

几周后,我之前无法使用 c++ 将 android 工具集提升到功能水平,并且有机会使用项目 tango,尽管这听起来很棒和奇妙,并且会打开一个机会的世界使用 VR... 我觉得我被困在第 -4 步。我的理解有限,请多多包涵。
我偶然发现了为在点云数据上运行算法而构建的 PCL,它是开源的,看起来像是一个很棒的解决方案,它是用 C++ 编写的,我对 C++ 和 Java 都有一定的了解。我曾尝试使用 Eclipse 和 NDK,并且实际上设法将项目“部署”到 tango,但是在尝试编辑项目中的任何文件时,java 或 c++,它会中断并且永远不会再次部署。
现在我正在尝试使用 Android Studio,在遵循了大约 5 个关于“如何让 C++/ndk 在 android studio 中工作”的相互冲突的教程之后,我还没有得到一个工作环境。所以这是我的问题,我们可以从第一步开始,感谢任何帮助。一个人如何让 c++ 和 PCL 在谷歌项目探戈上工作,对于我的技能水平的人来说,有没有更好的方法?最终结果是带有项目探戈的映射 3d 空间,具有可管理大小的可导出数据集。我已经在 youtube 上的演示中看到了它,但到目前为止,就像我说的那样,我被困在第 -4 步。

0 投票
1 回答
178 浏览

android - 如何理解 R,以及它如何与谷歌的项目 tango 一起工作

我正在尝试让一个探戈项目与 android studio 合作,并且已经达到了我似乎无法超越的地步,这在很大程度上是因为我对一般处理 android 的事情缺乏了解。现在我遇到错误,系统似乎找不到 R.id.pose。R.id 存在,并且有许多静态成员,但姿势不在其中。我从 github 上的示例中获取代码,我认为这些代码可以正常工作,所以我只能猜测这可能是 android studio 的问题?我将不胜感激了解更多有关这方面的信息。