Implementación de un Sistema de Control Embebido para un Vehículo de Movimiento Diferencial



Documentos relacionados
Reconocimiento de imágenes

Sistemas de Sensación Segmentación, Reconocimiento y Clasificación de Objetos. CI-2657 Robótica M.Sc. Kryscia Ramírez Benavides

Capítulo 2. Técnicas de procesamiento digital de imágenes y reconocimiento de patrones.

Capítulo III Procesamiento Digital de Imágenes

Fundamentos de la Visión Artificial. Prof. Dr. Francisco Gómez Rodríguez Prof. Manuel J. Domínguez Morales 1

Operaciones Morfológicas en Imágenes Binarias

Decisión: Indican puntos en que se toman decisiones: sí o no, o se verifica una actividad del flujo grama.

CAPÍTULO VI PREPARACIÓN DEL MODELO EN ALGOR. En este capítulo, se hablará acerca de los pasos a seguir para poder realizar el análisis de

understanding documents Digitalización y Captura Inteligente de Documentos

Visión Artificial. Por Elisabeth Pérez

Introducción a los sistemas de control

Mineria de datos y su aplicación en web mining data Redes de computadores I ELO 322

Roberto Quejido Cañamero

UNIDADES DE ALMACENAMIENTO DE DATOS

CONCEPTOS BASICOS DE IMAGEN DIGITAL

ARREGLOS DEFINICION GENERAL DE ARREGLO

VI PLAN DE PRUEBAS, RESULTADOS Y RECOMENDACIONES

CONTROL DE ROBOTS Y SISTEMAS SENSORIALES 4º Ingeniería Industrial

3.1 JUSTIFICACION E IMPORTANCIA DEL PRESENTE TRABAJO DE

Tecnología IP para videovigilancia... Los últimos avances han hecho posible conectar cámaras directamente a una red de ordenadores basada en el

Tema 4. Gestión de entrada/salida

Resumen ÁREA DE FACTURACIÓN::INFORMES::Pedidos Detalle Resumen ÁREA DE

Tema 6: Morfología. Primera parte

Los mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas:

forma de entrenar a la nuerona en su aprendizaje.

La presente tesis pretende que los estudiantes observen la teoría de las acciones de control

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3

Nombre de la asignatura: Robótica Industrial. Carrera: Ingeniería Electrónica

Base de datos en Excel

Transformación de binario a decimal. Transformación de decimal a binario. ELECTRÓNICA DIGITAL

"Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

TIPOS DE RESTRICCIONES

Tema 7. Introducción al reconocimiento de objetos

Programando con Enchanting

Señal de Referencia: Es el valor que se desea que alcance la señal de salida. SET POINT.

Universidad Nacional de Quilmes Ing. en Automatización y Control Industrial Cátedra: Visión Artificial Agosto de 2005

Segmentación de color en imágenes digitales usando Visual C#.Net

CÁTEDRA DE IMÁGENES EN MEDICINA VIDEO COLOR Y RGB, ANCHO DE BANDA Y MTF PRÁCTICO Nº 4

Universidad Nacional de Quilmes Ing. en Automatización y Control Industrial Cátedra: Visión Artificial Agosto de 2005

by Tim Tran:

Introducción a la Firma Electrónica en MIDAS

1.1. Introducción y conceptos básicos

Estándares para planes de calidad de software. Escuela de Ingeniería de Sistemas y Computación Desarrollo de Software II Agosto Diciembre 2008

CAPITULO 6 SISTEMA DE DETECCION DE INTRUSOS

Un filtro general de respuesta al impulso finita con n etapas, cada una con un retardo independiente d i y ganancia a i.

4 Localización de terremotos

Capítulo 5. Análisis del software del simulador del sistema de seguridad

Sistemas de Información Geográficos (SIG o GIS)

REVISTA COLOMBIANA DE FÍSICA, VOL. 34, No CONTEO Y CARACTERIZACIÓN DE REGIONES COMPLETAS EN IMÁGENES 2D: APLICACIÓN A NÚCLEOS CELULARES

DISEÑO DE FUNCIONES (TRATAMIENTOS)

EL MODELO DE DATOS RASTER

CONVERTIDORES DIGITAL ANALÓGICO Y ANALÓGICO - DIGITAL

LA CAMARA FOTOGRAFICA DIGITAL (II)

Photoshop. Conceptos Básicos

1.2 SISTEMAS DE PRODUCCIÓN

SEDO: SOFTWARE EDUCATIVO DE MATEMÁTICA NUMÉRICA. Lic. Maikel León Espinosa.

IV. Implantación del sistema.

SISTEMAS DE SEGURIDAD DE RECONOCIMIENTO FACIAL

GUÍA PARA SISTEMAS DE RASTREABILIDAD

Manual de la aplicación de seguimiento docente en la UJI

ANÁLISIS DE DATOS NO NUMERICOS

GedicoPDA: software de preventa

