August 8th, 2011
В последнее время огромное количество перспективы стали доступны для человека и робота интерактивных систем. В этой статье мы опишем интеграцию нового роботизированного устройства с открытым исходным кодом, которая может быстро сделать возможным библиотеки интерактивных функций. Затем контур клинического применения для нейрореабилитации приложения.
Общая цель этой процедуры заключается в интеграции робота в библиотеку виртуальной среды, а затем использовании робота для терапии инсульта. Это достигается путем создания класса-оболочки для расширения библиотеки тактильных ощущений, а затем интеграции класса-оболочки в библиотеку тактильных ощущений. Следующим шагом является создание класса-оболочки для расширения графической библиотеки, а затем интеграция этого класса-оболочки в графическую библиотеку после завершения работы классов оболочки.
Интерфейс H 3D API используется для настройки конечного автомата для тестирования пациентов с инсультом. Затем встроенный робот используется для реабилитации пациентов с инсультом. Основное преимущество этого метода заключается в том, что вам больше не нужно писать отдельное программное приложение для каждого робота.
Кроме того, эти приложения могут запускаться учеными по всему миру независимо от того, какого робота использует их лаборатория. Этот метод может помочь ответить на ключевые вопросы в области реабилитации, робототехники и моторного контроля, например, в какой степени наша нервная система может извлечь пользу из увеличения ошибок. Этот метод может дать представление о нарушениях инсульта, а также углубить наше понимание здоровой функции.
Как правило, пациентам с инсультом, новичкам в реабилитации, робототехнике необходимо преодолеть определенные препятствия, такие как научиться хватать рукоятку. Идея этого метода пришла к нам, когда мы поняли, что нам нужен робот с большим рабочим пространством для компенсации силы тяжести. Мы также хотели свести к минимуму переписывание программного обеспечения, чтобы будущие аспиранты могли извлечь пользу из тех, кто пришел раньше, не повторяя ту же работу.
В этом видео содержатся инструкции по интеграции манипулятора с целой рукой или робота с открытым исходным кодом, доступным по адресу www.hthreedpi.org. Чтобы интегрировать нового робота в библиотеку тактильных ощущений, первым шагом является написание класса-оболочки для HAP, движка тактильного рендеринга, который используется для управления движением робота WHAM. Начните с создания CPP и файла заголовка.
В этом примере используются следующие имена файлов: happy, wham, cpp и happy wham h. Поместите файл happy wham cpp в исходный каталог. Счастливый источник слэша, затем поместите happy.
Зайдите в каталог заголовочного файла. Счастливый слэш включает в себя слэш счастливый. В верхнюю часть happy wham h включаются основные заголовочные файлы робота.
Обратите внимание, что extern C необходим для устранения искажения компилятора, потому что включенная библиотека написана на C, а H 3D API — на C плюс плюс В happy wham h создать класс для робота и включить в него четыре функции. Освобождение тактильного устройства, тактильное устройство, обновление значений устройства и отправка выходных данных. Убедитесь, что класс является общедоступным наследованием от класса устройства happy haptics.
Далее создайте защиту заголовка для класса. Затем создайте статические выходные данные устройства и атрибуты регистрации статических тактильных устройств в классе happy WHAM. Затем создайте статические функции-члены для обратных вызовов, специфичных для вашего робота.
Для робота WHAM функция обратного вызова используется в быке, и он выполняет функцию int тактильного устройства. Теперь, когда прототипы установлены в заголовочном файле, откройте happy wham dot cpp и включите соответствующие заголовочные файлы и пространство имен. Далее определим конструктор и структор в Happy Wam cpp.
Затем зарегистрируйте устройство в Happy Wam cpp. Теперь определите четыре унаследованные функции и обратные вызовы в happy Wam cpp. Функция обновления значений устройства сообщает компьютеру о местоположении руки робота и о том, какое усилие робот создает на окружающую среду.
После создания класса Happy Wrapper следующим шагом является встраивание оболочки в библиотеку Happy. WAM зависит от некоторых библиотек, от которых H 3D API не зависит в необработанном виде. Поэтому эти библиотеки нужно добавить в happy.
Перейдите в каталог H 3D 2.1 slash happy slash build и отредактируйте текст C make lists. Добавьте зависимые библиотеки после строки с надписью Set optional libs. Откройте командную консоль и перейдите к H 3D 2.1 slash happy slash build и введите по порядку, см. make dot pseudo make и pseudo make install для завершения интеграции нового робота с открытым исходным кодом H 3D.
Напишите второй класс wrap для графа сцены. API под названием H 3D API. В этом примере используется класс-оболочка с именем wam device.
Перейдите в исходный каталог, H 3D AP I slash source и создайте устройство WAM, файл CPP и wam device.Cpp. Добавьте стандартный источник для всех устройств H 3D PI. Затем поместите Wam устройство H в каталог заголовочного файла.
Wam device H должен содержать стандартный заголовочный файл для всех устройств H 3D API. Теперь, когда класс-обёртка создан, перестройте библиотеку H 3D PI, отредактировав текст списка C в каталоге, H три DPI slash build. Наконец, в директории H 3D PI slash build.
Перестройте библиотеку H 3D API с помощью команд CMake dot pseudo make и pseudo make install Теперь новые классы-оболочки готовы к использованию с роботом. После установки соответствующих классов-оболочек создается конечный автомат для управления экспериментальным протоколом для целевой задачи достижения, используемой в роботе Barrett WHAM. Состояниями конечного автомата являются начало пробного запуска, контакт с целью и окончание испытания.
Начало пробного состояния начинается с выделения целевого объекта. Целевые местоположения могут быть заданы случайным образом для каждого испытания или могут быть заданы из файла. Начало пробного состояния заканчивается и начинается состояние запуска.
Как только рука испытуемого взлетит к цели со скоростью, превышающей порог скорости, обычно 0,06 метра в секунду. Состояние запуска заканчивается, а состояние целевого контакта начинается, когда курсор пациента касается цели. Как только контакт установлен, цель исчезает, а состояние целевого контакта заканчивается, а затем начинается окончание тестового состояния.
Состояние "Конец пробной версии" сигнализирует программному обеспечению для сбора данных о необходимости пометить файл данных разделителем для завершения пробной версии. Если окончательная пробная версия не была завершена, окончание состояния окончания пробной версии позволяет начать пробное состояние и назначить новую целевую аудиторию. В этом разделе демонстрируется другой робот под названием фантом, используемый в реабилитации пациентов с инсультом.
Подставляя код класса оболочки фантома в соответствующие библиотеки, новый робот может быть интегрирован в виртуальную среду, здесь используется трехмерная тактильная графическая система, называемая виртуальной реальностью Robotic и оптическая операционная машина или комната. Эта система сочетает в себе проекционный стереорендеринг с отслеживанием головы на полусеребристом зеркальном дисплее с роботизированной системой, которая может записывать положение запястья и генерировать вектор силы. Цифровой проектор кинематографического качества отображает изображения, которые охватывают дисплей шириной пять футов, что обеспечивает широкий угол обзора 110 градусов.
Инфракрасные излучатели синхронизируют отдельные изображения левого и правого глаза через ЖК-очки с затвором. Движение головы отслеживается с помощью магнитных элементов восходящей стаи птиц, так что визуальное отображение визуализируется с соответствующей перспективой, центрированной по центру головы. Экзосухожильная перчатка с шиной на запястье помогает выровнять запястье и кисть в нейтральном положении.
Центр рукоятки робота расположен на предплечье сзади лучезапястного сустава. Это позволяет его силам действовать на запястье, но обеспечивает свободное движение руки. Вес руки пациента уменьшается с помощью подпружиненного роботизированного экзоскелета Wilmington с гравитационной балансировкой.
Терапевт, сидящий рядом с пациентом, использует устройство слежения для перемещения курсора по дисплею. Перед пациентом инструктируют использовать роботизированную ручку для погони за курсором. Аугментация ошибок обеспечивается как визуально, так и силами, генерируемыми роботом.
Когда курсор пациента отклоняется от курсора терапевта и происходит мгновенная ошибка, вектор Е устанавливается как разница в положении между курсором терапевта и рукой пациента. Ошибка визуально увеличивается в 1,5 E в рамках увеличения ошибки. Кроме того, к руке пациента прикладывается усилие, увеличивающее погрешность в 100 Е, которая запрограммирована на насыщение максимум на четыре ньютона.
По соображениям безопасности аугментация ошибок усиливает ошибки, которые воспринимаются пациентом, что улучшает процесс повторного обучения. Протокол лечения требует, чтобы пациент практиковал несколько конкретных движений, в том числе движение вперед и в сторону, плечевое локоть, сцепление и диагональное потягивание по всему телу. Для следующей демонстрации код высшего класса меняется местами и используется робот Barrett WHAM.
Цель этого следующего задания состоит в том, чтобы либо здоровые испытуемые, либо пациенты с инсультом поймали виртуальный снаряд внутри полупрозрачной зеленой сферы. Если руки пациента отклоняются за пределы сферы, сфера становится красной, и рука пациента получает обратную связь от робота. Когда пациент успешно ловит снаряд внутри определенного пространства, сфера остается зеленой.
На этом рисунке показана медианная погрешность достижения цели. Каждая точка представляет собой медианную ошибку, измеренную для двухминутного блока стереотипных функциональных движений. В то время как пациенты демонстрируют прогресс в течение двухнедельного периода, улучшение не всегда наблюдалось каждый день.
На этом рисунке показано результирующее преимущество увеличения ошибок при выборочном редуцировании движения до изменчивости движения. На верхних графиках показаны данные из контрольной группы, а на нижних — данные из группы лечения. Каждый цвет представляет собой отдельный предмет.
Две горизонтальные линии показывают расположение границ для задачи. Цель испытуемого состояла в том, чтобы поймать виртуальный снаряд в этих границах. Расположение точки показывает, где данный объект подошел ближе всего к контакту.
В снаряде синие полупрозрачные гистограммы, наложенные поверх необработанных данных, отображают распределение движения группы. Вдоль передней оси пациенты с инсультом выполнили 600 попыток выполнения задачи на захват в течение первых 200 испытаний, а в последних 200 попыткам не было обнаружено никаких ошибок Обратная связь по увеличению ошибок была предоставлена для испытаний с 201 по 400. Робот предоставлял пациенту обратную связь по усилению ошибок, что приводило к значительному улучшению способности пациента ловить цель в заданных границах.
После этой процедуры можно по-прежнему применять традиционные методы реабилитации, но с помощью робота мы можем количественно определить, где находится рука пациента в любое время в течение многих повторных испытаний. Этот метод проложил путь к новым исследованиям в области нейронной инженерии, где мы можем исследовать симуляцию достижения в пределах области, чтобы найти множество возможных решений. После просмотра этого видео у вас должно сложиться понимание того, как расширить библиотеку H 3D API для выбранного реабилитационного робота и применить различные тактильные графические интерфейсы для оценки и лечения пациентов с инсультом.
Таким образом, работа с роботами может быть потенциально опасной, поэтому следует тщательно обдумать выбор робота с таким взаимодействием с человеком. Мы выбрали Barrett WHAM для нашего последнего проекта, потому что он более мощный и пригодный для заднего хода. Задний ход означает, что он может чувствовать себя почти свободным от сопротивления, если мы запрограммируем его на это, и все же это один из самых безопасных вариантов взаимодействия человека и машины.
Это отдельный сторожевой компьютер, который следит за главным компьютером и может отключить систему, если что-то пойдет не так, а динамическое торможение гарантирует, что система является демпфером, когда она неактивна. Хотя многие роботы работают по-разному, многие из их функций пересекаются. Таким образом, переносимость наших технологий между роботами может способствовать новому обмену информацией между лабораториями.
Ясно то, что тренировочные методы лечения, подобные тем, которые были продемонстрированы в этом исследовании, предоставляют обнадеживающие доказательства восстановления функций у пациентов, а также улучшают тренировки в спорте, пилотировании, телехирургии, музыкальном исполнении, хирургических техниках и любых других задачах, требующих повторяющейся практики.
В этой статье обсуждается интеграция роботизированного устройства с открытым исходным кодом программного обеспечения для приложений нейрореабилитации, в частности, для терапии после инсульта. Подход позволяет использовать библиотеку интерактивных функций в виртуальной среде.