Акселерометры будут регистрировать постоянное ускорение из-за силы тяжести, а также любое ускорение, которое устройство подвергается пользователю, плюс шум.
Вам нужно будет фильтровать нижние фильтры, чтобы избавиться от столь же неуместного шума, как вы можете. Хуже всего шум будет, как правило, более высокой частотой, чем любое возможное ускорение, вызванное человеком.
Осознайте, что, когда устройство не ускоряется пользователем, единственное усилие происходит из-за силы тяжести, и поэтому вы можете deduce its attitude в космосе. Более того, когда общее ускорение сильно варьируется от 1 г, это должно быть связано с ускорением пользователем устройства; вычитая последнюю известную оценку силы тяжести, вы можете примерно оценить, в каком направлении и на сколько пользователь ускоряет устройство, и поэтому получать данные, которые вы можете начать сопоставлять со списком известных жестов.
С помощью одного трехосевого акселерометра вы можете обнаружить текущий шаг и рулон, а также ускорить устройство по прямой линии. Интеграция ускорения минус гравитация даст вам оценку скорости тока, но оценка будет быстро отходить от реальности из-за шума; вам придется делать предположения о поведении пользователя до/между/во время жестов и направлять их через ваш пользовательский интерфейс, чтобы указать моменты, когда устройство не ускоряется, и вы можете сбросить свои оценки и надежно оценить направление гравитации. Интеграция снова, чтобы найти положение, вряд ли даст полезные результаты в течение любого полезного периода времени.
Если у вас есть два трехосных акселерометра на некотором расстоянии друг от друга, или один или несколько гироскопов, вы также можете обнаружить вращение устройства (путем сравнения векторов ускорения или от гироскопов); интеграция момента количества движения за пару секунд даст вам оценку текущего рыскания относительно этого, когда вы начнете интегрироваться, но снова это быстро выйдет из истинного.
Спасибо, что это было действительно полезно. – smaclell 2008-10-13 21:20:15
Действительно ли они регистрируют постоянное ускорение из-за силы тяжести? Я имею в виду логически, что они должны, но это просто кажется интуитивным :-) – 2008-10-13 23:51:06
Да, они это делают. Подумайте о них как о массах на пружинах, причем «ускорение» сообщается на самом деле о количестве растяжения/сжатия; то это довольно интуитивно. – moonshadow 2008-10-14 07:45:54