Не во всех приложениях работает акселерометр

Акселерометр в телефоне: что это такое, принцип действия, настройка и калибровка

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

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

Принцип действия датчика

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

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

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

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

Рис. 1. Один из примеров работы акселерометра.

Рассматривая действие акселерометра и что это такое по большому счёту, стоит познакомиться с принципом действия классического приспособления:

  1. Основная часть датчика представляет собой инертную массу (например, грузик), прикреплённую к упругому элементу.
  2. Упругая деталь типа пружины фиксируется на неподвижном элементе.
  3. Пружина зафиксирована на неподвижной части конструкции.
  4. Колебания груза подавляются демпфером.
  5. При наклонах, встряске и поворотах гаджета инертная масса реагирует на силу инерции.
  6. Чем больше интенсивность и сила наклона, встряски или поворота, тем сильнее деформируется пружина.
  7. После возвращения массы на место под воздействием пружины уровень смещения относительно обычного положения фиксируется специальным датчиком.

Рис. 2. Конструкция стандартного акселерометра.

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

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

Рис. 3. Внешний вид датчика для смартфона.

Применение устройства

Определившись с тем, что представляет собой акселерометр в телефоне, стоит узнать и как им пользоваться – для этого можно привести несколько примеров:

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

Рис. 4. Игра Asphalt 8, управление в которой выполняется с помощью акселерометра.

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

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

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

В системах управления жёсткими дисками HDD акселерометр требуется для компенсации вызываемых ускорениями объекта колебаний и защиты хранящихся на накопителе данных.

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

Включение и отключение датчика

Способ, как узнать есть ли акселерометр на телефоне, заключается в повороте экрана в другое положение. Если изображение при этом не изменилось, значит датчик отсутствует – или на смартфоне просто отключена функция «Автоповорота».

У большинства моделей поворот экрана при изменении положения автоматически включается и выключается с помощью меню настроек или верхней панели на главном экране:

В первом случае следует перейти в «Настройки», выбрать пункт «Экран» и включить поворот изображения.

Рис. 5. Включение через настройки.

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

Рис. 6. Включение через верхнюю панель.

Настройка и калибровка

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

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

Автоматическая настройка Андроид акселерометра выполняется в три этапа:

Рис. 7. Меню приложения.

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

Читайте также:  Siemens духовой шкаф как настроить время

Рис. 8. Работа приложения GPS Status & Toolbox.

Выводы

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

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

Источник

Что такое акселерометр на смартфоне и как его откалибровать

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

Один из таких встроенных датчиков называется G-Sensor – он же акселерометр. Его наличие нигде не видно явно, однако используется он постоянно. Неправильная его работа может вызвать странную работу гаджета, а неопытные пользователи могут даже решить, что он сломался. Давайте разберёмся, для чего он нужен и что можно сделать в случае неполадок, связанных с этим устройством.

Для чего нужен датчик

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

Так как основное назначение этого датчика – определение положения гаджета в пространстве, то это позволило реализовать функцию поворота. Она срабатывает при повороте смартфона, и экран автоматически переворачивается. Это настолько удобная и естественная функция при фото- и видеосъёмке или при просмотре видео, что воспринимается, как естественная. Однако ей мы обязаны именно акселерометру.

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

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

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

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

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

Всё остальное – дело программистов, которые на основе показаний акселерометра внедряют разные полезные функции в операционную систему или в приложения.

Акселерометр можно в любой момент выключить. Для этого под верхней шторкой Android есть функция «Автоповорот», которая по умолчанию включена. Но иногда она может мешать, например, при чтении книги, и её можно легко отключить, а потом также легко включить.

Калибровка акселерометра G-Sensor

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

Так бывает, если данные с датчика неправильно обрабатываются. Ломаться в нём практически нечему, так что это обычно чисто программная проблема.

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

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

  • Из магазина Play Market нужно скачать и установить утилиту GPS Status&Toolbox.
  • Запустить установленную программу.
  • Положить смартфон на ровную поверхность – на окно, стол и т. п.
  • Не перемещая устройство, открыть в программе раздел «Tools» — инструменты.
  • Выбрать пункт «Калибровка акселерометра» и подтвердить это действие нажатием «Ок».
  • Выбрать «Откалибровать». Будут предложены также пункты «Усреднить» и «Сбросить» — ими пользоваться не следует.

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

В смартфонах Xiaomi есть встроенная возможность калибровки. Она находится в настройках дисплея. Никакое приложение при этом скачивать не нужно.

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

Источник

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

Многие наслышаны о проблеме с неоткалиброванными датчиками в новом 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 или радиосвязи, или произвести какие-либо точные измерения, уже нужна более глубокая поддержка на стороне приложения, о чем ниже.

Читайте также:  Как настроить голос сири айфон 11

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

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