Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación “Algoritmos para Robots Autónomos utilizando Visión por Computadora”
Contenido 1) Introducción y Aplicaciones Trabajos de Investigación Realizados: 2) Aprendizaje de Reglas para Robots Móviles". 3) "Algoritmo de visión monocular para detección de obstáculos". 4) "Sistema de visión estereoscópica para detección y manipulación de objetos mediante un brazo de robot".
1) Intoducción y Aplicaciones
Una de estas máquinas son los robots, los cuales han empezado a salir de los laboratorios de experimentación, para llegar cada día a un mayor número de lugares. El avance de la Ciencia y la Tecnología durante los últimos años ha llevado consigo un gran impacto sobre nuestra forma de vida. El tratar de generar herramientas que ayuden al hombre a las diversas tareas que enfrenta diariamente, lleva a la creación de máquinas de suponen de un grado de “Inteligencia” para poder llevar a cabo ciertas tareas. Antecedentes IEEE - III Reunión de Otoño de Potencia, Electrónica y Computación – Noviembre
Visión Artificial, es la habilidad de adquirir imágenes de campo y realizar análisis y procesamiento en forma automática utilizando una PC o procesador embebido Visión 5 National Instruments, mayo 2005http://ni.com
Automatizar mediciones precisas. Control de calidad en virtualmente todas las piezas y no únicamente en selección por muestreo. Inspección visual, a alta velocidad, repetitivo y robusto. Alinear componentes con alta precisión. Integración de sistemas pasa/falla con control de movimiento. Sistemas basados en PC trabajan continuamente sin presentar “cansancio”. Ventajas de usar Visión 6 National Instruments, mayo 2005http://ni.com
Aplicaciones con Visión 7 National Instruments, mayo 2005http://ni.com Empaque.
Aplicaciones con Visión 8 National Instruments, mayo 2005http://ni.com Inspección de Papel y Madera.
Aplicaciones con Visión 9 National Instruments, mayo 2005http://ni.com Mediciones.
Aplicaciones con Visión 10 National Instruments, mayo 2005http://ni.com OCR
Aplicaciones con Visión 11 National Instruments, mayo 2005http://ni.com Inspección de alimentos.
Aplicaciones con Visión 12 National Instruments, mayo 2005http://ni.com Monitoreo Remoto
Aplicaciones con Visión 13 National Instruments, mayo 2005http://ni.com Inspección de Semiconductores
Reconocimiento de Colores 14 National Instruments, mayo 2005http://ni.com Utilice reconocimiento de colores para aplicaciones tales como: Identificación de Color. Inspección de Color. Localización de Color.
Reconocimiento de Colores 15 National Instruments, mayo 2005http://ni.com Localización de colores específicos en la imagen. Revisar la presencia de color.
Imágenes Térmicas 16 National Instruments, mayo 2005http://ni.com La imagen térmica se utiliza para revisar la disipación de calor y proporciona información de defectos térmicos.
Código de Barras 17 National Instruments, mayo 2005http://ni.com Localización de la etiqueta en cualquier parte del campo visual. Leer en forma precisa los estándares más comunes. Guardar en bases de datos o utilizar para decisión de calidad.
Defectos de Fabricación 18 National Instruments, mayo 2005http://ni.com Revisar defectos en las terminales del conector con localización de bordes, patrón de línea, medición de ángulos.
Defectos de Fabricación 19 National Instruments, mayo 2005http://ni.com Revisar la apertura entre el cátodo y el ánodo utilizando localización de bordes y medición.
Codificación de imágenes 20 National Instruments, mayo 2005http://ni.com
Color 21 National Instruments, mayo 2005http://ni.com Escala de Grises Color
Captura de una imagen 22 National Instruments, mayo 2005http://ni.com
Procesamiento 23 National Instruments, mayo 2005http://ni.com Utilización de PC´s: Alta capacidad de disco Programación en diferentes lenguajes
Procesamiento 24 National Instruments, mayo 2005http://ni.com Utilización de Hardware específico: Real Time Robustez industrial Conectividad múltiple de cámaras
Calidad de la imagen 25 National Instruments, mayo 2005http://ni.com Mala Buena
Iluminación 26 National Instruments, mayo 2005http://ni.com La iluminación también juega un papel muy importante en el proceso de adquirir buenas imágenes aptas para procesamiento
Niveles de Visión 1) Procesamiento de bajo nivel: Se trabaja directamente con los pixeles para extraer propiedades como orillas, gradientes, profundidad, textura, color, etc. Visión: Nivel 1 27 _
Filtros: imágenes de retinas después de filtros Visión: Nivel 1 28 _
Detección de bordes en retinas. Visión: Nivel 1 Visión: Nivel 1 29 _
Bordes 30 National Instruments, mayo 2005http://ni.com
Detección de bordes 31 _ Visión: Nivel 1
Niveles de Visión 2) Procesamiento de nivel intermedio: Consiste generalmente en agrupar los elementos obtenidos en el nivel bajo, para obtener líneas, regiones, generalmente con el propósito de segmentación. Visión: Nivel 2 32 _
Segmentación: Autos en movimiento (laterales). Visión: Nivel 2 33 _
Detección de texturas regulares. Visión: Nivel 2 34 _
Niveles de Visión 3) Procesamiento de alto nivel: Esta generalmente orientado al proceso de interpretación de los objetos obtenidos en los niveles inferiores, para ello se utilizan modelos y conocimientos obtenidos previamente con el objetivo de comparar y encontrar los objetos. Visión: Nivel 3 35 _
Segmentación y reconocimiento de ademanes Visión: Nivel 3 36 _
Segmentación y creación del esqueleto para el reconocimiento de ademanes Visión: Nivel 3 37 _
Proceso de reconocimiento Visión: Nivel 3 38 _
Reconocimiento de ademanes Visión: Nivel 3 39 _
2) Aprendizaje de Reglas de control para Robots Móviles
IEEE - III Reunión de Otoño de Potencia, Electrónica y Computación – Noviembre El objetivo de esta investigación es desarrollar una herramienta de aprendizaje de reglas de control, la cual permita la navegación robótica en ambientes desconocidos, desde un punto inicial a uno final. El algoritmo propuesto utiliza reglas. La creación de reglas es por demostración, donde primero se entrena al robot en un entorno conocido, donde es posible asignar las acciones que el robot tiene que realizar. Posteriormente se coloca el robot en entornos parecidos, y usando las reglas aprendidas, tratar de llegar a la meta. Objetivo
Requerimientos El algoritmo esta pensado para implantarse en un robot móvil, que sea capaz de avanzar, girar sobre su propio eje por lo menos 90º, tanto en sentido horario como antihorario. Se requiere utilizar al menos 5 sensores de sonar para detectar los objetos que se encuentran al frente y a los lados del robot. IEEE - III Reunión de Otoño de Potencia, Electrónica y Computación – Noviembre
Para implantar el algoritmo se utilizó el robot Nomad 200, propiedad del ITESM Campus Morelos, construido por la compañía Nomadic Technologies. Los principales sistemas con que cuenta el robot son los siguientes: Sistema de Comunicación: Para transmitir los datos a una terminal. Sistema de Visión: Cámara de video para navegación por visión computacional. Sistema de Sonar: Detector de Obstáculos. Sensor Táctil: Detector de Choques. Para la presente investigación se utilizaron los sonares para la navegación y no la cámara de video. IEEE - III Reunión de Otoño de Potencia, Electrónica y Computación – Noviembre Implementación
IEEE - III Reunión de Otoño de Potencia, Electrónica y Computación – Noviembre Vista frontal – cámara, antena, sensores
IEEE - III Reunión de Otoño de Potencia, Electrónica y Computación – Noviembre Vista superior
IEEE - III Reunión de Otoño de Potencia, Electrónica y Computación – Noviembre Vista lateral – sensores (sonares)
IEEE - III Reunión de Otoño de Potencia, Electrónica y Computación – Noviembre Vista lateral – panel de control
IEEE - III Reunión de Otoño de Potencia, Electrónica y Computación – Noviembre Vista lateral – sensores y panel de control
IEEE - III Reunión de Otoño de Potencia, Electrónica y Computación – Noviembre Vista inferior – sensores, ruedas y baterías
IEEE - III Reunión de Otoño de Potencia, Electrónica y Computación – Noviembre Carga de Baterías
Alineación y Datos Iniciales Antes de iniciar con el algoritmo, el robot se debe de alinear, tanto sus mecanismos internos, como su alineación con el mundo real. Para alinearlo con el mundo real se utilizó una marca que tiene el robot en uno de sus costados con una marca sobre el piso. Inicialmente se considera que el usuario conoce la posición actual del robot y su ángulo, así como la posición de la meta. IEEE - III Reunión de Otoño de Potencia, Electrónica y Computación – Noviembre
IEEE - III Reunión de Otoño de Potencia, Electrónica y Computación – Noviembre Vista inferior – Sensores táctiles y orientación
Representación del Entorno Por medio de los sonares se detecta la distancia aproximada de los objetos que se encuentran en el entorno del robot. Posteriormente esta distancia se compara con un valor de umbral (20 pulgadas). Si el valor que entrega el sonar es menor o igual al umbral, se le asigna un valor de 0 (cerca) en caso contrario se le asigna 1(lejos). IEEE - III Reunión de Otoño de Potencia, Electrónica y Computación – Noviembre
Análisis de Casos IEEE - III Reunión de Otoño de Potencia, Electrónica y Computación – Noviembre
Posición de la Meta El algoritmo requiere saber en todo momento la dirección de la meta, para ello utiliza una sintaxis para referenciar dicha posición. IEEE - III Reunión de Otoño de Potencia, Electrónica y Computación – Noviembre
Creación de una Regla IEEE - III Reunión de Otoño de Potencia, Electrónica y Computación – Noviembre
Creación de Reglas IEEE - III Reunión de Otoño de Potencia, Electrónica y Computación – Noviembre
Software IEEE - III Reunión de Otoño de Potencia, Electrónica y Computación – Noviembre
Alcanzar la Meta IEEE - III Reunión de Otoño de Potencia, Electrónica y Computación – Noviembre
Algoritmo para Detectar y Salir de Trampas 1) Asignar punto inicial y punto final 2) Detectar que se cayó en una trampa, comparando la última regla ejecutada con alguna regla utilizada anteriormente y aproximadamente en el mismo lugar. 3) Regresar al punto anterior donde se puede aplicar mas de una regla. IEEE - III Reunión de Otoño de Potencia, Electrónica y Computación – Noviembre
Algoritmo para Detectar y Salir de Trampas (Cont.) 4) Asignar meta Flotante en forma aleatoria, a la izquierda o derecha de la meta original. 5) Si después de ejecutar una cantidad de reglas, llega o no llega a la meta flotante, se vuelve a asignar la meta original. IEEE - III Reunión de Otoño de Potencia, Electrónica y Computación – Noviembre
Resultados de la Navegación (simulador) IEEE - III Reunión de Otoño de Potencia, Electrónica y Computación – Noviembre
Creación de Mapas Aproximados Al algoritmo se le agregó un módulo, el cual con la ayuda del simulador, y mientras el robot avanza, se encarga de dibujar puntos sobre la pantalla, los cuales, indican la posición aproximada de los objetos que se encuentran a su alrededor. De ésta forma, se plantea la posibilidad de construcción de mapas. IEEE - III Reunión de Otoño de Potencia, Electrónica y Computación – Noviembre
Navegación con el Robot Real IEEE - III Reunión de Otoño de Potencia, Electrónica y Computación – Noviembre
Navegación con el Robot Real (cont.) IEEE - III Reunión de Otoño de Potencia, Electrónica y Computación – Noviembre
IEEE - III Reunión de Otoño de Potencia, Electrónica y Computación – Noviembre Salir al pasillo (pasar por una puerta)
Resultados de la Navegación (real) IEEE - III Reunión de Otoño de Potencia, Electrónica y Computación – Noviembre
IEEE - III Reunión de Otoño de Potencia, Electrónica y Computación – Noviembre Salir al pasillo (pasar por una puerta)
IEEE - III Reunión de Otoño de Potencia, Electrónica y Computación – Noviembre Avanzar por un pasillo
IEEE - III Reunión de Otoño de Potencia, Electrónica y Computación – Noviembre Trabajo en equipo
3) Algoritmo de visión monocular para detección de obstáculos
OBJETIVOS Como objetivo principal se tiene construir un robot móvil autónomo capaz de tomar decisiones de acuerdo a datos recopilados a través de un dispositivo que provee imágenes en tiempo real, esto con el fin de esquivar obstáculos y evitar colisiones. 72
Alcances El prototipo es más independiente debido que el sistema de procesamiento va empotrado en el mismo El prototipo es más independiente debido que el sistema de procesamiento va empotrado en el mismo Tiene una sola entrada de datos lo que ahorra procesos Tiene una sola entrada de datos lo que ahorra procesos La arquitectura electrónica esta diseñada modularmente para implementaciones futuras La arquitectura electrónica esta diseñada modularmente para implementaciones futuras 73
LIBERTAD DE GIRO 74
COMPONENTES ELECTRÓNICOS –Modulo de control y comunicación –Inversor lógico –Modulo de control de motores 75
CARACTERISTICAS –Alimentación Dos baterías 9 voltios para motores Dos baterías 9 voltios para motores Una batería de 9 voltios para circuitos Una batería de 9 voltios para circuitos –Procesador Microchip PIC16F873A Microchip PIC16F873A –Oscilador Cristal de cuarzo 20 Mhz Cristal de cuarzo 20 Mhz 76
CARACTERISTICAS –MAX 232 RS232 RS232 USART USART 9600 bps 9600 bps –Controlador de motores L293D 77
78
El dispositivo de entrada establece la calidad de la imagen a procesar Imagen capturada con cámara digital Cybershot Imagen capturada con webcam Eye Cam Genius TRATAMIENTO DE IMÁGENES 79
Imagen Original Imagen Escala Grises 80
Imagen Original Filtro Binario 81
NAVEGACION Segmentación de la Imagen. Segmentación de la Imagen. Criterio Criterio 82
Decisiones Análisis de las Sección Análisis de las Sección Elegir Sección Elegir Sección 83
PANADERIN 1 84
JEZBETH 85
SPUNKY 86
4) "Sistema de visión estereoscópica para detección y manipulación de objetos mediante un brazo de robot".
Sistema 88 _
Brazo y Objetos 89 _
Puertos y Circuitería 90 _
Detección de Bordes 91 _
Detección de la Forma 92 _
Marcas de Calibración 93 _
Cálculo de la Distancia 94 _
Sistema Completo 95 _
“Los soñadores ven las cosas, los demás, las imaginan...” Rogelio F.
Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Messenger: