Определение магнитного поля на север с помощью магнитометра xyz (iPhone 3.0)
-
20-08-2019 - |
Вопрос
На самом деле я перепостирую вопрос с доски разработки iphone.Я не задавал этого вопроса, но я нашел его, пытаясь найти ответ.Там еще никто не ответил, поэтому я подумал, что попробую опубликовать это здесь.
Заранее спасибо за любую помощь!
Кто-нибудь знает какие-либо особенности об алгоритме вычисления магнитного заголовка из необработанных значений xyz для CLHeading?Я уверен, что к этому должен быть общий подход, который работает и для разных магнитометров.
Решение
Если вы не хотите использовать trueHeading
значение, и предполагая, что компас лежит идеально горизонтально, курс может быть вычислен таким образом:
- (y> 0) направление = 90 - atan2(x,y)*180 / pi
- (y<0) заголовок = 270 - atan2(x,y)*180 / pi
- (y=0, x<0) заголовок = 180.0
- (y = 0, x>0) направление = 0.0
(они взяты из http://www.magneticsensors.com/datasheets/an203.pdf)
...кроме того, заголовок должен быть исправлен на Магнитное отклонение и Магнитное склонение
в случае, если компас не является горизонтальным, вы должны использовать только горизонтальную составляющую (вы не можете игнорировать ось z), проецируя вектор (x, y, z) на плоскость, параллельную поверхности земли, а затем вычислять курс по этим спроецированным x и y.
Надеюсь, это поможет.