En este capítulo se describe la forma de cómo se implementó el sistema de video

28 = =

Autor: Javier Yáñez García

CAPÍTULO 3. HERRAMIENTA DE SOFTWARE DE PLANEACIÓN DE

Electrónica Digital II

Ejercicio de estadística para 3º de la ESO

Adelacu Ltda. Fono Graballo+ Agosto de Graballo+ - Descripción funcional - 1 -

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología

2. Entorno de trabajo y funcionalidad en Arquímedes

TRANSMISION DIGITAL. PCM, Modulación por Codificación de Pulsos

Diseño orientado al flujo de datos

TEMA 2: Representación de la Información en las computadoras

Operación Microsoft Access 97

Tema 1. Sistemas de Visión Artificial

Simulación y Control de un Sistema Mecatrónico Aplicando Diseño Asistido por Computadora

La ventana de Microsoft Excel

Al adquirir Gear Online se hará entrega del modulo de parámetros en cual podemos parametrizar todas las características de todas las áreas que

RECONOCIMIENTO E IDENTIFICACIÓN DE LOGOTIPOS EN IMÁGENES CON TRANSFORMADA SIFT

Ingeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007

Unidad 1. La información

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

No se requiere que los discos sean del mismo tamaño ya que el objetivo es solamente adjuntar discos.

Una computadora de cualquier forma que se vea tiene dos tipos de componentes: El Hardware y el Software.

Tema 1. Sistemas de Visión Artificial

Pronósticos. Pronósticos y gráficos Diapositiva 1

Sistemas de Gestión de Calidad. Control documental

SERVOMOTORES. Los servos se utilizan frecuentemente en sistemas de radiocontrol, mecatrónicos y robótica, pero su uso no está limitado a estos.

I.E.S.MEDITERRÁNEO CURSO DPTO DE MATEMÁTICAS PROGRAMA DE RECUPERACIÓN DE LOS APRENDIZAJES NO ADQUIRIDOS EN MATEMÁTICAS DE 3º DE E.S.O.

Actividades con GeoGebra

Creado dentro de la línea de sistemas operativos producida por Microsoft Corporation.

GUÍA PARA UN ESCANEO ÓPTIMO

INTRODUCCION A LA PROGRAMACION DE PLC

Detección de bordes en una imagen.

Laboratorio de Física Universitaria II. FISI 3014 Primer semestre del año académico Departamento de Física y Electrónica de la UPR-H

Capítulo VI. Diagramas de Entidad Relación

Parte I: Introducción

CAPÍTULO 2 PROCESAMIENTO DIGITAL DE IMÁGENES

Transcripción:

UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios Profesionales Coordinación de Ingeniería Electrónica Implementación de un Sistema de Control Embebido para un Vehículo de Movimiento Diferencial Por José Miguel Bolaños Rubio Sartenejas, Marzo del 2006.

UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios Profesionales Coordinación de Ingeniería Electrónica Implementación de un Sistema de Control Embebido para un Vehículo de Movimiento Diferencial Por José Miguel Bolaños Rubio Realizado con la Asesoría de Wilfredis Medina Gerardo Fernández INFORME FINAL CURSOS EN COOPERACIÓN Presentado ante la Ilustre Universidad Simón Bolívar como requisito parcial para optar al título de Ingeniero Electrónico. Sartenejas, Marzo del 2006.

UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios Profesionales Coordinación de Ingeniería Electrónica Implementación de un Sistema de Control Embebido para un Vehículo de Movimiento Diferencial. INFORME FINAL CURSOS EN COOPERACIÓN presentado por José Miguel Bolaños Rubio. REALIZADO CON LA ASESORÍA DEL Ing. Wilfredis Medina. RESUMEN El control de navegación por campos de velocidades es una tarea compleja que integra la implementación de aplicaciones basadas en algoritmos de visión especializados para detección de patrones y objetos, los cuales obtienen la información relativa a posición, orientación y velocidad de un robot móvil en un momento dado. Además integra de implementación de estrategias de control tal que, a través de los datos obtenidos anteriormente, permitan al robot móvil poder seguir el patrón de trayectoria determinado por el campo de velocidades. Bajo esa línea se realizó el siguiente trabajo sobre un sistema de control de navegación basado en herramientas de visión del paquete IMAQ Vision de National Instruments para la implementación de algoritmos detección de un robot móvil y de obstáculos [1]; MATLAB, para la obtención de parámetros de vectores de un campo de velocidades calculado, tales como componentes XY y orientación; y MPLAB para la programación de un esquema de control PI en el microprocesador interno del robot móvil Hemisson. El sistema desarrollado servirá como plataforma de pruebas para algoritmos de generación dinámica de campos de velocidades debido a la presencia de obstáculos en el espacio de trabajo del robot móvil. PALABRAS CLAVES: Configuración diferencial, campos de velocidades, controlador Proporcional Integral, estabilidad, reconocimiento de patrones, clasificación de objetos, aprendizaje, entrenamiento. Aprobado con mención: Postulado para el Premio: Sartenejas, Marzo del 2006.

