Калибровка компаса айфон что это

Как откалибровать компас на iPhone

Калибровать компас на iPhone очень просто, но иногда датчик движения телефона, необходимый для этой функции, может выйти из строя. Вот почему ниже мы объясняем, как сбросить этот датчик на iPhone, чтобы затем откалибровать компас с большей точностью.

Регулировка датчика движения

Если при открытии приложения Compass опция калибровки не появляется, это значит, что он уже откалиброван. Однако конфигурация калибровки может быть изменена из-за ошибок датчика движения. Поэтому мы рекомендуем Вам повторить этот процесс и убедиться, что все настроено правильно.

Обычно доступ к опции свободной калибровки не открывается автоматически, но приложение Compass само предложит эту опцию, когда Вам будет это необходимо. Для этого выключите свой iPhone и включите его снова. При повторном открытии приложения должна появиться опция калибровки, это может занять несколько секунд.

Откалибровать компас

Переместите телефон так, чтобы можно было катать красный шар по кругу (столько раз, сколько возможно). Приложение автоматически остановит процесс, когда сочтет это достаточным.

В этот момент изображение компаса появится снова, и это означает, что процесс измерения уже обновлен.

Рекомендуется время от времени повторять этот процесс, чтобы убедиться в надежности индикаторов положения Вашего компаса.

Как работает Компас

IPhone включает в себя Compass (интегральную схему, способную обнаруживать магнитный север). По умолчанию приложение Компас (Compass) находится в папке Инструменты на главном экране iPhone, но Вы можете настроить меню своего мобильного телефона и переместить это приложение в другое более доступное место, если хотите.

При запуске приложения в первый раз, появится сообщение, спрашивающее, разрешаете ли Вы приложению использовать его данные геолокации. После калибровки, Вы можете использовать компас, чтобы узнать свои точные координаты (долготу и широту), а также ориентацию Вашего iPhone относительно 4 кардинальных точек.

Отметить адрес на Компасе

Если у Вас есть определенное направление, например, Вам нужно продвинуться на север, поместите компас в этом направлении и держите его горизонтально (как можно более ровно), чтобы два центральных пересечения совпадали. В этот момент нажмите один раз прямо в центре, и Вы увидите, что на Вашей линии направления появляется красная линия. Это означает, что Вы установили свой курс и что каждый раз, когда Вы отклоняетесь от компаса, будет отмечаться угол смещения Вашего направления.

Это может быть очень полезно, когда Вы идете пешком или в едете транспортном средстве, поскольку Компас позволит Вам вернуться к адресу назначения, даже если дорога заставляет Вас отклониться от намеченного курса. Чтобы отключить эту опцию, просто нажмите еще раз в центре круга.

Показать свое местоположение на компасе

Если Ваш компас показывает только ориентацию в градусах по отношению к четырем кардинальным точкам, а Вы хотите также визуализировать детали своего местоположения, Вам нужно будет дать ему соответствующие разрешения.
Для этого откройте меню Настройки > Конфиденциальность > Местоположение на вашем iPhone.
Затем откройте приложение Compass и выберите опцию При использовании приложения.

Как только Ваше местоположение будет активировано в приложении через GPS, Вы увидите более подробную информацию внизу.

Инструмент уровня

В приложении Compass у Вас также есть инструмент для измерения уровня наклона поверхности. Для доступа к нему проведите пальцем по главному экрану справа. Вы увидите, как на экране появляются два круга, а посредине указывается определенная степень наклона.

Если Вы хотите достичь полностью горизонтального уровня наклона, Вам придется перемещать телефон до тех пор, пока два круга не совпадут, и в этот момент экран станет зеленым.


Изображение: 123RF

Источник

Боремся с ошибками акселерометра, гироскопа, M7, цифрового компаса и других датчиков в iPhone 5S и не только

Многие наслышаны о проблеме с неоткалиброванными датчиками в новом iPhone 5S – инструмент «уровень», встроенный в родной компас iOS 7 показывает отклонение в несколько градусов, если устройство положить на плоскую поверхность, например, стол.

Если кратко, то в той или иной степени проблема ориентации датчиков присутствовала всегда и на всех устройствах с iOS. Ранее проблему не наблюдали так часто в виду отсутствия встроенного в мобильную OS приложения позволяющего измерять уровень. Аналогичная проблема имеет место быть и на других мобильных устройствах оснащенных акселерометром, поскольку принципы везде заложены одинаковые – с этим не понаслышке должен быть знаком каждый разработчик, которому приходилось иметь дело с различными датчиками движения и ориентации.

