- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我已经在机器人上横向安装了一个 Google Project Tango 设备,并希望从 onPoseAvailable()
事件监听器获取航向。我知道框架会返回 API 中描述的四元数。
我尝试了很多方法将四元数转换为仅以度为单位的测量值。我唯一感兴趣的方向轴是 y
( https://developers.google.com/project-tango/overview/coordinate-systems#project_tango_coordinate_systems ),它决定了我的机器人的航向。
我的第一个方法是使用 TYPE_ROTATION_VECTOR
、TYPE_GYROSCOPE
或 TYPE_ORIENTATION
(已删除)。但结果值无法使用。后来我读到 Tango 的磁传感器存在重大问题 (How to detect an absolute rotation of an android device)
这就是从探戈本身切换到姿势数据的原因。但这里也一样。要获得适当的结果要么是火箭科学,要么探戈在这里也存在重大问题。我阅读了所有 stackoverflow 文章以及我在互联网上找到的几乎所有内容。我重新实现了几乎所有找到的代码。但对于我目前的情况,没有一 block 能按预期工作。对于其他轴上的其他运动,它是!
我尝试了以下方法:
toAngles()
)或者是否有另一种方法来确定机器人应用程序的旋转? (只是标题)。我唯一想要实现的是以预定义的角度(以度为单位)转弯。大多数情况下,我只想向右或向左转 (90°)。
如果有人能提供一段工作代码(针对 Google Project Tango 设备),将会很有帮助。已经失去了几天。对于其他 Android 设备,我很快就找到了解决方案。不排除该设备存在其他重大缺陷。
最佳答案
试试这段代码。请注意,计算出的方向是相对于服务启动时的设备方向。
double orientationRoll = Math.toDegrees(Math.atan2(
2.0 * (rotation[TangoPoseData.INDEX_ROTATION_X] * rotation[TangoPoseData.INDEX_ROTATION_Y] + rotation[TangoPoseData.INDEX_ROTATION_W] * rotation[TangoPoseData.INDEX_ROTATION_Z]),
Math.pow(rotation[TangoPoseData.INDEX_ROTATION_W], 2) + Math.pow(rotation[TangoPoseData.INDEX_ROTATION_X], 2) - Math.pow(rotation[TangoPoseData.INDEX_ROTATION_Y], 2) - Math.pow(rotation[TangoPoseData.INDEX_ROTATION_Z], 2)
));
关于android - 从作为四元数的旋转到度数 (0 - 360°),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37275297/
我想知道当动画结束或被中断时如何在旋转动画中获取当前角度/度数? 我的想法是当点击某个按钮时动画被打断时,旋转将逆时针方向(当前流向是顺时针方向),从被打断时的最后一个角度/度开始。 我试过使用 ap
我正在尝试使用 TYPE_ACCELEROMETER 传感器获取手机角度。我的目标是仅在手机倾斜后获取角度值。它有效,但问题是当我 Handlebars 机正面朝上放在 table 上时,它仍然说 i
以下代码显示为问号而不是度数符号: var airF = Math.round(Number(MDTMOBILE.RWISWeather[i].AirTemp)) + "\u00B0" + "F";
我使用 css 3D-transform rotateY 翻转带有 css transition 的 div。我希望图像翻转一定次数:当转换结束时,我再次触发它直到达到某个计数器值。 我想做什么:当
我正在开发一个 map 应用程序的插件,它有很多类,有大量的单位选项。我觉得我在维护模型内的顺序方面有很好的处理能力。例如,Angle 类具有 Degrees 和 Radians 的属性并自动相互更新
我有一个栅格,是从 netcdf 中获得的(Lambert Conic Conformal projection): library(meteoForecast) wrf_tempor
我在 mapView 的叠加层上有一组项目。 我知道大多数对象的顶部/底部/左侧/右侧位置。 我想使用 zoomToSpan() 方法来放大该区域。 用这种方法计算纬度/经度的正确方法是什么? 最佳答
给你一个具有 100 万个顶点的最大度数为 4 的简单图。 我们想找到一个最大独立子集。 一般情况下是NP难的。 度数最大为 4 的事实是否提供了计算它的有效解决方案? 最佳答案 进一步阅读维基百科页
我是一名优秀的程序员,十分优秀!