Sei sulla pagina 1di 13

Tabla de contenido

Objetivo ............................................................................................................................................... 2 Introduccin ........................................................................................................................................ 2 Marco terico ...................................................................................................................................... 3 Webcam................................................................................................................................... 3 Arduino ................................................................................................................................... 4 Integrado L239D ..................................................................................................................... 5 Simulink (MATLAB) .............................................................................................................. 5

Desarrollo ............................................................................................................................................ 7 Conclusiones ..................................................................................................................................... 11 Referencias Bibliogrficas ................................................................................................................ 12

Objetivo
Implementar un sistema optomecatrnico, es decir, un sistema mecatrnico fusionado con un sistema ptico para aumentar las funciones del producto

Introduccin
En tiempos recientes, la necesidad de elaborar sistemas que realicen tareas de la manera ms autnoma (con el fin de elevar los niveles de produccin y la calidad de los productos finales, as como de reducir los costos de produccin) ha llevado a la fusin de varios campos para el desarrollo de los mismos y ha dado origen a una nueva rea ms completa denominada Mecatrnica, que comprende principalmente de los conocimientos brindados por la ingeniera mecnica, la ingeniera electrnica, la informtica y la teora de control, y cuyo principal objetivo es disear sistemas que realicen la tarea requerida procurando la mnima actividad humana posible, y procurar la intervencin de las reas mencionadas anteriormente. Se podra pensar que con esta fusin ya es posible resolver casi todos los problemas que se pudieran presentar, pero en realidad no es as. En varias ocasiones, las reas involucradas no resultan ser suficientes para resolver los problemas surgidos, es entonces cuando se anexan otras reas, algunas recientes, como la nanotecnologa, y otras no tan recientes, como la ptica o la biologa; y mejoran aun ms los sistemas mecatrnicos. En este trabajo se implementa un pequeo mvil, muy semejante a un seguidor de luz o un seguidor de lneas, el cual se presenta como un sistema mecatrnico debido a que cuenta con los elementos necesarios para que se le considere como mecatrnico, cuentan con sensores para su orientacin, a veces actan directamente sobre el sistema y para funciones mas complejas requieren de un microcontrolador. Sin embargo, en esta ocasin el elemento principal con el que cuenta el mvil es una webcam, la cual acta como el sensor que permite la correcta orientacin del sistema, adems de que el software MATLAB/Simulink ejecuta el control que debe realizar el sistema.

Marco terico
En esta seccin se proporcionar informacin acerca de cada una de las partes que constituyen al mvil, con la finalidad de comprender el objetivo que persigue cada una de ellas dentro del sistema. Webcam

Una webcam (cmara web) es una pequea cmara digital conectada a una computadora, la cual puede capturar imgenes y transmitirlas a travs de Internet en directo, ya sea a una pgina web o a otra u otras computadoras de forma privada o pblica. Por lo general, las webcam se usan para transmitir imgenes en vivo, pero tambin puede capturar imgenes o pequeos vdeos (dependiendo del programa de la webcam) que pueden ser grabados y transmitidos por internet. Este dispositivo se clasifica como de entrada, ya que por medio de l podemos transmitir imgenes hacia la computadora. Estos elementos pticos funcionan debido a que pueden contar con cualquiera de los sensores siguientes: Sensor CMOS: La calidad del sensor de la cmara es responsable en buena parte de la calidad del video que la webcam puede producir. Los sensores CMOS (Semiconductor Complementario de xido de Metal) usan un proceso estndar nativo de las Unidades Centrales de Procesamiento (CPU). Como los chips CMOS requieren menos energa que otros, la mayora de las webcams, junto con muchas cmaras de fotos digitales de alta resolucin y muchos dispositivos electrnicos que funcionan con bateras, use actualmente sensores CMOS. Sensor CCD: Los sensores CCD (Dispositivo de Carga Acoplada) hacen uso una antigua tecnologa de semiconductores. Hasta hace poco, los sensores CCD estndar entregaban la mejor calidad de imagen (imgenes con poco ruido) en su clase. Sin embargo, como resultado de la continua evolucin de la tecnologa CMOS, los sensores CCD ahora enfrentan una seria competencia. Una webcam bsicamente trabaja capturando una serie de imgenes digitales que son transferidas por el ordenador a un servidor, y luego mostradas en una pgina alojada para tal propsito. Hay sitios que permiten a sus usuarios enviar y almacenar sus imgenes de webcam de forma gratuita, para uso particular. Las webcam pueden variar en sus capacidades y funciones, y estas variaciones se reflejan en el precio. Algunas webcam capturan una imagen fija solo una vez cada 30 segundos, mientras que otras proveen de un flujo continuo capturando 30 imgenes por segundo. Una webcam puede ser comprada en cualquier tienda de informtica o por Internet y existe una gran variedad en calidades y fabricantes.
3

