Haptic / Reabilitação Graphic: Integrando um robô em um ambiente virtual Biblioteca e aplicando-a Terapia curso

Published 8/08/2011
0 Comments
  CITE THIS  SHARE 
Bioengineering
 

Summary

Recentemente, uma grande quantidade de perspectivas vieram disponível para humanos e robôs sistemas interativos. Neste artigo destacamos a integração de um novo dispositivo robótico com software de código aberto que pode rapidamente tornar uma biblioteca possível de funcionalidades interactivas. Em seguida, esboçar uma aplicação clínica para uma aplicação de reabilitação neurológica.

Cite this Article

Copy Citation

Sharp, I., Patton, J., Listenberger, M., Case, E. Haptic/Graphic Rehabilitation: Integrating a Robot into a Virtual Environment Library and Applying it to Stroke Therapy. J. Vis. Exp. (54), e3007, doi:10.3791/3007 (2011).

Please note that all translations are automatically generated.

Click here for the english version. For other languages click here.

Abstract

Pesquisas recentes que os testes de dispositivos interativos para a prática de terapia prolongada, revelou novas perspectivas para a robótica combinado com formas gráficas e outros de biofeedback. Anteriores entre humanos e robôs sistemas interativos têm exigido comandos de software diferentes a serem implementadas para cada robô levando à sobrecarga desnecessária de tempo de desenvolvimento cada vez que um novo sistema se torna disponível. Por exemplo, quando um haptic / ambiente de realidade virtual tem sido gráficos codificados para um robô específico para fornecer feedback tátil, o robô específico não seria capaz de ser trocados por outro robô, sem recodificação do programa. No entanto, os recentes esforços da comunidade de código aberto têm proposto uma abordagem de classe wrapper que pode provocar respostas quase idênticas, independentemente do robô utilizado. O resultado pode levar os investigadores em todo o mundo para realizar experimentos semelhantes utilizando o código compartilhado. Portanto, "a mudança para fora" modular de um robô para o outro não afetaria o tempo de desenvolvimento. Neste trabalho, destacamos o êxito da criação e implementação de uma classe wrapper para um robô no H3DAPI open-source, que integra o software comandos mais comumente utilizados por todos os robôs.

Protocol

Introdução

Há uma necessidade crescente em todos interação homem-máquina (HMI) para intuitiva e eficiente ambientes interativos. Numerosas indústrias continuam a depender mais fortemente de HMI, tais como: robótica de reabilitação, a indústria automotiva, fabricação de metais, máquinas de embalagem, produtos farmacêuticos, alimentos, bebidas, e utilitários. Tecnologias empregadas nestas indústrias incluem: terminais de exposição, computadores pessoais, software e HMI. Essas tecnologias podem ser combinadas para executar funções ilimitado.

Robôs podem ser utilizados para facilitar a interação direta com os usuários, tais como servir como instrutor de música. Por exemplo, pesquisadores da Waseda University criaram um robô que toca saxofone para ensinar as pessoas como jogar e entender a interação entre aluno e professor 1. Outros pesquisadores em robótica têm feito um robô baseado em visão voando a fim de determinar como a inteligência artificial pode evoluir para interações inteligentes com o meio ambiente 2. A concentração específica deste trabalho reside dentro de robótica de reabilitação.

Dentro da esfera da investigação e da indústria, o ritmo rápido da mudança para novos produtos e as necessidades dos utilizadores continua a crescer. Estas demandas impõem desafios maiores em termos de escalabilidade. Portanto, projeto do código tornou-se integrante no atendimento das necessidades dessas entidades em tempo hábil. Assim, a qualidade de um forte candidato arquitetônico deve incluir facilmente intercambiáveis ​​graphic-robô sistemas que incluem suporte de driver. A arquitetura H3DAPI satisfaz estas necessidades e, assim, uma classe wrapper foi criado. Além disso, H3D é projetado para ambientes de realidade virtual, tais como aqueles necessários na área da robótica de reabilitação.

