Inicio Instrumentación Los robots necesitan vista

Los robots necesitan vista

 

Todos los años, los robots se vuelven menos protagonistas de películas de ciencia ficción y aparecen más arraigados en nuestra vida cotidiana. El campo de la robótica está creciendo y no sólo en las fábricas, sino también en el mercado de consumo. Uno de los principales obstáculos que evita que su crecimiento sea aún mayor es que la mayoría de los robots son todavía ciegos. No tienen o tienen muy poca percepción sobre el entorno que les rodea, que es una habilidad que la mayoría de nosotros damos por hecha en el día a día. Nuestros ojos y nuestro cerebro tienen la capacidad de percibir las cosas cocon características de profundidad, textura y color, todo ello mientras nuestros ojos enfocan y se ajustan constantemente a la luz cuando nos movemos. La visión artificial proporciona a los robots la capacidad de ver y el software de hoy en día ofrece a los robots la capacidad de percibir su entorno, abriendo la puerta a una gama muy amplia de la visión artificial y de las aplicaciones de la robótica.

 

Uno de los usos más comunes de la visión artificial en aplicaciones de robótica es la robótica guiada por visión artificial. Esto se ha utilizado históricamente en las plantas de producción de las fábricas en áreas tales como el montaje y la manipulación de materiales, donde se utiliza una cámara para adquirir una imagen, localizar una parte o destino y  a continuación, enviar las coordenadas al robot para llevar a cabo algún tipo de función, como por ejemplo coger una parte. La adición de visión artificial para aplicaciones tales como éstas permite que la máquina sea más flexible. La misma máquina se puede utilizar para diversas piezas, ya que puede ver cual es la parte con la que está tratando y adaptarse. La extracción de piezas de un cubo es también más fácil, ya que la cámara se utiliza para localizar una parte con una cierta orientación que puede ser manejada por el brazo robótico en medio de un montón del mismo tipo de partes. El beneficio adicional de usar la visión artificial como guía es que las mismas imágenes se pueden utilizar para la inspección en línea de las piezas que se manejan, por lo que no sólo los robots son más flexibles, sino que pueden producir resultados de mayor calidad. Esto también se puede hacer a un costo menor debido a que el sistema de visión artificial puede por ejemplo, detectar, pronosticar y prevenir cosas tales como los atascos. Sin embargo, si se necesita un alto grado de precisión en el movimiento, los componentes tales como la cámara o el sistema de movimiento pueden ser muy costosos, ya que muchos sistemas de visión robótica guiada utilizan una sola imagen en el comienzo de la tarea sin ninguna regeneración posterior. La utilización de una técnica llamada de servo control visual resuelve este reto, ya que una cámara fijada en el robot o cercana a él proporciona una información visual continua para corregir pequeños errores en los movimientos. Mientras que el uso de la visión artificial robótica es común en las aplicaciones industriales, se está convirtiendo cada vez más común en el espacio embebido. Un ejemplo de crecimiento tiene lugar en el campo de la robótica móvil. Los robots están saliendo de la fábrica y se están introduciendo día a día en muchos de los aspectos de nuestras vidas, desde los robots de servicio que deambulan por los pasillos de los hospitales locales a los tractores autónomos que aran los campos. Casi todos los robots móviles autónomos requieren capacidades sofisticadas de tratamiento de imágenes, desde la evitación de obstáculos a la localización visual simultánea y el mapeo. En la próxima década, el número de sistemas de visión artificial utilizados por los robots autónomos deberían eclipsar el número de sistemas utilizados por los brazos robóticos de base fija.

 

Una tendencia creciente que puede ayudar a que los robots perciban mejor aún su entorno es la visión 3D. La tecnología de tratamiento de imágenes en 3D ha recorrido un largo camino desde sus raíces en los laboratorios de investigación académica y gracias a las innovaciones en sensores, iluminación y lo más importante, al tratamiento integrado, la visión en 3D está apareciendo ahora en una gran variedad de aplicaciones, desde la extracción de una parte mezclada con otras varias del mismo tipo mediante visión robótica guiada a la metrología de alta precisión de la robótica móvil. La última generación de procesadores puede manejar ahora los enormes conjuntos de datos y los sofisticados algoritmos necesarios para extraer información de la profundidad y tomar decisiones rápidamente. Los robots móviles utilizan la información de la profundidad para medir el tamaño y la distancia de los obstáculos para planificar la trayectoria exacta y evitar los obstáculos. Los sistemas de visión estereoscópica pueden proporcionar una amplia información en 3D para las aplicaciones de navegación y funcionar bien incluso en condiciones cambiantes de luz. La visión estereoscópica utiliza dos o más cámaras separadas entre si, pero que miran al mismo objeto. Mediante la comparación de las dos imágenes, la información de disparidad y profundidad se puede calcular a partir de la información 3D obtenida.

 

Aunque el aumento del rendimiento de los procesadores embebidos ha permitido la aparición de algoritmos para usos tales como la visión artificial en 3D de la robótica, aún existe una amplia gama de aplicaciones que requieren aún más prestaciones. Un ejemplo es el campo de la medicina, donde la cirugía robótica y el control del láser están estrechamente sincronizados con el tratamiento de las imágenes. En el caso de estos tipos de aplicaciones de visión artificial de alto rendimiento se utilizan FPGAs (Field Programmable Gate Arrays) para el pretratamiento de las imágenes o se usa la información de la imagen como realimentación para las aplicaciones de control de alta velocidad. Las FPGAs son muy adecuadas para los algoritmos de procesamiento de imágenes altamente deterministas y de tipo paralelo y que sincronizan estrechamente los resultados del procesamiento con un sistema de movimiento o robótico. Hay ejemplos de utilización en el campo de la medicina, tales como las operaciones de cirugía ocular con láser, donde los ligeros movimientos en el ojo del paciente son detectados por la cámara y se utilizan como retroalimentación para el auto-enfoque del sistema a elevada velocidad. Las FPGAs pueden ayudar también en aplicaciones tales como vigilancia, robótica y automoción mediante la realización de análisis de partículas y seguimiento de alta velocidad.

 

La combinación de la robótica y la visión artificial suponen un reto significativo de software. Estos sistemas pueden llegar a ser bastante complejos. Utilizando el ejemplo de un robot móvil dotado de un brazo robótico industrial para automatizar el reabastecimiento de combustible a los aviones. Aquí no sólo tenemos los sistemas del robot y de la visión artificial, sino también los sensores, los motores para las ruedas, los neumáticos potenciales y los sistemas de seguridad. Incluso con este ejemplo es posible que se esté obligado a utilizar lenguajes propios, protocolos e incluso entornos de desarrollo que no se extienden entre los distintos subsistemas. El software debe ser el nexo de unión entre los aparatos eléctricos y mecánicos, pero a menudo al arquitecto le puede llevar más tiempo la comunicación entre los paquetes de software y los protocolos de comunicación que el IP a ejecutar realmente la tarea que se quería lograr en el primer lugar. Se necesita un lenguaje de programación de alto nivel para simplificar la complejidad del software en un único entorno. Uno de esos lenguajes es LabVIEW, que combina la visión, el movimiento, la FPGA, la comunicación de E/S y el resto de las necesidades de programación en un entorno de desarrollo gráfico. Este tipo de herramienta de alto nivel incorpora todos los subsistemas necesarios, mientras que el mantenimiento de una arquitectura escalable, que será cada vez más importante en tanto que las aplicaciones de visión artificial y de robótica se vuelven cada vez más complejas.