Достижение точного отслеживания движения в портативных потребительских устройствах
Нашу жизнь изменили портативные подключенные гаджеты - наиболее очевидно смартфон, но также и множество других, таких как умные часы, фитнес-трекеры и наушники. Эти устройства объединяют сбор данных, вычислительную мощность и беспроводную связь.
Но, среди всех других их функций, легко упустить из виду важность датчиков движения в том, чтобы сделать наши гаджеты более функциональными и интуитивно понятными. Будь то изменение ориентации экрана на наших телефонах, подсчет шагов на умных часах, сопоставление движений нашей головы с очками XR или нажатие наушников для изменения песни, распознавание движения является жизненно важной частью взаимодействия с пользователем и интерфейса.
Для разработчиков встраиваемых систем выбор и интеграция датчиков движения может быть сложной задачей. Как убедиться, что вы выбрали правильную технологию для получения необходимой точности, без ненужного увеличения затрат или энергопотребления? И как обеспечить максимальную отдачу от датчиков и не упустить производительность или функции, которые могут улучшить конечный продукт?
Основные сведения о датчиках движения
Во-первых, краткое описание того, что мы подразумеваем под датчиками движения. Обычно используются три типа:акселерометр, гироскоп и магнитометр.
Акселерометр измеряет ускорение, которое может включать ускорение свободного падения. Это означает, что он может определять направление силы тяжести относительно датчика - в основном, направление вверх. Гироскоп измеряет изменение углового положения, измеряя угловую скорость.
С тремя степенями свободы, или осями, для каждого из акселерометра и гироскопа, объединение обоих дает нам 6-осевой датчик движения или инерциальный измерительный блок (IMU) (см. Рисунок 1). Для многих приложений нам необходимо добавить магнитометр, который измеряет силу и направление магнитного поля Земли, чтобы мы могли оценить наш курс. Добавление 3-осевого магнитометра поверх акселерометра и гироскопа создает 9-осевой IMU.
В рамках этого поста мы собираемся обсудить ИДУ. Хотя мы обсуждаем определенные свойства, которые могут быть применены к акселерометру, гироскопу или магнитометру по отдельности, мы хотели бы осветить проблемы, связанные с объединением как минимум двух из этих датчиков.
Рис. 1. Обнаружение движения с помощью IMU (Источник:CEVA)
Обеспечение точности
Итак, теперь мы напомнили себе о теории, как она работает на практике? Как добиться необходимой точности?
Для IMU точность, достигаемая при определении заголовка нашего устройства, является основным показателем, с которого мы можем начать. Наши требования могут быть в пределах одного-двух градусов, в то время как для другого приложения может быть приемлемой меньшая точность. Например, требования к точности гарнитуры XR будут намного выше, чем у детской игрушки-робота. Затем нам следует рассмотреть вопрос о стабильности этих данных и о том, будут ли они меняться со временем и с температурой.
Для получения выходных данных с высочайшей точностью от нашего IMU требуется использование объединения датчиков, которое представляет собой концепцию объединения данных от нескольких датчиков для создания суммы, превышающей ее части. Каждый датчик нашего IMU имеет свои сильные и слабые стороны, которые можно объединить . вместе для этого решения.
Один из способов подумать о слиянии сенсоров - это основывать его на «доверии». В этом случае мы можем использовать термин «доверие» для обозначения того, что данные с определенного датчика имеют разумный уровень уверенности в отношении их точности и актуальности. Допустим, вы президент страны и должны определять политику. У вас есть советник по экономике, здоровью и военному делу. Каждый дает вам свой вклад, но все они знают разные области. У них есть догадки о том, как их мнение повлияет на их коллег, но, увы, они всего лишь догадки. Вам решать, как обработать и объединить их информацию для принятия наилучшего решения.
Точно так же у вас есть два или три «советника», к которым вы можете обратиться за данными об ориентации от вашего IMU:акселерометр, гироскоп и иногда магнитометр. Гироскоп - самый простой в объяснении. Гироскопам потребительского класса можно доверять при изменении относительной ориентации в течение коротких периодов времени в несколько секунд, но выходной сигнал будет дрейфовать в течение более длительных интервалов времени, от нескольких десятков секунд до нескольких. Акселерометр полезен для измерения силы тяжести в долгосрочной перспективе, но его можно сбить с толку из-за определенных сценариев, например постоянного ускорения в автомобиле. Мы можем доверять магнитометру в стабильной магнитной среде, например, в сельской местности или в лесу, но в меньшей степени, когда есть магнитные помехи, например, внутри офиса, построенного на стальных колоннах.
Короче говоря, гироскоп точен для краткосрочных измерений, а акселерометр и магнитометр - для долгосрочных измерений. При тщательном понимании их ограничений их данные можно объединить, чтобы получить более точное представление об ориентации устройства.
Когда у нас есть несколько выходов датчиков, таких как 9-осевой IMU, объединение датчиков дает нам возможность объединять и сравнивать данные для повышения точности. Например, если наше программное обеспечение для объединения датчиков включает алгоритм для обнаружения неожиданных или внезапных изменений выходного сигнала магнитометра из-за магнитных помех, оно может автоматически повысить доверие к данным акселерометра и гироскопа, пока магнитометр снова не станет стабильным.
Частота дискретизации также важна для точности - достаточно ли часто выбранный вами датчик предоставляет данные для удовлетворения ваших потребностей? Это, конечно, зависит от приложения:например, нескольких показаний в секунду может быть достаточно для базового счетчика шагов, но для большинства приложений рекомендуется от 100 Гц до 400 Гц. Однако для точного отслеживания головы в приложениях XR может потребоваться частота дискретизации 1 кГц или выше (XR - это универсальный термин для виртуальной, смешанной и дополненной реальности). Высокая частота дискретизации также важна для достижения низкой задержки, которая в нашем примере отслеживания головы является разницей между погружением в виртуальную реальность и ощущением укачивания!
Нам также необходимо учитывать калибровку. Многие датчики поставляются «как есть» с немногим большим, чем указано в техническом паспорте, на ваше усмотрение. Любая калибровка, которая может быть выполнена, поможет добиться максимальной согласованной производительности между различными отдельными датчиками. Заводская калибровка может быть сильным способом улучшить индивидуальные характеристики, но она относительно дорога. Динамическая калибровка в полевых условиях - еще один вариант, который требует детального понимания самих датчиков или, по крайней мере, вашего приложения. Датчики подвержены смещению, которое, если его не учитывать, может отрицательно повлиять на общий результат до такой степени, что усугубит любую существующую ошибку.
Наконец, нам нужно подумать о том, как проверить данные датчиков, которые мы получили и слили вместе. Хотя это зависит от того, что мы отслеживаем, основной принцип заключается в использовании другого, независимого источника информации, чтобы дать нам правду, с которой мы можем проверить наши результаты. Например, манипулятор робота можно многократно очень точно перемещать в известную точку, и затем мы можем посмотреть, дают ли наши датчики одинаковые данные о местоположении. Когда мы обнаруживаем ошибку, ее можно будет скомпенсировать с помощью вычислений, или она может быть помечена как ошибка, требующая дальнейшего внимания.
Включение новых функций
Когда у нас появится возможность измерять движение с высокой точностью, это не только поможет с существующими приложениями - это может открыть возможности для новых возможностей портативных устройств. Например, с наушниками (рис. 2) обычные пользовательские интерфейсы проблематичны:пользователи не хотят вынимать свой телефон, чтобы управлять им, а сами наушники слишком малы, чтобы иметь удобные кнопки. Вместо этого можно использовать касание наушников, чтобы пропустить песню, а обнаружение движения, когда они вынимаются из ушей, можно использовать для отключения всего звука - так как это вполне вероятно, когда вы хотите, чтобы звук в любом случае прекратился. Использование движений и «классификаторов», которые представляют собой алгоритмы для определения различных движений, обеспечивает более удобный и интуитивно понятный пользовательский интерфейс.
Рис. 2. Наушники (источник:CEVA)
Точная информация от датчиков движения также может означать, что ваше портативное устройство лучше понимает, что происходит вокруг вас или чем вы занимаетесь. Это называется контекстной осведомленностью и может использоваться для создания более захватывающих впечатлений, например как уменьшение громкости вашей музыки, когда слышимое устройство обнаруживает, что вы подошли к пешеходному переходу, чтобы вы могли услышать сирену из ближайшей машины скорой помощи.
В приложениях для отслеживания фитнеса повышенная точность позволяет различать различные действия пользователя. Например, если ваш шаговый трекер может измерять размер, скорость или другие характеристики ваших движений, он может определить, просто ли вы ходите нормально или, возможно, поднимаетесь или спускаетесь по лестнице. В сочетании с другими данными датчиков, такими как давление воздуха и местоположение на основе GPS, программное обеспечение может построить подробную картину ваших движений и оценить количество сожженных калорий.
Объединяем:сочетание датчиков и программное обеспечение
Как мы уже говорили, для максимальной точности и полезности данных о движении недостаточно просто создать поток необработанных данных. Устройствам необходимо обрабатывать данные, компенсировать систематические неточности, а также объединять информацию с нескольких датчиков.
Здесь есть над чем разобраться. Слияние датчиков есть сложно и требует определенных ноу-хау для достижения наилучших результатов в небольшом пакете. Однако доступны различные продукты, которые объединяют необходимые датчики и обработку - например, BNO080 / 085, разработанный в результате партнерства между Bosch и CEVA Hillcrest Labs, включает в себя высокопроизводительный акселерометр, магнитометр и гироскоп, а также низкую -питание 32-битного ARM Cortex M0 + MCU.
Программное обеспечение концентратора датчиков MotionEngine ™ компании Hillcrest Labs, которое предварительно запрограммировано на BNO085, обеспечивает 6-осевое и 9-осевое отслеживание движения, а также интеллектуальные функции, такие как классификация действий пользователя, таких как ходьба, бег и стояние (рис. 3). Концентратор датчиков MotionEngine совместим с ведущими архитектурами встроенных процессоров и операционными системами. Доступны специализированные версии для наушников, Smart TV, робототехники, мобильных вычислений, пультов дистанционного управления, мобильных приложений с низким энергопотреблением и многого другого.
щелкните, чтобы просмотреть изображение в полном размере
Рис. 3. Комплексное объединение датчиков и алгоритмы (Источник:CEVA)
Сбор всех этих данных в реальном времени может быть сложной задачей и требует нетривиальной производительности обработки. Возможно, лучше будет выбрать интегрированные датчики, которые запускают некоторые из этих алгоритмов на ядре MCU в самом сенсорном устройстве, вместо того, чтобы требовать, чтобы основной процессор приложения брал на себя эти обязанности. В частности, для «постоянно включенных» задач, таких как подсчет шагов, если мы можем избежать пробуждения основного процессора при каждом обнаружении движения, он может оставаться в спящем режиме, что снижает общее энергопотребление и увеличивает время автономной работы. Если вернуться к нашей предыдущей аналогии, SiP, сфокусированный на слиянии сенсоров, подобен тому, что вице-президент принимает определенные решения, чтобы президент, главный процессор, мог сосредоточиться на более насущных задачах.
Выводы
Датчики движения играют важную роль во многих приложениях, но не всегда очевидно, как выбрать правильное устройство и как достичь степени точности, необходимой для вашего приложения, или даже того, насколько точным вы должны быть. Разные варианты использования требуют разного уровня точности и разных требований к типу необходимых данных.
Интегрированные датчики и объединение датчиков часто могут решить эту проблему. Сотрудничая с подходящим поставщиком, вы можете быть уверены в том, что не идете на компромисс в получении точных и надежных данных, а также добавляете дополнительные функции для конкретных приложений, сводя при этом к минимуму затраты и энергопотребление.
Встроенный
- Отслеживающий АЦП
- Интервью с экспертом:Джонатан Варбрик из Graphite Additive Manufacturing о достижении успеха с помощью 3D-печати
- Будущее за… Сотрудничество
- ST:датчик движения с машинным обучением для высокоточного отслеживания активности без использования аккумул…
- Датчики движения поддерживают требования отказоустойчивости
- Отслеживание Raspberry Pi Ball
- Датчик движения с использованием Raspberry Pi
- Технология линейного перемещения
- 3D-система отслеживания движения для автономных технологий
- Значки в PwC