2016-04-28 4 views
0

У меня проблема в обнаружении положения для iPhone mobile с использованием датчика акселерометра Я попытался дважды интегрировать значение акселерометра, чтобы получить позицию, но после интеграции у меня была большая ошибка в позиции. Я установил частоту дискретизации 100. Я послал данные акселерометра к компьютеру по беспроводной сети в C# СЕВЕРАЧувствительность движения с помощью смартфона

dt=0.01// dt is the interval between two samples 
    volx+=linearAcceration[0]*dt;// volx is volcity over x axis 

posx+=volx*dt;//posx is position over x axis 

Где я использовал линейное ускорение и вычислил его с помощью этого уравнения:

float factoralpha=0.9f; 
     Gravity[0] = Gravity[0] * factoralpha + (1 - factoralpha) * xacc;//xacc is acceleration over x axis 
     Gravity[1] = Gravity[1] * factoralpha + (1 - factoralpha) * yacc;//yacc is acceleration over y axis 
     Gravity[2] = Gravity[2] * factoralpha + (1 - factoralpha) * zacc;//zacc is acceleration over z axis 
     linearAcceration[0] = xacc - Gravity[0]; 
     linearAcceration[1] = yacc - Gravity[1]; 
     linearAcceration[2] = zacc - Gravity[2]; 

мне нужно место для контроля за теннисную ракетку в моем компьютерная игра

Может ли кто-нибудь помочь мне имитировать движения рук с помощью акселеометра + гироскопа или получить точное положение с помощью акселерометра и гироскопа

ответ

0

Я не хочу препятствовать вам, но получить точное положение с помощью акселерометра и гироскопа - дело не простое. В то время как математика говорит, что интеграция ускорения в два раза приведет к положению, правда, шум в системе быстро доминирует над истинным сигналом положения (шум в самом ускорении, все небольшие нажатия и толчки, которые он принимает, плюс шум квантования из-за медленного ~ 100 Гц). В настоящее время системы с мертвым расчетом могут работать только в течение нескольких 10 секунд или, возможно, 1-2 минуты, прежде чем потребуется повторная калибровка положения. Это можно сделать с помощью триангуляции с помощью Bluetooth или Wi-Fi-маяков или путем размещения ракетки возле вещи в известном месте, например, ранее размещенного тега NFC. Кроме того, вполне вероятно, что 100 Гц недостаточно, вам понадобится, пожалуй, 1-2 кГц (максимальная скорость акселеров в эти дни составляет ~ 2 кГц), фильтруется до ширины полосы ~ 20 Гц в зависимости от скорости движения вашей теннисной ракетки. Я сомневаюсь, что стандартный мобильный телефон может достичь этого, так как я думаю, что они рассчитаны на максимум 100 Гц. Компании (я не уверен, кто) работают над такими системами, но их труднее достичь хороших результатов, чем можно было бы ожидать.

Смежные вопросы