reporte laberinto nao
Centro de Investigación en Computación
C. I. C.
Laboratorio de Robótica y Mecatrónica
“RESOLUCIÓN DE LABERINTO USANDO
EL ROBOT NAO”
“Primer Concurso De Robótica E
Inteligencia Artificial”
Equipo Rym:
Ing. José Noel Rosales Pérez
M en C. Elizabeth Guevara Martínez
Ing. Rodrigo Francisco Román Godínez
Asesor:
Dr. Juan Humberto Sossa AzuelaNoviembre de 2014 Aguascalientes, Ags.
1
Resolución de laberinto usando el robot NAO
Objetivo
Programar al robot NAO para que resuelva un laberinto de manera autónoma
en un tiempo determinado y que durante su trayecto sea capaz de reconocer
NaoMarks y mencionarlas.
Propuesta de solución
Para la resolución del laberinto se utilizaron técnicas de visión artificial para
reconocer losbordes que existen entre la pared y el piso, con el fin de tratar el
problema como un seguidor de línea de mano derecha. Además se usaron los
sensores ultrasónicos para la detección de paredes próximas.
El diagrama de bloques general de la metodología de solución se presenta en la
figura 1.
Adquisición de
imagen
Pre-procesamiento
de la imagen
Segmentación de la
imagen
Extracción decaracterísticas
Decisiones
Figura 1. Diagrama general de la solución.
En la etapa de pre-procesamiento se utilizó un filtro Gaussiano para
eliminar el ruido y para la segmentación se aplicó el algoritmo de Otsu y
posteriormente filtros morfológicos de erosión y dilatación.
Para la extracción de características se usó el detector de líneas de
Hough para determinar los límites entrepared y espacio libre y a partir de las
diferentes posibilidades, el robot toma decisiones acerca de a dónde y cómo
desplazarse. La figura 2 muestra el diagrama a bloques general de los casos
considerados.
Detección de líneas
Detección de 1 línea
Detección de 2
líneas
Detección de 3
líneas
Detección de 4
líneas
Figura 2. Casos de detección de líneas
2
Dependiendo de lainformación obtenida con el detector de líneas, el robot
realiza diferentes acciones. La figura 3 presenta el diagrama a bloques de las
diferentes posiblidades. La información de las líneas se utilizó como entrada a
sistemas de control difuso para lograr el desplazamiento del robot. En el caso en que
no se tenga la información necesaria de acuerdo al sistema para tomar una decisión,
entoncesel robot se desplaza considerando el centroide del piso, que se utiliza como
entrada al control difuso de centroide. Finalmente, si la única línea detectada es
horizontal, el robot trata de colocarse lo más paralelo a la línea encontrada
mediante un control difuso de rectificación, para girar y volver a tomar decisiones.
Detección de 2
líneas
Detección de 1 línea
Línea vertical a laderecha
Línea vertical a la
izquierda
Línea horizontal
Control difuso de
línea derecha
Control difuso de
línea izquierda
Control difuso de
rectificación
Líneas Paralelas
Detección de 3
líneas
Casos de
Intersección de
líneas
Detección de Cuarto
Detección de 4
líneas
Control difuso de
centroide
Figura 3. Posibilidades en cada caso de detección de líneas.Si se detectan 2 líneas se consideraron los cuatro cuadrantes formados si
existe punto de intersección entre ambas y se tomaron en cuenta todos los casos
posibles. Por ejemplo, en la figura 4 se presenta uno de ellos:
Figura 4. Caso de intersección de 2 líneas
Finalmente, el diagrama del funcionamiento del sistema se presenta en la
figura 5.
Adquisición de la
imagen
Procesamiento yextracción de
características
Determinación de
casos
Avance del robot
3
Figura 5. Diagrama de funcionamiento.
La detección de NaoMarks se realizó utilizando el módulo de detección de
NaoMarks del robot en paralelo con el programa para la resolución del laberinto.
El código se desarrolló en Python y Choregraphe. El programa en
Choregraphe se presenta en la figura 6.
Figura...
Regístrate para leer el documento completo.