A Dios, a todos mis seres queridos, y en especial, a mi toda mi familia.

iii AGRADECIMIENTOS A mi padre, madre y hermanos, por estar siempre ahí apoyándome en las buenas y en las malas, por darme el coraje y el valor para superar los retos de la vida; sin ellos no habría llegado hasta donde estoy ahora. Al profesor Gerardo Fernández, por haberme ofrecido la oportunidad de realizar este proyecto, y por su apoyo y consejos a lo largo de la realización de éste. Al Ing. y amigo Wilfredis Medina, por toda su valiosa ayuda ofrecida a lo largo del proyecto, y por haber estado ahí para sacarme de apuros. A los ingenieros Leonardo Fermín, José Cappelletto y Roger Berdayes por sus valiosos aportes y sugerencias en el desarrollo del proyecto, y por recordarme que la mejor solución a un problema es a veces la más sencilla. A todas aquellas personas, que a lo largo de toda mi vida han creído en mí y me han ayudado a madurar y a crecer como persona. A todos mis amigos, que hacen del mundo un lugar más agradable. SALUD!.

iv ÍNDICE Resumen.....i Dedicatoria.....ii Agradecimientos...iii Índice General........ iv Índice de Tablas y Figuras.vi Lista de Símbolos, Abreviaturas y Términos.....ix CAPÍTULO 1: Objetivos... 1 2.1 Objetivo general...1 2.1.1 Objetivos específicos...1 CAPÍTULO 2: Introducción... 2 CAPÍTULO 3: Visión Artificial... 5 3.1 Sistemas de Visión Artificial...5 3.1.1. Elementos de un sistema de Visión Artificial...5 3.1.2 Funcionamiento de un sistema de Visión Artificial...6 3.2 Imagen Digital...9 3.2.1 Propiedades de una imagen...10 3.2.2 Tipos de Imagen...12 3.3 Procesamiento y análisis de Imágenes...14 3.3.1 Histograma...15 3.3.2 Umbralización...16 3.3.3 Procesamiento morfológico de imágenes...17 3.3.4. Detección de Bordes...21 CAPÍTULO 4: Reconocimiento de Patrones y Detección de Obstáculos... 24 4.1 Reconocimiento de Patrones...24 4.1.1. Correlación cruzada normalizada...24 4.1.2. Proceso de detección de patrones...26 4.2 Detección de obstáculos...27 CAPÍTULO 5: Modelado Matemático y Control... 30 5.1 Modelado matemático...30 5.1.1 Restricciones no-holonómicas...31 5.1.2 Modelo de Coordenada Global...32 5.1.3 Restricciones físicas...35 5.2 Diseño de controlador...36 5.2.1 Esquema de control Proporcional Integral...36 5.2.2 Regla de sintonización para controlador PI...37 5.2.3. Diseño de controlador PI para el control del robot móvil...38 CAPÍTULO 6: Implementación de Sistema de Detección del Robot Móvil y Obstáculos... 41 6.1 Implementación del sistema de detección de patrones...42 6.1.1 Aprendizaje de patrón:...42 6.1.2 Concordancia de patrón:...44 6.2 Implementación del sistema de detección y clasificación de obstáculos...47 6.2.1 Aprendizaje de objetos (Interfaz de entrenamiento):...47 6.2.2 Detección y clasificación de objetos:...50

CAPÍTULO 7: Implementación de Sistema de Control del Robot Móvil... 54 7.1 Implementación del lazo de control PI...54 7.2 Implementación de programa principal...60 CAPÍTULO 8: Ajuste del Sistema y Pruebas... 68 8.1 Ajuste y pruebas del sistema de detección...68 8.1.1. Sistema de detección de patrones...69 8.1.2. Sistema de detección y clasificación de obstáculos...71 8.1.2.1. Primera prueba...73 8.1.2.2. Segunda prueba...74 8.1.2.3. Tercera prueba...75 8.2 Ajuste y pruebas del sistema de control del robot móvil...76 8.2.1. Primera prueba...79 8.2.2. Segunda prueba...82 8.2.3. Tercera prueba...84 8.2.4. Cuarta prueba...87 8.2.5. Primera prueba con sintonización empírica...95 8.2.6. Segunda prueba con sintonización empírica...98 8.2.7. Tercera prueba con sintonización empírica...101 CAPÍTULO 9: Conclusiones y Recomendaciones... 106 CAPÍTULO 10: Bibliografía... 109 APÉNDICES..110 v

