Я занимался внедрением инерциальной навигационной системы для телефона Android, о которой я понимаю, трудно получить точность акселерометра и постоянные колебания показаний.
Для начала я установил телефон на плоскую поверхность и пробовал 1000 показаний акселерометра в направлениях X и Y (параллельно таблице, поэтому в этих направлениях не было силы тяжести). Затем я усреднил эти показания и использовал это значение для калибровки телефона (вычитая это значение из каждого последующего чтения).
Затем я протестировал систему, снова разместив ее на столе и проверив 5000 показаний акселерометра в направлениях X и Y. Я ожидал бы, учитывая калибровку, что эти ускорения должны составлять до 0 (примерно) в каждом направлении. Однако это не так, и полное ускорение более 5000 итераций нигде не приближается к 0 (усредняя около 10 на каждой оси).
Я понимаю, не видя моего кода, это может быть трудно ответить, но в более общем смысле...
Является ли это просто примером того, как неверные показания акселерометра находятся на мобильном телефоне (HTC Desire S), или это более вероятно, что я сделал некоторые ошибки в моем кодировании?