Как акселерометр моего устройства узнает, как далеко я пробежал на беговой дорожке?

Как акселерометр моего устройства узнает, как далеко я пробежал на беговой дорожке?
Как акселерометр моего устройства узнает, как далеко я пробежал на беговой дорожке?
Изображение
Изображение

Я устал, но мне нужно продолжать бежать. Я должен предупредить поселение Брансуик, что орда зомби собирается напасть на них. Песня, которую я слушаю, заканчивается, я слышу потрескивание по каналу связи, а затем Сэм сообщает плохие новости: зомби ближе к поселению, чем я, и мне придется ускориться, чтобы попасть туда вовремя, чтобы доставить предупреждение. Когда на карту поставлены человеческие жизни, у меня нет выбора. Я должен найти всплеск скорости.

Неважно, что все это происходит в безопасности моего дома, на моей беговой дорожке. Бег и вытекающее из него истощение вполне реальны. А ужасный сценарий выживания? Это любезно предоставлено "Зомби, беги!" - приложение, предназначенное для геймификации тренировок по бегу и ходьбе, накладывая апокалиптическую сюжетную линию на ваши тренировки. Мне нравится, что я могу потеряться в этих вымышленных миссиях во время бега, но на самом деле я готовлюсь к полумарафону. Мне нужно достичь определенных целей в беговых тренировках, чтобы убедиться, что я готов к предстоящему соревнованию. Мне нужно знать, как далеко я пробежал и с какой скоростью.

Существует множество приложений для телефонов iOS и Android, которые отслеживают ваше расстояние и время. Почти все они имеют встроенное GPS-отслеживание, которое, как согласятся почти все бегуны и разработчики, является наиболее точным способом отслеживания вашей статистики. Но иногда расписание и местоположение не позволяют бегать на улице, и тогда вашему приложению приходится полагаться на акселерометр вашего устройства, чтобы отслеживать ваш темп и расстояние. Но как это сделать и насколько точны эти измерения?

Может ли акселерометр рассчитать собственные ограничения?

Изображение
Изображение

Датчики движения акселерометра измеряют изменения направления и скорости - ускорение. Если во время бега у вас в кармане есть мобильное устройство, акселерометр постоянно оценивает и рассчитывает ваше движение и частоту шагов, когда вы ускоряетесь при каждом шаге и немного замедляетесь после приземления.

В Apple App Store и Android Marketplace доступны десятки, если не сотни работающих приложений для смартфонов, но не все из них предлагают отслеживание расстояния в помещении. Почему это? Оказывается, если использовать GPS для определения расстояния, которое вы преодолели во время бега на улице, относительно легко, то рассчитать воображаемое расстояние, которое вы преодолеете во время бега в помещении на беговой дорожке, немного сложно..

Алекс Макмиллан, ведущий разработчик игры «Зомби, беги!» app объясняет, что одной из проблем, связанных с использованием акселерометра для отслеживания расстояния бегуна на беговой дорожке, является сам акселерометр. Он говорит, что «данные акселерометра могут быть очень «зашумленными», что затрудняет их интерпретацию. Вы должны быть в состоянии отличить движение бегуна от движения телефона, просто болтающегося в кармане бегуна."

Еще одна проблема, на которую ссылается Макмиллан, - это огромная нагрузка данных, связанная с расчетом статистики расстояния. Это сложно, потому что, по его словам, «вам нужно очень часто считывать новые данные (или «выборки») с акселерометра, чтобы получать хорошие результаты. Это означает, что вы должны писать код достаточно быстро, чтобы выполнить все ваши вычисления. в пространстве между одним сэмплом и другим."

Добавьте к этим проблемам тот факт, что вы на самом деле никуда не ходите на беговой дорожке, и становится ясно, что научить технологию в вашем телефоне определять расстояние в помещении - немалый подвиг. Так как же разработчики работают с этими ограничениями?

Вы только что закончили 5K Maybe

Существует относительно простой способ расчета расстояния с помощью акселерометра: запрограммируйте его на отслеживание шагов, как шагомер, а затем умножьте количество шагов на длину шага бегуна, чтобы получить общее расстояние. Вуаля! Расстояние рассчитано. Ну вроде. Именно так многие приложения справляются с работой на беговой дорожке, но проблема с этим подходом заключается в том, что существует вероятность огромной погрешности.

Во-первых, должен быть ввод от бегуна. Это означает, что вам нужно сообщить приложению свой рост и вес, чтобы оно могло оценить длину вашего шага, но что, если ваши ноги пропорционально длиннее, чем у другого человека, чей рост близок к вашему? Некоторые приложения также попросят вас пробежать или пройти расстояние, которое вы считаете точным, например милю (1,6 км) или около того, во время работы приложения, а затем сообщите приложению, как далеко вы пробежали, чтобы оно могло скорректировать эти оценки, чтобы сделать их более индивидуальными. тебе. Приложение «Nike+ GPS» для iPhone, например, позволяет обновить настройки с помощью опции «откалибровать пробежку», чтобы ввести дистанцию после пробежки, а также пересчитать длину шага для будущих прогулок.

