Датчик ускорения и гироскоп ошибка калибровки

Время на прочтение
9 мин

Количество просмотров 127K

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

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

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

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

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

Как все было

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

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

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

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

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

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

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

Акселерометр

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

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

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

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

В «уровне» встроенном в компас 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° по оси позвоночника уже может потребовать повторной калибровки.

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

P.S. Овечаю на вопросы в комментариях.

Производители редко об этом говорят, но в вашем смартфоне очень много датчиков. Зачем? Они экономят заряд аккумулятора, делают комфортной навигацию, избавляют от ошибочных нажатий и многое другое. Но случается так, что некоторые датчики начинают работать некорректно. Разбираемся, как откалибровать датчики смартфона вручную и возможно ли это вообще.

Какие бывают датчики в смартфоне и зачем они нужны?

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

Но стандартный набор включает в себя совсем другие, более привычные датчики.

Самым популярным из них можно смело назвать акселерометр. Предназначен для измерения ускорения по трем осям координат (X — поперечная, Y — продольная и Z — вертикальная) с учетом силы тяжести. Благодаря полученным данным смартфон словно начинает понимать свое положение в пространстве, и появляются такие функции, как автоповорот экрана или запуск приложений встряхиванием смартфона. Нашел себе применение акселерометр еще в некоторых играх и приложениях — за счет него при наклонах смартфона можно управлять чем-либо на экране. Такой способ управления станет хорошим дополнением сенсорному экрану.

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

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

Через магнитометр (компас) измеряется внешнее магнитное поле, а точнее его напряженность по трем осям. Как нетрудно догадаться, компас нужен для определения сторон света, а также он упрощает работу с приложениями-навигаторами — на картах гораздо быстрее получается определить направление движения. Магнитометр, к сожалению, есть уже не во всех смартфонах, но вполне может обнаружиться в бюджетном устройстве.

Гироскоп, который иногда путают с акселерометром, на самом деле работает с ним в паре и пригодится для измерения скорости вокруг осей X, Y и Z. Без гироскопа невозможно смотреть 360-градусные видеоролики и пользоваться технологией VR, так как смартфон не сможет отследить и зафиксировать движения в трехмерном пространстве. Без гироскопа нельзя комфортно играть и в некоторые игры. Самым популярным примером является Pokemon Go, в которой пользователи с девайсами, у которых нет гироскопа, не могут включить режим дополненной реальности и ловить покемонов через камеру.

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

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

Полный список датчиков, доступных в смартфоне, можно посмотреть, установив на смартфон одно или несколько бесплатных приложений, среди которых выделяются Device Info, Датчикер и Senson Kinetics, но список достойных вариантов на этом вовсе не заканчивается. Интересно же то, что иногда в списках вы можете увидеть слово Virtual, что указывает на программное происхождение датчика, и давайте попробуем разобраться в том, что это такое.

Что такое виртуальные датчики?

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

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

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

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

Почему датчики перестают правильно работать и как это определить?

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

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

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

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

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

Как откалибровать (починить) датчики?

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

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

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

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

В некоторых смартфонах откалибровать часть сенсоров получается прямо из настроек операционной системы. Точное расположение настроек давать нет смысла, так как в зависимости от модели оно может отличаться, но на скриншотах ниже можно посмотреть на то, как может выглядеть меню с функцией калибровки (на примере смартфонов AGM A10 и Ulefone Armor X7).

Предусмотрена калибровка и в инженерном меню для некоторых смартфонов, работающих на чипсетах от MediaTek. Попасть в инженерное меню можно, набрав  ‎*#*#3646633#*#*, или через приложение MTK Engineering Mode. Перед этим возможно потребуется активировать права разработчика зайти в «Настройки смартфона/Информация о телефоне» и шесть раз нажав на пункт «Информация о сборке» (названия могут немного отличаться).

Попав в инженерное меню, следует открыть вкладку Hardware Testing, а затем выбрать пункт Sensor, после чего должен открыться список с сенсорами, доступными для калибровки. Далее калибровка запускается нажатием на кнопку Start Calibration, после чего могут появиться подсказки о том, как правильно завершить калибровку.

Однако даже если в списке присутствует акселерометр (G-sensor), гироскоп и датчики приближения и освещенности, то при попытке калибровки вас может ждать неудача, а на экране — появиться надпись Fail. Такое бывает, и с этим ничего не поделаешь. Универсального метода устранения неполадок с некоторыми датчиками не существует, а иногда это и вовсе невозможно, но стоит опробовать все методы, описанные в статье.

Для смартфонов Xiaomi предусмотрена следующая инструкция для калибровки датчика приближения:

  1. В поле вызова набираем символы и числа *#*#6484#*#*.
  2. Попав в инженерное меню, нажимаем на три точки в правом верхнем углу — Additional tools.
  3. Переходим пункт под названием Proximity sensor.
  4. Жмем кнопку Calibrate. Работу датчика можно проверить путем его закрытия и открытия пальцем. При срабатывании датчика верхнее значение меняется с 5 на 0.

В меню Additional tools еще есть калибровка акселерометра и гироскопа — достаточно лишь следовать инструкциям в верхней части экрана.