Neurais reabilitação robótica procura utilizar robôs para a finalidade de auxiliar os profissionais de reabilitação. A assistência que estes robôs fornecem vem na forma de um campo de força. Pesquisadores do motor passou de comando, como Shadmehr e Mussa-Ivaldi, utilizados campos de força para promover a adaptação do motor, e de ter encontrado 1) de adaptação a um campo de força aplicada externamente ocorre com classes diferentes de movimentos, incluindo mas não limitados a movimentos chegando, e 2) adaptação generaliza em diferentes movimentos que visitam as mesmas regiões dos 3 campo externo. Pesquisa de engenheiros biomecânicos da terapia baseada em desempenho Robot-Assisted Progressive mostra que repetitivas, tarefas específicas dirigidas a objetivos, robô-ajudada terapia é eficaz na redução deficiências motoras no braço afetado após 4 tempos, mas os efeitos terapêuticos e parâmetros exatos continuar a ser um campo de pesquisa.

Feedback sensorial afeta o aprendizado e adaptação. Portanto, a próxima questão lógica seria a de pedir ou não artificialmente aumentar a magnitude de tais comentários promoveria mais rápido ou mais completo de aprendizagem / adaptação. Alguns pesquisadores descobriram que a aplicação de forças maior feedback sensorial ou pistas visuais para melhorar os erros podem fornecer um estímulo adequado neurológicas para promover níveis mais elevados de adaptação / aprendizagem 5,6. Isto é conhecido como "aumento do erro". Este fenómeno pode ser devido ao fato de que os resultados uma vez de uma ação de controle de motor desviar do ideal, o nosso modelo interno de auto-ajusta de acordo com a magnitude do erro. Por conseguinte, como o nosso modelo interno se aproxima do ambiente externo, erro na execução de uma tarefa diminui.

A investigação continua a apoiar a prática prolongada de funcionalmente actividades relevantes para a restauração da função, apesar de muitas políticas de saúde na atualidade limitar a quantidade de pacientes o tempo pode passar mais tempo com os terapeutas. A questão interessante é saber se estas novas aplicações da tecnologia pode ir mais longe do que simplesmente dar uma dose mais alta do estado atual do atendimento. Estudos de interação homem-máquina têm revelado novas perspectivas nas áreas de aprendizagem motora, e pode em alguns casos, oferecer valor acrescentado para o processo terapêutico. Especializados dispositivos robóticos combinado com computador exibe pode aumentar o feedback de erro, a fim de acelerar, aumentar, ou acionar reaprendizagem motora. Este trabalho irá apresentar uma metodologia de utilização de um sistema desenvolvido para uma intervenção clínica como um exemplo da aplicação desta tecnologia.

1. Estabelecer HAPI classe wrapper para um robô

  1. Criar um wrapper para a biblioteca HAPI haptics, criando o seu próprio. Cpp e arquivo de cabeçalho. Por exemplo, vamos utilizar o nome e HAPIWAM.cpp HAPIWAM.h.
  2. HAPIWAM.cpp lugar para o diretório fonte: HAPI / src
  3. HAPIWAM.h lugar para o diretório do arquivo de cabeçalho: HAPI / include / HAPI
  4. No topo da HAPIWAM.h, inclua o arquivo de cabeçalho principal (s) de seu robô, no caso do Barrett WAM, que seriam:

<em> extern "C" {
# Include <include/btwam.h>
}
# Include <HAPI/HAPIHapticsDevice.h>

Nota: extern "C" é necessário para resolver mangling compilador, porque a biblioteca está incluído escrito em 'C' eo H3DAPI é escrito em C + +.

  1. Em HAPIWAM.h, crie a sua classe e incluem os seguintes 4 funções

bool initHapticsDevice (int);
bool releaseHapticsDevice ();
updateDeviceValues ​​void (DeviceValues ​​& dv, HAPITime dt);
vazio sendOutput (HAPIHapticsDevice:: DeviceOutput & d, HAPITime t);

  1. Certifique-se que a classe herda publicamente a partir da classe HAPIhapticsdevice.
  2. Criar um guarda de cabeçalho para sua classe.
  3. Criar DeviceOutput estática e atributos HapticsDeviceRegistration estática sob a classe HAPIWAM.
  4. Crie suas funções de membro estático para callbacks.
  5. Definir o seu construtor e destruidor em HAPIWAM.cpp.
  6. Registre seu aparelho em HAPIWAM.cpp.
  7. Definir o seu 4 funções herdadas e callbacks em HAPIWAM.cpp.

2. HAPI biblioteca de criação

  1. Agora que criamos a classe wrapper HAPI, precisamos construir o seu wrapper para a biblioteca de HAPI. O WAM depende de algumas bibliotecas que H3DAPI não depende em sua forma bruta, portanto, estas bibliotecas precisam ser adicionados a HAPI. Ir para HAPI / HAPI / build e editar CMakeLists.txt. Adicionar as bibliotecas dependentes após a linha que diz 'SET (OptionalLibs).
  2. Abra um console de comando e navegue até: HAPI / HAPI / build e digite o seguinte 3 comandos nesta ordem:

cmake.
sudo make
sudo make install

3. Classe wrapper H3D

  1. Para criar a classe wrapper para a biblioteca com o seu H3D HAPIWAM, primeiro crie WAMDevice.cpp no ​​diretório de origem: H3DAPI/src
  2. WAMDevice.h lugar para o diretório do arquivo de cabeçalho: H3DAPI/include/H3D
  3. WAMDevice.h deve conter o arquivo de cabeçalho padrão para todos os dispositivos H3DAPI, com o nome substituído para o que quiser.
  4. WAMDevice.cpp deve conter a fonte padrão para todos os dispositivos H3DAPI, com o nome substituído para o que quiser.
  5. Agora que a classe wrapper foi criado, reconstruir a biblioteca H3DAPI. Fazer isso editando CMakeLists.txt da mesma forma que foi realizada no passo 2.1, apenas no diretório: H3DAPI/build.
  6. Reconstruir a biblioteca H3DAPI sob o diretório H3DAPI/build

cmake.
sudo make
sudo make install

4. Máquina de estado finito

  1. Todos os programas direcionados atingindo requer a criação de uma máquina de estados finitos para controlar o protocolo experimental ou regime prática. Máquinas de estado típicas incluem: Início do julgamento, Launch, Contact Target, e End of Trial. Um exemplo da função de cada Estado, e critérios para a transferência entre os estados é listado abaixo.
  2. O início do julgamento requer a alocação de um alvo. Locais alvos podem ser definidas de forma aleatória para cada teste ou pode ser definido a partir de um arquivo. O início do julgamento termina quando o usuário lançou em direção ao alvo acima do limite de velocidade, tipicamente 0,06 metros por segundo.
  3. O estado de Lançamento ocorre após o início do julgamento. Este estado termina ou quando o usuário toca o alvo ou fica dentro da meta por um período de tempo. Uma vez que o alvo é tocada, isso permite que o estado do contato Target.
  4. Contate-alvo ocorre durante o estado de Lançamento. Pode acabar assim que o alvo é tocado ou após o sujeito reside dentro da meta por um período de tempo específico. Uma vez que este tempo passou, o fim do estado de teste está ativado.
  5. O Fim do Estado de julgamento deve sinalizar o software de coleta de dados para marcar o arquivo de dados, independentemente da análise do desenvolvedor de software tem utilizado, para delimitar o final do julgamento cada um. A menos que o julgamento final tenha sido completado, o fim do Fim do estado de teste permite que o início do estado Trial.

