История изменений
Исправление KivApple, (текущая версия) :
Ты совершенно не представляешь, как работает акселерометр в смартфоне :-)
Он даёт не совсем ускорение. Он даёт сумму всех ускорений, кроме ускорения свободного падения. А какая сила помимо силы тяжести действует почти на все предметы? Сила реакции опоры (если только телефон не падает)!
Так что акселерометр в покое выдаёт вектор, равный ускорению 9.8 м/с2 направленный перпендикулярно плоскости Земли в координатах устройства. 9.8м/с2 это очень много - телефон так ускоряется очень редко и крайне кратковременно, так что большинство настоящих ускорений вносят не очень большую погрешность (а поскольку ускорения короткие, ошибку можно хорошо снизить усреднением) и можно для простоты принять, будто бы акселерометр чувствует только силу реакции опоры.
Что делать с вектором, почти всегда перпендикулярным Земле и измеренном в координатах устройства? Вспомнить тригонометрию и найти наклоны по 2 осям из 3. Для 3-ей оси потребуется компас.
При этом абсолютно неважно, где в девайсе стоит акселерометр, главное чтобы он поворачивался одновременно с ним. Интегральная ошибка отсутствует как класс, только систематическая погрешность пропорциональная линейным ускорениям девайса.
А вот гироскоп выдаёт угловые ускорости. Их приходится интегрировать и ошибка всегда растёт, поэтому в идеале как раз нужно в краткосрочной перспективе полагаться на гироскоп (неподвержен влиянию линейных ускорений), а в долгосрочной на акселерометр (в среднем он абсолютно прав). Такое достигается, комплиментарным фильтром.
Исправление KivApple, :
Ты совершенно не представляешь, как работает акселерометр в смартфоне :-)
Он даёт не совсем ускорение. Он даёт сумму всех ускорений, кроме ускорения свободного падения. А какая сила помимо силы тяжести действует почти на все предметы? Сила реакции опоры (если только телефон не падает)!
Так что акселерометр в покое выдаёт вектор, равный ускорению 9.8 м/с2 направленный перпендикулярно плоскости Земли в координатах устройства. 9.8м/с2 это очень много - телефон так ускоряется очень редко и крайне кратковременно, так что большинство настоящих ускорений вносят не очень большую погрешность (а поскольку ускорения короткие, ошибку можно хорошо снизить усреднением) и можно для простоты принять, будто бы акселерометр чувствует только силу реакции опоры.
Что делать с вектором, почти всегда перпендикулярным Земле и измеренном в координатах устройства? Вспомнить тригонометрию и найти наклоны по 2 осям из 3. Для 3-ей оси потребуется компас.
При этом абсолютно неважно, где в девайсе стоит акселерометр, главное чтобы он поворачивался одновременно с ним. Интегральная ошибка отсутствует как класс, только систематическая погрешность пропорциональная линейным ускорениям девайса.
А вот гироскоп выдаёт угловые ускорости. Их приходится интегрировать и ошибка всегда растёт, поэтому в идеале как раз нужно в краткосрочной перспективе полагаться на гироскоп (неподвержен влиянию линейных ускорений), а в долгосрочной на акселерометр (в среднем он абсолютно прав).
Исходная версия KivApple, :
Ты совершенно не представляешь, как работает акселерометр в смартфоне :-)
Он даёт не совсем ускорение. Он даёт сумму всех ускорений, кроме ускорения свободного падения. А какая сила помимо силы тяжести действует почти на все предметы? Сила реакции опоры (если только телефон не падает)!
Так что акселерометр в покое выдаёт вектор, равный ускорению 9.8 м/с2 направленный перпендикулярно плоскости Земли в координатах устройства. 9.8м/с2 это очень много - телефон так ускоряется очень редко и крайне кратковременно, так что большинство настоящих ускорений вносят не очень большую погрешность (а поскольку ускорения короткие, ошибку можно хорошо снизить усреднением) и можно для простоты принять, будто бы акселерометр чувствует только силу реакции опоры.
Что делать с вектором, почти всегда перпендикулярным Земле и изменённом в координатах устройства? Вспомнить тригонометрию и найти наклоны по 2 осям из 3. Для 3-ей оси потребуется компас.
При этом абсолютно неважно, где в девайсе стоит акселерометр, главное чтобы он поворачивался одновременно с ним. Интегральная ошибка отсутствует как класс, только систематическая погрешность пропорциональная линейным ускорениям девайса.
А вот гироскоп выдаёт угловые ускорости. Их приходится интегрировать и ошибка всегда растёт, поэтому в идеале как раз нужно в краткосрочной перспективе полагаться на гироскоп (неподвержен влиянию линейных ускорений), а в долгосрочной на акселерометр (в среднем он абсолютно прав).