Также можно посмотреть видеоинструкию:

Правильность работы акселерометра зависит от того, насколько точно откалиброван модуль. Иногда может возникнуть ситуация, когда осуществить калибровку акселерометра на Сяоми не представляется возможным. Мы расскажем, что можно сделать в таком случае и как решить проблему максимально быстро.

Способ №1

Самым простым вариантом является перезагрузка Смартфона Xiaomi. Это помогает в случае программных сбоев.

Способ №2

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

Как перейти в режим разработчика на Xiaomi

В открывшемся меню надо найти пункт “Магнитный датчик”, а затем положить телефон на максимально ровную поверхность. При появлении надписи «Ошибка» нажимаем на нее. Остается выбрать «Пройти проверку». Если сообщение об ошибке не появилось, то активировать эту опцию настоятельно не рекомендуется, так как это может стать причиной нарушения правильности работы датчика.

Способ №3

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

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

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

Способ №4

Если вышеперечисленные варианты не помогли, то можно попробовать воспользоваться возможностями приложения GPS status toolbox, которая находится в свободном доступе в Play Market. После установки программы откроется окно. Слева вверху вы увидите изображение трех полосок, которые означают меню. Когда оно откроется, одним из его пунктов будет калибровка акселерометра. Нажимаем на него и ждем некоторое время, пока завершится процесс.

Приложение GPS status toolbox

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


Download Article


Download Article

  • Using the Hidden Menu
  • |

  • Using a Third-Party App
  • |

  • Using the Settings Menu

Are you having trouble playing games that use your Samsung Galaxy’s gyroscope, such as racing games or PlayerUnknown’s Battlegrounds? It may be time for recalibration. This wikiHow teaches how to calibrate your Samsung Galaxy’s gyroscope and accelerometer using Samsung’s hidden diagnostics menu, a third-party app, or the Settings menu (for older versions of Android).

  1. Image titled Calibrate the Gyroscope on a Galaxy Step 1

    1

    Open the Phone dialer. It’s the phone icon on your home screen. You’ll be entering a special code in the dialer to access the hidden system menu that lets you test and recalibrate your gyroscope.

    • This method should work on most Samsung Galaxy models, including newer ones that no longer have a gyroscope calibration option in the Settings menu. The exception is that it may not work with certain mobile carriers, including Verizon and older Sprint phones.[1]
    • If this method doesn’t work for you, try the Using a Third-Party App method.
  2. Image titled Calibrate the Gyroscope on a Galaxy Step 2

    2

    Dial *#0*#. Once dialed, you’ll see a diagnostic menu with several buttons.

    Advertisement

  3. Image titled Calibrate the Gyroscope on a Galaxy Step 3

    3

    Tap the Sensor button. You’ll see this near the middle of the screen.

  4. Image titled Calibrate the Gyroscope on a Galaxy Step 4

    4

    Place the Galaxy on a flat surface and tap Gyro Selftest. This will recalibrate the gyroscope and display the word «PASS» when complete.

    • If you see «FAIL» instead of «PASS,» there is something wrong with your Galaxy’s internal hardware. Contact your carrier (or Samsung) if your phone is under warranty for repair options.
    • Tap the back button twice to return to your home screen after recalibration.
  5. Advertisement

  1. Image titled Calibrate the Gyroscope on a Galaxy Step 5

    1

    Open the Play Store

    Android Google Play

    . You can find the Play Store app in your app list.

  2. Image titled Calibrate the Gyroscope on a Galaxy Step 6

    2

    Download Accelerometer Calibration Free. This is a completely free app that will calibrate your gyroscope. To get the app:

    • Type accelerometer calibration free into the search bar and tap the search button.
    • Tap Accelerometer Calibration Free by RedPi Apps (the blue icon with a smartphone and several arrows inside) to open its details.
    • Tap Install.
    • Follow any on-screen instructions to grant the app permission to install.
  3. Image titled Calibrate the Gyroscope on a Galaxy Step 7

    3

    Open Accelerometer Calibration Free. If you’re still in the Play Store, tap OPEN near the top of the screen to do this. Otherwise, tap the new blue icon with a smartphone inside in your apps list.

  4. Image titled Calibrate the Gyroscope on a Galaxy Step 8

    4

    Tap OK on the welcome screen. Now you’ll see some moving numbers at the top of the screen.

  5. Image titled Calibrate the Gyroscope on a Galaxy Step 9

    5

    Place your Galaxy on a flat surface and tap Calibrate. It’s the green button at the bottom of the screen. Leave the phone or tablet on the surface until the calibration is complete. When you see a message that says the accelerometer has been calibrated successfully, you’ll know your gyroscope has been calibrated.

  6. Advertisement

  1. Image titled Calibrate the Gyroscope on a Galaxy Step 10

    1

    Open your Samsung’s Settings menu

    Android 7 Settings

    . You can find this gear-shaped icon in your app list.

    • This method will only work on Android 4.3 and earlier.[2]
  2. Image titled Calibrate the Gyroscope on a Galaxy Step 11

    2

    Tap Motion. If you don’t have a Motion menu, you can calibrate your sensors using the Using the Hidden Menu method or the Using a Third-Party App method.

  3. Image titled Calibrate the Gyroscope on a Galaxy Step 12

    3

    Tap Advanced settings. You may have to scroll down to see it.[3]

  4. Image titled Calibrate the Gyroscope on a Galaxy Step 13

    4

    Tap Gyroscope calibration. If you don’t see this option, it may be in a menu called Sensitivity Settings.

  5. Image titled Calibrate the Gyroscope on a Galaxy Step 14

    5

    Place your Galaxy on a flat surface and tap Calibrate. Don’t move the phone or tablet during the calibration. Once calibration is complete, you’ll see a message that says «Calibrated.»

  6. Advertisement

