• Email info@mottus.es
  • Teléfono 622 534 056
Mottus

Visión Artificial con Robot ABB

Hola a todos, hoy traemos una aplicación de ejemplo en la que unimos los mundos de la robótica y la visión artificial.

La aplicación consiste en dibujar a mano sobre una superficie plana unas figuras con la forma que deseemos y el robot deberá realizar un trabajo dentro de la superficie delimitada por dichas figuras. En este caso pintaremos la zona interior.

Blog de Automatización y Robótica
vision artificial con robot abb

Es el momento de elegir los equipos:

En lo que corresponde a la parte de robótica hemos utilizado un robot de la marca ABB y modelo IRB120. Este es el robot industrial multiusos más pequeño que posee ABB, el cual pesa 25Kg, puede manipular hasta 3Kg sin ningún problema y tiene un alcance de 580mm. Hay que decir que existe una nueva versión de este modelo, el IRB120T, que ha sido mejorado en precisión y velocidad para tareas muy exigentes.

Visión Artificial con Robot ABB

En lo referente a Visión hemos decidido utilizar una cámara de la marca IDS, modelo uEye-5490SE con una resolución de 3840×2748 píxeles. Además contamos con una óptica de 8mm de distancia focal. Estos elementos se han instalado en el techo de forma fija, ya que con la distancia a la que se encuentran de la superficie de medición y las dimensiones de esta, obtenemos una precisión de 1mm/pixel aproximadamente, suficiente para nuestro ejemplo. En el caso de no ser suficiente podría incluso embarcarse la cámara en el robot, para hacer inspecciones de áreas muy concretas.

Es importante la selección de la óptica para nuestra cámara, para ello lo principal que debemos conocer es la distancia focal de la lente que necesitamos para nuestra aplicación.

Para ello podemos echar un vistazo a la siguiente ilustración:

vision artificial con robot abb grafico formula

Definamos los términos que aparecen en ella:

P = tamaño real del objeto
p = tamaño del objeto en la imagen (esto dependerá del tamaño del sensor de la cámara)
u = distancia del objeto a la óptica
f = distancia focal de la lente

Si definimos M = p/P como factor de magnificación podemos calcular la distancia focal así:

vision artificial con robot abb formula

Una vez elegida la cámara y la óptica viene la parte interesante, la programación. Esta cámara no es una cámara inteligente y no analiza las imágenes que captura. ¿Qué recibimos entonces de la cámara? Pues básicamente una matriz de valores comprendidos entre 0 y 255 (trabajamos con imágenes de 8 bits) y de dimensiones 3840 columnas, 2748 filas y 3 capas. Este es nuestro objeto a analizar.
Para dicha tarea utilizaremos un lenguaje de programación tal como Python, C++ o C#. En este caso hemos utilizado C++ por la rapidez que ofrece, ya que nuestro objeto a analizar ¡es una imagen de 20Mb!
Cabe destacar que realizar un proyecto de estas exigencias sin la ayuda de librerías como OpenCV sería inviable, y es por eso que haremos uso de ella.

Robótica Colaborativa y Visión Artificial

En su página web https://opencv.org/ podéis encontrar instrucciones, manuales y ejemplos de aplicaciones muy interesantes. Cabe destacar que OpenCV es totalmente gratuito, de código abierto, y con una comunidad activa enorme.

Finalmente con ayuda de esta librería y nuestros conocimientos de visión por ordenador y programación conseguiremos obtener la solución a nuestro problema. ¿Que cuál es esa solución? Pues ni más ni menos que unas coordenadas cartesianas bidimensionales, vamos, lo que vendría a ser un punto en un gráfico. Y este punto es al que debe dirigirse el robot.

Sin embargo, no basta con un sólo punto, como podéis imaginar, la cantidad de puntos es variable y depende del área dibujada y de la precisión de la trayectoria que necesitemos. Es decir, podemos tener miles y miles de puntos para ejecutar con el robot.

Aunque no basta con ejecutarlos, antes de nada hay que comunicarle todos estos puntos al robot, y hay que hacerlo sin que se quede esperando a un nuevo punto. Para esta tarea tenemos varias opciones, entre ellas podemos utilizar un Socket, podemos comunicar a través de FTP o bien pasarle la información a un autómata (PLC) y comunicar con el robot por medio de protocolos de comunicación industriales. ¡Al gusto!

Una vez cocinado todo, el resultado es el que podéis ver en el vídeo.

¡Espero que os guste!

Deja una respuesta :

* Your email address will not be published.