Motorica internship '2023
team report
Разработка системы принятия решей для плавной регулировки сжатия пальцев протеза по данным OGM-датчиков
Задача
Добиться плавной регулировки положения пальцев протеза на основе данных OMG датчика

Что имеем на входе:

1. Оптомиографический датчик OMG (собственная разработка компании "Моторика") который:

1.1 Крепится на внутренней стороне предплечья

1.2 Делает оптомиографическую магию в сторону мышц и сухожилий

1.3 С частотой 30Гц выдаёт 50 плавных сигналов, которые как-то характеризуют положение кисти и пальцев (но это не точно)


2. Перчатка GLOVE (тоже собственная разработка компании) которая:

2.1 Надевается на кисть

2.2 Умеет определять положения пальцев в диапазоне от 0 (полностью разогнут) до 100 (полностью сжат)

2.3 Отправляет 5 сигналов, соответствующих положению каждого пальца


3. Протез с простеньким чипом и отдельными приводами для каждого пальца


4. Компьютер для выполнения вычислений и преобразований сигналов


5. Пилот - человек к предплечью которого приложили OMG датчик и попросили выполнять жесты (сгибать/разгибать пальцы) в определённой последовательности (протокол) или как хочет (free_movements).


6. Данные (сигналы) OMG и GLOVE полученные в ходе экспериментов (меняются пилоты, места крепления датчика, продолжительности выполнения жестов)

Что хотим получить на выходе:
Систему принятия решений, которая будет:
  • 1
    Быстрой
    Чем меньше задержка между "желанием" двинуть пальцем и началом движения этого пальца - тем лучше.
    Сигналы от датчика OMG обновляются с частотой 30 Гц, значит на весь цикл обработки сигнала и преобразования его в управляющую команду должен занимать меньше 33 миллисекунд.
  • 2
    Точной
    Чем точнее система будет предсказывать положения пальца - тем лучше.
    Также необходима плавность и приемлемая скорость движения пальцев. Протез не должен испытывать "дрожание". Время на переход от полностью сжатого положения в полностью раскрытое должно составлять от 1.5 до 3 секунд
  • 3
    Простой
    Чем меньше требуемая вычислительная мощность и энергопотребление - тем лучше
Стажировка состояла из 3-х спринтов
1, 2 и 3 недели каждый с постепенным
увеличением сложности решаемых задач
Результаты спринтов можно посмотреть на GitHub'е
Noname Team
В представленном составе собралась для решения поставленной Моторикой задачи. Спойлер - не решили. Но вполне вероятно, что в поставленной форме и с такими вводными - задача не решаема в принципе.
  • Аубакиров Михаил
    Любитель Линеек
  • Иванов Александр
    Тим лид с размытой фоткой
  • Макеева Марина
    Царица НамПи
  • Скребков Олег
    Укротитель нейронных сетей
  • Ядринцев Алексей
    Хозяин сигналов
Preprocessing - modeling - postprocessing
Summary
В ходе исследования создан алгоритм автоматизации протеза кисти на основе нейросети LSTM.
Среднее время 1 вычисления составляет 7±1 мс, что в 5 раз меньше принятого ограничения в 33 мс на операцию.
Избыточная подвижность протеза из-за ошибок предсказания модели успешно устраняется выходным фильтром.
Алгоритм удовлетворительно адаптируется к произвольному монтажу датчиков.
Preprocessing
На стадии предобработки данные скалируются в диапазон [0,1]. Затем выбросы данных за пределами ±1.5⋅IQR заменяются на граничные значения.
После этого массив данных объединяется с массивом из нисходящих разностей между текущим значением сигнала и значением за 5-й прошедший период.
Modeling
Объединённый массив предобработанных данных сначала разбивается на отрезки по 40 периодов для исключения обучения модели под протокол.
Затем из массива выделяются тренировочная и тестовая выборки.
Для предсказания координат используется нейросетевая модель LSTM stateful
Postprocessing
Предсказанные моделью координаты пальцев требуют преобразования, поскольку их значения сильно изменяются во времени из-за недостатка экспериментальных данных и высокой чувствительности модели. Для этого используется фильтр Хольта-Винтерса. После экспонентциального фильтра применяется алгоритм фильтрации мелких движений, которые отсекает изменение координат пальцев менее 2 единиц. Это позволяет устранить избыточную подвижность пальцев протеза и сохраняет заряд аккумулятора.
Выводы
Система получилась удовлетворительно
  • Быстрой

    Скорость работы алгоритма составляет 7±1 мс (менее 33 мс)

  • Умной
    Основным вычислительным ядром является stateful LSTM
  • Адаптивной
    Меняя пред и пост процессинг можно адаптировать модель под изменившиеся условия
Но не всё так уж радужно и безоблачно.
Остались нерешенные проблемы.
  1. Сильная зависимость качества предсказаний модели от характера сигналов, зависящих от монтажа OMG-датчика и пилота.
  2. Не выявлены чёткие паттерны в пространстве сигналов OMG-датчика явно соответствующие перемещению того или иного пальца. Есть предположение, что таких паттернов просто нет.
  3. Для достижения желаемой цели (плавной регулировки перемещения пальцев протеза) возможным решением будет не попытка стандартизировать нестандартизируемое и поиск "волшебного алгоритма", а проведение индивидуальных подгонов сначала модели под пилота, а потом пилота под модель.
На первом этапе мы снимаем данные с определённого пилота по нескольким монтажам и выявляем приблизительные паттерны на движение каждым пальцем по отдельности и в составе сложного жеста.
На втором этапе формализуем полученные паттерны и учим модель действовать только при получении определённого паттерна. Также на данном этапе задаём граничные значения скоростей выполнения жестов, устраняем "биения" и учим модель быть очень предсказуемой.
На третьем этапе учим пилота выдавать требуемые модели паттерны. Человеческий мозг обладает гораздо большими возможностями по адаптации к изменяющимся условиям, чем любы компьютерные модели.

NB данное решение сработает только при условии существования явно различимых, повторяющихся и повторимых паттернов сигналов снимаемых OMG-датчиком.
SPIN-off
Царица NumPy Марина и хозяин сигналов Алексей не удостоились бы своих высоких званий, если бы не организовали мощнейший спин-офф
Метод главных компонент

Задача: получить модель, которая будет давать предсказания на монтажах (расположение OMG-датчика на руке немного меняется от случая к случаю и вместе с тем меняются характер и расположение сигналов датчиков), которые не видела в процессе обучения.

Предложение: использовать как фичи не сами сигналы датчика OMG, а их главные компоненты.

Использование PCA

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

Miguel A
Незваная цитата - лучше званных двух