vi ÍNDICE DE TABLAS Y FIGURAS Figuras Figura Nº 1.1 Robot con configuración de ruedas diferencial Hemisson....2 Figura Nº 3.1 Visión abstracta del aparato visual humano...7 Figura Nº 3.2 Capas de la Corteza Visual...7 Figura Nº 3.3 Representación Abstracta de un Sistema de Visión Artificial...8 Figura Nº 3.4 Referencia Espacial del píxel (0,0)...9 Figura Nº 3.5 Planos de color y escala de grises...11 Figura Nº 3.6 Efecto de distorsión radial...12 Figura Nº 3.7 Bytes por píxel en imágenes de escala de grises....13 Figura Nº 3.8 Bytes por píxel en una imagen a color...14 Figura Nº 3.9 Gráfico de un histograma...16 Figura Nº 3.10 Umbralización de imagen en escala de grises...17 Figura Nº 3.11 Algunos elementos estructuradores...18 Figura Nº 3.12 Marco de un píxel P 0...19 Figura Nº 3.13 Tipos de conectividad...19 Figura Nº 3.14 Erosión del set A...20 Figura Nº 3.15 Dilatación del set A...21 Figura Nº 3.16 Métodos de detección de borde por operadores derivativos...22 Figura Nº 3.17 Modelo kernel de filtro Laplaciano...23 Figura Nº 4.1 Procedimiento de correlación...25 Figura Nº 4.2 Sub-muestreo pseudo aleatorio...26 Figura Nº 4.3 Pasos para clasificación...28 Figura Nº 5.1 Restricción no-holonómica de un robot de dos ruedas en configuración diferencial...31 Figura Nº 5.2 Modelo de posición global cinemático de un robot de dos ruedas en configuración diferencial...32 Figura Nº 5.3 Respuesta de sistema críticamente amortiguado...38 Figura Nº 5.4 Campo de velocidades con patrón circular...39 Figura Nº 5.5 Lazo de control PI...40 Figura Nº 6.1 Ilustración de ubicación y posición de la cámara....41 Figura Nº 6.2 Diagrama de flujo del proceso de aprendizaje de patrón....43 Figura Nº 6.3 Imagen con patrón del robot móvil...43 Figura Nº 6.4 VI para etapa de aprendizaje...44 Figura Nº 6.5 Diagrama de flujo del proceso de concordancia de patrón....45 Figura Nº 6.6 Representación de convención posición y rotación de patrón....46 Figura Nº 6.7 Ventana principal de la interfaz de entrenamiento de clasificador...47 Figura Nº 6.8 Diagrama de flujo del proceso de aprendizaje de objetos....48 Figura Nº 6.9 Muestras de obstáculos a clasificar...49 Figura Nº 6.10 Sección de entrenamiento de clasificador (pestaña Classify)....49 Figura Nº 6.11 Resultados de entrenamiento....50 Figura Nº 6.12 Diagrama de flujo del proceso de detección y clasificación de objetos...51 Figura Nº 6.13 Función de Detección de Rotación del paquete IMAQ Vision....52 Figura Nº 7.1 Diagrama de bloques de fase de recepción del programa de control...55

Figura Nº 7.2 Representación de referencia de ángulos de [-180,180]...57 Figura Nº 7.3 Diagrama de bloques de la fase de control de programa de control....58 Figura Nº 7.4 Formato de recepción de datos...60 Figura Nº 7.5 Fase inicial de programa principal....61 Figura Nº 7.6 Segunda fase de programa principal...64 Figura Nº 7.7 Tercera fase de programa principal...66 Figura Nº 8.1 Panel de visualización y control del programa de pruebas....68 Figura Nº 8.2 Selección de patrón a detectar...69 Figura Nº 8.3 Patrón de robot móvil a detectar....69 Figura Nº 8.4 Detección de patrón deseado...70 Figura Nº 8.5 Serie de detección de patrón deseado...70 Figura Nº 8.6 Set de figuras correspondiente a obstáculos esperados....72 Figura Nº 8.7 Configuración de espacio de trabajo para primera prueba...73 Figura Nº 8.8 Resultados gráficos de primera prueba...73 Figura Nº 8.9 Configuración de espacio de trabajo para segunda prueba....74 Figura Nº 8.10 Resultados gráficos de segunda prueba....74 Figura Nº 8.11 Configuración de espacio de trabajo para tercera prueba....75 Figura Nº 8.12 Resultados gráficos de tercera prueba....75 Figura Nº 8.13 Campo de velocidades con patrón de líneas paralelas a -60º...77 Figura Nº 8.14 Sistema mostrando oscilaciones debido a efecto de acción proporciona....78 Figura Nº 8.15 Ángulo del robot móvil detectado, primera prueba...79 Figura Nº 8.16 Error de ángulo del robot móvil, primera prueba...80 Figura Nº 8.17 Acciones de control para motores de robot móvil, primera prueba...80 Figura Nº 8.18 Trayectoria recorrida por robot móvil, primera prueba....81 Figura Nº 8.19 Campo de velocidades con patrón curvo...82 Figura Nº 8.20 Ángulo del robot móvil detectado, segunda prueba....82 Figura Nº 8.21 Error de ángulo del robot móvil detectado, segunda prueba...83 Figura Nº 8.22 Acciones de control para motores de robot móvil, segunda prueba....83 Figura Nº 8.23 Trayectoria recorrida por robot móvil, segunda prueba...84 Figura Nº 8.24 Campo de velocidades con patrón circular....85 Figura Nº 8.25 Ángulo del robot móvil detectado, tercera prueba....85 Figura Nº 8.26 Error de ángulo del robot móvil detectado, tercera prueba...86 Figura Nº 8.27 Acciones de control para motores de robot móvil, tercera prueba....86 Figura Nº 8.28 Trayectoria recorrida por robot móvil, tercera prueba....87 Figura Nº 8.29 Campo de velocidades que describe un círculo...88 Figura Nº 8.30 Ángulo del robot móvil detectado, cuarta prueba....88 Figura Nº 8.31 Error de ángulo del robot móvil detectado, cuarta prueba...89 Figura Nº 8.32 Acciones de control para motores de robot móvil, cuarta prueba....90 Figura Nº 8.33 Trayectoria recorrida por robot móvil, cuarta prueba....90 Figura Nº 8.34 Campo de velocidades alterado por presencia de obstáculos...91 Figura Nº 8.35 Respuesta de acción proporcional de sistema a lazo cerrado con parámetro arbitrario....93 Figura Nº 8.36 Respuesta de sistema a lazo cerrado con parámetro Ti arbitrario (1)...93 Figura Nº 8.37 Respuesta de sistema a lazo cerrado con parámetro Ti arbitrario (2)...94 Figura Nº 8.38 Respuesta de sistema a lazo cerrado con parámetro Ti arbitrario (3)...94 Figura Nº 8.39 Respuesta de sistema a lazo cerrado con parámetro Ti arbitrario (4)...95 Figura Nº 8.40 Ángulo del robot móvil detectado, primera prueba (empírico)...96 vii

