• No se han encontrado resultados

La interfaz gráfica fue desarrollada bajo la aplicación que Matlab tiene disponible para realizar este tipo de comunicación entre el usuario y el algoritmo. Ver Figura 35.

La interfaz de usuario mostrada, se divide en cuatro secciones, una de ellas es el panel de control (recuadro 1), en el cual un botón captura la imagen de muestra y la almacena para posteriormente realizar el algoritmo, el otro botón captura de nuevo otra imagen, pero esta vez con los objetos ubicados.

En el panel de botones cuenta con dos de ellos, en los cuales uno inicializa la cámara web y realiza la captura de la imagen de muestra, el otro botón se encarga de calcular todos los parámetros que se necesitan para que el brazo robótico alcance el punto deseado y la identificación de figuras. También dentro del mismo panel se visualizan la cantidad de objetos que se encuentran en el área de trabajo.

Fuente: Autores

68

En el panel de identificación de objetos (recuadro 2), se muestra el resultado de la identificación de forma de los objetos, entre los cuales se encuentran, círculo, triángulo y cuadrado.

Los valores de las articulaciones para cada uno de los objetos se encuentran asociado en la “Uitable” en la cual se mostrarán los valores articulares que el robot deberá adquirir para llegar a un objeto en específico (recuadro 3).

Por último, se mostrará el proceso de la imagen, allí también se mostrarán los cambios que se le realizan a esta imagen a través del algoritmo (recuadro 4).

69

9. PRUEBAS Y RESULTADOS

A continuación, se realizaron unas algunas pruebas para comprobar las restricciones que el algoritmo presenta, sobre todo en la acomodación de los objetos, esto ya de por sí está implícito debido a que por el procesamiento estas restricciones son casi inevitables. En las siguientes figuras se muestra la foto original (color) y la imagen como se presenta al usuario después de realizar el respectivo tratamiento de imágenes.

9.1 RESTRICCIÓN DE OBJETOS

En la Figura 35(a), es presentado el posicionamiento de los objetos de forma que generen un eje central diagonal, adicionalmente se tiene 2 tipos de separación entre los objetos, el primer tipo cuenta con una separación de (3-4cm) entre cada uno de los objetos, para el segundo tipo los elementos se encuentran contiguos.

Es posible observar en la Figura 35(b) el resultado del algoritmo de identificación, donde los marcos verdes representan los objetos identificados. El algoritmo no identifica la presencia de 3 objetos, sólo identifica uno de ellos. Esto debido a que por programación se establece una discriminación de área de los objetos.

En la prueba 2 presentada en la Figura 36, se observa que los elementos tienen la misma forma que la prueba anterior, con la diferencia que todos poseen una separación con respecto al otro. En este caso al algoritmo identifica los 6 objetos por separado, esto se debe a la distancia que existe entre ellos.

70 Figura 34. Prueba 1 (a) (b) Fuente: Autores (a) (b) Fuente: Autores Figura 36. Prueba 2

71

En la Figura 37, se muestra los resultados de la prueba 3, en esta ocasión existe un grupo de objetos en los cuales se encuentran sobre otro, una vez realizado el tratamiento a la imagen, no se logra identificar la sobre posición de los objetos, el algoritmo sólo identifica 4 objetos de los 6 que se posicionaron en un principio (cuadros verdes), mientras que un objeto, el algoritmo lo muestra dentro de un cuadro rojo, el cual será eliminado posteriormente por programación, dejando ese espacio con color negro como el fondo de la imagen.

Esto debido a que la cámara sólo toma las imágenes sobre un plano (2D), otra razón es que el tratamiento se realiza con una imagen a blanco y negro, por ello no se identifica que existen dos objetos sobre otros.

Figura 37 Prueba 3

(a) (b)

Fuente: Autores

En la prueba 4 que se muestra en la Figura 38Figura 38, se observa que la acomodación de los objetos es de forma vertical, se tienen dos grupos de elementos, donde uno de ellos se encuentran los objetos separados, mientras que en el otro se encuentran juntos.

Al igual que la prueba anterior el algoritmo hace caso omiso de algunos objetos, y sólo identifica 4 de ellos, esto debido a que el algoritmo no determina la presencia de los 3 objetos que se encuentran juntos.

72 Figura 38. Prueba 4 (a) (b) Fuente: Autores Figura 39. Prueba 5 (a) (b) Fuente: Autores

73

En la Figura 38Figura 39 se presenta la prueba 5, allí el algoritmo identifica todos los objetos, ya que no se cumple ninguna de las restricciones que se han presentado a lo largo de las pruebas realizadas.

9.2 MANIPULACIÓN DE OBJETOS

En la Figura 40 se mostrará un diagrama de flujo en el cual se explica la metodología que se sigue para realizar el programa del brazo robótico que manipulará los objetos

