Предыдущие поведенческие исследования человеческого хватания были ограничены сильно ограниченными измерениями в строго контролируемых сценариях. Наш протокол позволяет гораздо более богато охарактеризовать сложное натуралистическое хватательное поведение. В этом методе используются подробные карты поверхностей, соприкасающихся с предметами руки, из-за многозначного захвата.
Это позволяет нам исследовать, как люди схватывают объекты с беспрецедентным уровнем сложности. Точные измерения хватательных способностей человека необходимы для понимания двигательного контроля, тактильного восприятия и взаимодействия человека с компьютером. Эти данные могут быть использованы при разработке роботизированных захватов и протезов верхних конечностей.
Продемонстрирует процедуру Кира Ден, аспирантка, которая заканчивает магистерскую диссертацию в моей лаборатории. Для начала расположите верстак с объемом слежения, изображенным под разными углами камерами слежения за движением, расположенными на раме, окружающей рабочее пространство. Подготовьте светоотражающие маркеры, прикрепив двустороннюю клейкую ленту к основанию каждого маркера.
Запустите Qualisys Track Manager или QTM от имени администратора. Поместите L-образный калибровочный объект в объем отслеживания. В QTM нажмите «Калибровка» в меню «Захват» и дождитесь открытия окна калибровки.
Выберите продолжительность калибровки и нажмите Ok. Помашите калибровочной палочкой по объему отслеживания на время калибровки. Нажмите кнопку «Экспорт» и укажите путь к файлу, чтобы экспортировать калибровку в виде текстового файла.
Подтвердите калибровку, нажав Ok. Чтобы создать объект стимула, постройте виртуальную 3D-модель объекта в виде полигональной сетки. Используйте 3D-принтер для создания физической копии объектной модели.
Чтобы подготовить стимульный объект, прикрепите четыре неплоских светоотражающих маркера к поверхности реального объекта. Поместите объект в объем отслеживания. В репозитории проекта выполните указанный скрипт Python.
Следуйте инструкциям, предоставленным сценарием, чтобы выполнить односекундный захват 3D-положения маркеров объекта. Выделите все маркеры твердого тела. Щелкните правой кнопкой мыши и выберите «Определить жесткое тело» или «6DOF», затем «Текущая рама».
Введите имя твердого тела и нажмите Ok. В меню «Файл» выберите «Экспорт в TSV». В новом окне установите флажки 3D, 6D и Skeleton в настройках типа данных.
Поставьте галочки во всех полях в Общих настройках. Нажмите «ОК», а затем «Сохранить». Откройте Blender и перейдите в рабочую область Scripting.
Откройте указанный файл и нажмите «Выполнить». Перейдите в рабочую область «Макет» и нажмите клавишу N, чтобы переключить боковую панель. На боковой панели перейдите на вкладку «Пользовательский».
Выберите obj-файл для совместной регистрации и нажмите кнопку «Загрузить объект». Выберите экспортированный ранее файл траектории и укажите имена маркеров, прикрепленных к жестким объектам, разделенные точкой с запятой. В заголовке маркера укажите строку в файле траектории, содержащую имена столбцов данных.
Затем выберите соответствующий файл твердого тела с суффиксом 6D и укажите имя твердого тела, определенного на предыдущем шаге. В 6D-заголовке укажите строку в файле твердого тела, содержащую имена столбцов данных. Нажмите кнопку «Загрузить маркеры», затем переместите и поверните объект маркеров или объект, чтобы выровнять их.
Укажите выходной файл сетки и нажмите кнопку Run Co-Registration, чтобы вывести obj-файл, содержащий совместно зарегистрированную сетку стимулов. Прикрепите 24 сферических светоотражающих маркера к различным ориентирам руки участника с помощью двустороннего скотча. Поместите маркеры по центру поверх кончиков пальцев в дистальных межфаланговых суставах, проксимальных межфаланговых суставах и пястно-фаланговых суставах указательного, среднего, безымянного и мизинца.
Для большого пальца поместите по одному маркеру на кончик пальца и базально-запястный пястный сустав и по паре маркеров на пястно-фаланговый и межфаланговый суставы. Наконец, поместите маркеры в центр запястья и на ладьетерапевтический сустав. Попросите участника положить руку на верстак ладонью вниз и закрыть глаза.
Поместите объект стимула на верстак перед участником. Во время работы QTM выполните указанный скрипт Python в репозитории проекта. Попросите участника открыть глаза и следовать инструкциям, предоставленным сценарием, чтобы запечатлеть одно испытание, в котором участник схватывает объект стимула.
В QTM перетащите отдельные траектории маркеров из неопознанных траекторий в помеченные траектории и пометьте их в соответствии с соглашением об именовании. Выделите все маркеры, прикрепленные к руке, щелкните правой кнопкой мыши и выберите «Создать модель AIM» из выделения. В новом окне выберите «Создать новую модель на основе маркерных соединений из существующей модели AIM» и нажмите кнопку «Далее».
Выберите определение модели RH_FH и нажмите «Открыть». Нажмите кнопку Далее, введите имя модели AIM и нажмите кнопку ОК. Наконец, нажмите «Готово», чтобы создать модель AIM для руки участника, чтобы автоматически идентифицировать маркеры в последовательных испытаниях одного и того же участника.
В QTM откройте настройки проекта, нажав значок шестеренки. На боковой панели перейдите к Skeleton Solver и нажмите «Загрузить», чтобы выбрать файл определения скелета. Отрегулируйте коэффициент масштабирования на 100% и нажмите «Применить».
Перейдите в раздел «Экспорт TSV» и установите флажки «3D», «6D» и «Скелет» в настройках типа данных. Поставьте галочки во всех полях в Общих настройках. Нажмите «Применить» и закройте настройки проекта.
Нажмите значок «Переработать», затем установите флажки «Решить скелеты» и «Экспорт в файл TSV» и нажмите «ОК». Откройте командное окно в репозитории проекта и активируйте среду conda, выполнив указанную команду. Затем выполните указанную команду и следуйте инструкциям, предоставленным сценарием, чтобы сгенерировать для каждого кадра испытания ручную сетку, реконструирующую текущую позу руки.
Для оценки области контакта с ручным объектом выполните указанную команду и следуйте инструкциям, предоставленным сценарием, чтобы создать оценки области контакта рук и объектов, вычислив пересечение между сетками руки и объекта. В этом исследовании динамика захвата регистрировалась с помощью 24 сферических светоотражающих маркеров, прикрепленных к различным ориентирам руки. Модификации предварительно обученного декодера глубокой ручной сетки показаны здесь.
Во-первых, поскольку сеть не обучается на конкретных участниках, используется универсальная коррекция сетки, зависящая от идентификатора, предоставляемая предварительно обученной моделью. Кроме того, ID-зависимая коррекция скелета выводится с помощью QTM Skeleton Solver. Предполагается пропорциональное масштабирование руки с длиной скелета, а толщина сетки равномерно масштабируется коэффициентом, полученным из относительного масштабирования скелета.
Показана окончательная 3D-реконструкция текущей позы руки в той же координатной рамке, что и сетка объектов с 3D-отслеживанием. Показано видео руки с отслеживаемыми точками и совместно зарегистрированной сеткой, движущейся бок о бок во время одного захвата фигурки кошки, напечатанной на 3D-принтере. Один кадр во время контакта руки с объектом от захвата до круассана, напечатанного на 3D-принтере, вместе с реконструкциями сетки объекта руки и предполагаемыми областями контакта на поверхности круассана.
Объект и прикрепленные к нему маркеры должны быть надлежащим образом зарегистрированы. Их тщательное согласование важно, поскольку отклонения могут оказать большое влияние на оценки области контакта. В дополнение к контактным поверхностям, процедура обеспечивает суставные углы Эйлера для каждого сустава пальца.
Их можно использовать для изучения того, как позы рук во время многозначных захватов разворачиваются с течением времени.