使用陀螺仪改进 iPhone AR(工具)套件
我正在使用 iPhone AR Kit 及其分支,iPhone AR Toolkit,但我正在尝试通过使用可用的陀螺仪来改善用户体验。
对于那些使用过这些套件的人来说,您知道如何做到这一点吗?我的第一个想法是让陀螺仪偏航以获得更精确的方位角值。
所以我有疑问:
- 有人使用过上面链接的 AR 套件,并且考虑过在其中加入陀螺仪吗?
- 混合陀螺仪和指南针数据以获得更精确的数据是个好主意吗?方位角值?
I'm using iPhone AR Kit and its fork, iPhone AR Toolkit, but I'm trying to improve the user experience by using the gyroscope when it's available.
For those of you who used the kits, do you have any idea on how to do this ? My first thought was to get the gyroscope yaw
to get a more precise azimuth
value.
So I have to questions :
- Does anyone used the AR Kit linked above, and have thoughts on including gyroscope in it ?
- Is it a good idea to mix gyroscope and compass data to get a more precise value of the azimuth ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
陀螺仪测量旋转速度,因此陀螺仪输出将以每秒偏航角(例如rad/s)的形式变化,而不是绝对偏航角。有多种方法可以尝试使用陀螺仪进行方向“航位推算”,但在实践中,虽然它们在短期内非常准确,但集成陀螺仪读数可以显着确定方向“漂移”,因此您必须不断重新校准反对某种绝对措施。
使用陀螺仪在罗盘读数之间进行插值,或者仅在罗盘赶上时基于陀螺仪计算短距离快速运动的方位是非常简单的,但正确融合罗盘和陀螺仪却并非易事。 这里有一个关于集成 Android 传感器的演讲,这可能是一个好的开始。融合传感器的标准方法是使用卡尔曼滤波器,有一个介绍在这里。它们是相当复杂的工具,例如,您需要一个良好的传感器错误模型。
Gyroscopes measure rotational velocity, so the gyro output will be in change in yaw per second (e.g rad/s) rather than an absolute yaw. There are various methods for trying to use gyros for "dead reckoning" of orientation, but in practice while they're very accurate over the short term, integrating gyro read-outs to determine orientation "drifts" significantly, so you have to keep recalibrating against some absolute measure.
It would be very trivial to use the gyro to interpolate between compass readings, or calculate the bearing based on the gyro only for short fast motions while the compass catches up, but properly fusing the compass and gyro isn't trivial. There's a talk here on integrating sensor for Android that might be a good start. The standard method of fusing sensors is to use a Kalman Filter, there's an introduction here. They're fairly involved tools, you need a good model of your sensor errors for example.