A continuación, se explicará el proceso que se realizó para la manipulación de los objetos. El primer paso es la ejecución de la interfaz gráfica, con la cual se realiza el procesamiento de imágenes, y posteriormente la cinemática inversa del brazo robótico.

Una vez finalizado este algoritmo, en la interfaz gráfica, se mostrarán los valores para cada una de las articulaciones del robot industrial que este debe adquirir para alcanzar el objeto analizado. Cuando estos valores se muestran, se procede a indexarlos en el algoritmo el cual se programó en el Flexpendant, en la línea de código habilitada para dichos valores, luego se ejecuta dicho programa y el robot se posicionará en el objeto, de esta manera, se realizará el traslado del objeto hacia la otra parte de la mesa.

En la Figura 41 se aprecia la distribución de la zona de trabajo que posee el robot industrial, se pueden identificar dos zonas, una de ellas es en la que se encuentran los objetos distribuidos, allí los objetos serán puestos de manera aleatoria, es decir, sin ningún orden ni acomodación especifica. Una vez ejecutado el algoritmo, e indexados los valores articulares en el Flexpendant, el robot deberá ir en busca de cada uno de los objetos puestos sobre esta zona, en algunas ocasiones y debido a las restricciones mecánicas y del entorno, el robot no podrá alcanzar dicha posición, en este caso, mostrará un mensaje en el cual dirá, que no es posible llegar a tal punto.

74 Fuente: Autores

.

75 Fuente: Autores

Una vez alcanzado el objeto, el robot lo tomará, y lo llevará hacia la otra zona, aquí los objetos serán posicionados de manera que se puede poner en un caso netamente industrial, donde esta etapa sería la de distribución de los objetos, donde se conectaría con otra parte del proceso.

9.3. SIMULACIÓN

Para la comprobación de que el robot industrial realice el movimiento como es debido, es decir, que se dirija a la posición que se requiere sin que sufra ningún tipo de colisión con el entorno o con el mismo, se realiza una simulación de dicho movimiento bajo el software de programación Matlab, también ayudado por el software de simulación CAD SolidWorks, con el debido Plug instalado llamado Simmechanics, este complemento tiene como función importar el archivo CAD al software de programación Matlab.

Se deben realizar los siguientes pasos para la ejecución de la simulación, para ello se mostrarán y se explicarán a continuación:

 Dibujar o descargar el archivo del robot industrial ABB de referencia IRB-120 en SolidWorks, además se deben tener en cuenta todas las restricciones de tipo mecánicas como físicas. Ver Figura 42.

76

 Una vez terminado el diseño del robot, se instala el complemento para Matlab llamado Simmechanics, esto con el fin de importar todo el diseño que se realizó en SolidWorks, de esta manera se obtendrá un modelo de sistema de bloques en el software Simulink tal como se muestra en la Figura 43

 Una vez importado se obtiene el modelo en Simulink más conocido diagrama de bloques, el cual es una representación del robot, en él se muestran sus grados de libertad, sus medidas entre otros.

 Para la manipulación en el diseño del robot, es necesario agregar algunos bloques dispuestos para la realización de dicha tarea, en este caso sólo se implementarán bloques llamados “Joint”. Ver Figura 44.

 El bloque anteriormente mencionado requiere de tres parámetros, uno de ellos es la posición, otro es la velocidad y por último se necesita de la aceleración propia de cada articulación. En este caso la posición se ingresó mediante un bloque de valor constante, pero debido a que la simulación del movimiento era casi imperceptible, se implementó un bloque integrador, y de esta manera el movimiento se podía observar en la simulación. Los valores de los bloques de aceleración y velocidad se asumen como valores constantes. Ver Figura 45.

 Para cada una de las articulaciones se realiza el mismo proceso descrito anteriormente.

 Una vez finalizado el modelo del robot industrial, se ingresan los valores de cada una de las articulaciones, los cuales se muestran como los valores de 𝑄𝑖.

 Paso siguiente es comprobar cada movimiento de las articulaciones del robot.

 Una vez comprobado el funcionamiento de la simulación, se procede a enlazar los programas que se tienen en Matlab, los cuales son: el código de la interfaz gráfica con el de la simulación de simulink, así se podrán realizar las dos acciones, el posicionamiento del robot industrial en físico, y el del robot simulado.

77

Fuente: Modificado de https://grabcad.com/library/robo-abb-irb-120

Fuente: Autores

Figura 43. Modelo del robot ABB en Simulink Figura 42. Modelo CAD Robot ABB

78 Fuente: Autores

Fuente: Autores

9.4. IDENTIFICACIÓN DE FORMAS

En el siguiente apartado, se realizaron diferentes pruebas en las que se muestra el algoritmo como realiza la identificación de las figuras.