Читайте также:  Айфон 11 слот для наушников

Я разрабатываю приложения с использованием датчиков акселерометра, гироскопа и цифрового компаса, ровно с тех самых пор, как разработчикам стал доступен API, практически с самого начала – будучи автором одного из самых популярных компасов для iOS с проблемами калибровки акселерометра и точности других датчиков я столкнулся еще несколько лет назад.

Способ решения проблемы достаточно тривиален и уже заложен в большую часть, как прикладных, так и игровых приложений, которые тем или иным образом используют датчики гравитации, движения и магнитного поля – калибровка, о которой должен позаботиться любой уважающий себя и своих пользователей разработчик. В зависимости от того, насколько сложно приложение и какие задачи оно решает, с технической точки зрения разработчика, реализация решения может быть и простой и сложной. Но принцип одинаков для всех.

Приглашаю разработчиков и пользователей приложений разобраться, как это работает, откуда берутся эти ошибки, почему не стоит излишне беспокоиться о проблемах акселерометра и почему не нужно бежать бегом в магазин для замены «бракованного» устройства – новое устройство вряд ли будет намного лучше, а проблемы с ошибками датчиков решаются другими способами.

Более четырех лет назад передо мной стояла задача разработки не обычного аналога двухмерного компаса, который поставлялся в комплекте с iOS, а компаса с использованием дополненной реальности, функционирующего в трехмерном пространстве и с высокой точностью совмещения виртуальных меток накладываемых на видео в реальном времени.

Чтобы совместить виртуальную метку объекта с его реальным положением на картинке получаемой с камеры, необходимо использовать все датчики движения имеющиеся в мобильном устройстве.

Акселерометр нужен для определения вектора гравитации или, выражаясь простым языком, чтобы узнать какая часть устройства смотрит вниз. Датчик цифрового компаса или магнетометр нужен для ориентации по сторонам света, чтобы узнать какой стороной устройство направлено на север. Позже появился гироскоп определяющий вращение устройства и, соответственно, позволяющий существенно повысить точность полноценной ориентации в трехмерном пространстве.

По мере разработки приложения и появления возможности использовать новые датчики практически сразу выявились индивидуальные недостатки присущие сенсорам.

Как оказалось во всех устройствах датчики выдают неодинаковые данные, различающиеся в пределах определенной погрешности, где-то отклонения больше, где-то меньше – при этом на показания сенсоров влияет целый ряд различных неочевидных факторов.

Изначальная реакция не имеющего опыта в этой сфере на тот момент была похожей на описанную в статьях про неправильно установленный сенсор в iPhone 5S, но дальнейшее изучение вопросов заставило изменить мнение и продолжить разработку не ожидая того, что производитель что-то может и будет исправлять, а учитывая особенности каждого из нужных сенсоров.

В результате из высокотехнологичной игрушки с проблемами с точностью получился достаточно точный пригодный для реального использования инструмент – главное, нужно знать, как им правильно пользоваться, что напрямую вытекает из особенностей каждого сенсора, о чем я в подробностях пишу ниже.

Поскольку в отличие от стандартного компаса работающего только в одной ориентации мое приложение должно было работать в любой из возможных, то уже на ранних этапах, еще до появления гироскопа, обнаружилась одна весьма странная особенность акселерометра.

Оказалось, что помимо того, что в каждом устройстве акселерометр имеет небольшое отклонение, в рамках одного и того же физического устройства это отклонение различно для разной ориентации устройства – например, в обычной портретной ориентации отклонение от реальной оси гравитации может быть в 1°, при этом, при повороте на 180°, в перевернутой портретной может быть и 4°.

Решением стало добавление возможности калибровки акселерометра раздельно для каждой из шести возможных ориентаций, а появление гироскопа дало новые возможности – калибровка датчиков движения, соответственно, в том или ином виде, уже имеется в каждом приличном приложении, их использующем.

Разработчикам игр пришлось несколько полегче – в играх достаточно поддерживать одну-две ориентации устройства, но все равно невозможно просто обойти стороной необходимость дать пользователю возможность использования калибровки даже с использованием датчика гироскопа.

Читайте также:  Как раздать вай фай через usb кабель айфон

