Logo Studenta

Navegacion_De_Un_Robot_Movil_Mediante_Vi

¡Estudia con miles de materiales!

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