Калибровка акселерометра ipad. Использование функции «Адаптация касания» на iPhone, iPad, iPod touch или Apple Watch

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

happybyte9 октября 2013 в 01:40

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

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

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

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

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

Как все было

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

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

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

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

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

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

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

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

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

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

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

Читайте также  Как apk запустить на windows phone. Как установить APK на Windows Phone

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

В «уровне» интегрированном в компас 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. Овечаю на вопросцы в комментариях.

Теги:
Хабы:
  • 36
Реклама

AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее

KV.by

Калибруем датчик освещенности

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

А напрасно, необходимо всего на всего этот датчик откалибровать, тем наиболее что начиная с 6-ой версии iOS это возможно.

Для этого есть два пути.

  1. Заходим в черную комнату (ванную, например), открываем опции и перебегаем в раздел “Яркость и обои”. Выключаем “автояркость”. Перетаскиваем ползунок яркости на малое значение. Включаем “автояркость”.
  2. Берем фонарик поярче. Открываем раздел “Яркость и обои” и выключаем “автояркость”. Светим фонариком на iPad как можно поближе к экрану и перетаскиваем ползунок “яркости” до максимума. Включаем “автояркость”. Сейчас выходим из раздела “Яркость и обои” и прогуляемся по комнатам с различным уровнем освещенности. Ползунок яркости начнет двигаться сам по для себя. Наиболее того, в iOS 6 автояркость работает даже на экране блокировки.
Читайте также  Скачать фильм без интернета. Обзор кинотеатров для просмотра фильмов оффлайн

Владельцы устройств с “джейлбрейком” могут также поискать твик BrightnessFix for iOS 6, который калибрует автояркость полностью корректно.

Калибровка клавиши Home на iOS-устройствах

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

  1. Запускаем хоть какое обычное приложение на iOS-устройстве: “Заметки”, “Часы”, “Календарь” и так далее.
  2. После открытия приложения, нажмите и удерживайте клавишу Power до тех пор, пока не увидите обычное предложение о выключении устройства.
  3. Как лишь слайдер с надписью “Выключить” покажется на экране, нажмите и удерживайте клавишу Home приблизительно на 10 секунд, опосля что приложение обязано принудительно завершить свою работу.

По бессчетным отзывам юзеров, данный прием дает кнопочке Home “новую жизнь”. Что до меня, то пока что на моем iPad с данной неувязкой я не сталкивался, но “для профилактики” вышеописанную функцию произвел. Не много ли что…

Копируем музыку в i-гаджет, минуя библиотеку iTunes

Для того чтоб быстро и просто перенести в ваш iPhone, iPod Touch либо iPad песню либо подкаст без прибавления трека в библиотеку iTunes, нужно сначала подключить устройство к компу и запустить… iTunes. Потом избираем девайс в перечне присоединенных устройств и нажимаем на “Обзор”. Листаем вниз до меню “Параметры”. Ставим “галочку” около пт “Обрабатывать музыку и видео вручную”.

Теперь довольно переключиться на вкладку “На этом iPhone (iPod Touch, iPad)”, выбрать хранилище с музыкой и перетащить в это окно подходящую песню либо целый альбом. Все! Никакой синхронизации не требуется!

Единственный недочет – таковой трюк проходит только на вашем компе, который “знает” ваш i-гаджет.

Отключаем интегрированные покупки

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

Для отключения интегрированных покупок заходим в меню “Основные”, что в разделе “Настройки”. Находим пункт “Ограничения”. Для включения ограничений необходимо ввести 4-хзначный код. Опосля этого передвигаем ползунок около надписи “Встроенные покупки”. Все, сейчас ваши средства в сохранности. Во всяком случае, в вопросце интегрированных покупок в играх.

Иван КОВАЛЕВ,
[email protected]

Автор выражает благодарность сервисному центру www.appleservice.by за информационную и техно поддержку.

Не поворачивается экран в Айфоне

Гироскоп является одним из главных частей в Айфоне. Функцией данной детали является выполнение работы компаса, встроенного GPS, а также поддержка почти всех видеоигр. В случае поломки гироскопа телефона либо даже временного выхода из строя девайсов, применять телефон от Apple становится дискомфортно.

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

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

Выход гироскопа из строя

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

В качестве признаков неисправности можно отметить несколько случаев:

  • вне приложения не происходит поворот изображения;

  • ежели изображение самопроизвольно меняется либо айфон не поворачивает экран вообще;

  • при развороте на рабочем столе возникает какая-то ошибка либо отказ действий.

При…

Оставьте комментарий