viii Figura Nº 8.41 Error de ángulo del robot móvil detectado, primera prueba (empírico)...96 Figura Nº 8.42 Error porcentual de ángulo del robot móvil detectado, primera prueba (empírico)...97 Figura Nº 8.43 Acciones de control para motores de robot móvil, primera prueba (empírico)...97 Figura Nº 8.44 Trayectoria recorrida por robot móvil, primera prueba (empírico)....98 Figura Nº 8.45 Ángulo del robot móvil detectado, segunda prueba (empírico)....98 Figura Nº 8.46 Error de ángulo del robot móvil detectado, segunda prueba (empírico)....99 Figura Nº 8.47 Error porcentual de ángulo del robot móvil detectado, segunda prueba (empírico)...99 Figura Nº 8.48 Acciones de control para motores de robot móvil, segunda prueba (empírico)...100 Figura Nº 8.49 Trayectoria recorrida por robot móvil, segunda prueba (empírico)...100 Figura Nº 8.50 Ángulo del robot móvil detectado, tercera prueba (empírico)....101 Figura Nº 8.51 Error de ángulo del robot móvil detectado, tercera prueba (empírico)...102 Figura Nº 8.52 Error porcentual de ángulo del robot móvil detectado, tercera prueba (empírico)...102 Figura Nº 8.53 Acciones de control para motores de robot móvil, segunda prueba (empírico)...103 Figura Nº 8.54 Trayectoria recorrida por robot móvil, tercera prueba (empírico)...103 Figura Nº 8.55 Imagen de espacio de trabajo con obstáculos y clasificación...104 Figura Nº 8.56 Pruebas de trayectoria con obstáculos...105 Tablas Tabla Nº 5.1 Regla de sintonización de Ziegler-Nichols...38 Tabla Nº 6.1 Especificaciones de módulo NI IMAQ 1407....42 Tabla Nº 7.1 Arreglos y variables usados en programa principal...62 Tabla Nº 8.1 Resultados de medición de orientación de patrón...71 Tabla Nº 8.2 Resultados de primera prueba de sistema de detección de obstáculos...73 Tabla Nº 8.3 Resultados de segunda prueba de sistema de detección de obstáculos...74 Tabla Nº 8.4 Resultados de tercera prueba de sistema de detección de obstáculos...75

ix Lista de Símbolos, Abreviaturas y Términos Kernel Umbralización Elemento Estructurador Plantilla Agrupación Es una estructura que representa un píxel y su relación con los píxeles vecinos [8]. Del inglés, Thresholding.. Del inglés, Structuring Element. Del inglés, Template. Del inglés, Clustering.

