INTRODUCCIÓN
Durante los últimos años, se ha evidenciado el papel representativo que juega la robótica dentro del desarrollo de diferentes ámbitos al servicio del ser humano [1]. Dadas sus cualidades de precisión, exactitud, rapidez y consistencia en diferentes entornos, presentan los más altos niveles de desempeño y calidad en su funcionamiento, así como permiten que estos sean llevados a otros ambientes con la pretensión de mantener sus cualidades mencionadas [2], [3]. Particularmente, se destaca su labor en la industria [4] (fundición, soldadura, carga y descarga de materiales), en el hogar [5] (limpieza, mantenimiento, acompañamiento), en entornos militares [6] (detección, desactivación de agentes peligrosos, transporte, carga de material en terrenos agrestes, sistemas de seguridad y ataque) y en la medicina en la que surge la oportunidad de integrar estos beneficios en este entorno y sus ventajas se aprovechan en función de facilitar el ejercicio médico [7]. Principalmente, su labor dentro de este ambiente se enfoca en la asistencia de actividades tales como cirugía, diagnóstico y exploración [8], que permiten al personal médico mejorar sus capacidades de movimiento y exploración de cavidades corporales inaccesibles para la mano humana [9]. Estas cualidades brindan grandes ventajas en innumerables tipos de intervenciones quirúrgicas, entre ellas la cirugía laparoscopia [10], [11]. Esta se define como una de las más importantes dentro de este ámbito, la cual se practica por medio de una serie de pequeños orificios en la zona abdominal, por donde se introducen los instrumentos que se requieran para la realización del procedimiento (p. ej., endoscopio, pinzas, tijeras) [12].
Sin embargo, en la mayoría de los casos, estos asistentes robotizados necesitan dentro de su composición una estructura física de realimentación entre la máquina y el operario, en la cual se puedan realizar tareas de visualización del campo de trabajo y manipulación del instrumental mediante un conjunto de órdenes motrices impartidas [13].
Una de las más grandes dificultades se presenta debido a la complejidad en su manejo, lo cual genera contrariedades en el proceso de aprendizaje y hace que sea dispen diosa y lenta [14], proporcional al grado de complejidad del robot. Lo anterior conlleva la necesidad de ofrecer nuevas alternativas para el manejo de tales asistentes [15].
Durante los últimos años, la Universidad del Cauca, con su Grupo de Investigación Automática Industrial, ha desarrollado una serie de proyectos de investigación aplicada relacionados con la construcción de entrenadores en ambientes virtuales de simulación, donde se reproducen ciertos tipos de procedimientos quirúrgicos. Para seguir explorando este tema, el artículo muestra el manejo de un robot PA10, el cual es utilizado en diversos experimentos quirúrgicos, movido por una interfaz natural. Los experimentos fueron llevados a cabo en la Universidad de Málaga (España).
El artículo se encuentra dividido de la siguiente manera. Inicialmente se exhibe el diseño general del sistema utilizado. Luego, se muestra el modelamiento matemático dentro de la función libre del brazo, los principios del algoritmo de reconocimiento de gestos y su integración con el control de las articulaciones motorizadas del brazo articulado. Por último, se presentan los resultados de las pruebas realizadas directamente sobre el robot PA10.
METODOLOGÍA
Las interfaces naturales se componen de una serie de elementos que permiten su uso dentro de ciertas aplicaciones. En este caso, se opta por un diseño y una implementa ción propia para la aplicación desarrollada, la cual se expone a continuación.
Diseño general del Sistema
El sistema se compone por dos unidades principales que conforman el funcionamiento del robot (figura 1). La primera de estas unidades, denotada como unidad hardware, se compone por una estructura física o brazo robótico, una fuente de alimentación, un ordenador de control, una seta de emergencia y el dispositivo de captura de movimiento, en este caso el dispositivo comercial Leap Motion. Por otro lado, la segunda unidad (unidad software) se compone del algoritmo de control, el algoritmo de reconocimiento de gestos y el software de animación tridimensional.
Unidad hardware
Se utilizó para este desarrollo, el robot industrial PA10 de Mitsubishi (figura 2), el cual es un brazo articulado que cuenta con siete articulaciones rotacionales, compuestas cada una de su respectivo motor.
Por otra parte, como dispositivo de captura de gestos se tiene un Leap Motion (figura 3). Este dispositivo comercial presenta dos cámaras encapsuladas que son usadas como sensores para la detección y el seguimiento del movimiento de las manos y los dedos.
Los dispositivos descritos pertenecientes a la unidad hardware se encuentran interconectados entre sí, centralizados en un ordenador donde se tiene el software de control.
Unidad software
Esta se compone de tres elementos esenciales para su funcionamiento, tal como se describe en las secciones mostradas a continuación.
Reconocimiento de gestos
Algoritmo encargado en la interpretación, detección y reconocimiento de los gestos realizados por la mano en un espacio tridimensional. En este caso, el posicionamien to cartesiano de la palma de la mano derecha se usa como la posición del efector final del robot durante la ejecución del movimiento o consigna de trabajo para el algoritmo de control, donde el área de movimiento se limita por el espacio de trabajo del Leap Motion (aproximadamente 61cm3 [16]) y el brazo articulado PA10. Este desarrollo se realiza bajo el funcionamiento de las librerías nativas de desarrollo del Leap Mo tion para diferentes IDE (por sus siglas en inglés) de programación.
Algoritmo de control
Compuesto por la consigna de movimiento, modelos matemáticos de control y las cuplas de movimiento para cada una de las articulaciones del brazo articulado. En la figura 4, se muestra la representación del funcionamiento interno del algoritmo de movimiento (circunferencia roja). Inicialmente, a este se le ingresa la consigna de movimiento o de trabajo entregada por el algoritmo de reconocimiento de gestos expuesto y, luego, esta consigna se ingresa al modelo matemático el cual entrega las cuplas de movimiento para el funcionamiento tanto del robot animado en software como de la estructura física real.
En ninguno de los casos se efectuó un escalamiento entre las consignas ya que la con signa ingresada se encuentra dentro del espacio de trabajo del robot articulado. En caso de que se efectué un movimiento involuntario (p. ej., resbalar, caer, entre otros) dentro del muestreo de la trayectoria ingresada o que esta se encuentre fuera del espacio de trabajo, el algoritmo de control no las toma en cuenta y se detiene al llegar a su límite de operación; adicional a ello el sistema robótico tiene una seta de emergencia que al accionarla activa los frenos de cada uno de sus motores en caso de que se requiera.
El modelo matemático para el control de movimiento se expone a continuación.
Modelo matemático
El robot industrial PA10 fabricado por Mitsubishi, de siete articulaciones o grados de libertad, tiene la arquitectura que se muestra en la figura 5.
Siguiendo el análisis entre ejes y articulaciones de Dombre y Khalil descrito en [17], se obtiene la tabla de parámetros geométricos (tabla 1). Cabe aclarar que dentro de la tabla de parámetros en mención se cuenta con una octava articulación debido a la distancia RL8 vista en la figura anterior (figura 5), la cual existe entre el eje de la articulación 7 y la terminación del órgano terminal.
Donde j representa el número de la articulación analizada, σj es el tipo de articulación (valor 0 para rotacional o 1 para prismática), αj, θj son los ángulos que dependen de las articulaciones o de la rotación de una articulación rotacional y dj, rj hacen referencia a las distancias entre los ejes de las articulaciones o el desplazamiento de una articulación prismática [18], [19].
Con la ayuda del software para el modelamiento de robots Symoro y la tabla de parámetros del robot (tabla 1), se hallan los modelos dinámicos (MDD, MDI: modelo dinámico directo e inverso) y geométricos (MGD, MGI: modelo geométrico directo e inverso) del robot PA-10. Los modelos dinámicos servirán para simular y controlar el robot, mientras que los modelos geométricos permiten verificar el movimiento de las articulaciones del mecanismo. En especial, el modelo geométrico inverso proporciona los ángulos en los cuales se debe posicionar cada articulación para alcanzar una posición cartesiana deseada. Estos ángulos son:
Siendo q1, q2, q3, q4, q5 y q6 las variables articulares para cada una de las articulaciones del robot PA10 como respuesta a la consigna de movimiento ingresada al sistema. Por otro lado, las variables xc, yc, zc, xm, ym y zm representan las posiciones cartesianas del codo (articulación 3) y la muñeca (articulación 4), mientras que las variables xd, yd y zd son las coordenadas correspondientes al valor deseado o ingresado, en este caso por la consigna de movimiento.
Software de animación
Se construyó la aplicación de la interfaz de usuario para la manipulación virtual y física del prototipo, en el motor gráfico de desarrollo Unity 3D, bajo el lenguaje de programación C# en el compilador Visual Studio 2017. Para iniciar con el funcionamiento de la interfaz (figura 6), se cuenta con un botón para el inicio y el fin de la lectura de datos del dispositivo de captura de gestos, los cuales se verán reflejados tanto en la simulación tridimensional como en brazo real. Cabe aclarar que el movimiento se realiza tanto en el prototipo físico como en el virtual de forma simultánea.
T2Funcionamiento del Sistema
Inicialmente, el usuario coloca en una mesa plana el dispositivo de captura de gestos Leap Motion y, luego, realiza la señal de movimiento con su mano derecha frente al dispositivo mencionado, y genera la consigna de trabajo, como se muestra en la figura 7.
Posteriormente, esta consigna se ingresa al algoritmo de control, el cual internamente se encarga de entregar como respuesta las cuplas para cada uno de los motores de las articulaciones para realizar el movimiento deseado. Esta actividad se replica de principio a fin hasta que el usuario presione la seta de emergencia o se oprima el botón de fin dentro de la interfaz de usuario construida. La estructura física y la representación virtual inicialmente se encuentran en la posición mostrada en la figura 8.
Es de aclarar que dentro del movimiento de la estructura física se realiza un cambio de ejes de movimiento, ya que, como se evidencia en la figura 9, el Leap Motion y la estructura física no cuentan con sus ejes en la misma posición.
Para realizar un seguimiento del robot durante la ejecución de la trayectoria, el sistema cuenta con una función que registra el estado de cada una de las articulaciones del robot y su efector final, obtiene datos como orientación, posición cartesiana del efector final, posición angular de cada una de las articulaciones, entre otras, y permite en este caso el registro en vivo de cada una de las posiciones que lleva a cabo el brazo durante la ejecución de cada una de las trayectorias realizadas.
RESULTADOS
Se realizaron las siguientes pruebas de manipulación del robot PA10 bajo la ejecución de cuatro consignas de movimiento tridimensional (figuras 10, 11, 12 13), las cuales serán ejecutadas por el brazo articulado mediante el seguimiento de la trayectoria ingresada por el efector final del robot.
Una vez ingresadas las consignas con la mano derecha, se obtienen las trayectorias ejecutadas por el brazo robótico en respuesta a dichas consignas. Las siguientes figuras muestran la consigna en color azul versus la trayectoria obtenida en color rojo.
El error cartesiano obtenido para cada una de las cuatro trayectorias se muestra en la figura 14. Se puede notar que la diferencia entre la señal deseada y la señal obtenida no sobrepasa los 5 × 10-3 m en la ejecución de la trayectoria 1 (figura 10), por ejemplo, y que el error promedio para las cuatro pruebas realizadas es de 1,3 × 10-3 m (poco más de 1 mm).
Por otra parte, en la figura 15, se presenta la secuencia de movimiento realizada por el brazo real durante la ejecución de la trayectoria 1 (figura 10). Se puede concluir que los errores obtenidos se deben, principalmente, a la precisión del dispositivo Leap Motion. Además, el factor de escalamiento entre las trayectorias ingresadas y las ejecutadas es un valor que repercute directamente en el desempeño y cálculo de este valor de error.
CONCLUSIONES
Este artículo mostró un sistema que permite manipular un robot PA10 por medio de una interfaz natural. Se desarrolló el modelo matemático de este robot de siete grados de libertad y se simuló su comportamiento utilizando el motor gráfico Unity 3D. Como interfaz natural, se utilizó el dispositivo Leap Motion, el cual permite leer con relativa precisión los movimientos de la mano de un usuario.
Las pruebas realizadas mostraron gran concordancia entre los movimientos de la mano del usuario, con los movimientos del robot en simulación y los movimientos del órgano terminal del robot PA10 real. Se obtuvo un error cuadrático menor del 10 % entre las consignas deseadas y las trayectorias obtenidas.
Los trabajos futuros implementarán este sistema en un ambiente quirúrgico simulado, donde se simule un abdomen humano con sus respectivos orificios de ingreso, para determinar la potencialidad de utilizar interfaces naturales en ciertas etapas de un procedimiento quirúrgico.