无需校准即可计算偏航角
Posted
技术标签:
【中文标题】无需校准即可计算偏航角【英文标题】:Calculating yaw angle without calibration 【发布时间】:2015-01-07 04:30:42 【问题描述】:假设我们有加速度计和磁力计。我想知道是否有一种方法可以在不校准磁力计的情况下计算偏航角 -
-
相对于磁北的偏航角不需要准确;所以当设备指向磁北时,偏航角不需要为0,可以是任意度数。但偏航角需要相对于旋转准确,即当设备旋转时,偏航角的变化需要正确反映实际度数的变化。
谢谢,
【问题讨论】:
我投票结束这个问题,因为这与编程无关。 【参考方案1】:Ted- 我同意校准磁力计是一件痛苦的事,但如果它们指向相同的方向,您确实需要每个轴给出相同的读数。但是,您无需知道您所在位置的倾角、磁偏角或磁场,即可从磁北获取方位。
【讨论】:
谢谢戴夫,我问这个问题的原因是我正在研究 Kolibree (kolibree.com/en) 如何计算相对于牙齿的角度。我认为用户需要先将刷子与牙齿平行放置以获得初始航向角,然后在旋转刷子时,可以通过比较新航向与初始航向来计算与牙齿的相对角度;刷子使用磁力计,但用户如何在使用前校准刷子?它不像 iPhone,人们接受在使用指南针之前必须校准这一事实。【参考方案2】:如果您可能还没有找到此代码片段,它将为您指明正确的方向。
motionManager.startDeviceMotionUpdatesUsingReferenceFrame(
CMAttitudeReferenceFrame.XArbitraryCorrectedZVertical,
toQueue: NSOperationQueue.currentQueue()!,
withHandler:
[unowned self] (data: CMDeviceMotion?, error: NSError?) in
// ignore errors
if let gotData = data
print(self.motionManager.deviceMotion!.attitude.yaw)
)
【讨论】:
以上是关于无需校准即可计算偏航角的主要内容,如果未能解决你的问题,请参考以下文章