CAPÍTULO 1 OBJETIVOS 2.1 Objetivo general Implementación de un Sistema de Control embebido para un vehículo de movimiento diferencial disponible en el Laboratorio de Mecatrónica. El sistema de control tomará como referencia un vector de velocidad que vendrá dado por la ubicación del vehículo en un momento determinado. 2.1.1 Objetivos específicos Implementación de un sistema de visión a través de la herramienta IMAQ Vision de LabVIEW 7.1 para la detección de la posición y orientación del robot móvil. Diseño de un programa en MATLAB que genere y contenga la información del campo que se desea seguir. Implementación de un Sistema de Control PI embebido para un vehículo de movimiento diferencial modelo Hemisson, por medio del uso de la herramienta MPLAB de Microchip, cuya señal de referencia sea un vector de velocidad correspondiente a la posición del vehículo en un momento dado. Diseño de un maqueta de pruebas compuesto por una cartulina negra que servirá como espacio de trabajo para la ejecución del proyecto. Se espera que el sistema a desarrollar sirva como plataforma de pruebas para los algoritmos de generación dinámica de campos de velocidades actualmente en desarrollo en el Grupo de Mecatrónica de la Universidad Simón Bolívar.

CAPÍTULO 2 INTRODUCCIÓN El control de robots móviles ha atraído la atención de investigadores en el área de control desde hace más de una década atrás debido a los retos teóricos importantes en el análisis y diseño del sistema de control. El control por campos de velocidades fue propuesto por R. Horowitz y P. Li en 1995 [4], y consiste en asignar un vector de velocidad a cada posición XY del espacio de trabajo de un robot móvil. Un trabajo reciente e importante es el realizado por R. Kelly, E. Bulgarín y R. Campa [5], en el que se propone la aplicación de la filosofía de control por campos de velocidades para guiar visualmente un robot móvil bajo configuración de cámara fija, por medio de la implementación de un controlador dinámico. Figura Nº 1.1 Robot con configuración de ruedas diferencial Hemisson. El trabajo que se describirá en las siguientes páginas presenta la implementación de un sistema de navegación por campos de velocidades para un vehículo modelo Hemisson con configuración de ruedas diferencial fabricado por K- Team. El sistema consta de dos grandes etapas. La primera de ellas está conformada por el sistema de reconocimiento de patrones y detección de obstáculos, que fue realizado bajo LabVIEW 7.1 usando la herramienta IMAQ Vision de National Instruments. En esta fase se implementan algoritmos especializados para el aprendizaje y detección de un patrón deseado, y entrenamiento y clasificación de objetos en el espacio de trabajo, para luego generar dos archivos de funciones de librerías dinámicas. Uno de ellos realizar el proceso de aprendizaje del patrón (robot móvil) y el otro realiza la detección de éste y de obstáculos, dando como resultado la

2. Introducción 3 posición y orientación del patrón, y la posición, tamaño y orientación de cada uno de los obstáculos. El desarrollo de este sistema y sus pruebas fue tema para la escritura de un paper durante el período de realización del proyecto de título Object Recognition for Obstacle Avoidance in Mobile Robots, que fue enviado a la International Conference of Artificial Intelligence and Soft Computing de Polonia (ICAISC) y aceptado para ser presentado y publicado en las Lecture Notes in Artificial Intelligence de la serie Springer-Verlang, en un volumen especial a ser publicado por la Sociedad de Inteligencia Computacional de la IEEE Capítulo de Polonia y por la Sociedad Polaca de Redes Neuronales, y en la próxima edición de International Journal of Information Technology and Intelligent Computing. La segunda etapa está conformada por el sistema de control principal, que consiste en un programa en MATLAB que se encarga de extraer los parámetros necesarios de un campo de velocidades tales como componentes XY y orientación de un vector, y transmite la información necesaria al lazo de control programado en el microprocesador interno PIC16F877 del robot móvil. El esquema de control a usado para el lazo es el Proporcional-Integral, siendo éste uno de los controladores más sencillos de implementar. El programa en MATLAB carga las funciones de librerías dinámicas generadas en la primera etapa para obtener los parámetros del robot móvil y los obstáculos presentes. De esta manera, el programa determina cual vector corresponde a la posición actual del robot. Posteriormente, este programa transmite vía transmisión serial los valores de las componentes del vector de velocidad, su orientación y la orientación actual del robot, de manera tal que el sistema de control programado en el robot móvil pueda ejercer las acciones de control necesarias para efectuar el seguimiento de la trayectoria dada por el campo de velocidades. El programa en MATLAB también servirá como plataforma de pruebas para la generación dinámica de un campo de velocidades a través de una función que, dependiendo de la presencia o ausencia de obstáculos en el espacio de trabajo y usando los parámetros de tamaño, posición y orientación del objeto detectado, generará una trayectoria que permita al robot evitar dichos obstáculos. La detección

2. Introducción 4 de obstáculos no está planteada en los objetivos de este proyecto, pero se añadió como una función extra debido a los requerimientos en la generación dinámica de dichos campos. El algoritmo para la generación de este tipo de campos está más allá de los objetivos planteados para este proyecto.