5. Aplicação: reabilitação do paciente de derrame

  1. A interface robótica foi projetada para envolver as competências terapeuta durante a utilização do robô para permitir que algo que não poderiam ser feitas. A aplicação da tecnologia habilitada (descrito em mais detalhes abaixo) de aumento de erro, que ampliou os erros percebidos pelo paciente, que por várias razões bem conhecidas melhora o processo de reaprendizagem (fig. 1).
  2. A haptics tridimensional / sistema gráfico chamado de Realidade Virtual e Robótica Máquina Operações Optical (VRROOM). Este sistema, apresentado anteriormente 6, combinado um aparelho de som projetado, cabeça-tracked renderização em uma tela de sobreposição semi-prateado espelho com um sistema robótico que a posição de pulso gravado e gerou um vetor de força (fig. 2).
  3. A di cinema de qualidadegital projector (Christie Mirage 3000 DLP) exibido as imagens que se estendeu por um período de cinco metros de largura 1280x1024 pixéis, resultando em um ângulo de visão 110 ° de largura. Emissores de infravermelho sincronizadas separar imagens do olho esquerdo e direito através de Display de Cristal Líquido (LCD) óculos (Stereographics, Inc). Ascension Flock of Birds elementos magnéticos rastreados movimento da cabeça de modo que a exibição visual foi rendida com a perspectiva cabeça centrada apropriado.
  4. Após a qualificação para o estudo, a capacidade funcional de cada participante foi avaliado por um avaliador cego no início e no fim de cada paradigma do tratamento com uma semana de follow-up após cada e um total de 45 dias de avaliação follow-up. Cada avaliação consistiu de uma série de avaliação de movimento (ADM), realizado na VRROOM bem como as medidas clínicas, incluindo: a avaliação Caixa e Blocos, Wolf Teste da Função Motora (WMFT), Seção Braço Motor da Fugl-Meyer (AMFM), e avaliação do alcance funcional simples (TEF).
  5. Uma luva exotendon com tala de pulso foi utilizada para auxiliar no pulso neutro e alinhamento mão. O centro do punho do robô foi anexado ao antebraço foi colocado posterior à articulação radiocarpal para que suas forças agiram no pulso, mas permitiu o movimento da mão.
  6. Peso do braço do paciente foi reduzido usando uma mola-powered Wilmington Robotic Exoskeleton (Wrex) gravidade equilibrado órtese. Objetivo instruiu o paciente foi para perseguir um cursor apresentado na frente deles movidos por meio de um dispositivo de rastreamento na mão do terapeuta (teleoperação terapeuta).
  7. Pacientes prática três dias por semana por aproximadamente 40-60 minutos, com o paciente, o terapeuta, eo robô trabalhando juntos em um trio. Assunto e terapeuta sentaram-se lado a lado, eo tema foi ligado ao robô no pulso.
  8. Cada sessão começou com cinco minutos de intervalo passivo de exercícios de movimento (PROM) com o terapeuta, seguido por cerca de dez minutos para situar o paciente na máquina. O assunto em seguida, completou seis quadras de treinamento movimento com duração de cinco minutos cada, com períodos de dois minutos de descanso entre cada bloco.
  9. Durante o treinamento, os participantes viu dois cursores no visor estéreo. O terapeuta tratar manipulado um cursor, enquanto o participante controlava o outro. Os pacientes foram orientados a seguir o caminho exato do cursor do terapeuta enquanto se movia em todo o espaço de trabalho.
  10. Aumento do erro foi fornecido tanto visualmente quanto por forças geradas pelo robô. Quando os participantes se desviaram cursor terapeuta, um vetor e instantânea de erro foi estabelecida como a diferença de posição entre o cursor do terapeuta e da mão do participante. Erro foi visualmente ampliada por um fator de 1,5 e (m) como parte do aumento do erro. Além disso, uma força de erro aumentando de 100 e (N / m) também foi aplicado, o que foi programado para saturar a um máximo de 4 N por razões de segurança.
  11. Cada bloco de outro tratamento consistiu em específico, os movimentos padronizados que foram os mesmos para cada sessão. Os outros blocos permitido o terapeuta para personalizar a formação em áreas específicas de fraqueza com base na expertise terapeuta e as suas observações. O protocolo de tratamento incluiu a prática de movimentos específicos para todos os participantes, incluindo a frente eo lado alcançando, ombro, cotovelo de acoplamento, e diagonal atingindo todo o corpo.
  12. Enquanto pratica, dia-a-dia de erro médio foi medido como um resultado da prática. Especial atenção foi dada aos blocos de movimentos padronizados que foram os mesmos para cada sessão. Estes foram comparados aos dias anteriores para determinar se qualquer melhoria incremental pode ser observado no dia-a-dia, que pode ser relatado para o paciente, o terapeuta, e os cuidadores (fig. 3).
  13. Medidas primárias de desfecho foram medidos semanalmente, uma semana após o término do tratamento, e 45 dias pós para determinar a retenção dos benefícios. Principais resultados foram os Fugl-Meyer valor de habilidade motora e alcançar o nosso teste personalizado braço que medida a amplitude de movimento.

6. Resultados representativos:

Quando o protocolo é feito corretamente, então uma vez que o nó <AnyDevice> é carregado no H3DViewer ou H3DLoad, o dispositivo WAM devem ser reconhecidos e iniciados. Se a WAM foram substituídos por outro robô, o código em si não teria necessidade de ser alterado.

Figura 1
Figura 1. Assunto sentado à haptic / aparato gráfico.

Figura 2
Figura 2. Assunto sentado à haptic / aparelho gráfico com fisioterapeuta.

Figura 3
Figura 3. Configuração de reabilitação of o paciente acidente vascular cerebral. A) sujeito eo terapeuta trabalhando juntos, sentados e usando o haptic grande espaço de trabalho / display gráfico para a prática de movimento. O terapeuta fornece uma pista para o sujeito, e pode condicionado sob medida para as necessidades do paciente. O robô fornece forças que empurram o membro longe do alvo e do sistema de feedback visual aumenta o erro do cursor. B) melhora do paciente típico acidente vascular cerebral crônica de dia para dia. Cada ponto representa o erro médio medido para um bloco de 2 minutos de movimento funcional estereotipado. Enquanto o paciente mostra o progresso em todo o período de 2 semanas e benefício global, esta pessoa nem sempre melhorar a cada dia.

