8 de agosto de 2011
Recientemente, una gran cantidad de perspectivas han llegado disponible para el consumo humano-robot de sistemas interactivos. En este trabajo resumimos la integración de un nuevo dispositivo robótico con software de código abierto, que rápidamente se puede hacer posible una biblioteca de funciones interactivas. A continuación, esbozar una aplicación clínica para una aplicación de la neurorrehabilitación.
El objetivo general de este procedimiento es integrar un robot en una biblioteca de entornos virtuales y luego utilizar el robot para la terapia de accidente cerebrovascular. Esto se logra primero creando una clase contenedora para extender la biblioteca de háptica e integrando luego la clase contenedora en la biblioteca de háptica. El siguiente paso consiste en crear una clase contenedora para extender la biblioteca de gráficos e integrar esta clase contenedora en la biblioteca de gráficos una vez que las clases contenedoras estén completas.
La interfaz de la API H 3D se utiliza para configurar una máquina de estados finitos para probar pacientes con accidente cerebrovascular. Luego, se utiliza el robot integrado para ayudar en la rehabilitación de pacientes con accidente cerebrovascular. La principal ventaja de esta técnica es que ya no es necesario escribir una aplicación de software diferente para cada robot.
Asimismo, estos aplicativos pueden ser utilizados por científicos de todo el mundo independientemente del robot que utilice su laboratorio. Este método puede ayudar a responder preguntas clave en los campos de la rehabilitación, la robótica y el control motor, como en qué medida nuestro sistema nervioso podría beneficiarse de la amplificación de errores. Este método puede proporcionar información sobre los déficits provocados por el accidente cerebrovascular, así como profundizar en nuestro entendimiento del funcionamiento saludable.
Por lo general, los pacientes con ictus nuevos en la rehabilitación robótica deben superar ciertos obstáculos, como aprender a agarrar el mango. Tuvimos la idea inicial de este método cuando nos dimos cuenta de que necesitábamos un robot con un espacio de trabajo operativo amplio en compensación de gravedad. También deseábamos minimizar la reescritura de software para que futuros estudiantes de posgrado pudieran beneficiarse del trabajo realizado por quienes los precedieron, sin tener que repetir las mismas tareas.
Este video proporciona instrucciones para integrar un robot de manipulación de brazo completo, o robot WHAM, con el código de código abierto disponible en www.hthreedpi.org. Para integrar un robot nuevo en la biblioteca de háptica, el primer paso consiste en escribir una clase contenedora para HAP, el motor de representación háptica, que se utiliza para controlar el movimiento del robot WHAM. Comience creando un archivo CPP y un archivo de encabezado.
Los nombres de archivo utilizados para este ejemplo son happy, wham, cpp y happy wham h. Coloque el archivo happy wham cpp en el directorio fuente. Happy barra source, luego coloque happy.
Golpee h hacia el directorio del archivo de cabecera. Barra feliz, incluya barra feliz. En la parte superior de feliz wham h, incluya los archivos de cabecera principales del robot.
Tenga en cuenta que se requiere extern C para resolver el cambio de nombre del compilador porque la biblioteca incluida está escrita en C y la API H 3D está escrita en C más más. En happy wham h, cree la clase para el robot e incluya en ella las cuatro funciones: liberación del dispositivo háptico, dispositivo háptico, actualización de los valores del dispositivo y envío de la salida. Asegúrese de que la clase herede públicamente de la clase happy haptics device.
A continuación, cree una protección de cabecera para la clase. Luego, cree los atributos estáticos de salida del dispositivo y de registro del dispositivo háptico dentro de la clase WHAM feliz. A continuación, cree las funciones miembro estáticas para las devoluciones de llamada específicas de su robot.
Para un robot WHAM, la función de devolución se utiliza en la función de dispositivo háptico y toro. Ahora que los prototipos están establecidos en el archivo de encabezado, abra happy wham.cpp e incluya los archivos de encabezado y el espacio de nombres apropiados. A continuación, defina el constructor y el destructor en happy wam.cpp.
Luego registre el dispositivo en Happy Wam cpp. Ahora defina las cuatro funciones heredadas y las funciones de devolución en happy Wam cpp. La función de actualización de valores del dispositivo indica a la computadora la ubicación del brazo del robot y la cantidad de fuerza que está generando el robot sobre el entorno.
Después de crear la clase Happy Wrapper, el siguiente paso consiste en integrar un envoltorio en la biblioteca Happy. WAM depende de algunas bibliotecas de las que la API H 3D no depende en su forma original. Por lo tanto, es necesario agregar estas bibliotecas a happy.
Vaya al directorio H 3D 2.1/happy/build y edite el archivo CMakeLists.txt. Agregue las bibliotecas dependientes después de la línea que dice Set optional libs. Abra una consola de comandos y navegue hasta H 3D 2.1/happy/build, luego escriba en orden: make, pseudo make y pseudo make install para completar la integración del nuevo robot con el código abierto de H 3D.
Escriba una segunda clase de envoltura para el grafo de escena. API denominada H 3D API. Este ejemplo utiliza una clase de envoltura llamada wam device.
Navegue hasta el directorio de origen, H 3D AP I barra source, y cree el dispositivo WAM, archivo CPP y wam device.Cpp. Agregue el código fuente estándar para todos los dispositivos H 3D PI. A continuación, coloque Wam device H en el directorio del archivo de encabezado.
El dispositivo Wam H debe contener el archivo de encabezado estándar para todos los dispositivos de la API H 3D. Ahora que se ha creado la clase contenedora, reconstruya la biblioteca H 3D PI editando el archivo de texto C make lists en el directorio H three DPI barra invertida build. Finalmente, en el directorio H 3D PI barra invertida build.
Reconstruya la biblioteca de la API 3D de H utilizando los comandos CMake dot pseudo make y pseudo make install. Las nuevas clases contenedoras ya están listas para usarse con un robot. Una vez instaladas las clases contenedoras apropiadas, se crea una máquina de estados finitos para controlar el protocolo experimental de la tarea de alcance dirigido utilizada con el robot Barrett WHAM. Los estados de la máquina de estados son inicio del ensayo, lanzamiento, contacto con el objetivo y fin del ensayo.
El estado de inicio del ensayo comienza con la asignación de un objetivo. Las ubicaciones del objetivo pueden establecerse aleatoriamente para cada ensayo o pueden definirse a partir de un archivo. Finaliza el estado de inicio del ensayo y comienza el estado de lanzamiento.
Una vez que la mano del sujeto se ha lanzado hacia el objetivo superando el umbral de velocidad, típicamente 0,06 metros por segundo, finaliza el estado de lanzamiento y comienza el estado de contacto con el objetivo. Cuando se establece el contacto, el objetivo desaparece, finaliza el estado de contacto con el objetivo y comienza el estado de finalización del ensayo.
El estado de fin de prueba indica al software de recolección de datos que marque el archivo de datos con un delimitador para el fin de la prueba. A menos que se haya completado la prueba final, el final del estado de fin de prueba activa el estado de inicio de prueba y se asigna un nuevo objetivo. Esta sección muestra un robot diferente llamado phantom utilizado en la rehabilitación de pacientes con accidente cerebrovascular.
Al sustituir el código de clase de envoltura del fantasma en las bibliotecas apropiadas, el nuevo robot puede integrarse en el entorno virtual; aquí se utiliza un sistema gráfico háptico tridimensional denominado máquina de operaciones robóticas y ópticas de realidad virtual, o ROOM. Este sistema combina una representación estéreo proyectada con seguimiento de cabeza sobre una pantalla superpuesta con espejo semiplateado, junto con un sistema robótico capaz de registrar la posición de la muñeca y generar un vector de fuerza. Un proyector digital de calidad cinematográfica muestra las imágenes que abarcan una pantalla de cinco pies de ancho, lo que resulta en un ángulo de visión de 110 grados.
Los emisores de infrarrojos sincronizan imágenes separadas para el ojo izquierdo y derecho mediante gafas obturadoras LCD. El movimiento de la cabeza se rastrea con el sistema magnético Ascension Flock of Birds, de modo que la visualización se genera con la perspectiva centrada adecuada respecto a la cabeza. Un guante con tendón externo y una férula para la muñeca ayuda al alineamiento neutro de la muñeca y la mano.
El centro del mango del robot se coloca en la parte posterior del antebrazo, por detrás de la articulación radiocarpiana. Esto permite que sus fuerzas actúen sobre la muñeca, pero permite un movimiento libre en la mano. El peso del brazo del paciente se reduce mediante una órtesis exoesquelética robótica de Wilmington equilibrada por gravedad, accionada por un resorte.
El terapeuta sentado junto al paciente utiliza un dispositivo de seguimiento para mover un cursor por la pantalla. Frente al paciente, se le indica que use el mango robótico para perseguir el cursor. La amplificación del error se proporciona tanto visualmente como mediante fuerzas generadas por el robot.
Cuando el cursor del paciente se desvía del cursor del terapeuta, se establece un error instantáneo, el vector E, como la diferencia de posición entre el cursor del terapeuta y la mano del paciente. El error se amplifica visualmente por un factor de 1,5 E como parte de la ampliación del error. Además, se aplica una fuerza de ampliación del error de 100 E al brazo del paciente, que está programada para saturar en un máximo de cuatro newtons.
Por razones de seguridad, la amplificación del error magnifica los errores que percibe el paciente, lo que potencia el proceso de reaprendizaje. El protocolo de tratamiento requiere que el paciente practique varios movimientos específicos, incluyendo alcance hacia adelante y lateral con acoplamiento hombro-codo, y alcance diagonal a través del cuerpo. Para la siguiente demostración, se intercambia el código de la clase superior y se utiliza el robot Barrett WHAM.
El objetivo de esta siguiente tarea consiste en que sujetos sanos o pacientes con ictus atrapen un proyectil virtual dentro de la esfera verde semitransparente. Si las manos del paciente se desvían fuera de la esfera, esta se vuelve roja y el brazo del paciente recibe una retroalimentación de aumento de error por parte del robot. Cuando el paciente atrapa con éxito el proyectil dentro del espacio definido, la esfera permanece verde.
Esta figura muestra el error medio de alcance. Cada punto representa el error mediano medido durante un bloque de dos minutos de movimientos funcionales estereotipados. Aunque los pacientes muestran progreso a lo largo del período de dos semanas, no siempre hubo mejoría cada día.
Esta figura muestra el beneficio resultante de la amplificación del error al reducir selectivamente la variabilidad de movimiento a movimiento. Los gráficos superiores muestran los datos del grupo control y los gráficos inferiores muestran los datos del grupo de tratamiento. Cada color representa un sujeto diferente.
Las dos líneas horizontales muestran la ubicación de los límites para la tarea. El objetivo del sujeto era atrapar el proyectil virtual dentro de estos límites. La ubicación de un punto indica dónde un sujeto dado se acercó más al contacto.
En el proyectil, los histogramas semitransparentes azules superpuestos sobre los datos brutos muestran la distribución del movimiento del grupo. A lo largo del eje anterior, los pacientes con ictus realizaron 600 ensayos de la tarea de captura: durante los primeros 200 ensayos y durante los últimos 200 ensayos, no se proporcionó retroalimentación con aumento del error entre los ensayos 201 y 400. El robot proporcionó retroalimentación con aumento del error al paciente, lo que resultó en una mejora significativa en la capacidad del paciente para atrapar el objetivo dentro de los límites especificados.
Tras seguir este procedimiento, aún se pueden realizar métodos tradicionales de rehabilitación, pero con el robot podemos cuantificar en todo momento la posición de la mano del paciente durante muchos ensayos repetidos. Esta técnica allanó el camino para nuevas investigaciones en el campo de la ingeniería neural, donde podemos explorar movimientos de alcance simulados dentro de una región que presenta múltiples soluciones posibles. Después de ver este video, deberías comprender cómo extender la biblioteca de la API H 3D para un robot de rehabilitación de elección y aplicar una variedad de interfaces hápticas gráficas para la evaluación y el tratamiento de pacientes con accidente cerebrovascular.
Trabajar con robots puede ser potencialmente peligroso, por lo que se debe considerar cuidadosamente al elegir un robot para interacciones con humanos. Elegimos el Barrett WHAM para nuestro proyecto más reciente porque es más potente y retroaccionable. Retroaccionable significa que puede sentirse casi libre de resistencia si lo programamos así, y sin embargo es una de las opciones más seguras disponibles para la interacción entre humanos y máquinas.
Es una computadora de vigilancia independiente que monitorea la computadora principal y puede desactivar el sistema si algo falla, y el frenado dinámico asegura que el sistema actúe como un amortiguador cuando esté inactivo. Aunque muchos robots funcionan de manera diferente, muchas de sus funciones se solapan. Por lo tanto, la portabilidad de nuestras técnicas entre robots podría fomentar un nuevo intercambio entre laboratorios.
Lo que está claro es que los tratamientos de entrenamiento como los demostrados en este estudio proporcionan evidencia alentadora para la recuperación de la función en pacientes, así como para mejorar el entrenamiento en deportes, teleoperación, interpretación musical, técnicas quirúrgicas y cualquier otra tarea que requiera práctica repetitiva.
Este artículo trata sobre la integración de un dispositivo robótico con software de código abierto para aplicaciones de neurorehabilitación, enfocadas específicamente en la terapia de accidente cerebrovascular. El enfoque permite utilizar una biblioteca de funcionalidades interactivas en un entorno virtual.
Este trabajo aborda un cuello de botella clave en neurociencia traslacional e ingeniería de rehabilitación: la falta de interoperabilidad de software entre plataformas robóticas. Al permitir que una única base de código se comunique con diversos dispositivos hápticos, este enfoque reduce la carga de desarrollo y apoya la evaluación preclínica reproducible de intervenciones para el aprendizaje motor. Esta capacidad mejora la confianza predictiva en la validación temprana de objetivos terapéuticos para tratamientos de neurorehabilitación, al estandarizar las mediciones conductuales entre laboratorios.
El método se integra en la continuidad de descubrimiento a preclínico al transformar sistemas robóticos en herramientas estandarizadas de fenotipado para la modulación de circuitos motores, con aplicabilidad directa a la identificación de compuestos activos en el desarrollo de fármacos para neurorehabilitación.