CAPÍTULO 3 VISIÓN ARTIFICIAL En términos sencillos, visión artificial se conoce como el procesamiento de información en forma visual por parte de sistemas computarizados. Dicho proceso se ve beneficiado principalmente por la capacidad de las computadoras para el procesamiento de datos a altas velocidades, lo que a su vez permite el manejo de gran cantidad de información empleando procedimientos automáticos. La visión artificial puede ser tratada como el estudio de cómo transferir a las máquinas la capacidad de la percepción de la visión humana, incluyendo todos los métodos necesarios que permitan a las máquinas ver solo lo que es necesario. En este caso, la visión artificial se entiende como la transferencia a sistemas robóticos de la capacidad de percibir el medio ambiente que los rodea, limitando a que solo vean lo necesario, de forma tal que posteriormente se analice y procese la información visual de la escena [7]. Para llevar a cabo lo anterior, se requiere una gran cantidad de procesos que deben ser implementados adecuadamente con la finalidad de lograr objetivos establecidos. La visión artificial lleva asociada una enorme cantidad de conceptos relacionados con hardware, software y también con desarrollos teóricos. 3.1 Sistemas de Visión Artificial 3.1.1. Elementos de un sistema de Visión Artificial Un sistema de visión artificial se compone de los siguientes elementos de hardware, cada uno con su función específica: Sensor óptico: generalmente es una cámara de video. La captura de imágenes se realiza primero con la interacción de un dispositivo que capta la imagen con el exterior o realidad. Dicho dispositivo es la

3. Visión Artificial 6 cámara, que es capaz de capturar una imagen del entorno que nos rodea con la finalidad de procesarla y analizarla para interpretar sus componentes [7]. Tarjeta de conversión analógica digital: Es una tarjeta que adquiere la información que le envía la cámara, para que posteriormente el software de captura de imagen establezca los detalles y características de la imagen. Cuando se desea usar video existen múltiples opciones de sistemas y cambios entre ellos [7]. Computadora: Como resultado de la digitalización de la imagen, se obtiene información que debe ser almacenada en la memoria de la computadora para su posterior procesamiento. El procesamiento se lleva a cabo empleando software adecuado. Para ello se emplean algoritmos que proporcionan la información requerida a partir de la imagen [7]. Monitor de video: Este dispositivo permite mostrar las imágenes o escenas como resultado del procesamiento de las imágenes [7]. 3.1.2 Funcionamiento de un sistema de Visión Artificial Al referirse a visión artificial como la transferencia de la percepción de la visión humana a las máquinas, se tiende a intentar modelar un sistema de visión artificial basándose en el propio (humano) [10]. Antes de modelar el funcionamiento de dicho sistema, se explicará un poco el funcionamiento del aparato visual humano. Considérese la figura 3.1. La incidencia de la luz es controlada por una apertura, que corresponde al iris (5), siendo éste un músculo capaz de alterar el tamaño de su apertura por contracción. Debido a esto, la cantidad de luz incidente sobre la retina (4) puede aumentar o disminuir. De esta manera, la retina tiene la imagen de la escena que fue capturada por el ojo. El foco de la imagen retinal se obtiene alterando la curvatura de la lente (6), que está justo detrás de la apertura del iris. La imagen retinal es convertida a señales eléctricas por células fotosensibles dentro de la retina.

3. Visión Artificial 7 Figura Nº 3.1 Visión abstracta del aparato visual humano. Tomado de Robot Vision: Videobased Indoor Exploration with Autonomous and Mobile Robots por Stefan Florczyk. [2] Existen dos tipos de células fotosensibles: los conos, responsables de la determinación de los valores de grises; y los bastones, habiendo tres tipos para el reconocimiento de los colores rojo, verde y azul (RGB, por sus siglas en inglés, respectivamente). Las señales de color son compuestas luego de que son generadas y se transmiten por el nervio visual (3) y los cuerpos laterales articulados (2) a la corteza visual (1). En la figura 3.2 se muestran 5 de las 6 capas de la corteza visual. Figura Nº 3.2 Capas de la Corteza Visual. Tomado de Robot Vision: Video-based Indoor Exploration with Autonomous and Mobile Robots por Stefan Florczyk. [2] La capa L1 procesa las imágenes invariantes. La información sobre el color, movimiento y forma es procesada en la capa L2. El procesamiento de la información toma lugar en paralelo en las capas L3, L4 y L5. Por lo tanto, la corteza visual