Но что, если вы используете для тренировки интервалы бега/ходьбы? Ваш шаг при ходьбе вряд ли будет такой же длины, как и при беге. Что, если ваш калибровочный прогон был быстрее или медленнее, чем ваш обычный темп? Что, если ваша походка немного неровная и каждый шаг разной длины? Как сказал нам Алекс Макмиллан: «Если измерение длины шага ошибочно даже на небольшую величину, общее расчетное расстояние может быть ошибочным в значительной степени». Если вы когда-либо использовали приложение для бега во время тренировки на беговой дорожке, вы, вероятно, заметили несоответствие между расстоянием, которое показывает приложение, и беговой дорожкой, что свидетельствует об этой проблеме. Это не совсем идеально, если вы пытаетесь тренироваться для бега на длинные дистанции, например, для полумарафона.

Приложение Макмиллана "Зомби, бегите!" в настоящее время не предлагает отслеживание расстояния с помощью акселерометра, но его команда работает над этим, используя исследования беговой дорожки и другой подход к расчету расстояния. «Мы полагаем, что, измеряя относительное изменение скорости человека, а не пытаясь точно оценить фактическую скорость бегуна, мы можем создать модель, которая работает для очень широкого круга бегунов. Таким образом, мы надеемся, что длина шага, рост и вес бегуна не будут иметь значения при расчетах». Сработает ли этот подход? Только время покажет.

Почему бы просто не использовать беговую дорожку для отслеживания пробега? В конце концов, у большинства беговых дорожек есть цифровые индикаторы, которые показывают, как далеко вы пробежали, основываясь на движении ленты, проходящей под вашими ногами. Но сделайте быстрый поиск в Google по запросу «точность расстояния на беговой дорожке», и вы увидите, что многие люди считают, что число на вашем дисплее также не обязательно правильное. Даже небольшой просчет в длине ремня может привести к большой ошибке из-за тысяч оборотов, которые он совершает вокруг своих роликов во время тренировочного забега на 5 км.

Итак, что вы, как бегун, можете сделать, чтобы максимально точно отслеживать время на беговой дорожке?

Особая благодарность

Большое спасибо Алексу Макмиллану из Six to Start за его любезную помощь с этой статьей. Алекс - ведущий разработчик игры «Зомби, беги!» - приложение для тренировок по бегу и ходьбе, которое началось как проект на Kickstarter и быстро набирает популярность среди бегунов.

Настройте свой опыт для достижения наилучших результатов

Изображение
Изображение

В конце концов, если вы хотите побегать в помещении и получить точные данные, вам придется немного потрудиться. Во-первых, убедитесь, что ваше приложение поддерживает входные данные калибровки. Не все это делают. Как только вы найдете приложение, которое поддерживает эту функцию, вот один из способов протестировать и уточнить калибровку вашего приложения, чтобы добиться максимальной точности:

Найдите место для бега, где вы на 100 процентов уверены в его расстоянии

Если поблизости есть трасса для регулярных перевозок, это будет работать нормально. Если нет, попробуйте пробежаться на свежем воздухе с GPS-трекером, чтобы определить легко определяемое расстояние, например 1 милю или 1 километр, и запишите точные точки старта и остановки.

Настройте приложение для бега в помещении. Бегаете ли вы в помещении или на улице, это важно, потому что это настройка, которая говорит вашему телефону использовать акселерометр вместо GPS-отслеживание.

Иди на пробежку! Для этого есть несколько важных элементов. Убедитесь, что вы начинаете и останавливаетесь именно в тех точках, которые необходимы для измерения расстояния. Если вы тренируетесь с интервалами бега/ходьбы, используйте для этой пробежки текущее соотношение бега и ходьбы. Кроме того, чем больше расстояние вы пройдете во время калибровочного пробега, тем лучше будут ваши показания. Чем больше данных, тем лучше расчет.

Введите данные о расстоянии в конце пробежки. Ваше приложение разделит это число на количество шагов, записанных акселерометром, чтобы рассчитать среднюю длину шага. Вот почему так важно включить текущее время интервала в калибровочный прогон. Если вы бегаете только для выборочных данных, вы не будете учитывать изменение шага при ходьбе.

Проверьте. Отправляйтесь на еще одну пробежку по выбранной дистанции, установив в приложении режим отслеживания в помещении. Посмотрите, правильно ли он вычисляет расстояние. Если вы обнаружите, что это немного не так, вы можете попробовать выполнить все описанные выше шаги на большем расстоянии, чтобы дать вашему приложению более качественную выборку данных для калибровки.

Если ваш режим бега изменится или ваш вес увеличится или уменьшится более чем на несколько фунтов, вам нужно снова пройти этот план калибровки. Когда вы худеете, вы, естественно, становитесь немного быстрее, и если вы решите больше бегать и меньше ходить в рамках интервального плана, это также повлияет на ваши средние показатели шага.

В то время как любое приложение, отслеживающее расстояние в помещении, делает расчетную оценку на основе либо введенных вами данных, либо установленного среднего значения, проверка калибровки на точность является ключевым моментом, если отслеживание расстояния в помещении является для вас приоритетом. Ключевое слово здесь «оценка» - маловероятно, что вы получите 100-процентную точность из стандартной формулы шагов, умноженных на среднюю длину шага, но вы можете абсолютно точно отслеживать свой прогресс с течением времени, когда вы бежите на более длинные дистанции и ускоряете свой темп..

Примечание автора: как акселерометр моего устройства узнает, как далеко я пробежал на беговой дорожке?

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