Figura 1. Ejemplos de Webcam.

Arduino Arduino es una plataforma de hardware libre basada en una sencilla placa de entradas y salidas simple y un entorno de desarrollo que implementa el lenguaje de programacin Processing/Wiring. Arduino se puede utilizar para desarrollar objetos interactivos autnomos o puede ser conectado a software del ordenador (por ejemplo: Macromedia Flash, Processing, Max/MSP, Pure Data). Las placas se pueden montar a mano o adquirirse. El entorno de desarrollo integrado libre se puede descargar gratuitamente. Consta de 14 entradas digitales configurables entrada i/o salidas que operan a 5 voltios. Cada pin puede proporcionar o recibir como mximo 40 mA. Los pines 3, 5, 6, 8, 10 y 11 pueden proporcionar una salida PWM (Pulse Width Modulation). Si se conecta cualquier cosa a los pines 0 y 1, eso interferir con la comunicacin USB. Tiene 6 entradas analgicas que proporcionan una resolucin de 10 bits. Por defecto miden de 0 voltios (masa) hasta 5 voltios, aunque es posible cambiar el nivel ms alto, utilizando el pin Aref y algn cdigo de bajo nivel.

Figura 2. Una tarjeta Arduino.

Integrado L239D Un puente H para controlar motores de corriente continua debe ser capaz de entregar la mxima potencia posible para una mayor eficiencia operativa, con la menor cantidad de prdidas de energa por temperatura y un diseo poco apropiado. Para el caso particular de este proyecto se utilizo un L293D. El integrado L293D incluye cuatro circuitos para manejar cargas de potencia media, en especial pequeos motores y cargas inductivas, con la capacidad de controlar corriente hasta 600 mA en cada circuito y una tensin entre 4,5 V a 36 V.

Las salidas tienen un diseo que permite el manejo directo de cargas inductivas tales como rels, solenoides, motores de corriente continua y motores por pasos, ya que incorpora internamente los diodos de proteccin de contracorriente para cargas inductivas. Las entradas son compatibles con niveles de lgica TTL. Para lograr esto, incluso cuando se manejen motores de voltajes no compatibles con los niveles TTL, el chip tiene patas de alimentacin separadas para la lgica (VCC2, que debe ser de 5V) y para la alimentacin de la carga (VCC1, que puede ser entre 4,5V y 36V).

Figura 3. Integrado L293D.

Figura 4. Diagrama de pines de un L293D.

Simulink (MATLAB)

Simulink es un entorno de programacin visual, que funciona sobre el entorno de programacin MATLAB. Es un entorno de programacin de ms alto nivel de abstraccin que el lenguaje interpretado Matlab (archivos con extensin .m). Simulink genera archivos con extensin .mdl (de "model").

Luego, se puede apreciar un sistema de control automtico, junto a su modelizacin y finalmente un sistema de un automvil, vinculando la simulacin a un entorno de realidad virtual. Simulink viene a ser una herramienta de simulacin de modelos o sistemas, con cierto grado de abstraccin de los fenmenos fsicos involucrados en los mismos. Se hace hincapi en el anlisis de sucesos, a travs de la concepcin de sistemas (cajas negras que realizan alguna operacin). Se emplea arduamente en Ingeniera Electrnica en temas relacionados con el procesamiento digital de seales (DSP), involucrando temas especficos de ingeniera biomdica, telecomunicaciones, entre otros. Tambin es muy utilizado en Ingeniera de Control y Robtica.

Figura 5. Librera de Simulink.

Figura 6. Entorno de trabajo de Simulink.

Simulink tambin cuenta con un mdulo para procesamiento de imagen y video, con el cual se pueden manipular archivos de video o fotografas para tareas especficas. Este proyecto utiliza la mayor parte de estos recursos.

Figura 7. Mdulo de procesamiento de video.

