Определить движение вперед / назад по телефону
Я использую данные акселерометра, чтобы определить, движется ли телефон вперед или назад. Предполагая, что телефон удерживается вертикально параллельно телу человека, можем ли мы определить, движется ли телефон вперед или назад во время движения человека?
Известные параметры:
Линейное ускорение по всем трем осям.
В идеале значения ускорения должны оказаться положительными при движении назад и отрицательными при движении вперед. Но, наблюдая за ценностями, это не выглядит так. Неправильно ли учитывается только ускорение вокруг оси 'z'?
Рекомендуемые вопросы:
Определить движение устройства вперед-назад => Как создать вектор направления и зачем контролировать ось х?
1 ответ
Вы не можете предполагать, что у вас есть движение только по оси z (будь то теперь отрицательное или положительное, в зависимости от запуска или остановки), так как человек обязательно также переместит телефон (немного) в сторону (x отрицательное и положительное) и вверх или вниз (у положительный и отрицательный) с каждым шагом. Но ускорение по z, отрицательное или положительное, должно быть немного сильнее с каждым шагом. Я бы рассчитал среднее значение от 10 до 20 шагов, прежде чем "быть уверенным" - лучше объединить его с данными GPS.