相关疑难解决方法(0)

在iPhone 4上使用陀螺仪补偿罗盘延迟

我一直在试验iPhone 4上的指南针和陀螺仪,并希望得到一些我正在解决的问题的帮助.我想通过使用陀螺仪的数据来弥补指南针的缓慢.

使用CMMotionManager和它的CMDeviceMotionobject(motionManager.deviceMotion),我得到了CMAttitude对象.如果我错了(请),请纠正我,但这是我从CMAttitude对象的yaw属性中推断出来的(我不需要pitch也不是roll为了我的目的):

  • yaw范围从0PI当手机正在指向下方(由所指示的deviceMotion.gravity.z)和逆时针方向摆动,并0-PI顺时针方向摆动时
  • 当设备指向上方时,yaw范围分别为-PIto 0PIto0
  • 和从罗盘数据(我使用locationManager.heading.magneticHeading),我看到罗盘给出了从值0360与值顺时针摆动时增加

好吧,所以一起使用所有这些信息,我能够得到一个我称之为的值horizontal,无论设备是向上还是向下,都会给出值0,360并在设备顺时针摆动时增加(尽管我我在deviceManager.gravity.z周围时仍然遇到麻烦0- yaw价值在这个gravity.z价值上变得非常惊人).

在我看来,我可以使用映射到的计算值"同步" horizontalmagneticHeading值,并在我感觉指南针"赶上"时"同步"该值.horizontalmagneticHeadinghorizontalmagneticHeading

所以我的问题:

  • 我是否在正确的轨道上?
  • CMDeviceMotion是否正确使用陀螺仪数据并且上面列出的假设是正确的?
  • 为什么yaw在 …

iphone ios iphone-4 gyroscope compass-geolocation

30
推荐指数
2
解决办法
1万
查看次数

标签 统计

compass-geolocation ×1

gyroscope ×1

ios ×1

iphone ×1

iphone-4 ×1