Расчет скорости по данным акселерометра

Я пытаюсь использовать свой акселерометр на фитнес-браслете мобильного устройства, чтобы определить скорость ходьбы и бега.

Я провел свой эксперимент по ходьбе и бегу на беговой дорожке, где попросил человека идти и бежать с одинаковой скоростью. (скорость была 3 км/час)

Я создал модель для определения скорости с помощью метода численного интегрирования. (Я использовал трапецеидальный метод интегрирования). Но модель неправильно предсказывает результат. Даже скорость ходьбы сильно отличается от скорости бега.

Данные, возвращаемые акселерометром, представлены в м/с2. Я получаю данные об ускорении осей X, Y и Z.

Я был бы признателен, если бы кто-нибудь мог мне помочь или подсказать модель для определения скорости по данным об ускорении. Мое устройство записывает сигнал на частоте 50 Гц.

Численное интегрирование по методу трапеций должно подойти; возможно, в вашей реализации есть какая-то ошибка. Обратите внимание, что Physics SE имеет дело с концептуальными вопросами и не помогает в отладке кода.
@GodotMisogi, случайно это концептуальный вопрос, потому что с ним есть две концептуальные проблемы.

Ответы (1)

  1. Для правильного счисления пути вам нужны акселерометр и гироскоп , потому что помимо движения устройство также вращается, и вам нужно иметь возможность сопоставить координаты устройства с мировыми координатами, чтобы интегрировать скорость.
    • Кроме того, на резьбовой фрезе относительно начального состояния движется именно фреза, а не устройство, поэтому средняя скорость в любом случае должна быть равна 0.
    • Обычно это делается в самолетах, см. Инерциальная навигационная система . У них лучше гироскопы и акселерометры, но я помню, что видел технический документ о том, что кто-то пробовал с мобильным телефоном и получил полезные результаты, поэтому с устройствами более высокого уровня это должно быть возможно.
    • Вероятно, вам следует провести перекрестную корреляцию с GPS, чтобы компенсировать дрейф. Конечно, на threadmill это также покажет 0.
  2. Или вы можете сделать оценку, основываясь на том факте, что люди склонны размахивать руками на каждом шагу, сопоставив частоту и амплитуду пиков ускорения со скоростью. Но вы должны экспериментально подобрать его для каждого человека, потому что у всех разная длина шага и движения рук с разной силой. В этом случае вы ничего не будете интегрировать, а просто найдете некоторую частоту в данных (возможно, используя преобразование Фурье) и создадите таблицу частоты и пиковой амплитуды для скорости ходьбы или бега.