В «уровне» встроенном в компас iOS 7 калибровка осуществляется просто нажатием на экран – достаточно коснуться экрана и текущее положение устройства будет считаться опорным или «нулевым» положением.

Компас и GPS/GLONASS (хотя казалось бы)

До появления гироскопа датчиком отвечающим за ориентацию в плоскости горизонта по сторонам света был сенсор цифрового компаса – самый чувствительный ко внешним факторам из всех датчиков и, соответственно, имеющий наибольшие проблемы с точностью.

Калибровка компаса осуществляется постоянно на уровне драйвера по мере того, как устройство вращается – чем больше данных получит устройство, тем точнее будет результат, но все равно будет присутствовать погрешность.

Абсолютное решение проблемы точности компаса, к сожалению, практически невозможно только с помощью калибровки. Хотя точность она и повышает. В iOS 7 встроенный компас имеет еще более жестокую калибровку, чем в предыдущих версиях ОС. Теперь экран калибровки закрывает весь экран, пока пользователь не произведет необходимые действия. В старых версиях было сообщение небольшого размера, которое не перекрывало экран.

Даже калибровка компаса и постоянная фильтрация данных особо не помогут в условиях неоднородного магнитного поля – ведь обычно после калибровки компаса человек поворачивается вокруг собственной оси, а не вокруг оси устройства, что при повороте на 90° смещает устройство в пространстве примерно на полметра, где могут быть другие магнитные условия.

Вблизи сильных магнитных полей, металлических объектов, проводов под напряжением показания магнетометра нестабильны из-за весьма высокой чувствительности к электромагнитным излучению – особенно это заметно в помещениях и машинах, которые чем более и более современны тем более и более нашпигованы всевозможной электронной начинкой.

Плюс ко всему, если от компаса требуется показывать географический север, то в дело вступает точность определения местоположения с GPS и GLONASS, так как координаты используются для определения магнитного склонения или разницы между направлениями к магнитному и серверному полюсам в конкретной точке земного шара.

Магнитный компас хорошо и точно работает на улице в полевых условиях, где нет магнитных помех – но даже при этом калибровка компаса желательна при каждом измерении азимута.

Направление на северный полюс наиболее точно определяется при хорошей точности GPS, также обычно на улице.

Для дальнейшего повышения точности, где она требуется, например, если нужно правильно нацелить друг на друга антенны Wi-Fi или радиосвязи, или произвести какие-либо точные измерения, уже нужна более глубокая поддержка на стороне приложения, о чем ниже.

Гироскоп, гирокомпас и автомобильный режим

В помещении, в машине, в лодке или в любом другом средстве передвижения, а также когда требуется более высокая точность и стабильность ориентации обычный магнитный компас не подходит – нужна ориентация либо по курсу движения, либо по гироскопу.

Соответственно, в своем приложении я реализовал обе эти возможности – для использования в различных средствах передвижения есть «автомобильный» режим и режим «гирокомпаса» для всего остального.

С автомобильным режимом все просто – используется курс движения, что зависит только от точности GPS и GLONASS, и, соответственно, достаточно точно определяется направление во время движения пешком, на велосипедах авто, лодках, самолетах и так далее.

С гирокомпасом ситуация одновременно и легче, и несколько сложнее.

В режиме гирокомпаса можно точно задать начальное или поправить текущее направление используя какой-либо внешний ориентир – солнце, луну, звезды, географические объекты, поросшую мхом сторону дерева, сориентироваться при помощи карт или используя другие методы.

Делается это просто для пользователя. Маркер наложенный на видео в реальном времени или указующая на объект стрелка на циферблате компаса совмещается с реальным положением объекта или с направлением на него. Вся сложная математика основанная на тысячах строк формул остается незаметной на уровне приложения.

Примерно те же действия выполняют пилоты или персонал обслуживающий современные военные самолеты, суда – проверка и последующая калибровка систем инерциальной навигации осуществляется в начале рейса и во время него, что также облегчается фиксированным расположением датчиков, тогда, как наши мобильные устройства находятся почти в постоянном движении.

Казалось бы гирокомпас является идеальным решением проблемы точности компаса и ориентации по сторонам света, но здесь есть и свои подводные камни.

В промышленных и военных системах инерциальной навигации, в отличие от того, что на сегодня есть в мобильных устройствах, для точного определения положения в пространстве используются целый комплекс, массив датчиков, что позволяет компенсировать ошибки и погрешности в показаниях.

