Как телефон узнает свое положение в пространстве

Смартфоны делают много вещей, о которых мы никогда не задумываемся. Например, вы можете просто повернуть телефон на бок, и он знает, как повернуть то, что на экране. Это очень полезно, но как это работает?
Не секрет, что смартфоны содержат множество датчиков. Есть датчик для всего, от яркости до карты комнаты. На самом деле за определение ориентации вашего телефона отвечают три датчика.
Акселерометр
Акселерометр — это датчик, с которым может быть знакомо большинство людей. Как следует из названия, он обнаруживает ускорение. Акселерометр определяет ускорение в трех направлениях: из стороны в сторону, вверх/вниз и вперед/назад.
Ускорение – изменение скорости за единицу времени. По сути, акселерометр обнаруживает движение. Движение определяется по отношению к силе тяжести. Фактический результат равен силе тяжести + истинному ускорению.
Вот почему одного акселерометра недостаточно для определения поворота телефона. Как только телефон начинает двигаться, гравитация искажает данные. Таким образом, акселерометр фактически обнаруживает то, что называется «воспринимаемой гравитацией». Чтобы получить истинное ускорение, ему нужна помощь.
Гироскоп
Гироскоп используется для измерения того, насколько устройство было повернуто и в каком направлении. В отличие от акселерометра, гироскоп не беспокоится о гравитации.
Это вызывает несколько проблем. Каждый раз, когда ваше устройство поворачивается в определенном направлении, оно сравнивается с предыдущим вращением, которое произошло. Со временем это приводит к накоплению “дрейфа”, из-за чего ошибки со временем становятся все больше и больше.
Информация о вращении от гироскопа вместе с информацией о силе тяжести акселерометра позволяет устройству вычислять истинное ускорение. Акселерометр также используется для сброса дрейфа, возникающего от гироскопа.
Магнитометр
Последним датчиком является магнитометр. Магнитометр — это, по сути, компас, он может указать вам, в каком направлении находится север. Этот датчик используется для определения направления движения устройства относительно земли.
Однако магнитометру нужна информация о вращении, чтобы вычислить, в каком направлении смотрит телефон. Таким образом, в сочетании с гравитационной информацией и истинным ускорением вы получаете полное представление о том, в какой ориентации находится устройство.
Три датчика работают как один
Возможно, многие предполагают, что есть только один датчик, который может определить ориентацию телефона, но все гораздо сложнее. Есть три датчика, которые постоянно корректируют друг друга и работают вместе.
Это просто показывает, что технология внутри смартфонов невероятно сложна. То, что мы воспринимаем как должное и используем несколько раз в день, происходит благодаря точно настроенным датчикам и сложным вычислениям.