Discussion

Este método de implementação da classe wrapper permite robôs diferentes para ser usado, sem alterar o código-fonte, ao usar o H3DAPI. Especificamente, os pesquisadores que escreveram suas haptic / ambiente gráfico em H3D e testou seu experimento com um robô fantasma seria capaz de realizar a experiência iguais ou semelhantes usando o Barrett WAM, e vice-versa. Este tipo de dispositivo independente cruz-comunicação traz implicações para a pesquisa internacional de robótica de reabilitação. Tais implicações facilitar haptic rápida / desenvolvimento gráfico, a colaboração na investigação internacional e inter-comunicação de pesquisa de laboratório.

Reabilitação robótica ainda tem que descobrir os numerosos parâmetros envolvidos na aprendizagem motora. Um dos passos demorados durante haptic / desenvolvimento de gráficos inclui o tempo de compilação. Com parâmetros de reabilitação numerosos, agravado com o tempo de compilação para cada programa, o ciclo de vida de desenvolvimento para testar todas as permutações possíveis grupo sobe rapidamente. H3D, com a sua ausência de requisitos de compilação, permite o desenvolvimento rápido de inúmeras cenas de realidade virtual. Isso vem como uma vantagem para aqueles pesquisadores que aspiram a sonda os efeitos de vários cenários de treinamento.

Limitações desta abordagem wrapper 'hard-coded "integração da classe incluem o fato de que este procedimento deve ser repetido cada vez que há uma nova distribuição do H3DAPI. Possíveis modificações para integrar a classe wrapper em sua última distribuição do H3DAPI seria criar a classe wrapper separadamente do H3DAPI. Você, então, colocar a sua classe wrapper em um arquivo de biblioteca *. so. Isso seria isolar sua classe a partir da distribuição H3DAPI original.

Disclosures

As classes wrapper neste tutorial estão sob copyright por Ian Sharp.

Acknowledgements

Gostaria de agradecer a ajuda técnica de Brian Zenowich, Evestedt Daniel e Lin Winsean.

Materials

  1. The Display called paris (personal augmented reality immersion system), can be found at www.evl.uic.edu
  2. The large gray robot is the Barrett WAM: www.barrett.com
  3. The smaller, skinnier black robot is the Phantom: www.sensable.com
  4. The arm mount is the T-WREX, developed at the RIC: http://www.ric.org/research/centers/mars2/Projects/development/d3.aspx
  5. The shutter glasses for 3d vision: www.vrlogic.com
  6. Head tracking software. www.mechdyne.com
  7. The H3DAPI itself: www.h3dapi.org

DOWNLOAD MATERIALS LIST

References

  1. Solis, J., Takeshi, N., Petersen, K., Takeuchi, M., Takanishi, A. Development of the anthropomorphic saxophonist robot WAS-1: Mechanical design of the simulated organs and implementation of air pressure. Advanced Robotics Journal. 24, 629-650 (2010).
  2. Evolving Won-Based Flying Robots. Zufferey, J. C., Floreano, D. Proceedings of the 2nd International Workshop on Biologically Motivated Computer Vision, 2002 November, Berlin, Springer-Verlag. 592-600 (2002).
  3. Conditt, M. A., Gandolfo, F., Mussa-Ivaldi, F. A. The motor system does not learn the dynamics of the arm by rote memorization of past experience. Journal of Neurophysiology. 78, 554-554 (1997).
  4. Krebs, H. I., Palazzolo, J. J., Dipietro, L., Ferraro, M., Krol, J., Rannekleiv, K., Volpe, B. T., Hogan, N. Rehabilitation robotics: Performance-based progressive robot-assisted therapy. Autonomous Robots. 15, 7-20 (2003).
  5. Wei, K., Kording, K. Relevance of error: what drives motor adaptation. Journal of neurophysiology. 101, 655-65 (2009).
  6. Wei, Y., Bajaj, P., Scheidt, R., Patton, J. Visual error augmentation for enhancing motor learning and rehabilitative relearning. IEEE International Conference on Rehabilitation Robotics. 505-510 (2005).

Comments

0 Comments


    Post a Question / Comment / Request

    You must be signed in to post a comment. Please or create an account.

    Video Stats