Vista previa del material en texto
NAVEGACIÓN DE UN ROBOT MOVIL MEDIANTE VISION ARTIFICIAL NAVEGACIÓN DE UN ROBOT MÓVIL MEDIANTE VISIÓN ARTIFICIAL Ing. Hernando González Acevedo, Ing. Mauro Baquero Suárez, Ing. José Carlos Cudris Cantillo hernando_gonza@hotmail.com, mauro_baquero@hotmail.com, jcudris@hotmail.com Abstract — This paper presents algorithms for colors recognition, figure recognition and path planning for robot mobile using probabilistic neural network (PNN), backpropagation neural network and radial basis neural network. Index Terms — Artificial vision, RBF Neural Nets, PNN Neural Nets, Backpropagation Neural Nets, Mobile robots. I. INTRODUCCION Cualquier robot diseñado para moverse en un entorno desconocido necesita ser dotado de múltiples sensores, adaptando a su vez diversas estrategias de control, con capacidad de procesar información procedente del exterior, que le permitan cumplir con la tarea propuesta sin colisionar. Una alternativa utilizada actualmente para la navegación de robots móviles son los sistemas de procesamiento digital de imágenes, como los presentados en los trabajos [1] [2] [9]. Para la detección y reconocimiento de objetos en el espacio de trabajo, estos sistemas de percepción le permiten al robot tener un grado de autonomía mayor y le ayudan en la toma de decisiones que dependen del medio físico, el problema es que son muy sensibles a los cambios de iluminación y requieren que los algoritmos de filtrado, detección, segmentación y reconocimiento sean ajustados según las condiciones del entorno donde se quiera experimentar. Se han desarrollado métodos para la planeación de trayectorias basados en algoritmos de grafos de visibilidad [3], en donde se utiliza un algoritmo de persecución pura para el seguimiento de caminos lo que causa que se deba hacer un modelo cinemático del robot antes de ser implementado. Cada vez que se quiera introducir un nuevo robot, a este se le debe hacer el modelo cinemático correspondiente y luego modificar los algoritmos de control y seguimiento de trayectorias. Sistemas más avanzados de inteligencia artificial implementan técnicas basadas en lógica fuzzy y redes neuronales [4] [5] [9], donde la arquitectura de control se encarga de maniobrar el robot, que sin conocimiento previo del mapa del entorno va generando un mapa de celdillas. Para cada celda en el mapa, hay asociado dos valores: el grado de certeza de que la celda esté vacía y el grado de certeza de que la celda esté ocupada. Al mismo tiempo se extraen rectas modelando las paredes, que son empleadas para la estimación de la posición del robot. Uno de los problemas en las pruebas de los métodos es la obtención de las medidas de los sensores. Sobre todo en el caso del entrenamiento de la red neuronal en el que se tienen que conocer las medidas reales al mismo tiempo que las características de los sensores. La adquisición de datos se hace entonces una tarea tediosa y lenta. En el artículo se propone una de las formas en que se puede localizar un robot móvil y controlar su locomoción para evadir los obstáculos presentes en su entorno. La investigación está basada principalmente en la visión artificial por computador, para manipular las imágenes de un entorno, digitalizadas por medio de una cámara Web. Para extraer la información más elemental subyacente se desarrollaron algoritmos para la segmentación y reconocimiento de formas y colores de figuras planas. Utilizando métodos de aprendizaje a partir de redes neuronales a las cuales se les asigna como parámetros de entrada un conjunto de valores numéricos que son el resultado de diferentes propiedades de forma y color de las figuras analizadas (círculos, cuadrados, triángulos, rectángulos). Luego de identificar todas las figuras se genera la trayectoria que el robot debe seguir para desplazarse de un punto a otro. La generación de la trayectoria es realizada por una red neuronal previamente entrenada, que toma decisiones dependiendo del estado del entorno a su alrededor y de la ubicación del punto de llegada y la orientación del robot para evadir los obstáculos. II. ROBOT SAV Para los propósitos del trabajo se ha construido un robot con piezas técnicas lego de 14cm de largo, 15cm de alto y 11cm de ancho, denominado SAV (figura 1). El mecanismo de locomoción implementado es del tipo triciclo con sistema diferencial. Los movimientos del robot se realizan mediante dos servomotores a los cuales se les ha provisto de un sistema de encoder que permite controlar sus mailto:hernando_gonza@hotmail.com mailto:mauro_baquero@hotmail.com mailto:jcudris@hotmail.com NAVEGACIÓN DE UN ROBOT MOVIL MEDIANTE VISION ARTIFICIAL movimientos. En su parte superior lleva una figura en forma de lágrima de color fucsia con fondo blanco, la cual le sirve al algoritmo de control y seguimiento de trayectorias conocer la posición y orientación actual del robot. SAV se desplaza sobre un entorno, que abarca un área de 1.20m de ancho por 1.80m de largo, pintada de color blanco, en el se encuentran distribuidas de forma aleatoria, figuras planas de diferentes tamaños con forma circular, cuadrada, triangular o rectangular, de color rojo, verde, azul o amarillo. El escenario lo complementa una cámara WEB ubicada a una altura de 1.80m, que captura imágenes a una velocidad de 15 cuadros por segundo, con una resolución de 640x480 píxeles, y un sistema de comunicación inalámbrico, utilizando los dispositivos TLP434 y RLP434, que están ajustados a una frecuencia fija de fábrica de 433,92MHz. El escenario se ilumina con luz blanca fluorescente, uniformemente distribuida, de tal forma que se presente la menor cantidad de ruido y sombras posibles en la imagen. Figura 1. Robot SAV La interfaz gráfica se desarrollo en el entorno de MATLAB 7.0, en ella el algoritmo reconoce y ubica automáticamente la posición y orientación actual de SAV y de una figura que selecciona el usuario, posteriormente genera la trayectoria que debe seguir el móvil con el fin de -que llegue al mismo punto que se encuentra la figura sin colisionar. Figura 2. Escenario de trabajo III. RECONOCIMIENTO DE COLORES El uso del color en la visión artificial está motivado por dos factores principales. En primer lugar, el color es un potente descriptor que a menudo simplifica la identificación y extracción de objetos de una escena. En segundo lugar, el ojo humano puede distinguir una amplia gama de colores comparado con los niveles de grises. Para facilitar la especificación de los colores de manera estándar se han trabajado modelos como el RGB, donde cada color aparece en sus componentes espectrales primarias: rojo (R), verde (G) y azul (B). Otro sistema es el HSV, el cual está compuesto por tres componentes que son matiz (H), saturación (S) e intensidad (V). El matiz es un atributo asociado con la longitud de onda dominante en la mezcla de diferentes longitudes de onda de luz, la componente de saturación es inversamente proporcional a la cantidad de luz blanca presente en la imagen y la intensidad mide el grado de luminosidad. Una de las mayores dificultades de muchas tareas de visión es adaptar el sistema automáticamente a los cambios de iluminación. La imagen capturada por la cámara web presenta un alto contenido de ruido y sombras (Fig. 3a) que pueden afectar los resultados de las etapas de segmentación, binarización y reconocimiento de forma, por lo tanto se realizó una etapa de preprocesamiento en la cual los colores de la imagen son ajustados, para tal fin se realiza una conversión del espacio RGB al espacio HSV. La componente de intensidad (V) se homogeniza con un valor de 0.9 para eliminar el efecto de la sombra. El ruido se minimiza modificando la componente de saturación,niveles inferiores a 0.2 se igualan a cero y valores mayores se igualan a 0.6. La componente de matiz (H) no se modifica porque esta contiene la información del color. Después de realizar este proceso, se transforma la imagen al espacio RGB (Fig. 3b). a) b) Figura 3. Procesamiento Digital a) Imagen Original, b) Imagen Filtrada Para seleccionar las figuras presentes en el escenario de trabajo que compartan el mismo color, se entrenó una red probabilística PNN [4], utilizando el comando newpnn de la toolbox de MATLAB. Para su entrenamiento se utilizó como dato de entrada un vector constituido por una paleta de 256 niveles de color y la salida es un vector de igual tamaño, con valores de cero y uno, donde un uno representa la posición correspondiente al nivel de color que se quiere reconocer y un cero lo que se desea descartar (figura 4). Se debe tener mucho cuidado al seleccionar el valor del parámetro spread del comando newpnn, el cual depende de las características del entorno en el que se esté trabajando como son, el tipo de iluminación e intensidad de los colores que serán segmentados. NAVEGACIÓN DE UN ROBOT MOVIL MEDIANTE VISION ARTIFICIAL Figura 4. Datos de entrenamiento para una red PNN Para observar los efectos causados por la iluminación sobre la segmentación de los colores se tomaron imágenes con luz natural y luz amarilla producida por bombillas de 100 Watts. En el primer caso (Fig. 5) se observa que la técnica implementada bajo esta condición no responde de forma óptima, ya que no identifica el color verde. El problema se centra en la etapa de filtrado, debido al alto contenido de luz blanca la figura de color verde toma una tonalidad cercana al nivel de gris, y al realizar las modificaciones en el espacio HSV se elimina, pero se resalta que la red responde de forma adecuada para los demás colores: rojo, azul y amarillo a) b) Figura 5. Iluminación con Luz Natural, a) Imagen original, b) Imagen Segmentada En el segundo caso, debido al tipo de luz que se tiene se percibe un cambio en el color de las figuras en la imagen captada por la cámara web, el verde toma una tonalidad cercana al azul y el amarillo se acerca al color naranja; al pasarla por el filtro este comportamiento se resalta y la red PNN no va responder de forma satisfactoria (Fig. 6) a) b) Figura 6. Iluminación con Luz Amarilla, a) Imagen original, b) Imagen Segmentada IV. RECONOCIMIENTO DE FORMAS La función de los algoritmos de reconocimiento es detectar e identificar cada objeto segmentado de una escena y asignarle una etiqueta. Una limitante en la mayoría de los sistemas de visión, es que los niveles de reconocimiento trabajan objetos que suponen que han sido segmentados como unidades individuales. Otra limitación común es que las imágenes se deben tomar con una geometría de visión conocida, a menudo perpendicular al espacio. Esto hace que disminuya la diversidad de características de forma, simplificando la segmentación y la descripción, reduciendo a su vez las posibilidades de ocultación de detalles en las imágenes. El problema de la descripción se centra en extraer características de un objeto para reconocerlo. Por lo general, los descriptores deben ser independientes del tamaño, la localización y orientación del objeto, además deben contener suficiente información de discriminación para distinguir un objeto de otro [7] [8]. En esta etapa lo que se hace básicamente, es reducir la tarea de descripción de una imagen en dos dimensiones a la descripción de una función unidimensional por medio de la signatura de las figuras, que es una representación funcional unidimensional de un borde a la cual se le extraen propiedades características (Fig. 7) como son los coeficientes de Fourier aplicando el algoritmo de la FFT, parámetros topológicos como la redondez, compacidad y excentricidad y otros datos estadísticos como el valor medio, la media aritmética, media geométrica, media armónica, desviación estándar y la mediana. Figura 7. Descriptores de forma para un rectángulo Los datos extraídos de la signatura son introducidos a una red backpropagation [7] [8] previamente entrenada con un número de 76 figuras planas en las que se encuentran 20 cuadrados, 16 círculos, 24 triángulos y 16 rectángulos, en diferentes tamaños y orientación. El vector de salida se construye asignándole a cada figura un número que la identifique, donde un uno representa un cuadrado, un dos un rectángulo, el tres es un círculo y el cuatro un triángulo. Con el fin de validar la efectividad de la metodología utilizada para el reconocimiento de formas, se analizó el comportamiento de la red, con una imagen en la cual se encuentran figuras superpuestas de diferente color y forma (fig.8). Para los tres casos el sistema responde de forma NAVEGACIÓN DE UN ROBOT MOVIL MEDIANTE VISION ARTIFICIAL adecuada, los resultados erróneos se presentan en figuras con dimensiones inferiores a 5cm en sus lados, debido a la resolución que tiene la cámara, que elimina el detalle de los bordes y esquinas en cada figura, aproximando, por ejemplo, un cuadrado a un círculo. En el caso que se unan dos figuras del mismo color, la red la aproxima a una de las cuatro figuras que se utilizaron para el entrenamiento, ya que las toma como un solo objeto. V. GENERACION DE TRAYECTORIAS Se define navegación como la metodología que permite guiar el curso de un robot a través de un entorno con obstáculos. Existen diversos esquemas, pero todos ellos presentan en común como objetivo llevar el vehículo a su destino de forma segura. La capacidad de reacción ante situaciones inesperadas debe ser la principal cualidad para desenvolverse, de modo eficaz, en diferentes entornos. Las tareas involucradas en la navegación de un robot móvil son: la percepción del entorno a través de sus sensores, de modo que le permita crear una abstracción del mundo; la planificación o generación de una trayectoria libre de obstáculos, para alcanzar el punto destino seleccionado; y el guiado del vehículo a través de la referencia construida. Para la generación de una trayectoria se necesita un sistema de referencia con el fin de conocer la orientación del robot y un planificador que permita unir mediante submetas el punto de inicio y el punto de llegada utilizando alguna metodología o estrategia. a) b) . Figura 8b. Reconocimiento de Forma. a) Figuras unidas de diferente color b) Figuras unidas de un mismo color Para la planeación de la trayectoria sobre el espacio de trabajo, el algoritmo genera una cuadrícula de 40x40 pixeles, sobre la imagen capturada. La orientación se determina segmentando el color fucsia de la figura en forma de lágrima (Fig. 9) que se encuentra en la parte superior de SAV, utilizando la red PNN, luego se calcula el centroide y se toma una línea recta entre este y el píxel más lejano del borde. La orientación es el ángulo que existe entre la línea y el eje x del sistema de coordenadas general. El ángulo entre SAV y la meta sigue un sistema de brújula; el ángulo se calcula con la ecuación (1), para un rango entre -180º a 180º, )45/)(atan2( rm rm xx yy round [1] Donde, (xm, ym) es la ubicación de la meta y (xr, yr) la ubicación actual del robot, con respecto al sistema de referencia. El ángulo se discretiza en pasos de cuarenta y cinco grados, obteniendo ocho valores posibles. Figura 9. Orientación de SAV La trayectoria se genera utilizando redes neuronales de base radial (RBF) [7]. El entrenamiento se realizó con 1224 casos equivalentes a 153 diferentes ubicaciones de obstáculos alrededor del móvil, para las ocho diferentesorientaciones de la meta. Algunos casos de entrenamiento se observan en la figura 10, donde el cuadro fucsia representa la ubicación del móvil y color gris la presencia de un obstáculo. Fig. 10 Casos de Entrenamiento para una red RBF NAVEGACIÓN DE UN ROBOT MOVIL MEDIANTE VISION ARTIFICIAL La red RBF se entrena con el comando newrbe de la Toolbox de MATLAB. Los datos de entrada corresponden a un vector de 10 posiciones, donde los primeros nueve elementos indican si existe un obstáculo alrededor de la posición central y el décimo elemento el ángulo discretizado. La salida de la red es el incremento en los ejes x, y del sistema de coordenadas, relativo a la posición del robot, los valores pueden ser -1, 0 ó 1 para cada uno de los ejes. En la figura 11 se observan los resultados del algoritmos para dos escenarios de diferente complejidad. El número de objetos presentes en el escenario no debe ser mayor de ocho, incluyendo el robot y la figura que desea localizar, ya que la red responde de manera ineficiente y no se encuentra salida entre objetos muy cercanos. La trayectoria se descarga punto a punto al robot, y continuamente se captura una imagen para actualizar la posición y orientación de SAV y así poder corregir los errores debido a deslizamiento de las llantas, imprecisión en el sistema de encoder o errores de redondeo. a) b) Fig. 11 Resultados de la simulación del generador de trayectorias VI. CONCLUSIONES Los diferentes tipos de iluminación sobre el escenario afectan directamente los algoritmos de reconocimiento de color y forma, debido a que la etapa previa de acondicionamiento de la imagen no genera los resultados esperados, por ejemplo, en imágenes con demasiada iluminación no es conveniente homogenizar la componente de intensidad, ya que esto ocasiona que la imagen se haga muy brillante y la saturación de los colores disminuya y sean eliminadas algunas de las figuras, por lo tanto, se hace necesario desarrollar filtros adaptativos que permitan fijar los parámetros al tipo de iluminación presente en ese instante, lo cual daría mayor capacidad al robot para desplazarse en ambientes no controlados como sería un terreno abierto. Debido a que el reconocimiento de formas depende directamente al algoritmo de segmentación de colores, al presentarse problemas en las condiciones de iluminación no se identificarían de forma clara los bordes de las figuras, generándose datos erróneos en los descriptores de forma utilizados. Una buena solución para este problema sería realizar algoritmos de segmentación y reconocimiento totalmente independientes. Por otro lado, se deben tener en cuenta todas las características mecánicas del robot a la hora de desarrollar los algoritmos de control y locomoción para el seguimiento de la trayectoria generada, porque la imprecisión de sus movimientos podría afectar de forma considerable su desplazamiento. Es muy importante que las características del robot móvil estén fundamentadas bajo un buen diseño mecánico. También habría que tener en cuenta en la etapa de seguimiento de trayectorias el tiempo de respuesta en función del tiempo de procesamiento. Es decir, hay que considerar el tiempo de captura de la imagen, además del intervalo de tiempo en la trasmisión de los datos entre el computador y el robot, el movimiento del móvil y la ubicación y visualización de la nueva posición, lo cual sería una desventaja en aplicaciones de este sistema en tareas de tiempo real. Otra característica que se debe tener en cuenta a la hora de trabajar sobre escenarios que suponen un entorno con cámaras en posición fija, es la limitación del espacio de trabajo debido a que el rango de visión de la cámara implementada, reduce el área de exploración del robot. Trabajos futuros para eliminar este problema sería ubicar una cámara móvil sobre el robot, para tener una visión periférica del ambiente. El procesamiento se podría realizar directamente en el PC enviando las imágenes por un sistema de comunicación inalámbrica o haciéndolo en la misma tarjeta de control del robot. VII. BIBLIOGRAFIA [1] AMAYA QUINTERO, Yamit Danilo. Universidad Industrial de Santander, Bucaramanga. Facultad de Ingenierías Fisico-Mecanicas. Escuela de ingenierías eléctrica, electrónica, y telecomunicaciones. NAVEGACIÓN DE UN ROBOT MOVIL MEDIANTE VISION ARTIFICIAL Localización dinámica de móviles y obstáculos en una escena controlada para aplicaciones en robótica. Marzo 2005. [2] FLÓREZ, Juan Fernando. Universidad del Cauca, Colombia. Herramienta para la experimentación con robots móviles aplicando control inteligente y visión por ordenador. [3] GUZMÁN J.L. Dpto. Lenguajes y Computación, Universidad de Almería. Herramienta Interactiva para Robótica Móvil. [4] HAYKIN, Simon, Neural networks a comprehensive foundation. 2ed. Ed. Prentice-Hall. 842 p. 1999. ISBN 0139083855. [5] M.A. Zamora, L.M. Grupo de Visión, Robótica y Proy. Universidad de Murcia. H.Martínez, A.G.Skarmeta. Dpto. Inf., Inteligencia artificial y electrónica Facultad de informática Universidad de Murcia. Navegación planificada de un robot móvil en entornos interiores desconocidos. [6] MARCOS PROVECHO, María Concepción. Escuela de ingenierías industrial e informática. Universidad de León. Autoguiado de robots móviles mediante redes neuronales. Septiembre 2004. [7] MARTIN DEL BRIO, Bonifacio. Redes neuronales y sistemas difusos. 2ed. Ed. Alfaomega. 2002. 399p. ISBN 958-68-2442-X. [8] PAJARES MARTINSANZ, Gonzalo. Redes neuronales artificiales: fundamentos modelos y aplicaciones. Ed. Addison-Wesley Iberoamericana. 390p. 1995. ISBN 0-201-87895-X. [9] PAJARES MARTINSANZ. Visión por computador: Imágenes digitales y aplicaciones. Ed. Alfaomega. 764p. 2002. ISBN 970-15-0804-1. [10] RAMOS, Marcos Daniel. Escuela Politécnica Universidad de Alcalá. Micro-robot futbolista GOLIATTOR. [11] ROJAS GUALDRON, Julio César. Universidad Industrial de Santander, Bucaramanga. Facultad de Ingenierías Fisico-Mecanicas. Escuela de ingenierías eléctrica, electrónica, y telecomunicaciones. Desarrollo de estrategias para el control de móviles autónomos basado en redes neuronales. 2007. Hernando González Acevedo. Candidato a Maestría en Ingeniería: Área Electrónica. Universidad Industrial de Santander. Director del Grupo de Investigación en Automatización, Modelamiento, Simulación y Control de Productos y Procesos - Universidad Santo Tomas – Seccional Bucaramanga. Colombia. hernando_gonza@hotmail.com José Carlos Cudris Cantillo. Ing. Mecatrónico. Miembro del grupo de Investigación en Automatización, Modelamiento, Simulación y Control de Productos y Procesos industriales – Universidad Santo Tomas – Seccional Bucaramanga. Colombia. jcudris@hotmail.com Mauro Baquero Suárez. Ing. Mecatrónico. Miembro del grupo de Investigación en Automatización, Modelamiento, Simulación y Control de Productos y Procesos industriales – Universidad Santo Tomas – Seccional Bucaramanga. Colombia. mauro_baquero@hotmail.com View publication statsView publication stats mailto:hernando_gonza@hotmail.com mailto:jcudris@hotmail.com mailto:mauro_baquero@hotmail.com https://www.researchgate.net/publication/260595242