CHAPTER 3 RESEARCH METHODOLOGY
3.4 Data Sources
Un método alternativo que permite realizar el desplazamiento de robot asistencial teniendo en cuenta posibles colisiones, se plantea mediante la red CNN desarrollada en la sección 3.5.3, la cual opera en función a la distancia de reconocimiento del objeto. Para el caso, ahora se empleará el modelo cinemático inverso, debido a que el algoritmo de desplazamiento cambia en función a puntos en el espacio y no como en el caso anterior que el método de optimización entregaba directamente los ángulos deseados. Se emplea una cámara que visualiza el área de interacción, en la cual se identifica la herramienta y la mano del usuario, mediante el entrenamiento de redes neuronales convolucionales independientes, para el caso se mantiene la red paralela desarrollada para las herramientas y se diseña la de la mano. En la figura 5.4 se puede apreciar un esquema del entorno de la aplicación, la herramienta, el brazo robótico y la mano del usuario, todo en una misma área.
Figura5.4: Entorno del algoritmo anticolisión.
La figura5.5 ilustra un ejemplo de la base de datos empleada para la clasificación de la mano, las redes empleadas solo tienen dos clases, mano o no mano. Para la clase mano se emplean 100 imágenes de esta, tanto palma arriba como palma abajo, por cada uno de los cuatro niveles de profundidad. Para la clase no mano se emplean 1000 imágenes que implican las herramientas y el fondo de la aplicación. Se obtienen las cuatro redes que se ilustran en el cuadro 5.9.
5. Robótica asistente mediante aprendizaje profundo 63
Tabla5.9: Arquitecturas de red para la mano.
Capa RED 20 RED 40 RED 60 RED 80
F S Nf F S Nf F S Nf F S Nf Convolución 8 1 20 4 1 20 4 1 30 4 1 40 Convolución - - - 4 2 30 4 2 40 MaxPooling 2 2 - 2 2 - 2 2 - 2 2 - Convolución 5 1 50 5 1 40 5 1 50 5 1 80 MaxPooling 2 2 - 2 2 - 2 2 - 2 2 - Convolución - - - 4 1 180 4 1 200 4 1 200 MaxPooling - - - 10 2 - 3 2 - 3 2 - Fully-connected 1 2 1 2 1 2 1 2 Softmax 2 2 2 2
Figura5.5: Base de datos en profundidad para la mano.
A continuación, se exponen las características del brazo robótico asistencial de prueba empleado, el cual se encarga de recoger la herramienta y entregarla en la mano del usuario evitando colisionar con este. Los movimientos de desplazamiento se basan en la ubicación espacial de la mano, ubicación obtenida mediante el reconocimiento por CNN en función al centro del recuadro de detección y de la ubicación de la herramienta por la misma técnica, de forma que se establece un vector de orientación del movimiento de la mano, que pueda obstruir una trayectoria directa de desplazamiento del robot hacia la herramienta. En función a este vector se determina el desplazamiento del brazo, para lo cual se requiere implementar la cinemática inversa del mismo. En la figura 5.6 se puede observar el modelo geométrico que permite inferir las ecuaciones mediante las cuales se logra establecer los movimientos angulares del robot.
5. Robótica asistente mediante aprendizaje profundo 64
Figura5.6: Cinemática inversa.
Con la vista superior se obtiene el ángulo de la articulación 1 y la componente enX0 del puntoP del
efector final, como sigue
P x0=pP2 z +Px2 (5.8) y θ1=tan−1 Pz Px . (5.9)
Mediante la vista frontal se obtiene el ángulo de las articulaciones 2 y 3, calculando así la longitudd,
y los ángulos alfa, determinando así el ángulo de la articulación 3, como sigue
d= q (Py−L1)2+Px02, (5.10) d2=L22+L32+ 2L2L3cosθ3, (5.11) cosθ3= d2−L2 2−L23 2L2L3 , (5.12) sinθ3=± p 1−cos2θ 3, (5.13) y θ3=tan−1 ±p 4L2 2L23+d4+L42+L43 d2−L2 2−L23 . (5.14)
El ángulo de la articulación 2 se calcula medio de las variables alfa y beta, teniendo presente que el ángulo de la segunda articulación puede tener dos valores diferentes, según el agarre del manipulador empleando codo arriba o codo abajo, obteniendo:
α=tan−1Py−L1 P0 x , (5.15) L23=L22+d2−2L2dcosβ, (5.16) β=cos−1L 2 2+d2−2L23 2L2d , (5.17)
5. Robótica asistente mediante aprendizaje profundo 65 y θ2= ( α− α+ |β|, |β|. (5.18)
Como se mencionó, se requiere implementar una nueva arquitectura neuronal del tipo convolucional, orientada a la detección de la mano del usuario. Para el caso, se presenta el entrenamiento para la detección de la mano abierta del usuario. La tabla 5.10 resume la arquitectura final empleada para la red CNN.
Tabla5.10: Arquitectura CNN para detección de la mano.
CAPA NUCLEO Input 64x64x3 Convolution/RELU 4 20 Convolution/RELU 4 20 MaxPooling 2 Convolution/RELU 5 50 Convolution/RELU 5 50 MaxPooling 2 Convolution/RELU 4 200 MaxPooling 3
La figura 5.7 muestra el resultado de reconocimiento de la herramienta y de la mano, en función de las cuales se localiza su centroide para ser empleado como punto de referencia espacial en un entorno virtual de simulación mediante MATLAB.
Figura5.7: Resultado de la clasificación.
Para generar el desplazamiento del brazo robótico en función al punto objetivo (que es la herramienta) y buscando no colisionar con la mano de un usuario dentro del área de trabajo, se establecen como puntos característicos dos centros de referencia, el correspondiente a la herramienta, el cual es estático y el correspondiente a la mano del usuario, el cual es dinámico. De esta forma, se implementa un vector direccional del desplazamiento de la mano en función de la herramienta (ver figura 5.8). Dado que el
5. Robótica asistente mediante aprendizaje profundo 66
brazo robótico por defecto busca un desplazamiento espacial directo, mediante su cinemática desde un punto del espacio a otro, se genera una desviación de trayectoria en torno a la diferencia entre la distancia mano – herramienta.
Figura5.8: Vector direccional de la mano.
El algoritmo que evita la colisión opera en relación a: determinar la posición de la herramienta como punto de referencia, en función a este punto se desplaza el efector final del brazo robot, con el objetivo de alcanzarlo en trayectoria directa. Al detectar una mano evalúa su vector direccional y lo suma al desplazamiento en el plano paralelo al de soporte de la herramienta. Desde este nuevo punto se recalcula la ubicación del punto de referencia y se genera el nuevo desplazamiento por trayectoria directa hacia la herramienta.
La figura 5.9 ilustra el entorno de simulación, la línea roja representa la trayectoria del punto terminal (gripper) del brazo robótico, la herramienta es simulada por el rectángulo azul, mientras que la mano del usuario es representada por el rectángulo rojo, las ubicaciones de la mano y la herramienta son obtenidas desde la detección de cada una mediante las CNN. Como se mencionó, la mano se vuelve un obstáculo dinámico, cuya simulación varía la posición del plano que representa la mano, en función al centroide de la detección. La figura 5.9 presenta el caso ideal en el que el brazo robótico se mueve hacia la herramienta estando la mano estática sin obstruir el camino del brazo. El desplazamiento del brazo se realiza en función a la cinemática inversa descrita, buscando alcanzar el puntoP, correspondiente
5. Robótica asistente mediante aprendizaje profundo 67
Figura 5.9: Simulación desplazamiento sin obstrucción de usuario.
La figura 5.10 ilustra la simulación de una trayectoria que evidencia el comportamiento del algoritmo para evitar la colisión. Al ser detectada la mano a la izquierda del punto de referencia de la herramienta, la distancia de desplazamiento será incremental, si queda sobre la herramienta se detiene el movimiento del brazo y si es detectada a la derecha, el movimiento será decremental. El esquema simula un desplazamiento constante de la mano enz y enx, variando desde y=-100 hasta y=100, punto en el
que el brazo se mueve desde el mismo punto de inicio eny, hacia la izquierda tratando de buscar un
punto de bajada hacia la herramienta, hasta que la mano se detiene, baja y no encuentra ángulos que le permitan agarra el objeto desde la posición final estática de la mano, se desplaza nuevamente a la izquierda y al no poder bajar sube a la distancia inicial enz para finalizar su desplazamiento.
Figura5.10: Simulación desplazamiento para evasión de usuario.
Al realizar diferentes simulaciones respecto a la incursión de la mano del usuario en el área de trabajo del robot, se observa la acción de evasión respecto al acercamiento del brazo robótico, la tabla 5.11 ilustra el comportamiento de la variación de distancia frente al acercamiento del efector del robot. Se evidencia que el algoritmo trata de llevar el efector final hasta la herramienta (ítem 1 a 3), pero al encontrar un obstáculo (ítem 4 y 5) conserva la distancia en z y se desplaza lateralmente (en x)
5. Robótica asistente mediante aprendizaje profundo 68
Tabla5.11: Evasión de colisión.
Dist Man-Herr Dist z efect Dist x efect
1 120 150 0
2 60 110 50
3 40 80 75
4 25 50 100
5 5 50 120
La figura 5.11 ilustra un caso en el que la mano está estática junto a la herramienta, el brazo robótico inicia un desplazamiento pronunciado en el eje z hasta ver la mano, gira hacia la herramienta en trayectoria recta con leves desplazamientos en z para acercarse al punto objetivo, nuevamente supera la mano y ve la opción de bajar hasta la herramienta con un desplazamiento pronunciado en el eje z. Dado que al desplazarse en z hacia la herramienta viola la zona o espacio de seguridad, el algoritmo no genera más movimiento.
Figura5.11: Trayectoria de evasión.