Ask a Question

200 characters left

Include your email address to get a message when this question is answered.

Submit

Advertisement

Thanks for submitting a tip for review!

About This Article

Article SummaryX

1. Open the dialer.
2. Dial *#0*#.
3. Tap Sensor.
4. Place the phone on a flat surface.
5. Tap Gyro Selftest.
6. Tap the back button twice after calibration is complete.

Did this summary help you?

Thanks to all authors for creating a page that has been read 275,515 times.

Is this article up to date?

В модулях инерционного трекера используются три типа сенсоров:

  • Гироскоп

  • Акселерометр

  • Магнитометр

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

Гироскоп

Гироскоп является «сердцем» трекера. Гироскоп обеспечивает точную и быструю обработку поворотов. Калибровка Гироскопа влияет на поведение модуля именно во время вращения. Уменьшение смещения Гироскопа после калибровки уменьшает ошибку отслеживания траектории вращения и остаточную ошибку после поворота.

Как правило, смещение Гироскопа даже без калибровки не превышает 3,00°/s. То есть обзор при отсутствии коррекции от Акселерометра и Магнитометра, будет дрейфовать, и опишет полный круг за время 360°/3,00°/s = 120 секунд. Это достаточно небольшой дрейф и он не требует калибровки, он будет легко скомпенсирован Акселерометром и Магнитометром. Но бывает, попадаются модули с намного большим смещением. Например, у меня имеется один модуль GY-521, в котором смещение Гироскопа превышает 45,00°/s! То есть полный оборот обзор совершает менее, чем за 8 секунд. По сути, это откровенный заводской брак. Но, после калибровки, смещение сенсора стало менее 1,00°/s, и он успешно работал в трекере.

Калибровка Гироскопа является самой простой. Процесс калибровки описан здесь:

Калибровка Гироскопа

Гироскоп обеспечивает точную и быструю обработку поворотов, но, к сожалению, при его работе накапливаются ошибки. Исправить эти ошибки помогают Акселерометр и Магнитометр.

Акселерометр

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

Акселерометр измеряет сумму вектора ускорения относительно Земли и вектора Гравитации. Нас интересует только Гравитация, то есть вертикаль. Понятно, что акселерометр выдаёт направление гравитации только в покое или при равномерном прямолинейном не ускоренном движении. Поэтому в алгоритме трекера есть весовая функция, которая помогает оценить, насколько можно доверять направлению, выданному Акселерометром. Если длина вектора Акселерометра равна единице, то датчик неподвижен, и вектор Акселерометра можно использовать в полной мере. Чем больше это значение отличается от единицы, тем более искажено направление вектора Акселерометра от вертикали, и тогда вектор Акселерометра можно использовать только с меньшим коэффициентом, или нельзя временно использовать.

Поэтому важно, чтобы длина вектора Акселерометра в покое была около единицы, в диапазоне 0,95 … 1,05.

Обычно заводская калибровка Акселерометра удовлетворяет этим требованиям и калибровать Акселерометр не нужно. Тем более, что эта калибровка является наиболее трудоёмкой. Но, если вы решились калибровать, то процесс калибровки описан здесь:

Калибровка Акселерометра

Акселерометр исправляет ошибки Гироскопа по Roll и Pitch. Благодаря Акселерометру трекер “знает”, где верх, где низ. Но этого недостаточно. Остаётся дрейф по Yaw. Эта проблема решается применением Магнитометра.

Магнитометр

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

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

Поэтому калибровка Магнитометра является самой востребованной. Она устраняет “пружину по Yaw”. “Пружина по Yaw” проявляется как смещение обзора по Yaw по направлению к одному или двум положениям точки обзора после завершения поворота.

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

Калибровка Магнитометра не сложна и описана здесь:

Калибровка Магнитометра

Как правильно калибровать Магнитометр

Модули «Head» и «Neck»

Если в вашем трекере несколько модулей сенсоров, то не забудьте выполнить калибровку для сенсоров каждого из модулей. Переключение между настройками модулей в версии Razor_AHRS_5DOF осуществляется комбобоксом [Head/Neck]:

Понравилась статья? Поделить с друзьями:
  • Датчик положения распределительного вала приора ошибка
  • Датчик теплого пола теплолюкс ошибка 3
  • Датчик положения распредвала ошибка калина
  • Датчик солнечной радиации мазда 6 ошибка
  • Датчик температуры акпп ошибка