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.
我正在使用iPhone AR Kit及其前叉,iPhone AR Toolkit,但我正试图通过使用陀螺仪来改善用户体验。
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 ?
- 有没有人使用上面链接的AR套件,并考虑将陀螺仪包含在其中?
- Is it a good idea to mix gyroscope and compass data to get a more precise value of the azimuth ?
- 混合陀螺仪和罗盘数据以获得更精确的方位角值是一个好主意吗?
1 个解决方案
#1
3
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.
陀螺仪测量旋转速度,因此陀螺仪输出将以每秒偏航(例如rad / s)而不是绝对偏航的方式变化。尝试使用陀螺仪进行“航位推算”的方法有多种方法,但实际上它们在短期内非常准确,集成陀螺仪读数以确定方向“漂移”显着,所以你必须不断重新校准反对一些绝对的措施。
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.
使用陀螺仪在罗盘读数之间进行插值,或者在罗盘捕捉时仅基于陀螺计算轴承进行短暂的快速运动将是非常简单的,但是适当地融合罗盘和陀螺仪并非易事。这里有关于集成Android传感器的讨论可能是一个好的开始。融合传感器的标准方法是使用卡尔曼滤波器,这里有一个介绍。它们是相当复杂的工具,例如,您需要一个良好的传感器错误模型。
#1
3
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.
陀螺仪测量旋转速度,因此陀螺仪输出将以每秒偏航(例如rad / s)而不是绝对偏航的方式变化。尝试使用陀螺仪进行“航位推算”的方法有多种方法,但实际上它们在短期内非常准确,集成陀螺仪读数以确定方向“漂移”显着,所以你必须不断重新校准反对一些绝对的措施。
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.
使用陀螺仪在罗盘读数之间进行插值,或者在罗盘捕捉时仅基于陀螺计算轴承进行短暂的快速运动将是非常简单的,但是适当地融合罗盘和陀螺仪并非易事。这里有关于集成Android传感器的讨论可能是一个好的开始。融合传感器的标准方法是使用卡尔曼滤波器,这里有一个介绍。它们是相当复杂的工具,例如,您需要一个良好的传感器错误模型。