8 августа 2011 г.
В последнее время огромное количество перспективы стали доступны для человека и робота интерактивных систем. В этой статье мы опишем интеграцию нового роботизированного устройства с открытым исходным кодом, которая может быстро сделать возможным библиотеки интерактивных функций. Затем контур клинического применения для нейрореабилитации приложения.
Общая цель данной процедуры заключается в интеграции робота в библиотеку виртуальной среды с последующим использованием робота для терапии после инсульта. Это достигается путем первоначального создания класса-обертки для расширения библиотеки тактильного интерфейса (haptics library) и последующей интеграции этого класса-обертки в библиотеку тактильного интерфейса. Следующим шагом является создание класса-обертки для расширения графической библиотеки и последующая интеграция этого класса-обертки в графическую библиотеку после завершения разработки всех классов-оберток.
Интерфейс H 3D API используется для настройки конечного автомата для тестирования пациентов, перенесших инсульт. Затем интегрированный робот применяется для помощи в реабилитации этих пациентов. Основным преимуществом данного метода является то, что больше нет необходимости писать отдельное программное приложение для каждого робота.
Кроме того, эти приложения могут запускаться учеными по всему миру независимо от того, какой робот используется в их лаборатории. Данный метод может помочь ответить на ключевые вопросы в области реабилитации, робототехники и моторного контроля, например, в какой степени наша нервная система может извлечь выгоду из аугментации ошибок. Этот метод позволяет получить представление о нарушениях после инсульта, а также углубить понимание механизмов нормального функционирования.
Как правило, пациенты с инсультом, которые только начинают реабилитацию с помощью робототехники, сталкиваются с определенными трудностями, такими как необходимость научиться правильно держать рукоятку. Идея данного метода возникла у нас, когда стало понятно, что требуется робот с большой рабочей зоной в режиме компенсации гравитации. Мы также стремились свести к минимуму объем переработки программного обеспечения, чтобы будущие аспиранты могли пользоваться наработками своих предшественников, не повторяя одну и ту же работу.
В этом видео приводятся инструкции по интеграции робота для манипуляций всей рукой (whole arm manipulation или WHAM) с использованием открытого исходного кода, доступного на сайте www.hthreedpi.org. Чтобы интегрировать нового робота в библиотеку гаптики, первым шагом необходимо создать класс-обертку для HAP — движка гаптического рендеринга, который используется для управления движениями робота WHAM. Начните с создания файла .cpp и заголовочного файла.
Имена файлов, используемые в этом примере: happy, wham, cpp и happy wham h. Поместите файл happy wham cpp в исходный каталог. Happy slash source, затем поместите happy.
Переместите файл wham.h в директорию заголовочных файлов. happy/include/happy. В начале файла wham.h подключите основные заголовочные файлы робота.
Обратите внимание, что для устранения искажения имен компилятором требуется использование extern C, поскольку подключаемая библиотека написана на языке C, а H 3D API — на языке C++. В файле happy wham h создайте класс для робота и включите в него четыре функции: Haptics device release, haptics device, update device values и send output. Убедитесь, что класс наследуется публично от класса happy haptics device.
Затем создайте заголовочный защитник (header guard) для класса. После этого определите статические атрибуты вывода устройства и регистрации тактильного устройства в классе happy WHAM. Затем создайте статические функции-члены для обратных вызовов, специфичных для вашего робота.
Для робота WHAM функция обратного вызова используется в функции haptics устройства. Теперь, когда прототипы определены в заголовочном файле, откройте файл happy_wham.cpp, подключите соответствующие заголовочные файлы и пространство имен. Затем определите конструктор и деструктор в файле Happy Wam cpp.
Затем зарегистрируйте устройство в Happy Wam cpp. Теперь определите четыре унаследованные функции и обратные вызовы в happy Wam cpp. Функция обновления значений устройства сообщает компьютеру положение манипулятора робота и величину силы, воздействующей роботом на окружающую среду.
После создания класса Happy Wrapper следующим шагом будет создание обертки в библиотеке Happy. WAM зависит от некоторых библиотек, от которых H 3D API в своем исходном виде не зависит. Следовательно, эти библиотеки необходимо добавить в happy.
Перейдите в директорию H 3D 2.1/happy/build и отредактируйте файл CMakeLists.txt. Добавьте зависимые библиотеки после строки Set optional libs. Откройте командную строку, перейдите в H 3D 2.1/happy/build и введите по порядку команды cmake, make и make install, чтобы завершить интеграцию нового робота с открытым исходным кодом H 3D.
Напишите второй класс-обертку для графа сцены. API называется H 3D API. В данном примере используется класс-обертка под названием wam device.
Перейдите в исходный каталог H 3D AP I/source и создайте файлы WAM device.cpp и wam device.cpp. Добавьте стандартный исходный код для всех устройств H 3D PI. Затем поместите Wam device.h в каталог заголовочных файлов.
Файл Wam device H должен содержать стандартный заголовочный файл для всех устройств H 3D API. Теперь, когда класс-обертка создан, пересобрите библиотеку H 3D PI, отредактировав текстовый файл C make lists в директории H three DPI slash build. В конечном итоге в директории H 3D PI slash build.
Пересоберите библиотеку H 3D API с помощью команд CMake, make и make install. Теперь новые классы-обертки готовы к использованию с роботом. После установки соответствующих классов-оберток создается конечный автомат для управления экспериментальным протоколом задачи направленного достижения, используемым с роботом Barrett WHAM. Состояниями этого автомата являются: запуск попытки, контакт с целью и завершение попытки.
Состояние начала сессии начинается с назначения цели. Положения целей могут задаваться случайным образом для каждой попытки или считываться из файла. После завершения состояния начала сессии начинается состояние запуска.
Как только рука испытуемого начинает движение к мишени, превышающее порог скорости, который обычно составляет 0.06 meters per second, состояние запуска завершается и начинается состояние контакта с мишени, которое длится до тех пор, пока курсор пациента не коснется мишени. После установления контакта мишень исчезает, состояние контакта с мишенью завершается и наступает состояние завершения попытки.
Завершение состояния окончания испытания подает сигнал программному обеспечению для сбора данных, чтобы отметить файл данных разделителем конца испытания. Если финальное испытание еще не завершено, окончание состояния завершения испытания активирует состояние начала испытания и назначается новая цель. В данном разделе демонстрируется другой робот, называемый Phantom, который используется в реабилитации пациентов после инсульта.
Путем подстановки кода класса обертки фантома в соответствующие библиотеки новый робот может быть интегрирован в виртуальную среду; в данной работе используется трехмерная тактильная графическая система, называемая виртуальной реальностью Robotic and optical operations machine (или room). Эта система объединяет стереоскопический рендеринг с отслеживанием положения головы, проецируемый на дисплей с полусеребряным зеркальным наложением, с робототехнической системой, способной регистрировать положение запястья и генерировать вектор силы. Цифровой проектор кинематографического качества выводит изображения на дисплей шириной 5 футов, что обеспечивает угол обзора 110 градусов.
Инфракрасные излучатели синхронизируют раздельные изображения для левого и правого глаза с помощью ЖК-затворных очков. Движение головы отслеживается с помощью набора магнитных элементов ascension flock of birds, чтобы визуальный дисплей отображался с соответствующей перспективой, центрированной по положению головы. Экзо-перчатка с лучезапястным ортезом обеспечивает нейтральное положение кисти и запястья.
Центр рукоятки робота располагается на предплечье проксимальнее лучезапястного сустава. Это позволяет прикладывать усилие к запястью, сохраняя при этом свободное движение кисти. Вес руки пациента уменьшается с помощью гравитационно-сбалансированного ортеза роботизированного экзоскелета Уилмингтона с пружинным приводом.
Терапевт, сидящий рядом с пациентом, использует устройство отслеживания для перемещения курсора по дисплею. Перед собой пациент должен перемещать роботизированную рукоятку, чтобы следовать за курсором. Усиление ошибки осуществляется как визуально, так и с помощью усилий, создаваемых роботом.
Когда курсор пациента отклоняется от курсора терапевта и возникает мгновенная ошибка, вектор E определяется как разница в положении между курсором терапевта и рукой пациента. В рамках усиления ошибки эта ошибка визуально увеличивается в 1,5 раза (1,5 E). Кроме того, к руке пациента прикладывается усиливающая ошибку сила 100 E, которая запрограммирована на насыщение при максимальном значении в четыре Ньютона.
В целях безопасности усиление ошибки увеличивает масштаб ошибок, воспринимаемых пациентом, что активизирует процесс переобучения. Протокол лечения предполагает выполнение пациентом нескольких специфических движений, включая вытягивание руки вперед и в сторону с сопряжением плеча и локтя, а также диагональное вытягивание руки через туловище. В следующей демонстрации используется другой класс кода и робот Barrett WHAM.
Цель следующего задания для здоровых испытуемых или пациентов после инсульта — поймать виртуальный снаряд внутри полупрозрачной зеленой сферы. Если рука пациента выходит за пределы сферы, сфера становится красной, а на руку пациента робот подает сигнал обратной связи с усилением ошибки. При успешном захвате снаряда внутри определенного пространства сфера остается зеленой.
На этом рисунке показана медианная ошибка достижения цели. Каждая точка представляет медианную ошибку, измеренную за двухминутный блок стереотипных функциональных движений. Хотя у пациентов наблюдается прогресс на протяжении двухнедельного периода, улучшение происходило не каждый день.
На этом рисунке показан результат применения аугментации ошибки в целях селективного снижения вариабельности движений. Верхние графики отображают данные контрольной группы, а нижние — данные экспериментальной группы. Каждый цвет соответствует отдельному испытуемому.
Две горизонтальные линии обозначают границы выполнения задания. Целью испытуемого было перехватить виртуальный снаряд в пределах этих границ. Расположение точки показывает, в каком месте испытуемый максимально приблизился к контакту.
На проекции синие полупрозрачные гистограммы, наложенные на необработанные данные, отображают распределение движений группы. Вдоль передней оси пациенты с инсультом выполнили 600 проб в задании по перехвату: в течение первых 200 проб, а также в течение последних 200 проб; при этом в пробах с 201 по 400 обратная связь с усилением ошибки не предоставлялась. Робот обеспечивал пациенту обратную связь с усилением ошибки, что привело к значительному улучшению способности пациента перехватывать цель в пределах заданных границ.
После выполнения данной процедуры все еще можно применять традиционные методы реабилитации, однако с помощью робота мы можем количественно оценивать положение руки пациента в любой момент времени на протяжении множества повторных испытаний. Этот метод открыл путь для новых исследований в области нейроинженерии, позволяя изучать симуляцию досягаемости в определенной области, где существует множество возможных решений. После просмотра этого видео вы должны понять, как использовать библиотеку H 3D API для выбранного реабилитационного робота и применять различные тактильные графические интерфейсы для диагностики и лечения пациентов, перенесших инсульт.
Работа с роботами может быть потенциально опасной, поэтому при выборе робота для взаимодействия с человеком следует тщательно продумать все аспекты безопасности. Для нашего последнего проекта мы выбрали Barrett WHAM, так как он более мощный и обладает возможностью обратного привода. Возможность обратного привода означает, что при соответствующем программировании робот может практически не оказывать сопротивления, и при этом он является одним из самых безопасных вариантов для взаимодействия человека и машины.
Отдельный компьютер-контролер (watchdog) отслеживает работу основного компьютера и может отключить систему в случае возникновения сбоев, а динамическое торможение гарантирует, что система работает как демпфер в любом неактивном состоянии. Хотя многие роботы функционируют по-разному, многие их функции пересекаются. Таким образом, переносимость наших методов между различными роботами может способствовать более активному обмену опытом между лабораториями.
Очевидно, что такие методы тренировки, которые были продемонстрированы в данном исследовании, дают многообещающие результаты в восстановлении функций пациентов, а также в совершенствовании спортивной подготовки, управления телеоперационными системами, музыкального исполнительства, хирургических методов и любой другой деятельности, требующей многократного повторения.
В данной статье рассматривается интеграция роботизированного устройства с программным обеспечением с открытым исходным кодом для применения в нейрореабилитации, в частности, для терапии после инсульта. Данный подход позволяет использовать библиотеку интерактивных функций в виртуальной среде.
Данная работа направлена на устранение одного из ключевых препятствий в трансляционной нейробиологии и реабилитационной инженерии: отсутствия программной совместимости различных робототехнических платформ. Благодаря возможности использования единого программного кода для взаимодействия с различными тактильными устройствами, данный подход снижает затраты на разработку и обеспечивает воспроизводимость доклинической оценки методов коррекции двигательного обучения. Эта возможность повышает точность прогнозной оценки при валидации мишеней на ранних этапах разработки методов нейрореабилитации за счет стандартизации поведенческих показателей в разных лабораториях.
Данный метод вписывается в континуум от открытия до доклинических исследований, превращая робототехнические системы в стандартизированные инструменты фенотипирования для модуляции двигательных цепей, что имеет прямое применение для идентификации перспективных соединений-лидеров при разработке препаратов для нейрореабилитации.