Desarrollo
Esta seccin se explica como funciona el sistema. Primero se hace una descripcin del sistema fsico del mismo. El mvil esta construido principalmente por partes de juguetes, como stos ya no se empleaban por algn defecto, se extrajeron los motores y las cajas de engranes servibles y se armaron en un nuevo dispositivo, nicamente se escogieron dos, uno para cada lado al que se espera que gire el carrito. La base del mvil fue elaborada con Sintra; con el mismo material se elabor una pequea base para la webcam con la finalidad de que el dispositivo no se moviera del sitio establecido; y tambin la webcam se acomod de tal forma que slo capturara una pequea parte del horizonte, quedando gran parte de la imagen al camino para el anlisis y la identificacin de las lneas, como se muestra en la figura 8. Para simular una autopista, se elabor una pequea maqueta en donde se ha pintado una calle con los diferentes tipos de lneas y utilizando los colores requeridos en el programa (amarillo y blanco). Asimismo al mvil se le has acoplado pines para conectar los cables que controlaran los motores.

Figura 8. Mvil utilizado en el proyecto.

Con respecto a la parte electrnica, los motores del mvil funcionan con un voltaje de 5V, por lo que tambin es requerida una fuente de alimentacin que proporcione ese voltaje, y tambin pueda sacar una corriente considerable para poder mover a los motores. Pero como la tarjeta Arduino Uno saca los datos para la activacin y desactivacin de los motores, se utiliza un L293D para proteger la tarjeta de la corriente de la fuente y tambin para que los motores funcionen de forma adecuada. Con respecto a la interfaz mvil-MATLAB, a la tarjeta Arduino Uno solamente se le ha habilitado los pines digitales 3 y 5 para el control de los motores, adems de compartir el pin de tierra con la tierra de la fuente de alimentacin de los motores.

Ahora se explicar el funcionamiento del programa del control en base al procesamiento de la imagen que va capturando la webcam en el recorrido del mvil. En la figura 9 se muestra el diagrama que realiza el control en base a los tipos y colores de las lneas. Se puede notar que hay 5 bloques principales los cuales sern descritos a continuacin.

Figura 9. Diagrama del programa de identificacin de lneas y carriles

Bloque Entrada: En esta seccin es capturado el video. Como se trata de un video en vivo, se utiliza cada uno de los fotogramas del mismo; stos ingresan con un formato RGB, pero para analizar las imgenes es necesario convertirlas a otros formatos de imagen, para este caso se usan dos bloques de cambio de formato de imagen, uno para transformar RGB a Intensity y el otro de RGB a YCbCr, adems del formato original de entrada; una vez efectuadas las transformaciones se pasan a travs de bloques selectores que recortan la imagen para ocupar la regin de inters, en este caso se recorta para analizar la regin del camino y eliminar el horizonte que resulta innecesario, y esto genera las mltiples salidas del bloque. La salida EOF representa el sonido de la grabacin, caso el video en vivo pero en este omite la fuente de sonido y por ello se le asigna un 0. Bloque Deteccin de carril: Este bloque emplea el formato de imagen Intensity recortado, lo pasa a travs de un filtro con la finalidad de resaltar los colores claros, que corresponden a los colores de las lneas del camino (amarillo y blanco). Posteriormente se transforma en una imagen binaria y realiza una operacin denominada transformacin de Hough para transformar las coordenadas cartesianas de los fotogramas a coordenadas polares, se realiza la seleccin de las lneas y los valores obtenidos se vuelven a transformar a coordenadas cartesianas, pero ahora ya muestran solamente la ubicacin de las lneas en la imagen.
8

Bloque Rastreo de carril: En este subsistema ingresan algunos valores determinados en el bloque anterior y con ellos se calculan las distancias que hay entre lneas para determinar si el mvil se encuentra dentro de un carril o si se encuentra cerca de alguna de estas lneas. Bloque Aviso de advertencia: Esta seccin complementa a la anterior, ya que se hace una identificacin de los tipos de lneas presentes; asimismo se emplea una secuencia lgica que nos permite emitir una seal que nos informa si el mvil se encuentra cerca de la lnea e indicarle a que carril se esta desviando, es decir, el programa toma las lneas como mrgenes de seguridad de los carriles y se emite una alerta para que el mvil gire y de nuevo se desplace en lnea recta. Bloque Salida: El ltimo subsistema concentra la mayora de los datos y variables calculados a lo largo del programa, y se encarga de poner las etiquetas correspondientes a cada elemento capturado y analizado, en este caso se introducen las etiquetas correspondientes a cada tipo de lnea, y tambin las que corresponden a los avisos de cambio de carril, y finalmente se muestra el video original pero incorporando todos los elementos mencionados anteriormente.