3. Visión Artificial 8 también es responsable del pre-procesamiento y procesamiento de la imagen. Las señales recibidas son transferidas a la primera área, donde la codificación invariante de la imagen es realizada. Esto quiere decir que se genera información para el set de todas las imágenes trasladadas, alteradas en tamaño y rotadas. Esto se logra a través de la proyección de la imagen (en la retina) a unas estructuras existentes en la corteza visual conocidas como columnas corticales. Por ejemplo, las imágenes de tamaños diferentes en la retina se representan en la corteza visual como imágenes idénticas pero proyectadas en distintas columnas corticales activadas. La representación de imágenes rotadas se da de forma análoga, activándose en este caso columnas de orientación [2]. Ya expuesto el funcionamiento del aparato visual humano, veamos ahora la analogía con los sistemas de visión artificial. La figura siguiente muestra una representación abstracta de un sistema de visión artificial: Figura Nº 3.3 Representación Abstracta de un Sistema de Visión Artificial. Tomado de Robot Vision: Video-based Indoor Exploration with Autonomous and Mobile Robots por Stefan Florczyk. [2] El diafragma de un objetivo controla la incidencia de la luz y se corresponde con el iris. El objetivo es responsable del enfoque y puede ser comparado con el lente y el arreglo CCD (Charged Coupled Device) se asemeja a la retina. La transmisión de las señales eléctricas generadas se realiza por camino de transmisión de señal, equivalente a la forma en que se transmiten señales por el nervio óptico. Finalmente los algoritmos de transformación adoptan la codificación invariante de la corteza visual [2].

3. Visión Artificial 9 3.2 Imagen Digital Una imagen es un arreglo de dos dimensiones (2D) de valores que representan intensidad de luz. Para los propósitos de procesado de imagen, el término imagen se referirá a una imagen digital. Una imagen es una función de la intensidad de la luz: 3.1 donde f es el brillo del punto (x,y), y (x,y) representan las coordenadas espaciales de un elemento de la fotografía, o píxel [8]. El dominio del par de variables (x,y) dependerá de la resolución máxima de la imagen. Por convención, la referencia espacial del píxel con las coordenadas (0,0) se ubica en la esquina superior izquierda de la imagen. En la figura 3.4 se puede apreciar que el valor de x se incrementa en sentido izquierda-derecha, y el valor de y se incrementa en sentido arriba-abajo. Figura Nº 3.4 Referencia Espacial del píxel (0,0). Tomado de NI Vision: IMAQ Vision Concepts Manual por National Instruments. [8] En el procesamiento de imagen digital, un sensor de imagen convierte la imagen en un número discreto de píxeles, asignando a cada uno una localización numérica y un nivel de gris o valor de color, que especifica el brillo o color del píxel, respectivamente [8]. En otras palabras, el nivel de gris o brillo actúa como una dirección que es indexada en tres tablas, con intensidad RGB. Las cantidades de rojo, verde y azul son luego mezcladas para producir un rango de valores de [0,255] para un plano de 8 bits. El valor gris 0 está asignado al negro y el valor gris 255 está asignado al blanco. En una imagen a color el modelo de color RGB consiste en tres

3. Visión Artificial 10 planos de imagen independientes, uno para color primario. La combinación de estos tres planos produce una imagen compuesta a color [11]. 3.2.1 Propiedades de una imagen Una imagen digitalizada tiene tres propiedades básicas [8]: Resolución espacial: El número de píxeles en filas y columnas de una imagen se conoce como resolución espacial. Una imagen está compuesta de m columnas y n filas. Una imagen compuesta de m columnas y n filas tiene una resolución de m x n. Definición de imagen: Una imagen puede ser definida por profundidad de píxeles. La profundidad de píxeles indica el número de colores en la imagen. Por lo tanto, es el número de bits usados para codificar la intensidad de un píxel. Para una profundidad de bits n dada, la imagen tiene una definición de imagen de 2 n, lo que quiere decir que un píxel puede tener 2 n valores diferentes. Número de planos: El número de arreglos de píxeles que componen una imagen es el número de planos. Una imagen en escala de grises de un solo plano, mientras que las imágenes de color real están compuestas por tres planos, cada uno para las componentes roja, verde y azul, como se muestra en la figura Nº 3.5.

3. Visión Artificial 11 Figura Nº 3.5 Planos de color y escala de grises. Tomado de Vision and Inspection Systems for Manufacturing Cardiac Pacing and Defibrillation Leads por Antonio Rodríguez. [11] Además de las propiedades antes mencionadas, existen una serie de factores que afectan la calidad de una imagen. Un sistema de visión artificial debe producir imágenes con alta calidad suficiente tal que se puedan extraer los parámetros requeridos, y el sistema se deberá ajustar dependiendo del tipo de proceso que se requiera para lograr objetivos determinados. Los factores son: Resolución: Indica la cantidad de detalle de un objeto que un sistema de visión puede reproducir. Imágenes con baja resolución carecen de detalle y frecuentemente parecen borrosas [8]. Contraste: Define las diferencias en valores de intensidad entre el objeto bajo inspección y el fondo. Un sistema de visión debe tener un contraste tal que se distingan los objetos del fondo [8]. Profundidad de campo: La profundidad de campo de un lente es la capacidad para mantener objetos con tamaños diferentes en foco [8]. Perspectiva: Errores de perspectiva aparecen como cambios en la magnificación de un objeto dependiendo de la distancia de éste al lente [8]. Distorsión: Es una aberración geométrica causada por errores ópticos en la lente de la cámara. Una lente de cámara típica introduce lo que se