LINUX.ORG.RU

История изменений

Исправление 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-ей оси потребуется компас.

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

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