В чем разница между датчиками "гравитация" и "ускорение" в Android?

В чем разница между датчиками силы тяжести и ускорения в Android? С моей точки зрения, физическое значение в обоих случаях одинаково.

Какой из них измеряет силу, действующую на единицу массы внутри устройства?

Сложение

Вопрос: какая физическая величина измеряется этими датчиками? Согласно принципу эквивалентности ускорение и гравитация неразличимы, и единственный способ измерить их - обычным (но 3d) балансом spring.

Ответ 1

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

Другим методом может быть использование Sensor.TYPE_LINEAR_ACCELERATION, которое дает точно (ускорение - гравитация), однако вы должны проверить, доступно ли это на устройстве. Я нашел несколько устройств, которые работают с датчиком ACCELERATION, но не реагируют на датчики GRAVITY или LINEAR_ACCELERATION.

Ответ 2

Эта ссылка может быть полезна: http://www.sensorplatforms.com/which-sensors-in-android-gets-direct-input-what-are-virtual-sensors

Следующий фрагмент подытожит ответ на ваш вопрос:

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

В этой ссылке fooobar.com/info/65487/... также говорится, что значения силы тяжести вычисляются с использованием фильтра Баттерворта.