Figura 10. Bloque Control de Motores

Una vez descritos cada uno de los bloques de procesamiento de video, se muestra la estructura interna del bloque denominado Control de Motores en la figura 10, la cual se encarga del control de los motores del mvil. Se puede apreciar que se encuentran bloques con la denominacin COM4, estos bloques se encargan de mandar los datos obtenidos a la tarjeta Arduino y la denominacin de COM representa a los puertos seriales libres de la computadora.

Una vez que se ha enviado la informacin, se inicia el anlisis de video, la imagen es recortada y analizada en los selectores del bloque de Entrada. En el momento que se analizan los fotogramas, en la salida del bloque Aviso de advertencia se nota que la salida correspondiente a los mensajes va directamente al bloque del control de los motores, porque esa salida contiene la informacin necesaria para que los motores se enciendan con respecto a lo que e esta analizando. En base a la construccin del mvil, el funcionamiento del mvil es simple: El mvil se desplaza de forma normal, es decir, ambos motores se encuentran activados, hasta que el carrito se acerca a uno de los carriles, si se va hacia la derecha se manda el aviso y de acuerdo a eso se desactiva el motor de la rueda izquierda mientras que el motor de la rueda derecha permanece encendido para que el carrito pueda girar e incorporarse al carril. Lo mismo ocurre cuando se aproxima a la izquierda y se emite la seal de alerta. En la figura 11, se muestra el sistema completo y se puede apreciar que no se requiri de armar un circuito muy extenso, solamente el requerido para el control de los motores.

Figura 11. Sistema completo, se muestra la parte electrnica, la interfaz, y el mvil)

Finalmente, como parte de los resultados que se obtuvieron, se puede notar que el video muestra el carril en el que se desplaza el mvil en un polgono de color azul, y as tambin se le asigna nombre a las lneas del camino.

10

Figura 12. Ventana que muestra el video con las etiquetas definidas en el programa.

Conclusiones
Las conclusiones ms importantes que se obtuvieron de este proyecto fueron: El programa si es capaz de detectar las lneas e identificar los colores que se han definido en la asignacin de etiquetas, asimismo tambin manda avisos de cambio de carril a la pantalla en donde se muestra el video. El video muestra el formato original de entrada, lo que nos permite distinguir el color claro de las lneas del color obscuro del carril, para ste ultimo es dibujado un pequeo polgono de color azul, y este desaparece al momento en que el mvil se traslada a otro carril. Es muy importante la velocidad de los motores, ya que la webcam tarda unos pocos segundo en detectar las lneas y los carriles, por ello es muy importante reducir de forma considerable la velocidad de ambos motores y con ellos evitar que a la cmara no le de tiempo de detectar a tiempo. Es muy importante que la webcam pueda ajustarse al tamao de imagen que requiere el programa, el cual es de 240 por 360, en caso de no poder ajustar a este tamao, se presentarn errores en la compilacin del programa, y esto se debe a que los selectores previamente definidos no aceptan otro tipo de tamao. Cabe mencionar que el proyecto no resulto tan caro debido a que el mvil pudo construirse con piezas de juguetes rotos o inservibles y la pequea etapa de potencia para los motores, y porque ya se contaba con los dems elemento.

11

Referencias Bibliogrficas
[1] Moore, Holly, MATLAB para ingenieros, editorial Prentice Hall, primera edicin, 2007 [2] Rashid, H. Muhammad, Circuitos Microelectrnicos, anlisis y diseo, segunda edicin, McGraw Hill [3] Ogata, Katsuhiko, Ingeniera de Control Moderna, editorial Prentice Hall, tercera edicin, 1998 Pginas de Internet http://www.arduino.cc/es/ http://www.esi2.us.es/~fabio/apuntes_matlab.pdf http://prof.usb.ve/lamanna/cursos/simulink.PDF http://www.electronicaestudio.com/arduino_productos.htm

12

Potrebbero piacerti anche