Читайте также:  Альфа банк конкурс айфон

В мобильных устройствах обычно присутствует только по одному экземпляру каждого датчика, что делает невозможным компенсацию ошибок и приводит к накоплению ошибки.

Чем больше времени проходит с момента калибровки гирокомпаса, а точнее, если смотреть с технической точки зрения, с момента определения опорного «нулевого» положения, тем больше накопленная ошибка, которая выражается в периодическом смещении ориентации гироскопа.

Приведенное ниже видео иллюстрирует проблему.

На видео снят компас в режиме «гирокомпаса» настроенный точно на сервер запущен на устройстве, которое неподвижно лежит на столе. Несмотря на то, что устройство неподвижно с течением времени происходит смещение. На 00:09 смещается с 0° на 359°. На 01:21 уменьшается до 358°. На 03:03 мы уже видим азимут 357°.

Накопление ошибки происходит из-за дискретности датчиков, которые в некоторые моменты могут пропускать события, как, например, на видео выше на показания гироскопа влияют мельчайшие вибрации вентиляторов блоков питания в мониторе и компьютере находящимися рядом на столе. Датчики, конечно, прогрессируют со временем, получают более высокое разрешение, но дискретность данных остается. Соответственно, на показания могут влиять и такие незначительные вещи, как сердцебиение и пульс.

На микромеханические системы таких сенсоров влияют и такие неочевидные факторы, как окружающая температура – температура хоть и недоступна для обычных разработчиков, но она учитывается для коррекции данных датчиков на уровне драйверов самой ОС.

При этом ориентация по гироскопу намного точнее, чем по датчику компаса – при развороте на 180° сенсор сообщает, что поворот составил те же 180°, а не 150°, как, например, может сказать компас в условиях помех.

Просто стоит иметь в виду, что у гироскопа есть такая особенность и учитывать это при использовании устройства в качестве того или иного инструмента или при разработке ваших собственных приложений и игр.

А как же новый сопроцессор движения M7?

С анонсом M7 я надеялся, что мобильные устройства станут ближе к большим системам инерциальной навигации, но, к сожалению, этот новый сопроцессор решает немного другие задачи.

Прежде всего M7 предназначен для снижения расходов энергии батареи при использовании GPS и других сенсоров. Тратится меньше времени на обсчет данных со спутников за счет того, что этот обсчет не начинается с нуля при запуске приложения. Дополнительно данные от других сенсоров собираются в фоновом режиме, даже когда приложение не запущено, что также позволяет уменьшить расход заряда батареи.

Например, на видео иллюстрирующем ситуацию с накоплением ошибки в гироскопе, приведенном выше, компас в режиме гирокомпаса работает на новом iPhone 5S уже с использованием M7.

Можно ли доверять мобильным устройствам?

Ответ – да, зная и учитывая особенности используемых датчиков.

Разработчики сделают собственные выводы самостоятельно.

Пользователям же, которым было интересно дочитать до конца, позволю себе дать несколько советов.

Менять устройство нет особой необходимости. Оно может быть не лучше. Да и кто сказал, что поверхность используемого стола строго перпендикулярна к вектору гравитации?

В играх с тактильным управлением, если ошибка акселерометра или гироскопа явно заметна, ищите в настройках или в режиме паузы меню калибровки.

Во всех актуальных приложениях реализующих инструмент «уровень» должна быть калибровка задающая «нулевое» положение – естественно, она есть и во встроенном приложении.

Магнитный компас хорошо работает только в походах на природе. Не стоит ожидать от устройства совершения невозможного пытаясь абсолютно точно определить направление рядом с компьютером, колонками, батареей отопления или в каком-либо средстве передвижения. Используйте те специально предназначенные для этого приложения и режимы, которые максимально соответствуют задаче.

При использовании магнитного компаса помните, что показания актуальны только сразу после калибровки, пока устройство не было перемещено на какое-либо значительное расстояние – поворот на 90° по оси позвоночника уже может потребовать повторной калибровки.

При использовании приложений типа «уровень» или «гирокомпас» помните, что показания датчика актуальны в течение примерно одной-двух минут, что вполне достаточно, чтобы произвести измерение – во избежание накопления ошибки повторяйте калибровку перед каждым измерением для повышения точности измерений.

Источник

Оцените статью