Определение магнитного поля на север с помощью магнитометра xyz (iPhone 3.0)

StackOverflow https://stackoverflow.com/questions/1055014

Вопрос

На самом деле я перепостирую вопрос с доски разработки 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.

Надеюсь, это поможет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top