En la Figura 46 se muestra la primera prueba, en la cual se toma una foto con todas las figuras primitivas (círculo, cuadrado y triángulo). Se puede observar el resultado en la Figura 46(c) que verdaderamente se muestran estas tres figuras en la tabla de identificación de objetos.

Figura 44. Bloque manipulador

79 Fuente: Autores

En la Figura 47, se muestra la segunda prueba, la cual consiste en la identificación de objetos con diferentes áreas o diferentes tamaños. Se puede observar que el algoritmo es indiferente a esta condición, ya que se muestran las figuras del tamaño que se requieren, como figuras aún más grandes a este tamaño.

En la Figura 48 se realizó una prueba parecida a la anterior, la diferencia es que esta se realizó solamente con cuadrados, de esta manera se puede observar que el algoritmo nuevamente identifica los objetos que en la imagen aparecen.

Fuente: Autores

Figura 46. Detección de formas

80 Fuente: Autores

En la Figura 49 se realiza el tratamiento a figuras triangulares de diferentes tamaños, entre los cuales se encuentran algunos más grandes que otros, sólo que para esta prueba se califican tres de ellos, los demás no aplican ya que son triángulos de área menor a la que se establece en el algoritmo.

Fuente: Autores

Figura 48. Cuadrado grande y pequeño

81

En la Figura 50 se muestra la prueba con una de las luces apagadas, esta vez fue la luz que se encuentra más alejada del área del trabajo, se puede observar que esta luz no es muy relevante para la realización del tratamiento de imágenes, y además se realiza la identificación de objetos de manera correcta.

Fuente: Autores

En la Figura 51 se realizó la prueba anterior, sólo que esta vez se apagó la luz que recae sobre el área de trabajo, se puede notar con esta prueba que algunos de los objetos no se reconocen, ya que el umbral (límite entre blanco y negro) establece estos objetos como parte de la mesa.

Fuente: Autores

Figura 47 Luz incidente sobre el área de trabajo

Figura 50. Luz remota apagada

82

En la Figura 52 se realiza una prueba en la cual se posicionan dos triángulos con diferente acomodación (orientación diferente), como se observa en la identificación de objetos, muestra el resultado que verdaderamente son figuras en forma de triángulo.

Fuente: Autores

En la Figura 53 se muestra la última prueba, en ella se observa que aparece un objeto que no es de forma primitiva (forma de estrella), en la identificación este objeto lo denota como un cuadrado, esto debido a que en la base de datos no se tienen figuras de este tipo, y también porque la correlación muestra un valor más próximo a un cuadrado que por cualquier otra figura.

Fuente: Autores

Figura 52. Triángulos con diferente acomodación

83

En la siguiente Figura 54 se muestra la prueba de diez tomas de la misma imagen, con el fin de conocer la efectividad del algoritmo ante un proceso repetitivo. Se observa en la Tabla 2, que se obtiene una efectividad promedio de acierto del 90%, ya que en algunas de las pruebas el algoritmo no reconoce algunas de sus figuras de manera correcta. Esto se debe a que cuando el algoritmo realiza la búsqueda de figuras en la base de datos, el valor de correlación es más próximo a otra figura que de la verdaderamente deber ser.

Fuente: Autores

Tabla 2. Tabla de resultados

Fuente: Autores

84

Para la realización de la siguiente prueba, Ver Figura 55, se toman las fotos con la luz ambiente, es decir se abren las cortinas que tiene el sitio donde se localiza el robot y además se apaga la luz artificial, en este caso se puede observar en la Tabla 3, que la efectividad promedio acierto baja un poco con respecto a la anterior prueba (83.33%), esto se debe a que la condición de la luz ambiental, genera una luminosidad sobre la mesa de trabajo, de manera que los colores de algunos objetos se pueden combinar con dicha luz, y la cámara lo tomará como si el objeto fuera parte de la mesa.

Fuente: Autores

85 Tabla 3. Resultados Prueba Luz ambiente

Fuente: Autores

En esta prueba que se realizó. Ver Figura 56, se observa una efectividad muy baja de reconocimiento de formas y de posicionamiento del robot sobre el objeto, ver Tabla 4, ya que las condiciones de las dos fotos no fueron las mismas se obtienen estos resultados, se puede notar que el algoritmo identifica formas de más que no debería reconocer y esto se evidencia en el cuadro de identificación de los objetos, donde en las figuras que debería reconocer, las cuales son tres, en este caso reconoce seis. Además, también por razones obvias, se emite un mensaje de que el robot no alcanza el objeto, en promedio son tres de los objetos a los cuales no puede llegar.

Fuente: Autores

86

Tabla 4. Resultados Prueba con diferentes condiciones ambientales

87

Documento similar